Skip to main content
The reference in this section is generated from the OpenAPI spec, which is itself generated from the API’s Zod schemas. If an endpoint is described here, the server serves it.

Base URLs

Authentication

Send an API key as Authorization: Bearer <key> or X-Api-Key: <key>. See authentication for key types and rotation.

Conventions

You send external_id, you read back externalId. The TypeScript and Python SDKs pass your parameters through verbatim, so their params are snake_case too. This is the single most common surprise for new integrators.
GET /v1/submissions/{id} returns a data envelope. List endpoints return data alongside has_more and next_cursor. Every SDK unwraps this for you.
Pass next_cursor back as cursor. limit defaults to 25 and caps at 100. See pagination.
Retrying a POST with the same key returns the original result instead of creating a duplicate. See idempotency.
Branch on the error code, never on the message. Quote the request id in support tickets. See errors.
Exceeding it returns 429. The SDKs retry automatically. See rate limits.

SDK examples

Endpoints that an SDK actually implements show TypeScript, Python, and Go tabs alongside cURL. Those snippets are generated from each SDK’s real method signatures, so they cannot drift from the code. Endpoints with no SDK method show cURL only — that is accurate rather than incomplete: 84 of the 310 operations have an SDK method today, and the rest are reached over plain HTTP.