Get project export status
curl --request GET \
--url https://{host}/v1/projects/{projectId}/export/{exportId} \
--header 'x-api-key: <api-key>'{
"success": true,
"data": {
"id": "exp_01JEXPORT123",
"type": "export",
"status": "completed",
"phase": "packaging",
"progressPercent": 100,
"dependencyValidation": {
"valid": true,
"missing": [],
"circular": []
},
"manifest": {
"name": "customer-support",
"version": "1.0.0",
"entryAgent": "support-agent",
"layers": [
"core",
"connections",
"workflows"
],
"requiredEnvVars": [
"CRM_BASE_URL"
]
},
"lockfile": {
"version": 2,
"layers": {
"core": "sha256:abc123...",
"connections": "sha256:def456..."
}
},
"downloadUrl": "https://api.example.com/v1/archives/exp_01JEXPORT123/download",
"expiresAt": "2026-09-01T10:00:14Z",
"warnings": [],
"errors": [],
"createdAt": "2026-09-01T09:00:00Z",
"completedAt": "2026-09-01T09:00:14Z"
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"stage": "<string>",
"layer": "core",
"path": "<string>",
"line": 2,
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"stage": "<string>",
"layer": "core",
"path": "<string>",
"line": 2,
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"stage": "<string>",
"layer": "core",
"path": "<string>",
"line": 2,
"details": {}
}
}Project export API
GET
/
v1
/
projects
/
{projectId}
/
export
/
{exportId}
Get project export status
curl --request GET \
--url https://{host}/v1/projects/{projectId}/export/{exportId} \
--header 'x-api-key: <api-key>'{
"success": true,
"data": {
"id": "exp_01JEXPORT123",
"type": "export",
"status": "completed",
"phase": "packaging",
"progressPercent": 100,
"dependencyValidation": {
"valid": true,
"missing": [],
"circular": []
},
"manifest": {
"name": "customer-support",
"version": "1.0.0",
"entryAgent": "support-agent",
"layers": [
"core",
"connections",
"workflows"
],
"requiredEnvVars": [
"CRM_BASE_URL"
]
},
"lockfile": {
"version": 2,
"layers": {
"core": "sha256:abc123...",
"connections": "sha256:def456..."
}
},
"downloadUrl": "https://api.example.com/v1/archives/exp_01JEXPORT123/download",
"expiresAt": "2026-09-01T10:00:14Z",
"warnings": [],
"errors": [],
"createdAt": "2026-09-01T09:00:00Z",
"completedAt": "2026-09-01T09:00:14Z"
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"stage": "<string>",
"layer": "core",
"path": "<string>",
"line": 2,
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"stage": "<string>",
"layer": "core",
"path": "<string>",
"line": 2,
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"stage": "<string>",
"layer": "core",
"path": "<string>",
"line": 2,
"details": {}
}
}Authorizations
Project-bound Platform Key supplied in the x-api-key header. The key must include the operation's required scope: project_io.read for export operations or project_io.write for import operations. A pipeline that promotes changes normally requires both scopes.
Path Parameters
Project identifier. The project must belong to the authenticated tenant.
Minimum string length:
1Identifier returned when the export operation is created.
Minimum string length:
1Response
Current export operation status and result metadata.
Indicates that the status request was read successfully. The operation itself may still be running or may have failed; inspect data.status and data.errors.
Export operation record and, after completion, the manifest, lockfile, and archive download URL.
Show child attributes
Show child attributes
Was this page helpful?