История операций по балансу
https://api.souz.ai/v1/balance/historyПополнения, списания за завершённые запросы, возвраты остатка и отмены начислений, новые первыми, прямо из журнала операций. У пополнения source: payment — оплата, bonus — бонус; у бонуса от службы поддержки — label (бонус к пополнению, компенсация за запрос, бонус). Списание — одно на успешный запрос, по фактической цене; провалившийся запрос не стоит ничего. Возврат остатка (refund) отмечает служба поддержки, когда вернула остаток по обращению клиента; он уменьшает баланс. Отмена (reversal) — служба поддержки отменила начисление или его часть; она уменьшает баланс, у пополнения растёт topup.reversed_micro. Страницы — по курсору: next_before из ответа передаётся в before следующего запроса, пока он не станет null. kind оставляет один вид операций. У аккаунта без баланса (has_balance: false в /v1/auth/me) — 403 account_without_balance.
Авторизация
ManagementKeyКлюч управления из кабинета souz.ai (выдают владелец и администратор аккаунта — себе или
участнику). Даёт ровно то, что его держатель видит и может в кабинете: баланс, историю
операций и запросов, расходы, обычные ключи, настройки аккаунта — с той же ролью, лимитами
и цифрами. Модели
не запускает. Обычный API-ключ здесь не подходит: 403 forbidden с
detail[].reason: requires_management_key.
ClientSessionСессия кабинета souz.ai в браузере — те же ручки, что у ключа управления.
Параметры запроса
limitintegerПо умолчанию 100, максимум 1000
Один вид операций; по умолчанию все
beforestringКурсор next_before предыдущей страницы
Ответы
200OK
application/jsoncurrencystringобязательно"RUB"next_beforestring | nullобязательноКурсор следующей (более старой) страницы для before; null — страниц больше нет.
"1758600000123456.4211"400Запрос отклонён; `error.detail[]` называет поля и допустимые значения.
application/json401Нет ключа или ключ недействителен.
application/json403Нельзя: у ключа не тот вид (модели запускает API-ключ, аккаунт — ключ управления), у роли
Нельзя: у ключа не тот вид (модели запускает API-ключ, аккаунт — ключ управления), у роли
участника нет права или подпись ссылки на файл не сходится. detail[].reason говорит,
что именно: requires_api_key, requires_management_key, cabinet_only (только в
кабинете), insufficient_role (в allowed — роли, которым можно), not_key_author
(секрет ключа открывает только тот, кто его создал).
application/json429Слишком часто — повторите через `Retry-After` секунд. Запуск моделей, задачи и файлы результатов частотой не ограничены (их ограничивают баланс и лимиты трат); здесь 429 — на поток запросов с ключом, который сервер не знает, с одного адреса, и на потоки сверх 1000 одновременных на аккаунт (события задачи, чат с `stream: true`). Пределы — раздел «Лимиты» руководства.
application/json