# Аўтэнтыфікацыя

> Кожны запыт да amodb нясе адзін ключ: 32 малыя шаснаццатковыя сімвалы. Перадавайце яго як api_key у запыце або як загаловак Authorization: Bearer для выклікаў у стылі TMDB, а для выклікаў у стылі OMDb як apikey. Выявам ключ не патрэбны. Няправільны ключ дае 401 са status_code 7, прыпынены ключ дае 401 са status_code 10.

## Фармат ключа

Ключ складаецца з 32 малых шаснаццатковых сімвалаў, напрыклад `0123456789abcdef0123456789abcdef`. Ён мае такую ж форму, як ключ TMDB v3, таму палі і валідатары, створаныя для ключоў TMDB, яго прымаюць.

amodb захоўвае толькі хэш SHA-256 кожнага ключа. Поўны ключ паказваецца адзін раз, пры стварэнні. Калі вы яго згубілі, выдаліце яго і стварыце новы.

## Выклікі ў стылі TMDB

Перадайце ключ адным з двух спосабаў. Абодва працуюць на кожным эндпоінце пад `https://api.amodb.dev/3`.

| Спосаб          | Прыклад                          |
| --------------- | -------------------------------- |
| Параметр запыту | `?api_key=YOUR_KEY`              |
| Загаловак       | `Authorization: Bearer YOUR_KEY` |

```bash
curl "https://api.amodb.dev/3/configuration" \
  -H "Authorization: Bearer $AMODB_KEY"
```

```js
const res = await fetch("https://api.amodb.dev/3/configuration", {
  headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` },
});
```

```python
import os
import requests

res = requests.get(
    "https://api.amodb.dev/3/configuration",
    headers={"Authorization": f"Bearer {os.environ['AMODB_KEY']}"},
    timeout=10,
)
```

```php
<?php
$url = "https://api.amodb.dev/3/configuration?api_key=" . urlencode(getenv("AMODB_KEY"));
$config = json_decode(file_get_contents($url), true);
```

```go
req, _ := http.NewRequest("GET", "https://api.amodb.dev/3/configuration", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("AMODB_KEY"))
res, err := http.DefaultClient.Do(req)
```

## Выклікі ў стылі OMDb

Эндпоінт, сумяшчальны з OMDb, прымае ключ як `apikey`, гэтак жа, як OMDb. Гэта той самы ключ, што і для выклікаў у стылі TMDB.

```bash
curl "https://api.amodb.dev/omdb/?t=Inception&y=2010&apikey=$AMODB_KEY"
```

## Выявам ключ не патрэбны

URL выяў на `img.amodb.dev` публічныя. Не дадавайце да іх свой ключ: тэг `<img>` выставіць яго напаказ кожнаму наведвальніку.

## Трымайце ключы на серверы

Ключ у бандле браўзера, мабільнай праграме або публічным рэпазітары з’яўляецца публічным. Любы, хто яго скапіруе, будзе расходаваць ваш ліміт запытаў. Выклікайце amodb са свайго сервера, serverless-функцыі або з кроку зборкі, а кліентам перадавайце толькі даныя.

- Захоўвайце ключ у зменнай асяроддзя або ў менеджары сакрэтаў.
- Выкарыстоўвайце адзін ключ на праграму або асяроддзе з меткай, напрыклад `production` або `staging`.
- Выдаляйце ключ у той жа момант, калі ён уцёк. Выклікі з ім перастаюць працаваць адразу.

## Памылкі

| HTTP | status_code | Значэнне                                                                  |
| ---- | ----------- | ------------------------------------------------------------------------- |
| 401  | 7           | Ключ адсутнічае, мае няправільны фармат або невядомы.                     |
| 401  | 10          | Ключ прыпынены. Напішыце на <support@amodb.dev>.                          |
| 402  | 36          | Тэрмін вашага плана скончыўся. Аплаціце новы перыяд на старонцы з цэнамі. |

Усе коды гл. на старонцы [памылкі](https://amodb.dev/be/errors/).

## Пытанні і адказы

### Ці бяспечней загаловак Bearer, чым api_key у запыце?

Так, крыху. Радкі запытаў трапляюць у логі сервера і гісторыю браўзера часцей, чым загалоўкі. Абодва спосабы ідуць у тую ж праверку, таму выкарыстоўвайце загаловак, дзе гэта дазваляе ваш кліент.

### Колькі ключоў я магу стварыць?

Да 10 актыўных ключоў на акаўнт. Усе яны падзяляюць ліміт запытаў вашага плана, таму другі ключ не дадае прапускной здольнасці.

### Што адбываецца з маімі ключамі, калі я змяняю план?

Вам нічога рабіць не трэба. Кожны актыўны ключ атрымлівае новы ліміт на працягу хвіліны пасля плацяжу.

## Звязаныя старонкі

- [Хуткі старт](https://amodb.dev/be/quickstart/): Першы выклік да amodb: атрымайце ключ, запытайце дэталі фільма ў curl, JavaScript, Python, PHP або Go і загрузіце постэр з img.amodb.dev. Менш за 2 хвіліны.
- [Ліміты запытаў](https://amodb.dev/be/rate-limits/): amodb абмяжоўвае ключ па запытах у хвіліну ў слізгальным акне 60 секунд: 20, 40 або 120 па плане. Чытайце загалоўкі лімітаў і апрацоўвайце 429 праз Retry-After.
- [Памылкі](https://amodb.dev/be/errors/): Усе памылкі amodb з HTTP-статусам, TMDB status_code і паведамленнем, а таксама форма памылкі OMDb. Што азначае кожная і што рабіць вашаму кліенту далей.
- [Правілы дапушчальнага выкарыстання](https://amodb.dev/be/acceptable-use/): Што можна і нельга з amodb: праграмы, сайты, боты і даследаванні на даных, але без перадачы ключоў, перапродажу доступу, абыходу лімітаў і атак на сэрвіс.

Абноўлена: 2026-10-18. Source: https://amodb.dev/be/authentication/
