Перейти к содержимому

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

Каждый запрос integration API передаёт API key вашего проекта в заголовке Authorization:

Request
GET /top/v1/integration/votes?limit=100 HTTP/1.1
Host: api.l2nx.top
Authorization: Bearer nx_api_…
curl
curl -H "Authorization: Bearer $L2NX_API_KEY" \
"https://api.l2nx.top/top/v1/integration/votes?limit=100"

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

nx_api_<30 random characters><6 checksum characters>
  • Префикс nx_api_, затем 36 символов из 0-9 A-Z a-z: всего 43 символа.
  • Последние 6 символов — контрольная сумма. Ключ с опечаткой отклоняется до любого поиска.
  • Старые ключи длиной 39 символов без контрольной суммы продолжают работать.
  • По префиксу утёкшие ключи легко находят сканеры секретов.

Ключ несёт набор scopes; каждый эндпоинт требует один из них. Имена scopes имеют вид <service>.<resource>:<action>.

Scope Что даёт
top.votes:read Лента голосов l2nx.top и поиск голосов по ref
gamedata.item-templates:read Шаблоны предметов ваших игровых серверов
gameservers.promo:redeem Активация промокодов для игроков

Запрашивайте только те scopes, которыми пользуетесь. Отдельные ключи для отдельных систем (сайт, панель, бот) позволяют отозвать один, не трогая остальные.

Ошибки приходят ответами problem+json.

Статус code Смысл
401 нет Нет заголовка Authorization: Bearer, ключ искажён или неизвестен.
403 API_KEY_REVOKED Ключ отозван.
403 API_KEY_EXPIRED Срок действия ключа истёк.
403 TENANT_DISABLED Проект отключён на платформе.
403 API_KEY_TENANT_MISMATCH Ключ принадлежит не тому проекту, чей хост вы вызвали.
403 INSUFFICIENT_SCOPE У ключа нет scope, который требует эндпоинт.

401 никогда не сообщает, существует ли ключ: неизвестный и неверный ключ выглядят одинаково. Не повторяйте 401 и 403 с тем же ключом; исправьте ключ или запросите новый.

Ключи выдаются по запросу: напишите на support@l2nx.app, укажите проект и нужные scopes. Для голосов l2nx.top см. Получение доступа.

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