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

# Códigos de erro e respostas

> Referência para a estrutura de resposta e tratamento de erros da X Ads API, listando códigos de status HTTP, constantes de código de erro e dicas comuns de troubleshooting.

## Estrutura típica de resposta

Respostas bem-sucedidas são indicadas por um código HTTP na faixa 200 e um payload em JSON contendo o(s) objeto(s) solicitado(s), criado(s), modificado(s) ou excluído(s), juntamente com uma expressão da interpretação do servidor sobre sua requisição.

Se você emitiu uma requisição bem-sucedida, receberá como parte de sua resposta um nó `request` refletindo sua requisição.

*Exemplo:* [GET accounts/abcdefg/campaigns?with\_deleted=true](/x-ads-api/campaign-management/reference#campaigns)

```json theme={null}
{
  /* os dados da sua resposta... */,
  "request": {
    "params": {
      "account_id": "abcdefg",
      "with_deleted": "true"
    }
  }
}
```

O campo `data` nas respostas JSON conterá os objetos específicos associados ao recurso utilizado. O formato do nó `data` será um array JSON quando a resposta puder conter um ou mais resultados. Será retornado como um hash JSON quando apenas um resultado for possível na resposta. Em alguns casos raros, você pode ver uma resposta que normalmente incluiria uma coleção com um hashmap em vez disso. Nesse caso, presuma que o hashmap único é um objeto do mesmo tipo especificado no campo `type`.

## Estrutura de resposta de erro

Respostas de erro são servidas com um código HTTP fora da faixa 200. Geralmente uma resposta JSON estará anexada, mas alguns erros responderão com diferentes tipos de body. Nessas circunstâncias em que a estrutura da resposta não pode ser analisada, considere o significado central do código HTTP como prevalecente. Por exemplo, você pode ocasionalmente ver um HTTP 404 junto com uma resposta HTML. Nesse caso, é seguro assumir que o conteúdo não pode ser encontrado (HTTP 404 significa "Não Encontrado").

Respostas de erro típicas seguem uma estrutura semelhante às respostas bem-sucedidas. A natureza do erro será comunicada em um nó `errors` da resposta. O nó `errors/code` indicará uma constante de erro em CAPS\_CASE que você pode consumir programaticamente para tomar decisões de resolução. O nó `errors/message` indicará uma descrição (geralmente) legível por humanos do erro em inglês. Campos adicionais podem ser anexados para indicar detalhes mais refinados sobre o erro.

```json title="Exemplo de resposta" lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "errors": [
    {
      "parameter": "start_time",
      "details": "invalid date",
      "code": "INVALID_PARAMETER",
      "value": "",
      "message": "Expected time, got \"\" for start_time"
    }
  ],
  "request": {
    "params": {
      "account_id": "hkk5"
    }
  }
}
```

No exemplo acima, uma requisição a um endpoint de analytics foi feita com um valor inválido para o parâmetro `start_time`. O `errors/code` para requisições com parâmetros inválidos é `INVALID_PARAMETER`.

| Código HTTP | Código de Erro                                              |
| :---------- | :---------------------------------------------------------- |
| 403         | `ACCOUNT_LOCKED_OUT`                                        |
| 404         | `ACCOUNT_MEDIA_NOT_FOUND`                                   |
| 403         | `ACCOUNT_NOT_FOUND`                                         |
| 403         | `ACTION_NOT_ALLOWED`                                        |
| 404         | `APP_EVENT_PROVIDER_CONFIGURATION_NOT_FOUND`                |
| 404         | `APP_EVENT_TAG_NOT_FOUND`                                   |
| 404         | `BEHAVIOR_OR_BEHAVIOR_EXPANDED_NOT_FOUND`                   |
| 404         | `CAMPAIGN_NOT_FOUND`                                        |
| 408         | `CANCELLED_REQUEST`                                         |
| 404         | `CARD_NOT_FOUND`                                            |
| 403         | `CURRENT_USER_SUSPENDED`                                    |
| 400         | `DUPLICATE_TWEET`                                           |
| 400         | `EXCLUSIVE_PARAMETERS`                                      |
| 400         | `FEATURE_NOT_AVAILABLE`                                     |
| 403         | `FUNDING_INSTRUMENT_ACCESS_NOT_ALLOWED`                     |
| 403         | `FUNDING_INSTRUMENT_EXCEEDS_AVAILABLE_CREDIT_LIMIT`         |
| 404         | `FUNDING_INSTRUMENT_NOT_FOUND`                              |
| 403         | `GENERIC_TWEET_ERROR`                                       |
| 400         | `ILLEGAL_CHARACTERS`                                        |
| 400         | `INCLUSIVE_PARAMETERS`                                      |
| 500         | `INTERNAL_ERROR`                                            |
| 404         | `INVALID_APP_ID`                                            |
| 404         | `INVALID_APP_STORE`                                         |
| 400         | `INVALID_DENOMINATION`                                      |
| 400         | `INVALID_FUNDING_INSTRUMENT`                                |
| 404         | `INVALID_IAB_CATEGORY`                                      |
| 404         | `INVALID_ID_ILLEGAL_CHARACTERS`                             |
| 400         | `INVALID_IMAGE`                                             |
| 400         | `INVALID_MEDIA`                                             |
| 400         | `INVALID_MEDIA_ID`                                          |
| 400         | `INVALID_PARAMETER`                                         |
| 400         | `INVALID_PLACEMENT_TYPE`                                    |
| 400         | `INVALID_TAILORED_AUDIENCE_TYPE`                            |
| 400         | `INVALID_TARGETING_TYPE`                                    |
| 400         | `INVALID_TIME_WINDOW`                                       |
| 400         | `INVALID_TV_SHOW_LOCATIONS`                                 |
| 400         | `INVALID_TWEET`                                             |
| 400         | `INVALID_USER`                                              |
| 400         | `INVALID_USER_ID`                                           |
| 423         | `LOCK_ACQUISITION_TIMEOUT`                                  |
| 404         | `LINE_ITEM_APP_NOT_FOUND`                                   |
| 404         | `LINE_ITEM_NOT_FOUND`                                       |
| 404         | `MACT_APP_NOT_FOUND`                                        |
| 403         | `MALWARE_STATUS`                                            |
| 404         | `MEDIA_CREATIVE_NOT_FOUND`                                  |
| 404         | `MEDIA_NOT_FOUND`                                           |
| 405         | `METHOD_NOT_ALLOWED`                                        |
| 400         | `MISSING_PARAMETER`                                         |
| 404         | `NO_PROVIDER_AVAILABLE_FOR_THIS_CLIENT_APPLICATION`         |
| 404         | `NOT_FOUND`                                                 |
| 404         | `PROMOTABLE_USER_NOT_FOUND`                                 |
| 404         | `PROMOTED_ACCOUNT_NOT_FOUND`                                |
| 404         | `PROMOTED_TWEET_NOT_FOUND`                                  |
| 403         | `READONLY_CLIENT_APPLICATION`                               |
| 400         | `REQUEST_TOO_COMPLEX`                                       |
| 404         | `ROUTE_NOT_FOUND`                                           |
| 503         | `SERVICE_UNAVAILABLE`                                       |
| 503         | `OVER_CAPACITY`                                             |
| 400         | `SPEND_EXCEEDS_BUDGET`                                      |
| 404         | `TAILORED_AUDIENCE_CHANGE_FILE_NOT_FOUND`                   |
| 404         | `TAILORED_AUDIENCE_NOT_FOUND`                               |
| 404         | `TAILORED_AUDIENCE_OR_TAILORED_AUDIENCE_EXPANDED_NOT_FOUND` |
| 404         | `TARGETING_CRITERION_NOT_FOUND`                             |
| 400         | `TOO_MANY_CAMPAIGNS`                                        |
| 400         | `TOO_MANY_LINE_ITEMS`                                       |
| 429         | `TOO_MANY_REQUESTS`                                         |
| 400         | `TV_SHOW_OUTSIDE_MARKET`                                    |
| 400         | `TWEET_CANNOT_BE_BLANK`                                     |
| 403         | `TWEET_IS_SPAM`                                             |
| 404         | `TWEET_NOT_FOUND`                                           |
| 429         | `TWEET_RATE_LIMIT_EXCEEDED`                                 |
| 401         | `UNAUTHORIZED_ACCESS`                                       |
| 403         | `UNAUTHORIZED_CLIENT_APPLICATION`                           |
| 400         | `UNKNOWN_CARD_TYPE`                                         |
| 400         | `UNKNOWN_CRITERIA_TYPE`                                     |
| 403         | `USER_NOT_FOUND`                                            |
| 404         | `WEB_EVENT_TAG_NOT_FOUND`                                   |
