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

# Codes d'erreur et réponses

<div id="typical-response-structure">
  ## Structure de réponse typique
</div>

Les réponses réussies sont indiquées par un code HTTP de la série 200 et une charge utile au format JSON contenant le ou les objets demandés, créés, modifiés ou supprimés, ainsi qu’une indication de la façon dont le serveur a interprété votre requête.

Si vous avez envoyé une requête réussie, vous recevrez dans votre réponse un nœud `request` qui reprend votre requête.

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

```json theme={null}
{
  /* les données de votre réponse... */,
  "request": {
    "params": {
      "account_id": "abcdefg",
      "with_deleted": "true"
    }
  }
}
```

Le champ `data` dans les réponses JSON contiendra les objets spécifiques associés à la ressource utilisée. Le format du nœud `data` sera un tableau JSON lorsque la réponse peut contenir un ou plusieurs résultats. Il sera renvoyé sous la forme d’un hash JSON lorsqu’un seul résultat est possible dans la réponse. Dans de rares cas, vous pouvez voir une réponse qui inclurait normalement une collection, mais qui contient à la place une hashmap. Dans ce cas, considérez que la hashmap unique représente un objet du même type que celui indiqué dans le champ `type`.

<div id="error-response-structure">
  ## Structure de la réponse d’erreur
</div>

Les réponses d’erreur sont renvoyées avec un code HTTP qui n’est pas dans la série 200. En général, une réponse JSON y est jointe, mais certaines erreurs renverront d’autres types de corps de réponse. Dans ces situations où la structure de la réponse ne peut pas être analysée, considérez que la signification fondamentale du code HTTP prime. Par exemple, vous pouvez parfois voir un HTTP 404 accompagné d’une réponse HTML. Dans ce cas, vous pouvez raisonnablement supposer que le contenu est introuvable (HTTP 404 signifie « Not Found »).

Les réponses d’erreur typiques suivent une structure similaire à celle des réponses réussies. La nature de l’erreur sera communiquée dans un nœud `errors` de la réponse. Le nœud `errors/code` indiquera un code d’erreur constant en MAJUSCULES\_AVEC\_UNDERSCORES que vous pouvez traiter par programme pour prendre des décisions de résolution. Le nœud `errors/message` indiquera une description (généralement) lisible par un humain de l’erreur, en anglais. Des champs supplémentaires peuvent être ajoutés pour indiquer des détails plus précis sur l’erreur.

```json 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"
    }
  }
}
```

Dans l'exemple ci-dessus, une requête vers un endpoint d’analyses a été effectuée avec une valeur non valide pour le paramètre `start_time`. Le champ `errors/code` pour les requêtes comportant des paramètres non valides est `INVALID_PARAMETER`.

| Code HTTP | Code d’erreur                                               |
| :-------- | :---------------------------------------------------------- |
| 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`                                   |
