Справочник API
Credits API
GET /v1/credits возвращает баланс организации, а также расход и бюджеты ключа, с которым вы вызываете.
Проверяйте баланс, ничего не тратя. Вызов бесплатный и ничего не резервирует.
GET
https://api.notholy.com/v1/creditsGET https://api.notholy.com/v1/creditscurl https://api.notholy.com/v1/credits -H "Authorization: Bearer $NOTHOLY_API_KEY"Ответ
{
"object": "credits",
"currency": "USD",
"balance": "24.913402",
"reserved": "0.004000",
"available": "24.909402",
"key": { "spent": "0.086598", "daily_budget": "5.000000" }
}| Поле | Тип | Примечания |
|---|---|---|
object | string | Всегда credits |
currency | string | Всегда USD |
balance | string | Кредиты минус уже списанный расход |
reserved | string | Зарезервировано прямо сейчас выполняющимися запросами. Каждый резерв — это стоимость запроса в худшем случае; неиспользованная часть возвращается после расчёта |
available | string | Сколько может зарезервировать новый запрос: balance минус reserved |
key.spent | string | Всего потрачено с этим ключом |
key.total_budget, key.daily_budget | string | Есть, если у ключа заданы бюджеты |
Суммы — десятичные строки с 6 знаками после точки. Внутри NotHoly это целые числа в миллиардных долях доллара, поэтому между запросами ничего не округляется.
Каждый запрос перед стартом резервирует стоимость в худшем случае (промпт плюс max_tokens). Если available меньше, лимит выхода уменьшается, чтобы поместиться, а при значении ниже 16 токенов запрос возвращает 402 insufficient_credits. Проверяйте available перед долгими генерациями.
const r = await fetch('https://api.notholy.com/v1/credits', { headers: { Authorization: `Bearer ${process.env.NOTHOLY_API_KEY}` } });
const c = await r.json();
console.log(c.available);Ошибки
| Статус | Код | Значение |
|---|---|---|
| 401 | invalid_api_key | Ключ отсутствует, неверен, отозван или истёк |
| 403 | account_suspended, consent_required | См. Аутентификация |
| 500 | internal_error | Не удалось прочитать баланс. Повторите с задержкой |