Создание API-ключа
Пошаговая выдача ключа для приложения через личный кабинет или API платформы.
Кому подходит
- Участникам — ключ для своего приложения или сервиса.
- Администраторам — выдача ключа коллеге и отдельные лимиты через правила.
Участник выпускает ключ себе. Владелец и администратор могут выпустить ключ и другому участнику. Наблюдатель ключи не выпускает.
Через личный кабинет
- Войдите в кабинет и откройте раздел API-ключи.
- Заполните форму «Выпустить ключ»:
- Название — понятное имя (например,
my-app-key); - Система или агент — по желанию;
- Срок действия — или без срока.
- Название — понятное имя (например,
- Нажмите «Выпустить ключ».
- Сохраните секретную строку (
sk-…), если она показана — повторно она не отображается.
Лимит расходов, список моделей и остальные ограничения задаются отдельным правилом, не полями ключа. См. Policy Rules.
Ключ появится в таблице с названием, владельцем, системой и статусом.
Через API
Шаг 1. Войдите и узнайте ID организации
curl -s -X POST https://www.llmmart.ru/api/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"owner@example.com","password":"your-password"}'TOKEN="<token>"
curl -s https://www.llmmart.ru/api/overview \
-H "Authorization: Bearer $TOKEN" | jq '.organization.id'Шаг 2. Создайте ключ
curl -s -X POST "https://www.llmmart.ru/api/organization/api-keys" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"alias": "my-app-key",
"ownerEmail": "developer@example.com"
}'Ответ (201) — метаданные ключа и поле secret с секретной строкой (sk-…). Сохраните secret сразу — в последующих запросах он не возвращается. Поле ownerEmail можно опустить — подставится email текущей сессии.
Поля models и monthlyBudget ключ не принимает: такой запрос вернёт 400 «Некорректный JSON».
Шаг 3. Задайте лимит правилом
Подставьте id созданного ключа. scope должен совпадать с типом клиента.
curl -s -X POST "https://www.llmmart.ru/api/organization/policy/rules" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"clientSubject": { "type": "api_key", "id": "key_001" },
"status": "active",
"budget": {
"scope": "api_key",
"limits": [
{ "limitRub": 10000, "resetInterval": "monthly" }
]
}
}'Период — daily, weekly, monthly или свой: 24h, 7d. Подробнее — Policy API.
Использование ключа
Подставьте секрет в заголовок при запросах к API моделей (не к API платформы):
Authorization: Bearer sk-…Пример — в Текстовый запрос.
Проверка
Ключ появится в GET /api/overview → apiKeys и в журнале аудита (api_key.created).