Аутентификация

Как передавать ключ доступа и какие проверки проходит запрос.

Каждый запрос к продуктовому API авторизуется ключом доступа лицензии.

Заголовки#

Поддерживаются два равнозначных способа передать ключ:

Вариант 1 — Bearer
POST /api/v1/recognize HTTP/1.1
Host: devmoon.ru
Authorization: Bearer dm_ВАШ_КЛЮЧ
Вариант 2 — x-api-key
POST /api/v1/recognize HTTP/1.1
Host: devmoon.ru
x-api-key: dm_ВАШ_КЛЮЧ

Если заданы оба заголовка, приоритет у Authorization. Заголовок x-api-key используется, только когда Authorization отсутствует или не содержит схему Bearer.

Какие проверки проходит ключ#

  1. Ключ присутствует в запросе — иначе 401.
  2. Ключу соответствует лицензия — иначе 401.
  3. Лицензия в статусе pending или active — иначе 403.
  4. Лицензия выдана именно на этот продукт — иначе 403.