Быстрый старт
На этой странице показан полный сценарий с curl:
- Регистрация и вход (cookie-сессия).
- Создание воркспейса.
- Создание API-ключа (raw-ключ показывается один раз).
- Получение id модели из
GET /v1/models. - Вызов
POST /v1/chat/completionsс ключом. - Проверка баланса.
Замените https://api.runne.run на базовый URL вашего инстанса.
1. Регистрация
curl -c cookies.txt -X POST https://api.runne.run/v1/auth/register \
-H 'Content-Type: application/json' \
-d '{"email":"you@example.com","password":"correct-horse-battery","name":"You"}'Ответ (HTTP 201) — регистрация сразу выполняет вход и устанавливает cookie runne_session:
{ "customer_id": "0191…", "email": "you@example.com" }password должен быть не короче 8 символов. Повторная регистрация того же email вернёт 409 email_already_registered.
2. Вход (опционально)
Если аккаунт уже есть:
curl -c cookies.txt -X POST https://api.runne.run/v1/auth/login \
-H 'Content-Type: application/json' \
-d '{"email":"you@example.com","password":"correct-horse-battery"}'Ответ (HTTP 200):
{ "expires_at": "2026-09-13T09:00:00.000Z" }3. Создание воркспейса
curl -b cookies.txt -X POST https://api.runne.run/v1/workspaces \
-H 'Content-Type: application/json' \
-d '{"name":"my-app"}'Ответ (HTTP 201):
{
"id": "0191…",
"customer_id": "0191…",
"name": "my-app",
"balance": "0",
"currency": "RUB",
"status": "active",
"created_at": "2026-09-12T00:00:00.000Z",
"updated_at": "2026-09-12T00:00:00.000Z"
}Сохраните id воркспейса — он используется во всех вызовах в разрезе воркспейса.
4. Создание API-ключа
curl -b cookies.txt -X POST https://api.runne.run/v1/workspaces/WORKSPACE_ID/api-keys \
-H 'Content-Type: application/json' \
-d '{"name":"prod-key","scopes":["chat:write","balance:read"]}'Ответ (HTTP 201):
{
"id": "0191…",
"raw_key": "rn_live_4xK9mP2qR7sT_7hJ3kL9mN2pQ5rT8vW1xY4zA6bC0dE2fG4hI6jK8",
"key_id": "4xK9mP2qR7sT",
"name": "prod-key",
"scopes": ["chat:write", "balance:read"],
"created_at": "2026-09-12T00:00:00.000Z"
}Сохраните raw_key сейчас
raw_key возвращается только один раз. Сервер хранит лишь HMAC секрета и не может восстановить исходное значение. Храните его в secrets-менеджере и никогда не логируйте.
5. Получение id модели
Для chat нужна модель, существующая в каталоге и имеющая прайс. В beta каталог изначально пуст — platform admin должен сначала создать модель и её прайс. Получите id, который будете использовать:
curl https://api.runne.run/v1/modelsИспользуйте возвращённый id как поле model в следующем шаге. Модели по умолчанию нет: значение, которого нет в каталоге, вернёт 404 not_found (нет прайса для модели).
6. Вызов chat completions
# Используйте id модели из GET /v1/models.
curl -X POST https://api.runne.run/v1/chat/completions \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer rn_live_4xK9mP2qR7sT_7hJ3kL9mN2pQ5rT8vW1xY4zA6bC0dE2fG4hI6jK8' \
-d '{"model":"<model-id-from-v1-models>","messages":[{"role":"user","content":"Hello"}]}'Ответ (в beta возвращается mock-ответ):
{
"id": "chatcmpl-mock-…",
"object": "chat.completion",
"created": 1750000000,
"model": "mock-model",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "This is a mock response for demonstration purposes." },
"finish_reason": "stop"
}
],
"usage": { "prompt_tokens": 2, "completion_tokens": 50, "total_tokens": 52 }
}Запрос требует скоупа chat:write и лимитируется по каждому ключу. Стоимость сначала резервируется, затем списывается с баланса воркспейса.
7. Проверка баланса
curl -X GET https://api.runne.run/v1/balance \
-H 'Authorization: Bearer rn_live_4xK9mP2qR7sT_7hJ3kL9mN2pQ5rT8vW1xY4zA6bC0dE2fG4hI6jK8'Ответ (требуется скоуп balance:read):
{ "balance": "0", "currency": "RUB", "updated_at": "2026-09-12T00:00:00.000Z" }Баланс пуст, пока вы не пополните его или администратор не внесёт корректировку.
Дальнейшие шаги
- Аутентификация — два режима аутентификации подробно.
- Chat Completions — справочник по запросу/ответу.
- Платежи и YooKassa — пополнение баланса.