Deployments Costs
const url = 'https://api.cloud.agentums.ru/v1/deployments/usage';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.cloud.agentums.ru/v1/deployments/usage \ --header 'Authorization: Bearer <token>'Деньги по ВСЕМ машинам владельца сразу: расход на модель и цена тарифа.
Объявлен ДО /{deployment_id}: иначе «usage» попал бы туда как идентификатор и ответил бы
невнятной ошибкой разбора — ровно как у /plans, /pipeline и /stats.
Отдельный маршрут, а не поля в списке развёртываний, и это не стиль. Состав ответа про
развёртывание пришпилен сторожем, который бережёт п. 0 ТЗ: способ размещения наружу не
уходит. Расширяя его ради денег, мы каждый раз заново доказывали бы, что новое поле не
рассказывает о провайдере. Тем же приёмом уже живёт /{id}/usage.
!!! warning “cost_rub и machine_plan_rub не складываются”
Первое — учтённая работа модели, второе — цена тарифа, по которой счёта не
выставлялось: почасового учёта провайдера мы не ведём, а остановленная машина стоит
иначе, чем работающая. Сложив их, клиент показал бы сумму, которой никто не выставлял.
next_charge_at — поле КОНВЕРТА, а не строки: подписка живёт на уровне аккаунта, и повторив
её у каждой машины, мы пообещали бы, что машины оплачиваются по отдельности.
Authorizations
Заголовок раздела «Authorizations»Responses
Заголовок раздела «Responses»Successful Response
Деньги по всем машинам владельца сразу.
Одним запросом, потому что список агентов рисуется на каждом открытии кабинета, а запрос на машину означал бы столько походов, сколько у человека машин.
object
Деньги одной машины в списке: расход на модель и цена тарифа.
Отдельно от DeploymentOut НАМЕРЕННО. Состав ответа про развёртывание пришпилен
сторожем, который бережёт п. 0 ТЗ — способ размещения наружу не уходит, — и расширять его
ради денег значит каждый раз заново доказывать, что новое поле не рассказывает о провайдере.
Деньги живут своим маршрутом, как это уже сделано у /{id}/usage.
Example
{ "items": [ { "cost_rub": 0 } ]}Validation Error
object
object
object
Examplegenerated
{ "detail": [ { "ctx": {}, "input": "example", "loc": [ "example" ], "msg": "example", "type": "example" } ]}