Skip to main content
POST
Request a CSV export of your jobs

Authorizations

X-API-Key
string
header
required

Body

application/json

Request a CSV export of your jobs.

Accepts the same filters as the jobs listing. The flagship use is exporting the rejected rows of one batch: filter by batch_id and the rejected status, and every row of the file carries the record you originally uploaded alongside its outcome, so you can correct the offending column and re-upload the file as a new record set.

Generation is asynchronous. The response comes back immediately with the export's id and a pending status; poll the export to find out when the file is ready, then fetch its download URL.

At least one filter is required. An export with no filters would mean "every job in the account", which is not a report — scope it to the batch, status or record set you actually want.

batch_id
string | null

Export only jobs belonging to this batch.

status
enum<string> | null

Export only jobs in this status, such as the rejected rows of a bulk upload.

Available options:
staged,
queued,
pending,
started,
needs_reconcile,
completed,
failed,
cancelled,
accepted,
rejected,
unprocessed,
unresolved
record_set_id
string | null

Export only jobs staged from this record set.

Response

Successful Response

An export and, once it is ready, how to download it.

status moves from pending to running while the file is generated, then to ready — or to failed if the export could not be produced, in which case error_reason says why. expired means the file has passed its deletion deadline and is gone.

download_url is a short-lived signed URL that appears once the export is ready. It expires quickly by design and is re-fetchable: read the export again whenever you need a fresh URL. The file itself is deleted 7 days after the export was created; after that, request the export again to regenerate it from the underlying jobs, for as long as those jobs are inside your retention window.

id
string
required

Identifier of this export.

status
enum<string>
required

Lifecycle state: pending, running, ready, failed, or expired once the file has passed its deletion deadline.

Available options:
pending,
running,
ready,
failed,
expired
created_at
string<date-time>
required

When the export was requested.

expires_at
string<date-time>
required

When the generated file is deleted — 7 days after the export was requested.

row_count
integer | null

Number of rows in the generated file. Null until the export is ready.

error_reason
string | null

Why a failed export could not be produced: row_cap_exceeded when the filters matched more rows than one export may contain, source_unavailable when the records were no longer retained, or generation_failed. Null unless the export failed.

download_url
string | null

Short-lived signed download URL, present once the export is ready. Re-read the export to get a fresh one.

download_url_expires_at
string<date-time> | null

When this download URL stops working. The export itself lives until expires_at.