Skip to content

Справочник API

Все эндпоинты строятся от базового URL вашего инстанса (например, https://api.runne.run). Режимы аутентификации:

  • Сессия — cookie runne_session (кабинет клиента). Маршруты с проверкой владения дополнительно требуют, чтобы сессия владела воркспейсом.
  • API-ключAuthorization: Bearer rn_live_… или x-api-key: rn_live_….
  • Вебхук — HMAC-подпись в X-YooKassa-Signature.
  • Публичный — без аутентификации.

Auth и сессия

МетодПутьAuthСкоупОписание
POST/v1/auth/registerПубличный (auth rate limit 5/мин/IP)Регистрация {email, password, name}; авто-вход, 201 {customer_id, email}
POST/v1/auth/loginПубличный (auth rate limit 10/мин/IP)Вход {email, password}; 200 {expires_at} + cookie сессии
POST/v1/auth/logoutСессияОтзыв jti сессии на сервере, очистка cookie; {success: true}
GET/v1/auth/meСессия{customer_id, email, name, status, is_platform_admin}

Воркспейсы

МетодПутьAuthСкоупОписание
POST/v1/workspacesСессияСоздать воркспейс {name}; 201 DTO воркспейса
GET/v1/workspacesСессияСписок своих воркспейсов; {workspaces: [...]}

API-ключи

МетодПутьAuthСкоупОписание
POST/v1/workspaces/{workspace_id}/api-keysСессия (владелец)Создать ключ {name, scopes[], rate_limit?}; 201 включая raw_key (однократно)
GET/v1/workspaces/{workspace_id}/api-keysСессия (владелец)Список ключей; {api_keys: [...]}
DELETE/v1/workspaces/{workspace_id}/api-keys/{api_key_id}Сессия (владелец)Отозвать ключ; {success: true}

Платежи и вебхуки

МетодПутьAuthСкоупОписание
POST/v1/paymentsСессияСоздать платёж YooKassa {workspace_id, amount_rubles, description?}; 201
GET/v1/payments?workspace_id=СессияСписок платежей своего воркспейса
POST/webhooks/yookassaВебхук (HMAC-SHA256)Обработать payment.succeeded/canceled, receipt.succeeded/canceled (идемпотентно)

Реестр и баланс

МетодПутьAuthСкоупОписание
GET/v1/workspaces/{workspace_id}/transactionsСессия (владелец)История транзакций ?type=&from=&to=&limit=&offset=
GET/v1/workspaces/{workspace_id}/balanceСессия (владелец){balance, updated_at}
GET/v1/balanceAPI-ключbalance:read{balance, currency, updated_at}

Потребление и стоимость

МетодПутьAuthСкоупОписание
POST/v1/cost/estimateПубличныйОценить стоимость {model, max_tokens}
GET/v1/workspaces/{workspace_id}/usage-reportСессия (владелец)Агрегированное потребление `?from=&to=&group_by=day

Квоты

МетодПутьAuthСкоупОписание
GET/v1/workspaces/{workspace_id}/quotaСессия (владелец)Текущая квота; `{quota:
GET/v1/workspaces/{workspace_id}/quota/usageСессия (владелец)Потребление за текущий период; {usage: {...}}

Chat completions

МетодПутьAuthСкоупОписание
POST/v1/chat/completionsAPI-ключ + rate limitchat:writeOpenAI-совместимый {model, messages[], max_tokens?}; в beta mock-провайдер

Модели

МетодПутьAuthСкоупОписание
GET/v1/modelsПубличныйСписок активных моделей с текущим прайсом
GET/v1/models/{provider}/{model}ПубличныйОдна модель (в ответе нет прайса)

Admin (только platform admin)

Требует сессию, чей клиент is_platform_admin равен true. Не-админы получают 403.

МетодПутьОписание
GET/v1/admin/dashboard/overviewМетрики системного обзора
GET/v1/admin/dashboard/top-workspacesТоп воркспейсов по потреблению (?limit=)
GET/v1/admin/dashboard/top-modelsТоп моделей по потреблению (?limit=)
GET/v1/admin/customersСписок клиентов с пагинацией (?page=&limit=&status=)
GET/v1/admin/customers/{customer_id}Карточка клиента: профиль + воркспейсы
PUT/v1/admin/customers/{customer_id}/statusЗадать статус `{status: active
POST/v1/admin/workspaces/{workspace_id}/adjustСкорректировать баланс {amount, description} (decimal со знаком)
PUT/v1/admin/workspaces/{workspace_id}/quotaОбновить квоту
PUT/v1/admin/models/{provider}/{model}/pricingОбновить прайс модели
GET/v1/admin/models/{provider}/{model}/pricing-historyИстория прайса
GET/v1/admin/workspaces/{workspace_id}/paymentsПлатежи воркспейса
GET/v1/admin/workspaces/{workspace_id}/receiptsЧеки воркспейса

Системные

МетодПутьAuthОписание
GET/healthПубличный{status: "ok"}
GET/ПубличныйИнформация о сервисе

Конверт ошибки

Не все не-2xx ответы используют один конверт. Доменные ошибки используют { "error": { "code": "…", "message": "…" } }; ошибки валидации 400 используют { "success": false, "error": { … } } (без code); некоторые 401/403 (подпись вебхука, владение api-key) возвращают плоскую строку { "error": "…" }. Таблицу кодов и рекомендации см. в Ошибки.