# Chyby

> Volání ve stylu TMDB vracejí chyby v těle TMDB: success false, číselný status_code a status_message. Volání ve stylu OMDb vracejí Response False s řetězcem Error. amodb používá 8 kódů TMDB, od 7 pro neplatný klíč po 25 pro limit požadavků a 36 pro vypršený tarif. Opakujte jen 429, 500 a 504.

## Tělo chyby ve stylu TMDB

Každá chyba z `https://api.amodb.dev/3` má stejný tvar JSON jako TMDB:

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

## Chybové kódy

| HTTP | status_code | status_message                                                               | Co dělat                                         |
| ---- | ----------- | ---------------------------------------------------------------------------- | ------------------------------------------------ |
| 401  | 7           | Invalid API key: You must be granted a valid key.                            | Zkontrolujte klíč a způsob, jakým ho posíláte.   |
| 401  | 10          | Suspended API key: Access to your account has been suspended, contact amodb. | Napište na <support@amodb.dev>.                  |
| 402  | 36          | Your plan has expired. Renew at <https://amodb.dev/pricing>                  | Zaplaťte nové období.                            |
| 404  | 34          | The resource you requested could not be found.                               | Zkontrolujte ID nebo cestu.                      |
| 405  | 37          | This method is not offered by amodb.                                         | Použijte endpoint pro čtení.                     |
| 429  | 25          | Your request count (N) is over the allowed limit of (L).                     | Počkejte tolik sekund, kolik říká `Retry-After`. |
| 500  | 11          | Internal error: Something went wrong, contact amodb.                         | Zopakujte po několika sekundách.                 |
| 504  | 24          | Your request to the backend server timed out. Try again.                     | Zopakujte po několika sekundách.                 |

## Tělo chyby ve stylu OMDb

Endpoint kompatibilní s OMDb zachovává tvar a znění OMDb:

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

Volání OMDb s `r=xml` vrací HTTP 400. Použijte `r=json` nebo `r` vynechte.

## Zpracování chyb v kódu

```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']}")
```

## Náhradní chování, které není chyba

- Neznámý jazykový tag `language` neselže. amodb pro něj použije angličtinu.
- Pole bez dat je `null` nebo prázdné pole, stejně jako v TMDB.

## Otázky a odpovědi

### Které chyby má můj klient opakovat?

Při 429 počkejte tolik sekund, kolik říká Retry-After, a zkuste to znovu. Při 500 nebo 504 opakujte s prodlevou několika sekund. Neopakujte 401, 402, 404 ani 405: stejné volání selže znovu.

### Proč dostávám 405 u endpointu TMDB?

amodb nenabízí metody TMDB pro zápis u účtu, relace, hodnocení a seznamů. Vracejí 405 se status_code 37. Všechny endpointy pro čtení fungují.

## Související stránky

- [Limity požadavků](https://amodb.dev/cs/rate-limits/): amodb omezuje klíč počtem požadavků za minutu v klouzavém okně 60 sekund: 20, 40 nebo 120 podle tarifu. Čtěte hlavičky limitu a řešte 429 pomocí Retry-After.
- [Autentizace](https://amodb.dev/cs/authentication/): Jak poslat klíč amodb: api_key v dotazu, hlavička Authorization Bearer nebo apikey pro volání OMDb. Formát klíče, uložení, rotace a chyby 401.
- [Rychlý start](https://amodb.dev/cs/quickstart/): První volání amodb: získejte klíč, vyžádejte detail filmu v curl, JavaScriptu, Pythonu, PHP nebo Go a načtěte plakát z img.amodb.dev. Za méně než 2 minuty.

Aktualizováno: 2026-10-18. Source: https://amodb.dev/cs/errors/
