Skip to navigation

Create new export snapshot

Create a new export request to start a background task and generate an export file for a specific project by ID. Optional since / until limit the snapshot to tasks with updated_at in the half-open window [since, until). since must be in the past; an omitted or later until becomes create/request time minus INCREMENTAL_EXPORT_UNTIL_LAG_SECONDS. Set ephemeral=true to omit the snapshot from list endpoints. On deployments that run the RQ cron scheduler (SaaS; on-prem with rqcron.enabled), ephemeral exports older than EPHEMERAL_EXPORT_TTL_HOURS (default 24) are deleted by a daily low-queue sweep; otherwise they remain unlisted until explicitly deleted. Use the resolved until from the response as since on the next incremental create. Task deletions are not represented in incremental snapshots (only surviving tasks with bumped updated_at). Rows committed after the export query starts but stamped with updated_at before until can fall outside both consecutive windows; the default until lag mitigates long transactions.

Authentication

AuthorizationToken

The token (or API key) must be passed as a request header. You can find your user token on the User Account page in Label Studio. Example:

curl https://label-studio-host/api/projects -H “Authorization: Token [your-token]”

Path parameters

idintegerRequired
A unique integer value identifying this project.

Request

This endpoint expects an object.
annotation_filter_optionsobjectOptional
converted_formatslist of objectsOptional
countersanyOptional
created_byobjectOptional
A ModelSerializer that takes additional arguments for "fields", "omit" and "expand" in order to control which fields are displayed, and whether to replace simple values with complex, nested serializations
ephemeralbooleanOptionalDefaults to false

When true, the export is omitted from list endpoints. Detail and download by id still work. TTL deletion (EPHEMERAL_EXPORT_TTL_HOURS, default 24) runs via the RQ cron scheduler when enabled (SaaS; on-prem rqcron.enabled); otherwise delete explicitly.

finished_atdatetime or nullOptional
Complete or fail time
md5stringOptional1-128 characters
serialization_optionsobjectOptional
sincedatetime or nullOptional

Inclusive lower bound on Task.updated_at for an incremental snapshot. Omit for a full export. Pair with until for a half-open window [since, until).

statusenumOptional
  • created - Created
  • in_progress - In progress
  • failed - Failed
  • completed - Completed
Allowed values:
task_filter_optionsobjectOptional
titlestringOptional<=2048 characters
untildatetime or nullOptional

Exclusive upper bound on Task.updated_at. If omitted, or later than create/request time minus INCREMENTAL_EXPORT_UNTIL_LAG_SECONDS, the server uses that time instead. Use the returned value as since on the next incremental create.

Response

created_atdatetimeRead-only
Creation time
idintegerRead-only
annotation_filter_optionsobjectOptional
converted_formatslist of objectsOptional
countersanyOptional
created_byobjectOptional
A ModelSerializer that takes additional arguments for "fields", "omit" and "expand" in order to control which fields are displayed, and whether to replace simple values with complex, nested serializations
ephemeralbooleanOptionalDefaults to false

When true, the export is omitted from list endpoints. Detail and download by id still work. TTL deletion (EPHEMERAL_EXPORT_TTL_HOURS, default 24) runs via the RQ cron scheduler when enabled (SaaS; on-prem rqcron.enabled); otherwise delete explicitly.

finished_atdatetime or nullOptional
Complete or fail time
md5stringOptional<=128 characters
serialization_optionsobjectOptional
sincedatetime or nullOptional

Inclusive lower bound on Task.updated_at for an incremental snapshot. Omit for a full export. Pair with until for a half-open window [since, until).

statusenumOptional
  • created - Created
  • in_progress - In progress
  • failed - Failed
  • completed - Completed
Allowed values:
task_filter_optionsobjectOptional
titlestringOptional<=2048 characters
untildatetime or nullOptional

Exclusive upper bound on Task.updated_at. If omitted, or later than create/request time minus INCREMENTAL_EXPORT_UNTIL_LAG_SECONDS, the server uses that time instead. Use the returned value as since on the next incremental create.