# ID во всех каталогах

> По ID тайтла в одном каталоге — его ID в остальных.

> Оглавление документации для агентов: https://kinodata.space/ru/llms.txt — вся документация одним файлом: https://kinodata.space/ru/llms-full.txt

Запрос: `GET https://api.kinodata.space/v1.3/ids/{type}/{id}`

Самый лёгкий запрос API: только ID, без названий и метаданных. Подходит, когда ID нужны для своей базы или чтобы открыть тайтл на сайте каталога.

`tmdb` и `tmdb_tv` — разные пространства ID. Один и тот же ID означает в них разные произведения: `/ids/tmdb/1396` — «Зеркало» Тарковского, `/ids/tmdb_tv/1396` — «Во все тяжкие». Берите тип, который дал вам сам TMDB.

## Параметры пути

- `type` (string, обязательный) — Каталог, из которого ID: IMDb, Кинопоиск, TMDB (фильм или сериал) или Кинориум.
  Значения: `imdb`, `kp`, `tmdb`, `tmdb_tv`, `kinorium`.
- `id` (string, обязательный) — ID в этом каталоге. У IMDb — `tt` и цифры (`tt1375666`), у остальных — цифры (`447301`).

## Поля ответа

- `imdb_id` (string | null) — ID в IMDb: `tt` и цифры.
- `kp_id` (string | null) — ID на Кинопоиске.
- `tmdb_id` (string | null) — ID фильма в TMDB. У сериала — `null`, его ID в `tmdb_tv_id`.
- `tmdb_tv_id` (string | null) — ID сериала в TMDB. Заполнено не больше одного из `tmdb_id` и `tmdb_tv_id`.
- `kinorium_id` (string | null) — ID на Кинориуме.

## Ошибки

| статус | код | когда |
|---|---|---|
| 400 | `invalid_request` | Неизвестный `type` или ID не в формате каталога: у IMDb нет `tt`, у остальных не цифры; параметр запроса, кроме `lang`. |
| 404 | `not_found` | Тайтл с таким ID не найден. |
| 401 | `unauthorized` | Нет заголовка `X-API-Key`, ключ неизвестен или отозван. |
| 429 | `rate_limited` | Исчерпан предел в секунду или квота на сутки. |

Все коды и что с ними делать — на странице [Ошибки](https://kinodata.space/ru/docs/errors.md).

## Примеры

### По Кинопоиску

```bash
curl -H "X-API-Key: $KINODATA_KEY" \
  "https://api.kinodata.space/v1.3/ids/kp/447301"
```

Ответ `200`:

```json
{
  "imdb_id": "tt1375666",
  "kp_id": "447301",
  "tmdb_id": "27205",
  "tmdb_tv_id": null,
  "kinorium_id": "472809"
}
```

### Сериал в TMDB

```bash
curl -H "X-API-Key: $KINODATA_KEY" \
  "https://api.kinodata.space/v1.3/ids/tmdb_tv/1396"
```

Ответ `200`:

```json
{
  "imdb_id": "tt0903747",
  "kp_id": "404900",
  "tmdb_id": null,
  "tmdb_tv_id": "1396",
  "kinorium_id": "400796"
}
```

### Неизвестный ID

```bash
curl -H "X-API-Key: $KINODATA_KEY" \
  "https://api.kinodata.space/v1.3/ids/kp/999999999"
```

Ответ `404`:

```json
{
  "error": {
    "code": "not_found",
    "message": "title not found: kp 999999999"
  }
}
```

### Опечатка в типе

```bash
curl -H "X-API-Key: $KINODATA_KEY" \
  "https://api.kinodata.space/v1.3/ids/tmbd/27205"
```

Ответ `400`:

```json
{
  "error": {
    "code": "invalid_request",
    "message": "unknown type \"tmbd\"",
    "field": "type",
    "allowed": [
      "imdb",
      "kp",
      "tmdb",
      "tmdb_tv",
      "kinorium"
    ],
    "hint": "did you mean \"tmdb\"?"
  }
}
```
