CloseRouter API

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

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

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

API-ключи

Server-side управление ключами аккаунта через api.closerouter.dev.

Создать и получить список

curl
curl https://api.closerouter.dev/v1/keys \
  -H "Authorization: Bearer $CLOSEROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Production worker",
    "is_anonymous": false,
    "spend_limit": {
      "amount_usd": "25",
      "period": "monthly"
    }
  }'

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

Лимит и отзыв

curl
curl https://api.closerouter.dev/v1/keys/{key_id}/limit \
  -X PATCH \
  -H "Authorization: Bearer $CLOSEROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "spend_limit": null }'

curl https://api.closerouter.dev/v1/keys/{key_id} \
  -X DELETE \
  -H "Authorization: Bearer $CLOSEROUTER_API_KEY"

Ограничить доступ к моделям

Удобнее выбрать модели в кабинете на странице ключей. REST-изменение доступно только с Dashboard JWT на closerouter.dev; обычный API-ключ не может расширить себе или соседнему ключу доступ.

curl
export CLOSEROUTER_DASHBOARD_TOKEN="your_dashboard_access_token"

curl https://closerouter.dev/v1/keys/{key_id}/model-access \
  -X PATCH \
  -H "Authorization: Bearer $CLOSEROUTER_DASHBOARD_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model_access": {
      "type": "allowlist",
      "model_ids": [
        "anthropic/claude-haiku-4.5",
        "openai/gpt-5.4-mini"
      ]
    }
  }'

curl https://closerouter.dev/v1/keys/{key_id}/model-access \
  -X PATCH \
  -H "Authorization: Bearer $CLOSEROUTER_DASHBOARD_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "model_access": { "type": "all" } }'

Доступ к моделям

  • Новые и существующие ключи по умолчанию имеют model_access.type = "all".
  • allowlist принимает от 1 до 100 уникальных публичных ID моделей и атомарно заменяет предыдущий список; aliases сохраняются как канонические ID.
  • Если хотя бы одна модель из model и models[] запрещена, весь inference-запрос отклоняется с 403 api_key_model_access_denied до provider-вызова, usage и списания.
  • Ограниченный ключ может читать GET /keys, но не может создавать, изменять или отзывать ключи: API возвращает 403 api_key_management_forbidden.

Spend limits

  • spend_limit.amount_usd задается строкой в USD.
  • period может быть daily, monthly или total.
  • Передайте spend_limit: null, чтобы очистить лимит.
  • DELETE /keys/{key_id} отзывает ключ; новые запросы с ним прекращаются сразу.