Skip to main content
GET
Check Export Status

Check Export Status

Check the status and progress of an asynchronous CSV export job.

Authentication & Scope

Requires forms-read ability.

Request

Path Parameters

Response

Processing Status

Completed Status

Failed Status

Response Fields

Every field is always present. Fields that do not apply to the current job state are null.
The download URL is a bearer link. It remains valid until expires_at, according to the workspace file-link policy (24 hours by default).

Error Responses

404 Not Found – Export job not found, has expired, or belongs to another form. 403 Forbidden – The token lacks forms-read or you don’t have access.

Usage Example

After initiating an export that returns is_async: true, poll this endpoint to track progress:
1

Start export

Call the export endpoint and receive a job_id.
2

Poll status

Use the job_id to check export progress every few seconds.
Avoid polling too frequently. Check every 2-5 seconds for optimal performance.
3

Download file

When status is completed, use the file_url to download your CSV file.
Download the file before the expires_at timestamp. The workspace policy is 24 hours by default.

Authorizations

Authorization
string
header
required

Personal Access Token

Path Parameters

id
number
required
job_id
string
required

Export job identifier

Response

Export job status

status
enum<string>

Current status of the export job

Available options:
queued,
processing,
completed,
failed
progress
number

Completion percentage (0-100)

Required range: 0 <= x <= 100
job_id
string

Export job identifier

processed_submissions
number | null

Number of submissions processed so far

total_submissions
number | null

Total number of submissions to process

file_url
string<uri> | null

Download URL for completed exports

expires_at
string<date-time> | null

File expiration timestamp (workspace policy, 24 hours by default)

error_message
string | null

Error description for failed exports

created_at
string<date-time>

Job creation timestamp

updated_at
string<date-time>

Last update timestamp