Download an export

⚠️
Preview — this feature is being built; the design below is the spec.
GET https://app.syntic.ai/v1/compliance/exports/{export_id}/content

Download a finished export. Each download is itself recorded as a compliance.export_downloaded activity.

For how this fits into a full workflow, see Compliance API.

Headers

HeaderRequiredValue
AuthorizationYesBearer <admin key>: an Admin API key (sk_admin_...) that carries the compliance:read scope (plus compliance:write for deletions and holds). Enterprise plans only. See Compliance API.
syntic-betaYes, while in previewcompliance-2026-12-01. Without it the call fails with 400 beta_required. See Versioning.

Path parameters

ParameterTypeDescription
export_idstringThe export id, starting with cexp_.

Query parameters

ParameterTypeDefaultDescription
partinteger1For multi-part exports.

Response

200 OK

The body is the file: application/x-ndjson for jsonl, application/zip for zip. 409 export_not_ready while it is still running.

Examples

curl -sS "https://app.syntic.ai/v1/compliance/exports/cexp_01JCS5T7V9X1Z3B5D7F9/content" \
  -H "Authorization: Bearer $SYNTIC_ADMIN_KEY" \
  -H "syntic-beta: compliance-2026-12-01" \
  -o output.bin

Errors

Errors use the error envelope and carry a request_id. Codes specific to this operation:

StatustypecodeWhen
400invalid_request_errorbeta_requiredThe syntic-beta header is missing.
409conflict_errorexport_not_readyThe export has not finished.
410invalid_request_errorexport_expiredThe download window has passed; create the export again.
404not_found_errorexport_not_foundNo export with this id.
401authentication_errorinvalid_api_keyThe admin key is missing, unknown, revoked or expired.
403permission_erroradmin_key_requiredAn inference key was used.
403permission_errorscope_missingThe admin key lacks the compliance:read (or, for writes, compliance:write) scope.
429rate_limit_errorrate_limitedToo many requests; wait for Retry-After. See Rate-limit headers.
Was this page helpful?