Handling Errors
Handling Errors
The Export API returns standard HTTP status codes and a JSON error body with a more specific Demandbase error code.
{
"errorCode": "400-115",
"errorMessage": "Invalid field names: {Account}.All, {Account}.test",
"diagnosticCode": "ce0fc1770e0d425b88892df4f663bf07"
}| Property | Description |
|---|---|
errorCode | Stable Demandbase error identifier. The first three digits match the HTTP status. Use this value when handling a specific failure in your application. |
errorMessage | Human-readable details about the failure. Values from the request may be included. |
diagnosticCode | Opaque identifier for the individual API request. Record this value in your logs and include it when contacting Demandbase Support. Do not parse it or use it for application logic. |
Recommended handling
| HTTP status | Meaning | Recommended action |
|---|---|---|
400 | The request is invalid. | Correct the indicated parameter or payload. Do not retry the same request unchanged. |
401 | Authentication credentials are missing or invalid. | Obtain a valid access token and retry. See Authentication. |
403 | The authenticated API key or tenant cannot access the requested resource. | Verify API-key permissions, enabled Export collections, and tenant access. |
404 | The requested resource or job does not exist. | Verify the identifier and that it belongs to the authenticated tenant. |
429 | A request, concurrency, or export quota was exceeded. | Back off before retrying. See Rate Limits. |
500 | Demandbase could not complete the request because of a temporary service failure. | Retry with backoff. If the failure continues, contact Demandbase Support and provide the diagnosticCode. |
400 validation errors
400 validation errors| Error code | Condition |
|---|---|
400-102 | The request body is not a valid JSON object. |
400-103 | A request parameter is invalid. |
400-104 | A required parameter is missing. |
400-111 | A date is not in yyyy-mm-dd or yyyy-mm-ddThh:mm:ssZ format. |
400-112 | Only one of fromDate and toDate was supplied; both are required together. |
400-113 | fromDate is after toDate. |
400-114 | The requested Activity date range is longer than 90 days. |
400-115 | One or more requested field names are invalid. Use GET /v1/fields to retrieve supported fields. |
400-116 | format is not CSV or JSON. |
400-117 | Export results were requested before the job reached finished. |
400-118 | limit is not numeric. |
400-119 | limit is outside the supported range of 1–1,000. |
400-120 | sort is not ascending or descending. |
400-121 | page is not a positive number. |
400-122 | perPage is not a positive number. |
400-123 | The entityType query value is unsupported. |
400-124 | The jobStatus query value is unsupported. |
400-125 | The entityType supplied to the fields endpoint is unsupported. |
400-126 | jobName is missing or longer than 50 characters. |
400-127 | The request body contains an unsupported entityType. |
400-129 | An account-list ID is not numeric. |
400-130 | performance is unsupported. |
400-131 | Neither creativeId nor campaignId was supplied where one is required. |
400-132 | creativeId is not numeric. |
400-133 | campaignId is not numeric. |
400-134 | accountId is not numeric. |
400-135 | A required account or campaign identifier is missing. |
400-136 | The selected campaign export supports only rollup performance. |
400-137 | fromDate is not before toDate. |
400-138 | source contains an unsupported value or data type. |
400-139 | adReportType is invalid for the selected entity type. |
400-140 | The filter operator is invalid for the selected field's data type. |
400-141 | A person-list ID is not numeric. |
400-142 | One or more account-list IDs do not exist. |
400-143 | One or more person-list IDs do not exist. |
400-144 | accountListId and accountListIds were supplied together. |
400-145 | accountListIds contains more than 10,000 IDs. |
400-146 | personListIds contains more than 10,000 IDs. |
400-147 | The request contains an unrecognized property. |
400-148 | One or more accountIds values are not numeric. |
400-149 | accountIds is required for the selected Buying Group entity type. |
400-150 | accountIds contains more than 10,000 IDs. |
400-151 | One or more companyIds values are not numeric. |
400-152 | companyIds is required for the selected Buying Group entity type. |
400-153 | companyIds contains more than 10,000 IDs. |
400-154 | The requested reference-data object is unsupported. |
400-155 | A requested field is outside the tenant's enabled Export collection, or the selected entity type does not support paginated result retrieval. |
Authentication and access errors
| Error code | Condition |
|---|---|
401-100 | Authentication credentials are missing or invalid. |
403-100 | The authenticated user is not permitted to perform the requested export. |
403-101 | The tenant cannot access the requested entity type. |
403-102 | The API key cannot access the requested resource. |
403-103 | The tenant does not have an Export collection enabled. |
403-104 | The requested fields are not available in the tenant's enabled Export collection. |
403-105 | The tenant cannot access the requested endpoint. |
Resource errors
| Error code | Condition |
|---|---|
404-301 | The requested resource does not exist. |
404-302 | The export job ID is invalid or does not exist. |
404-303 | The requested export-result part is invalid or does not exist. |
Rate-limit errors
| Error code | Condition |
|---|---|
429-100 | The concurrent-query limit was exceeded. |
429-101 | The rolling 24-hour export quota was exceeded. |
429-102 | The concurrent export-job limit was exceeded. |
Service errors
| Error code | Condition |
|---|---|
500-100 | Demandbase could not complete the request because of a temporary service failure. |
When escalating an error, provide the endpoint, UTC timestamp, HTTP status, errorCode, and diagnosticCode. Do not send API credentials or access tokens.
Updated 2 months ago
Did this page help you?