> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.cargovision.app/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.cargovision.app/_mcp/server.

# API reference

The reference is generated from the Cargovision OpenAPI specification. Each endpoint page lists its parameters, request and response schemas, and authentication scheme, and includes an API Explorer for sending live requests.

## Base URL

```
https://api.cargovision.app/v1
```

The health probes `/health` and `/ready` are the only routes outside `/v1`.

## Authentication

| Scheme       | Header                        | Used by                                   |
| ------------ | ----------------------------- | ----------------------------------------- |
| `bearerAuth` | `Authorization: Bearer <jwt>` | Operator, supervisor, and admin endpoints |
| `apiKeyAuth` | `X-API-Key: <key>`            | Edge ingestion endpoints                  |

Browsers can authenticate with the `token` session cookie instead of the bearer header. See [Authentication](/authentication).

## Endpoint groups

| Group                 | Paths                          | Auth                              |
| --------------------- | ------------------------------ | --------------------------------- |
| User auth             | `/v1/user/auth/*`              | Public, except refresh            |
| Containers and scans  | `/v1/containers/*`             | JWT                               |
| Evidence              | `/v1/containers/{id}/evidence` | JWT                               |
| Manifests             | `/v1/manifests/*`              | JWT                               |
| Devices (mobile push) | `/v1/devices/*`                | JWT                               |
| Edge device           | `/v1/edge/containers/*`        | API key                           |
| Tracking              | `/v1/tracking-data/*`          | API key for writes, JWT for reads |

Responses use the envelopes described in [Responses and errors](/responses-and-errors).