Перейти к содержимому

Общий лимит

Общий лимит

POST https://gptunnel.ru/api/v1/access/setGlobalLimit

Задаёт общий дневной и/или месячный лимит расходов сотрудника по всем моделям В отличие от лимитов на модели, это один лимит на сотрудника (не по конкретным моделям), и он имеет приоритет над лимитами по моделям. Каждому логину — свой лимит; при повторе логина берётся первое вхождение.

Значения

Параметры запроса

ПараметрТипОписание
items*object[]Массив пар «логин + лимиты» (от 1 до 25). Каждый элемент: { login, dailyLimit?, monthlyLimit? }
items[].login*stringЛогин сотрудника
items[].dailyLimitnumberОбщий дневной лимит в рублях (RUB). 0 = без лимита
items[].monthlyLimitnumberОбщий месячный лимит в рублях (RUB). 0 = без лимита

Нужно передать хотя бы одно из полей dailyLimit / monthlyLimit. Обновляются только переданные поля.

Кто может менять

Запрос выполняется от имени роли создателя API-ключа. Менять общий лимит можно у сотрудников с ролью равной или ниже своей (кроме своего аккаунта):

  • ключ должен принадлежать роли owner или admin (иначе весь запрос вернёт 403);
  • действовать можно над сотрудником с равной или более низкой ролью; сотрудника с более высокой ролью или свой собственный аккаунт изменить нельзя (по такому логину — forbidden).

Headers

ПараметрТипОписание
Authorization*stringAPI ключ

В ответе: updated — скольким логинам применён общий лимит, failed — сколько с ошибкой, failedLogins — перечень логинов с ошибкой (причина и пояснение по каждому).

Причины ошибок в failedLogins:

Причины ошибок

ПараметрТипОписание
not_foundstringСотрудника с таким логином нет в организации
forbiddenstringРоль цели выше вашей, либо это ваш собственный аккаунт
errorstringНепредвиденная ошибка при обработке этого сотрудника

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

Окно терминала
curl --request POST \
--url https://gptunnel.ru/api/v1/access/setGlobalLimit \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"items": [
{ "login": "ivanov", "dailyLimit": 1000, "monthlyLimit": 20000 },
{ "login": "petrov", "monthlyLimit": 5000 }
]
}'

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

{
"code": 0,
"updated": 2,
"failed": 0,
"failedLogins": []
}