Skip to navigation

Download an export file

View as Markdown

Streams the file of a completed export as an attachment. Content-Type follows the job’s format: text/csv, application/json or application/x-ndjson. Content-Disposition names the file <type>_export_<id>.<ext>, and Content-Length is set from file_size_bytes.

The response is the raw file, not a JSON envelope. Errors are still JSON. Read the body as a stream, since files can reach 100,000 rows.

A job that is not finished answers 404 Export file is not ready for download. Once expires_at has passed (72 hours after completion), the answer is 410 Export file has expired. If the file is gone for any other reason, the answer is 404 Export file has expired or is no longer available. To get the data again, create a new export.

Idempotency. A read with no side effects. Safe to retry, and you can download a file as many times as you like until it expires.

Access

  • Required scope: read or write. Jobs of type audit_log or agent_actions need full, and human users need the owner or admin role for them.
  • Rate limit: General API — 120 requests/min per workspace on Starter or with no active plan, 200 on Growth, 300 on Business, 600 on Enterprise. See Rate limits.
  • Plan: Available on every plan.

Authentication

AuthorizationBearer

Workspace API key: jl_ followed by 64 lowercase hex characters, created by the workspace owner in the dashboard (Settings → API Keys) and sent as Authorization: Bearer jl_.... The plaintext is shown once, at creation; Jelliu stores only a SHA-256 hash. A workspace can hold up to 25 active keys.

ScopeGET / HEADPOST / PUT / PATCH / DELETEAdmin-only routes
readYesNoNo
writeYesYesNo
fullYesYesYes

Operations restricted to admins or owners reject keys without the full scope with 403, and say so in their description. No key, whatever its scope, can mint or revoke API keys or rotate a webhook secret — that requires a signed-in owner session. A revoked key stops authenticating within about 10 seconds. See Authentication.

Path parameters

idstringRequiredformat: "uuid"

UUID of a completed export job. A job of another workspace answers 404.

Response headers

Content-DispositionstringOptional
Always an attachment, named after the export type and job id.
Content-LengthintegerOptional

File size in bytes (same as file_size_bytes). Omitted for an empty file.

Response

The export file.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
410
Gone Error
429
Too Many Requests Error
500
Internal Server Error