Skip to main content
The API is organized around resources: missions, datasets, videos, exports, billing, usage and webhooks. Every request needs an API key sent as Authorization: Bearer cpb_….

Conventions

Idempotency

POST /missions and POST /datasets/{id}/exports accept an Idempotency-Key header. If a request times out, retry it with the same key. You’ll get the original response back instead of creating a second mission or export. Keys are kept for 24 hours.

Rate limits

Each key can make 100 requests per second, with bursts up to 200. Over the limit, you get 429 rate_limited with a Retry-After header in seconds. List endpoints return up to 100 items per page, so a full sync rarely gets close to the limit.

Versioning

The version is in the path (/v1). Within a version, changes are additive only: new endpoints, new optional parameters and new response fields. Make sure your client ignores fields it doesn’t recognize.