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](/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. | Scope | GET / HEAD | POST / PUT / PATCH / DELETE | Admin-only routes | | --- | --- | --- | --- | | `read` | Yes | No | No | | `write` | Yes | Yes | No | | `full` | Yes | Yes | Yes | 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](/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