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

Авторизация и API-ключи

Публичное чтение работает без ключа. Для всего остального нужен личный API-ключ, который передаётся как bearer-токен.

API-ключи​

  • Формат: gm_<prefix>_<secret>. Префикс (gm_a1b2c3d4) виден в списке, чтобы ключи можно было различать.
  • Создавать, менять и отзывать ключи можно в Настройках → API-ключи на сайте. Сами ключи управлять ключами не могут: эти методы не принимают bearer-токены.
  • Секрет показывается один раз. Хранится только его хэш, поэтому потерянный ключ не восстановить — выпустите новый секрет.
  • До 10 активных ключей на аккаунт, по желанию со сроком действия (30, 90 или 365 дней).
  • Ключ действует от вашего имени, с вашими ролями и правами, но только в пределах своих scopes.
Authorization: Bearer gm_a1b2c3d4_Q2hhbmdlTWVJbkEuZW52RmlsZU5vdEluQ29kZTEy
#!/usr/bin/env bash
set -euo pipefail
BASE_URL="${GLITCHMUG_API:-https://api.glitchmug.com/v1}"

curl -fsS "$BASE_URL/me" \
-H "Authorization: Bearer $GLITCHMUG_TOKEN"

Запросам с bearer-токеном не нужны ни cookies, ни CSRF-токены.

Scopes​

Для GET-запросов достаточно mods:read — он есть у каждого ключа. Для записи нужен scope соответствующего раздела:

ScopeДаёт
mods:readЧитать всё, что вы видите на сайте (есть всегда)
mods:writeСоздавать и редактировать свои моды и версии, отправлять их на публикацию
files:uploadЗагружать файлы и картинки
comments:writeПисать, править и удалять комментарии
webhooks:manageУправлять вебхуками — нужен даже для просмотра списка

Остальные действия (лайки, коллекции, жалобы, настройки) пока доступны только на сайте.

Ошибки​

СтатусcodeЧто значит
401invalid_api_keyКлюч испорчен, отозван или истёк
401unauthenticatedМетод требует авторизации, а её нет
403scope_missingУ ключа нет нужного scope
403bannedАккаунт заблокирован, его ключи не работают
403forbiddenНет нужного права (ключ прав не добавляет)

Формат ответа — в разделе Ошибки.