Create export
Starts an export of every asset the caller can see into one gzipped JSON Lines file, one asset per line in the same shape GET /assets/{id} serves. The export runs in the background: this responds 202 with the export in in_progress status and a Location header for it. Poll GET /assets/exports/{id} until the status is succeeded, then fetch download.url. Only one export can be in progress per organization at a time; a second request while one is in_progress responds 409 naming the running export. No request body.
POST
/exportsAuthorization
AuthorizationBearer token · headerrequiredA Sibi Public API token or access token, sent as `Authorization: Bearer <token>`.
Scopes:
create:asset-exportsResponses
202The export has been queued
idstringrequiredSibi assigned identifier for this export.
statusstringrequired`in_progress` (the export is queued or the file is being written), `succeeded` (the file is ready to download), `failed` (see `error`), or `expired` (the file has been deleted).
Allowed:
in_progresssucceededfailedexpiredcreatedAtstring<date-time>requiredWhen the export was requested.
startedAtstring<date-time>When work on the file began. Absent while the export is still queued.
completedAtstring<date-time>When the export succeeded or failed.
expiresAtstring<date-time>When the export file is deleted. Present once the export has succeeded.
rowCountintegerThe number of assets in the file. Present once the export has succeeded.
min 0
fileSizeintegerThe size of the compressed file in bytes. Present once the export has succeeded.
min 0
downloadExportDownloadHow to fetch the file. Present only while the export is `succeeded`.
Show propertiesHide properties
urlstring<uri>requiredA signed URL for the export file. Fetch it with no Authorization header. It is valid until `expiresAt`; read the export again for a fresh one.
methodstringrequiredAllowed:
GETexpiresAtstring<date-time>requiredWhen this download URL stops working.
errorobjectWhy the export failed. Present only when the export is `failed`.
Show propertiesHide properties
codestringrequiredmessagestringrequired401The Authorization header is missing, or the bearer token could not be resolved (invalid, expired, or revoked)
codestringrequiredMachine-readable error code
Allowed:
UNAUTHORIZEDmessagestringrequiredrequestIdstringRequest id for this call — quote it when contacting support
403The token is missing the scope this operation requires (INSUFFICIENT_SCOPE), is a GraphQL token rather than a REST API token (REST_TOKEN_REQUIRED), or it was minted for the other environment (TOKEN_ENVIRONMENT_MISMATCH)
codestringrequiredMachine-readable error code
Allowed:
INSUFFICIENT_SCOPEREST_TOKEN_REQUIREDTOKEN_ENVIRONMENT_MISMATCHmessagestringrequiredrequestIdstringRequest id for this call — quote it when contacting support
409An export is already in progress for the caller’s organization (EXPORT_IN_PROGRESS). Poll that export instead; a new one can be requested once it has succeeded or failed
codestringrequiredAllowed:
EXPORT_IN_PROGRESSmessagestringrequiredexportIdstringrequiredThe id of the export already in progress.
requestIdstring500Internal server error
codestringrequiredMachine-readable error code
Allowed:
INTERNAL_SERVER_ERRORmessagestringrequiredrequestIdstringRequest id for this call — quote it when contacting support
503The token-exchange service is unavailable or misconfigured — retry shortly. Not a token problem.
codestringrequiredMachine-readable error code
Allowed:
AUTH_UNAVAILABLEmessagestringrequiredrequestIdstringRequest id for this call — quote it when contacting support
Request
curl -X POST "https://api.sibipro.com/assets/exports" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("https://api.sibipro.com/assets/exports", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_TOKEN"
}
});Response
{
"id": "ae_aBcD1234",
"status": "in_progress",
"createdAt": "2024-01-01T00:00:00Z",
"startedAt": "2024-01-01T00:00:00Z",
"completedAt": "2024-01-01T00:00:00Z",
"expiresAt": "2024-01-01T00:00:00Z",
"rowCount": 0,
"fileSize": 0,
"download": {
"url": "<uri>",
"method": "GET",
"expiresAt": "2024-01-01T00:00:00Z"
},
"error": {
"code": "EXPORT_GENERATION_FAILED",
"message": "string"
}
}{
"code": "UNAUTHORIZED",
"message": "string",
"requestId": "string"
}{
"code": "INSUFFICIENT_SCOPE",
"message": "string",
"requestId": "string"
}{
"code": "EXPORT_IN_PROGRESS",
"message": "string",
"exportId": "ae_aBcD1234",
"requestId": "string"
}{
"code": "INTERNAL_SERVER_ERROR",
"message": "string",
"requestId": "string"
}{
"code": "AUTH_UNAVAILABLE",
"message": "string",
"requestId": "string"
}