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 26 days ago
Did this page help you?