Skip to main content

What this family does

Export is the portability guarantee. You enqueue a full export of a subject’s knowledge, or of the whole organization with an admin key, poll until it succeeds, then stream the document. The download is a normal authenticated request, not a presigned URL, so the document is never reachable by link alone.

Routes

Headers that apply here

Neither header is declared as an OpenAPI parameter, so neither appears in the generated schema tables.
  • X-Exo-Subject selects which subject the call acts for on the subject-aware routes above. Omit it to act as the key owner. See Subjects.
  • Idempotency-Key makes a retry safe on POST /v1/exports. See Idempotency.

The shape of a call

Create an export.
The response:

Traps

JSON is the only format in v1. The contract pins format to a single value. Any other value is a 422. scope: "org" requires admin. The default scope: "user" exports the effective subject and needs only write. Downloading an unfinished export is 409. export_not_ready. Poll GET /v1/exports/{export_id} until status is succeeded. Create and poll use different rate-limit families. Creating an export is the most expensive operation on the surface and is metered tightly. The list and detail polls are metered as reads so a normal poll loop cannot exhaust your own create budget.

API reference

Base URL, authentication, and the conventions every route shares.

Errors

The problem envelope and the full code catalogue.