> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trygravity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Errors

> The error statuses of the advertiser Dashboard API and what causes them.

Every error response is JSON with a `detail` field that says what went wrong. The table lists each status and its common causes.

| Status | Cause |
| - | - |
| `400` | A parameter is not valid. For example, a metrics date is not `YYYY-MM-DD`, `tz` is not a valid time zone, or `site_url` is not an `http(s)` URL. |
| `401` | The API key is not valid. |
| `402` | Your billing blocks the activation of the campaign. |
| `403` | The advertiser account is archived and is no longer active. |
| `404` | The campaign, ad group, ad, ad unit, audience, or geo target does not exist, or it is not in your account. |
| `409` | A conflict. For example, a pixel for the URL already exists, all ad groups are paused, a conversion campaign has no CAPI event, or the campaign changed after you read it. |
| `429` | Too many requests. Wait for the number of seconds in the `Retry-After` header, then try again. See [Rate limits](https://docs.trygravity.com/api-reference/advertiser/overview.md#rate-limits). |
| `411` / `413` / `429` | An audience upload has no `Content-Length`, is too large, or goes over the upload limit. See [`POST /advertiser-dashboard/audiences/custom-list`](https://docs.trygravity.com/api-reference/advertiser/targeting#post-/advertiser-dashboard/audiences/custom-list). |
| `422` | The request is not valid. For example, the `X-API-Key` header is not there, `days` is out of range, a campaign has no ad groups and no `ad_unit_ids`, the body has a field that the API does not accept (such as `keywords` or `ad_text_mode`), a required ad unit field is empty, the favicon URL is not valid, or a `PATCH /campaigns/{campaign_id}` body has no fields. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.