# SewerAI > SewerAI builds AI computer-vision and cloud asset-management software for underground wastewater > infrastructure. Its PIONEER platform stores and reviews sewer CCTV inspection data, and AutoCode > automatically assigns NASSCO observation codes to pipe, lateral and manhole inspection video. > SewerAI publishes a versioned REST Enterprise API (v1) at https://api.sewerai.com/v1 for moving > inspections, observations, assets, projects and video in and out of the platform and for starting > AutoCode runs. Generated by API Evangelist from the SewerAI public developer surface on 2026-08-27. SewerAI does not publish an llms.txt of its own; this file is a third-party index, not a provider document. ## Key facts - Base URL: `https://api.sewerai.com/v1` - Auth: API key in the Authorization header with the `X-SAI` prefix — `Authorization: X-SAI {API_KEY}` — or a JWT bearer token from `POST /token/` - Keys are NOT self-serve. Request one from your SewerAI contact or info@sewerai.com; you must already be a registered user. - Contract: Swagger 2.0 served at https://api.sewerai.com/swagger.json (289 paths, 476 operations) - Domain standard: NASSCO PACP, MACP and LACP. SewerAI is NASSCO-certified software for PACP/LACP/MACP import and export. - No pagination, no rate-limit headers, no idempotency keys, no webhooks, no MCP server, no SDKs. ## Documentation - [API reference](https://docs.sewerai.com/): the SewerAI API v1.0.0 reference, quick start and worked Python examples - [Introduction and quick start](https://docs.sewerai.com/#introduction): the create-organization → asset → project → inspection → video → AutoCode sequence - [Authentication](https://docs.sewerai.com/#authentication-1): the X-SAI API key prefix and the JWT bearer scheme - [Example scripts](https://docs.sewerai.com/#example-scripts): end-to-end Python for uploading inspection video and running AutoCode - [Swagger playground](https://api.sewerai.com/api/schema/swagger/): interactive console - [Knowledge base](https://help.sewerai.com/): product help; article bodies require login ## Core workflow 1. `POST /v1/organizations/` — create the owning organization (optional) 2. `POST /v1/assets/` — create the asset, `kind` one of `mainline`, `lateral`, `maintenance-hole`, `other` 3. `POST /v1/projects/` — create the project 4. `POST /v1/inspections/` — create the inspection of the asset, attached to the project 5. `POST /v1/videos/` — register the video against the inspection; the response carries `presigned_upload_data` 6. `POST` the file to the presigned S3 URL with the returned `key`, `AWSAccessKeyId`, `policy` and `signature` fields 7. Poll `GET /v1/videos/{sid}/` until `stage` is `uploaded` 8. `POST /v1/inspections/AutoCode/` with `{"inspections": [...], "projects": [...]}` to start AI coding 9. `GET /v1/inspections/{sid}/observations/` to read the NASSCO-coded results ## Resources - Organizations: `v1_organizations_list`, `v1_organizations_create`, `v1_organizations_read`, `v1_organizations_partial_update`, `v1_organizations_delete` - Assets: `v1_assets_list`, `v1_assets_create`, `v1_assets_read`, `v1_assets_update`, `v1_assets_partial_update`, `v1_assets_delete` - Projects: `v1_projects_list`, `v1_projects_create`, `v1_projects_read`, `v1_projects_update`, `v1_projects_partial_update`, `v1_projects_delete` - Inspections: `v1_inspections_list`, `v1_inspections_create`, `v1_inspections_read`, `v1_inspections_update`, `v1_inspections_partial_update`, `v1_inspections_delete` - AutoCode: `v1_inspections_AutoCode` - Observations: `v1_inspections_observations_list`, `v1_inspections_observations_create`, `v1_inspections_observations_read`, `v1_observations_list`, `v1_observations_read` - Videos: `v1_videos_list`, `v1_videos_create`, `v1_videos_read`, `v1_videos_url`, `v1_videos_change_inspection`, `v1_videos_delete` - Exports: `v1_exports_list`, `v1_exports_create`, `v1_exports_read`, `v1_exports_delete` - Users: `v1_users_list`, `v1_users_read` - Tokens: `token_create`, `token_refresh_create` ## Product - [Platform overview](https://www.sewerai.com/platform) - [PIONEER](https://www.sewerai.com/products/pioneer): cloud sewer asset and inspection management - [AutoCode](https://www.sewerai.com/products/autocode): computer-vision NASSCO coding - [Risk & Rehab](https://www.sewerai.com/products/risk-rehab): risk scoring and rehabilitation planning - [Sewer3D](https://www.sewerai.com/platform): 3D models and point clouds from manhole inspections - [Partners & integrations](https://www.sewerai.com/products/integrations): Esri ArcGIS, Trimble Cityworks, OpenGov Cartegraph, Lucity, Infor, Unearth (Procore), plus CCTV hardware partners - [Pricing](https://www.sewerai.com/pricing): contact-sales only; no published figures - [Changelog](https://www.sewerai.com/changelog) - [Status](https://status.sewerai.com/) - [Trust center](https://trust.sewerai.com/): SOC 2 and ISO 27001:2022 ## Known gaps (measured 2026-08-27) - No pagination on list endpoints — responses are unbounded arrays despite `Paginated*List` schema names - No published rate limits and no rate-limit response headers - No idempotency key on any write; `POST /v1/inspections/AutoCode/` is billable and not safe to retry blind - No 4xx or 5xx responses declared in the contract; errors use three different JSON envelopes - `GET /api/schema/` — the OpenAPI endpoint the docs and playground point at — returns HTTP 500 - The contract's `host` field names an AWS Lambda function URL, not `api.sewerai.com` - The changelog announces v2 inspection/observation endpoints that are not reachable or documented anywhere public - No `/.well-known/` documents, no agent card, no MCP server, no webhooks, no AsyncAPI, no SDKs ## Contact - API access: info@sewerai.com - Support: https://help.sewerai.com/ - Terms: https://www.sewerai.com/terms - Privacy: https://www.sewerai.com/privacy