Error codes for data exports
These errors apply to the Data export APIs:
1117datasets array that does not contain exactly one item.11211122scope, scope.level, datasets, datasets[].dataset, or datasets[].type; missing scope.ids for reseller scope.4122INITIATED or IN_PROGRESS. The response identifies the existing report in additionalDetails; no new report is created.4119x-correlation-id.118111241172Error response examples
Matching report in progress
HTTP 400:
{
"code": "4122",
"message": "This request is already being processed. Please wait a moment and try again.",
"additionalDetails": ["reportId: 550e8400-e29b-41d4-a716-446655440000"]
}
Use the report ID in additionalDetails to poll the existing report. Duplicate detection applies only to INITIATED and IN_PROGRESS reports. A matching completed, failed, or archived report does not block a new submission. For more information, see Duplicate request handling.
Invalid dataset count
HTTP 400:
{
"code": "1117",
"message": "Some Fields are Invalid",
"additionalDetails": ["datasets: exactly one item is allowed"]
}
Report not found
An unknown report ID returns HTTP 404, code 1181, with message Invalid Report ID. Status lookups are limited to reports owned by the authenticated partner.
Incorrect reseller IDs and IDs that do not belong to the partner are skipped and contribute no rows, without a reseller-recognition error. They never expose another partner's data. Blank reseller IDs, however, are invalid.
HTTP status and report states
HTTP status indicates the outcome of an API request, not asynchronous report generation. HTTP 202 means that a new report was accepted for processing, not that the report is ready for download. INITIATED, IN_PROGRESS, COMPLETED, FAILED, and ARCHIVED are report states, not application error codes.
A status request returns HTTP 200 even if the report is FAILED or ARCHIVED. A failed report includes partner-facing reasons in additionalDetails and no downloadLink:
{
"reportId": "550e8400-e29b-41d4-a716-446655440000",
"status": "FAILED",
"source": "Bridge",
"updatedDate": "2026-10-22T10:20:10Z",
"additionalDetails": ["Report generation failed. Create a new report to retry."],
"links": {
"self": {
"uri": "/v3/reports/550e8400-e29b-41d4-a716-446655440000",
"method": "GET",
"headers": []
}
}
}
Failure details do not expose internal service names, stack traces, or storage errors. Submit a new report to retry a failed or archived report. An error fetching status does not, by itself, mean the underlying report failed.
Only a COMPLETED report includes downloadLink. If the URL reaches downloadLink.expiresAt while the report remains completed, request status again for a fresh link. An ARCHIVED report requires a new submission.
Report retention starts at completion: 1 month for churn and 7 days for seat expansion. Retention is separate from link expiry. No-data output and rate or concurrency limits are not specified; do not assign error codes to those cases.