Automate your data exports
Schedule recurring exports to S3, Azure Blob, SFTP, or webhook endpoints. Define format, scope, and schedule once — then track every run with full history and error details.
Four Destinations
Push data to s3, azure-blob, sftp, or webhook endpoints with per-job configuration.
Cron Scheduling
Define schedules with standard cron expressions. Run nightly, hourly, or on any custom cadence using the schedule field.
Multiple Formats
Export as csv, json, jsonl, or xml. Optionally compress output with gzip for large datasets.
Run History
Every execution is logged with status, record count, file size, destination path, and error details for failed runs.
Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /export-jobs |
List all export jobs |
| POST | /export-jobs |
Create a new export job |
| GET | /export-jobs/:id |
Get export job by ID |
| PUT | /export-jobs/:id |
Update an export job |
| DELETE | /export-jobs/:id |
Delete an export job |
| POST | /export-jobs/:id/pause |
Pause an active export job |
| POST | /export-jobs/:id/resume |
Resume a paused export job |
| GET | /export-jobs/:id/runs |
List run history for a job |
| POST | /export-jobs/:id/runs |
Record a new run |
POST /export-jobs
Create a new scheduled export job. Define the destination, format, data scope, and cron schedule. The job starts in an active state by default.
Request Body
| Field | Type | Description |
|---|---|---|
name |
string |
Human-readable name for the export job. |
description |
string? |
Optional description of the job's purpose. |
destinationType |
"s3" | "azure-blob" | "sftp" | "webhook" |
Where to deliver the exported file. |
destinationConfig |
object |
Destination-specific settings: bucket, path, region for S3; url for webhook; etc. |
format |
"csv" | "json" | "jsonl" | "xml" |
Output file format. |
schemaId |
string? |
Filter to records belonging to this schema. |
catalogId |
string? |
Filter to records assigned to this catalog. |
dimensionScope |
object? |
Dimension scope for value flattening, e.g. {"dim-language": "seg-en"}. |
schedule |
string |
Cron expression for the schedule, e.g. "0 2 * * *" for nightly at 2 AM. |
includeVariants |
boolean |
Whether to include variant records in the export. |
compress |
boolean |
Gzip-compress the output file. |
filenameTemplate |
string |
Output filename template. Supports {date} placeholder, e.g. "products-{date}.csv". |
active |
boolean |
Whether the job is active. Defaults to true. |
Example — Create a nightly S3 export
GET /export-jobs
List all export jobs configured in the workspace.
GET /export-jobs/:id
Get a single export job by its ID.
PUT /export-jobs/:id
Update an existing export job. Send the full updated object.
DELETE /export-jobs/:id
Delete an export job and all its run history.
POST /export-jobs/:id/pause
Pause an active export job. The schedule stops running but the job configuration is preserved.
POST /export-jobs/:id/resume
Resume a paused export job. The schedule resumes from the next cron match.
GET /export-jobs/:id/runs
List the execution history for an export job. Returns runs sorted by most recent first. Use the limit query parameter to control how many runs are returned.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
limit |
number |
50 |
Maximum number of runs to return. |
Run Object
| Field | Type | Description |
|---|---|---|
id |
string |
Unique run identifier. |
jobId |
string |
The parent export job ID. |
status |
"running" | "success" | "failed" |
Current status of the run. |
startedAt |
string |
ISO 8601 timestamp when the run started. |
completedAt |
string? |
ISO 8601 timestamp when the run completed. Null if still running. |
recordCount |
number? |
Number of records exported in this run. |
fileSize |
number? |
Size of the exported file in bytes. |
destinationPath |
string? |
Full path or URL where the file was delivered. |
error |
string? |
Error message if the run failed. |
Example — List run history
POST /export-jobs/:id/runs
Record a new run entry for an export job. Typically called by the export runner service to log execution results.