Аутентификация
Один Bearer-ключ на все запросы к /v1. Ключ выпускается в кабинете и показывается ровно один раз.
Заголовок запроса
Каждый вызов /v1 авторизуется заголовком Authorization с твоим ключом. Других способов аутентификации нет: ни query-параметров, ни cookie.
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 | Сообщение | Что делать |
|---|---|---|
| 401 | missing bearer token | Заголовок Authorization отсутствует или не в формате Bearer. |
| 401 | invalid or disabled key | Ключ не найден или отозван — выпусти новый в кабинете. |
Несколько ключей
Выпускай отдельный ключ на каждое окружение или сервис — так можно отозвать один, не трогая остальные, а в логах и статистике кабинета видно, кто именно потратил квоту.