Суммы в API
Денежные поля API содержат целые числа: 1 ₽ = 1 000 000 единиц API. Например, значение API999750 отображается как 0,99 ₽; для расчётов сохраняйте исходное целое число. GET /v1/balance требует balance:read и возвращает availableMicrorub, reservedMicrorub, currency=RUB и unit=microrub. Имена полей и значение unit не меняются.
Для положительных сумм этот пример принимает бюджет в рублях и показывает ответ API без потери исходного значения:
formatRubles; для отправки — исходное целое число. Не рассчитывайте платёж из уже сокращённой строки. Код выше подходит для шага с JavaScript в Kvantora Flow.
Резерв и списание
Перед платным запросом сервис резервирует верхнюю оценку. После подтверждённого результата списывает фактическую сумму один раз и освобождает остаток. Если исход неизвестен, резерв сохраняется до сверки. Медиа сейчас используют фиксированную цену за запрос.POST /v1/quotes возвращает estimated_cost_microrub, expires_at и reservation_created=false. Можно передать точную оценку без изменений в max_cost_microrub либо задать собственный предел через rublesToApiUnits(budgetRub). Если текущая цена выше предела, запрос не отправится.
Оценка запроса медиа
В оценку передайте параметры будущей генерации и нужнуюoperation. Этот запрос не создаёт задание и не резервирует деньги.
formatRubles определена выше. Проверяйте expires_at перед отправкой. Для генерации передайте parameters и точное max_cost_microrub, но не добавляйте operation: её задаёт endpoint. Оценка не является гарантией доступности модели к моменту отправки.
История расходов
GET /v1/usage?days=30 требует usage:read. requests считает принятые запросы проекта; spent суммирует подтверждённые списания по времени их завершения. Резервы не входят в spent. Период начинается по календарным дням в billing_timezone организации и заканчивается as_of.