# Erreurs

> Les appels de style TMDB renvoient le corps d'erreur TMDB : success à false, un status_code et un status_message. Les appels de style OMDb renvoient Response False et une chaîne Error. amodb utilise 8 codes TMDB, de 7 (clé invalide) à 25 (limite de débit) et 36 (offre expirée). Réessayez seulement 429, 500 et 504.

## Corps d'erreur de style TMDB

Chaque erreur de `https://api.amodb.dev/3` a la même forme JSON que TMDB :

```json
{
  "success": false,
  "status_code": 34,
  "status_message": "The resource you requested could not be found."
}
```

## Codes d'erreur

| HTTP | status_code | status_message                                                               | Que faire                                          |
| ---- | ----------- | ---------------------------------------------------------------------------- | -------------------------------------------------- |
| 401  | 7           | Invalid API key: You must be granted a valid key.                            | Vérifiez la clé et la façon de l'envoyer.          |
| 401  | 10          | Suspended API key: Access to your account has been suspended, contact amodb. | Écrivez à <support@amodb.dev>.                     |
| 402  | 36          | Your plan has expired. Renew at <https://amodb.dev/pricing>                  | Payez une nouvelle période.                        |
| 404  | 34          | The resource you requested could not be found.                               | Vérifiez l'identifiant ou le chemin.               |
| 405  | 37          | This method is not offered by amodb.                                         | Utilisez un point de terminaison de lecture.       |
| 429  | 25          | Your request count (N) is over the allowed limit of (L).                     | Attendez les secondes indiquées par `Retry-After`. |
| 500  | 11          | Internal error: Something went wrong, contact amodb.                         | Réessayez après quelques secondes.                 |
| 504  | 24          | Your request to the backend server timed out. Try again.                     | Réessayez après quelques secondes.                 |

## Corps d'erreur de style OMDb

Le point de terminaison compatible OMDb garde la forme et la formulation d'OMDb :

```json
{
  "Response": "False",
  "Error": "Movie not found!"
}
```

Un appel OMDb avec `r=xml` renvoie HTTP 400. Utilisez `r=json` ou omettez `r`.

## Gérer les erreurs dans le code

```js
const res = await fetch("https://api.amodb.dev/3/movie/550", {
  headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` },
});
if (!res.ok) {
  const err = await res.json();
  if (res.status === 429) {
    // wait Retry-After seconds, then retry
  }
  throw new Error(`amodb ${res.status} code ${err.status_code}: ${err.status_message}`);
}
```

```python
res = requests.get(url, headers=headers, timeout=10)
if not res.ok:
    err = res.json()
    raise RuntimeError(f"amodb {res.status_code} code {err['status_code']}: {err['status_message']}")
```

## Les replis qui ne sont pas des erreurs

- Une balise `language` inconnue n'échoue pas. amodb sert l'anglais.
- Un champ sans donnée vaut `null` ou un tableau vide, comme dans TMDB.

## Questions et réponses

### Quelles erreurs mon client doit-il réessayer ?

Réessayez le 429 après les secondes de Retry-After, et le 500 ou le 504 avec un délai croissant de quelques secondes. Ne réessayez pas 401, 402, 404 ni 405 : le même appel échouerait encore.

### Pourquoi ai-je un 405 pour un point de terminaison TMDB ?

amodb ne propose pas les méthodes d'écriture TMDB de compte, de session, de notation et de liste. Elles renvoient 405 avec status_code 37. Tous les points de terminaison de lecture fonctionnent.

## Pages liées

- [Limites de débit](https://amodb.dev/fr/rate-limits/): amodb limite chaque clé en requêtes par minute sur une fenêtre glissante de 60 secondes : 20, 40 ou 120 selon l'offre. Lisez les en-têtes et gérez le 429.
- [Authentification](https://amodb.dev/fr/authentication/): Comment envoyer votre clé amodb : api_key dans la requête, en-tête Authorization Bearer, ou apikey pour OMDb. Format, stockage, rotation et erreurs 401.
- [Démarrage rapide](https://amodb.dev/fr/quickstart/): Faites votre premier appel amodb : obtenez une clé, demandez un film en curl, JavaScript, Python, PHP ou Go, puis chargez l'affiche. En moins de 2 minutes.

Mis à jour: 2026-10-18. Source: https://amodb.dev/fr/errors/
