Skip to main content
The endpoint pages in this tab are generated from the live OpenAPI document the API itself serves - the same Zod schemas the server validates every request against. The reference cannot drift from the deployed API.

Base URL

All examples and the interactive playground target the nonprod environment:
Production base URLs are provided during partner onboarding.

Conventions

  • Auth - Authorization: Bearer <org_... key> on the user, import and module read endpoints. Key management, module authoring, installation, credential and webhook operations take a partner admin session token as the bearer instead; the reference marks each operation with the scheme it accepts. POST /v1/track takes a publishable ek_live_... tracking key as ?key= or the body key field, and POST /v1/ingest takes an mk_live_... module credential. See Authentication.
  • Wire format - JSON with snake_case field names. Timestamps are ISO 8601 with timezone; dates (like dob) are plain YYYY-MM-DD strings.
  • Errors - one envelope everywhere: { "error": { "code", "status", "message", "details"? } }. The code is stable; message wording is not a contract.
  • Idempotency - endpoints that declare it accept an Idempotency-Key header. Same key + same body → the original response is replayed. Same key + different body → 409 IDEMPOTENCY_CONFLICT.
  • Async jobs - bulk import validation and commit run asynchronously: the call returns 202 Accepted and you poll the job resource for state.

Surfaces

The content read endpoints (/v1/content/articles…) are not in this OpenAPI document and do not appear in the Endpoints group. They take a publishable content key rather than an organization API key, and they are documented by hand under Content API. The raw OpenAPI document is available at /openapi/partner.json.