CloseRouter API

Документация CloseRouter API

Короткая документация по публичному inference API: модели, запросы, ключи, баланс и ошибки.

Base URL
https://api.closerouter.dev/v1
Авторизация
Authorization: Bearer closerouter_...
Каталог
GET /models

Стоимость запросов и баланс

Получайте итоговую стоимость сразу в inference-ответе или запрашивайте сохранённый результат по request ID.

Стоимость в inference-ответе

JSON
{
  "usage": {
    "prompt_tokens": 120,
    "completion_tokens": 30,
    "total_tokens": 150,
    "cost": 0.000123
  }
}

usage.cost

  • Успешные Chat Completions, Responses и Messages запросы возвращают итоговую стоимость запроса в USD в числовом поле usage.cost.
  • В обычном JSON-ответе поле находится в usage; в streaming-ответе оно приходит в финальном usage-событии соответствующего API.
  • Это итоговое списание CloseRouter после завершения биллинга, а не предварительная оценка или внутренняя цена провайдера.

Получить запрос по request ID

Возьмите request ID из заголовка x-closerouter-request-id inference-ответа и подставьте его в URL. Не используйте для lookup верхнеуровневое поле id из тела ответа.

curl
export REQUEST_ID="00000000-0000-0000-0000-000000000000"

curl https://api.closerouter.dev/v1/requests/$REQUEST_ID \
  -H "Authorization: Bearer $CLOSEROUTER_API_KEY"

Ответ lookup

JSON
{
  "data": {
    "request_id": "00000000-0000-0000-0000-000000000000",
    "external_user": null,
    "status": "completed",
    "model": "openai/gpt-5.4-mini",
    "api_type": "chat",
    "usage": {
      "prompt_tokens": 120,
      "completion_tokens": 30,
      "total_tokens": 150,
      "cache_creation_tokens": 0,
      "cache_read_tokens": 0,
      "cost": 0.000123
    },
    "created_at": "2026-08-21T10:00:00.000Z",
    "completed_at": "2026-08-21T10:00:01.000Z"
  }
}

GET /requests/{request_id}

  • Endpoint возвращает status, model, api_type, токены, cache-токены, usage.cost и временные метки одного запроса.
  • Любой активный API-ключ аккаунта может получить запрос, созданный другим ключом того же аккаунта.
  • Для запроса в обработке usage равен null. Завершённые запросы имеют status completed, partial или failed; partial может содержать стоимость уже переданных данных.
  • Чужой, отсутствующий или некорректный request ID возвращает 404.

Credits

curl
curl https://api.closerouter.dev/v1/credits \
  -H "Authorization: Bearer $CLOSEROUTER_API_KEY"

Ответ

  • total_credits: текущий доступный баланс.
  • total_usage: суммарное списание за использование API.
  • Для платной модели при недостаточном балансе API возвращает 402 insufficient_balance.
  • Явно бесплатный запрос сохраняет обычную запись использования с нулевой стоимостью и не создает списание.