> ## Documentation Index
> Fetch the complete documentation index at: https://docs.capibo.work/llms.txt
> Use this file to discover all available pages before exploring further.

# API reference

> A REST API over HTTPS that sends and receives JSON.

```
https://api.capibo.work/v1
```

The API is organized around resources: [missions](https://docs.capibo.work/api-reference/missions/list-missions.md), [datasets](https://docs.capibo.work/api-reference/datasets/list-datasets.md), [videos](https://docs.capibo.work/api-reference/videos/retrieve-a-video.md), [exports](https://docs.capibo.work/api-reference/exports/create-an-export.md), [billing](https://docs.capibo.work/api-reference/billing/retrieve-credit-balance.md), [usage](https://docs.capibo.work/api-reference/usage/retrieve-usage.md) and [webhooks](https://docs.capibo.work/api-reference/webhooks/list-webhook-endpoints.md). Every request needs an [API key](https://docs.capibo.work/authentication.md) sent as `Authorization: Bearer cpb_…`.

## Conventions

| | |
| - | - |
| **Format** | JSON request and response bodies. Send `Content-Type: application/json`. |
| **Field names** | `snake_case`. |
| **IDs** | Prefixed strings: `MSN-1042`, `DS-301`, `VID-784210`, `EXP-20931`, `TXN-81009`, `wh_3kd92m`. |
| **Timestamps** | ISO 8601 in UTC, like `2026-10-24T09:41:07Z`. Dates without a time use `YYYY-MM-DD`. |
| **Money** | USD as numbers, like `3.19`. |
| **Lists** | Cursor-paginated. See [Pagination](https://docs.capibo.work/api-reference/pagination.md). |
| **Errors** | A consistent `error` object. See [Errors](https://docs.capibo.work/api-reference/errors.md). |

## 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.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.