Документация
API-ключи
Устройство ключей, удаление и недельные лимиты в credits.
Правила API-ключей
У пользователя может быть любое число активных ключей. Показ, ротация и удаление — явные действия владельца; сырой ключ не хранится в истории.
Ключу можно назначить недельный бюджет в credits. При Provider-тарифе все назначенные бюджеты не превышают его недельную credit-квоту; без тарифа расход контролирует общий предоплаченный баланс в credits.
Provider API-ключи и Agent
API-ключ предназначен только для Provider API — он не заменяет браузерную сессию. У одного пользователя может быть любое число ключей; их usage и credits общие. Правила описаны в бизнес-логике.
GET/v1/access/keysСписок своих ключейТребуется авторизация
Доступ: Сессия
Запрос
Нет.Успешный ответ
JSON ответаПоказать
[
{
"id": "uuid",
"label": "production",
"creditBudget": 10,
"tokenPrefix": "sc_abcd",
"status": "ACTIVE",
"createdAt": "ISO-8601",
"revokedAt": null,
"lastUsedAt": null
}
]GET/v1/access/credit-budgetПолучить доступный бюджет ключейТребуется авторизация
Доступ: Сессия
Запрос
Нет.Успешный ответ
JSON ответаПоказать
{
"source": "PLAN",
"limit": 500,
"allocated": 100,
"available": 400,
"prepaidBalance": {
"total": 1000,
"spent": 30,
"remaining": 970
}
}Все суммы — credits. source: PLAN — недельная credit-квота Provider-тарифа; BALANCE — предоплаченный баланс; NONE — лимит пока нельзя назначить.
POST/v1/access/keysСоздать API-ключТребуется авторизация
Доступ: Сессия
Запрос
{ "label": "production", "creditBudget": 10 } | {}Успешный ответ
JSON ответаПоказать
{
"id": "uuid",
"token": "sc_…",
"label": "production",
"creditBudget": 10,
"…": "метаданные ключа"
}label необязателен, 1–80 символов. creditBudget — необязательный недельный лимит в credits. Сырой ключ возвращается только здесь; Cache-Control: no-store.
POST/v1/access/keys/:id/revealПоказать API-ключТребуется авторизация
Доступ: Сессия
Запрос
Path: id UUID активного ключа.Успешный ответ
JSON ответаПоказать
{
"id": "uuid",
"token": "sc_…",
"…": "метаданные ключа"
}Явное действие владельца; Cache-Control: no-store.
POST/v1/access/keys/:id/rotateПеревыпустить один API-ключТребуется авторизация
Доступ: Сессия
Запрос
Path: id UUID активного ключа.Успешный ответ
JSON ответаПоказать
{
"id": "uuid",
"token": "sc_…",
"…": "метаданные нового ключа"
}Немедленно заменяет только указанный ключ. Остальные ключи и общий баланс не меняются; Cache-Control: no-store.
PUT/v1/access/keys/:id/budgetИзменить лимит API-ключаТребуется авторизация
Доступ: Сессия
Запрос
Path: id UUID. Body: { "creditBudget": 10 } | { "creditBudget": null }Успешный ответ
JSON ответаПоказать
{
"id": "uuid",
"creditBudget": 10,
"…": "метаданные ключа"
}null снимает индивидуальный лимит. Все значения — credits; при тарифе распределение не может превысить его недельную credit-квоту.
DELETE/v1/access/keys/:idУдалить один API-ключТребуется авторизация
Доступ: Сессия
Запрос
Path: id UUID активного ключа.Успешный ответ
204 No ContentНемедленно прекращает доступ и убирает ключ из списка. История usage остаётся без сырого секрета. Повторное удаление возвращает API_TOKEN_NOT_FOUND.
GET/v1/access/agentСтатус AgentТребуется авторизация
Доступ: Сессия
Запрос
Нет.Успешный ответ
null | { "state": "PROVISIONING" | "READY" | "STOPPED" }В MVP Agent можно только наблюдать, не управлять им.