Аутентификация
Запросы к моделям используют обычный API-ключ. Эндпоинты управления ключами и статистикой под /v1/account/* используют привязанный к владельцу управляющий ключ.
Если нужно только вызывать модели, создавать эмбеддинги или изображения и использовать совместимые API, достаточно обычного API-ключа.
Какой ключ использовать
| Тип запроса | Тип ключа |
|---|---|
| Запросы к моделям и генеративным эндпоинтам | Обычный API-ключ |
Жизненный цикл API-ключей и статистика под /v1/account/* | Управляющий ключ |
Обычные API-запросы
Responses, Embeddings, Images, Audio, Moderations, Chat Completions и Messages принимают обычный API-ключ в одном из заголовков:
Authorization: Bearer YOUR_API_KEY
x-api-key: YOUR_API_KEYИспользуйте один вариант последовательно. Authorization: Bearer подходит по умолчанию.
Эндпоинты аккаунта
Управляющий ключ привязан к одному аккаунту Makura или организации и содержит явные области полномочий.
Authorization: Bearer YOUR_PROVISIONING_KEYС ним доступны:
- создание и управление API-ключами;
- сводка использования, метрики и журналы запросов.
Баланс, операции кошелька и оформление платежа принадлежат Makura Account. Эти действия выполняются через MakuraConsole; управляющий ключ Gateway не предоставляет доступ к кошельку.
Подробнее: Управление аккаунтом.
Публичные эндпоинты
GET /v1/modelsдоступен без аутентификации или с обычным API-ключом.GET /v1/startupsвозвращает публичные метаданные и не требует ключа.
Пример обычного запроса
import requests
response = requests.post(
"https://api.makura.ai/v1/responses",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={"model": "gpt-4.1-mini", "input": "Поздоровайся."},
)
response.raise_for_status()
print(response.json()["output"][0]["content"][0]["text"])const response = await fetch("https://api.makura.ai/v1/responses", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({ model: "gpt-4.1-mini", input: "Поздоровайся." }),
});
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());curl https://api.makura.ai/v1/responses -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d '{"model":"gpt-4.1-mini","input":"Поздоровайся."}'Пример запроса к аккаунту
curl https://api.makura.ai/v1/account/usage/summary -H "Authorization: Bearer YOUR_PROVISIONING_KEY"Частые ошибки
- Обычный API-ключ передаётся в административный эндпоинт Gateway.
Authorizationиx-api-keyсодержат разные ключи.- Секрет попадает в браузерный код, логи или публичный репозиторий.
- Один управляющий ключ используется для разных владельцев.
- После ротации ключ обновлён не во всех окружениях.