Docs · Account · Limits

Docs → Account → Limits

Остатки лимитов по API ключу

Публичный endpoint, по которому можно получить текущие остатки кредитов по тарифу и активным бустам, используя свой API key — без личного кабинета и JWT.

Зачем нужен

Если вы встраиваете сервис в своё приложение и хотите показать пользователю, сколько кредитов осталось — этот endpoint вернёт актуальные цифры. Учитываются и тариф, и активные бусты, и тайминги сброса. Логика та же, что в Telegram-команде /limit и в личном кабинете.

✳ Важно. Endpoint только читает остатки и ничего не списывает. Вызывать его можно так часто, как нужно для UI.

Base URL и авторизация

GET https://ai.wormsoft.ru/api/v1/account/limits

Используется тот же API key, что и для остальных LLM endpoint-ов:

Authorization: Bearer YOUR_API_KEY

Либо альтернативный заголовок для клиентов, которые не могут задать Authorization:

x-api-key: YOUR_API_KEY

Пример запроса

curl --request GET \
  --url https://ai.wormsoft.ru/api/v1/account/limits \
  --header 'Authorization: Bearer YOUR_API_KEY'

Пример ответа

{
  "userId": 123,
  "subscriptionType": "payed",
  "subscriptionLimit": 1234567,
  "subscriptionLimitResetAt": 1730000000,
  "boostLimit": 1000000,
  "boostLimitResetAt": 1730003600,
  "totalLimit": 2234567,
  "isFrozen": false
}

Поля ответа

ПолеТипОписание
userIdnumberВнутренний идентификатор пользователя.
subscriptionTypestringАктивный тариф: free, promo, simple, payed, wormsoft_developer, wormsoft_boss. Во время заморозки — free.
subscriptionLimitnumberОстаток кредитов по тарифу в текущем периоде.
subscriptionLimitResetAtnumberUnix timestamp (секунды) сброса subscriptionLimit. 0 — сброс выполняется по запросу при следующем списании.
boostLimitnumberАктивные кредиты буста. Списываются раньше subscriptionLimit. 0 — нет активного буста.
boostLimitResetAtnumberUnix timestamp (секунды) окончания буста, после которого boostLimit обнулится. 0 — нет активного буста.
totalLimitnumberУдобное поле: subscriptionLimit + boostLimit.
isFrozenbooleantrue, если подписка сейчас заморожена и действуют лимиты Free.

Как считаются остатки

  • • Перед ответом сервис сбрасывает лимит, если окно тарифа уже истекло — цифры всегда актуальные.
  • • Буст-кредиты тратятся раньше тарифных, поэтому остаток по тарифу меняется только после исчерпания буста.
  • • У буста свой таймер сброса, не зависящий от сброса тарифа.
  • • Если активна заморозка подписки, действуют лимиты тарифа Free, а isFrozen будет true.

Возможные ошибки

  • 401 Unauthorized — отсутствует или невалиден API key.
  • 429 Too Many Requests — превышен rate limit ключа.
  • 404 Not Found — ключ валиден, но запись пользователя была удалена (крайне редкий случай).

Куда идти дальше

Account docs · Остатки лимитов по API key