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

Один Bearer-ключ на все запросы к /v1. Ключ выпускается в кабинете и показывается ровно один раз.

Каждый вызов /v1 авторизуется заголовком Authorization с твоим ключом. Других способов аутентификации нет: ни query-параметров, ни cookie.

POST https://mintform.app/v1/* любой запрос генерации авторизуется одинаково
curl https://mintform.app/v1/chat/completions \
  -H "Authorization: Bearer $MINTFORM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5-mini","messages":[{"role":"user","content":"ping"}]}'

Жизненный цикл ключа

Ключ создаётся на странице «Ключи» в кабинете. Секрет вида mf_live_… возвращается один раз при выпуске — после закрытия окна его нельзя посмотреть снова, только перевыпустить.

  • Выпуск: новый ключ активен сразу, лимиты берутся из твоего тарифа.
  • Ротация: старый секрет перестаёт работать в тот же момент, когда появляется новый.
  • Отзыв: ключ выключается немедленно и навсегда; запросы с ним получают 401.

Как хранить

Держи ключ в переменных окружения или в менеджере секретов на стороне сервера. Ключ в клиентском коде (браузер, мобильное приложение, публичный репозиторий) считай скомпрометированным и сразу ротируй.

# .env — never commit the raw key
MINTFORM_API_KEY=mf_live_…

Отказы аутентификации

Если ключа нет, он отозван или испорчен, шлюз отвечает 401 ещё до маршрутизации запроса — такой вызов не тратит квоту.

HTTPСообщениеЧто делать
401missing bearer tokenЗаголовок Authorization отсутствует или не в формате Bearer.
401invalid or disabled keyКлюч не найден или отозван — выпусти новый в кабинете.

Несколько ключей

Выпускай отдельный ключ на каждое окружение или сервис — так можно отозвать один, не трогая остальные, а в логах и статистике кабинета видно, кто именно потратил квоту.