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

Доступ к моделям

Запрет и разрешение моделей

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

Разрешает или запрещает конкретные модели сотрудникам (вкладка «Настройки доступа» → «Основные модели» в интерфейсе) — каждому логину свой список моделей. Запрос принимает массив пар { login, models } (до 25 логинов). Каждый элемент обрабатывается независимо: ошибка по одному не отменяет обработку остальных. При повторе логина берётся первое вхождение.

Значения и модели

Каждая запись в models — это пара { model, permission }:

Поля модели (models[])

ПараметрТипОписание
model*stringId модели из GET /v1/models (например, gpt-4o). Неизвестный id → ошибка model_not_found по логину
permission*stringРазрешение на модель: allow | forbid | default

Значение permission:

Значения permission

ПараметрТипОписание
allowstringРазрешить модель сотруднику
forbidstringЗапретить модель сотруднику
defaultstringСбросить к значению по умолчанию (снять персональное разрешение/запрет)

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

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

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

Headers

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

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

ПараметрТипОписание
items*object[]Массив пар «логин + модели» (от 1 до 25). Каждый элемент: { login, models }
items[].login*stringЛогин сотрудника
items[].models*object[]Список пар { model, permission } (от 1 до 100)

В ответе: updated — скольким логинам применён доступ к моделям, failed — сколько с ошибкой, failedLogins — перечень логинов с ошибкой (причина и пояснение по каждому). Для причины model_not_found в элемент добавляется unknownModels — список неизвестных id моделей этого логина (ни одна его модель не применена).

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

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

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

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

Окно терминала
curl --request POST \
--url https://gptunnel.ru/api/v1/access/setModelAccess \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"items": [
{
"login": "ivanov",
"models": [
{ "model": "gpt-4o", "permission": "forbid" },
{ "model": "gpt-4o-mini", "permission": "allow" }
]
},
{
"login": "petrov",
"models": [{ "model": "gpt-4o", "permission": "default" }]
}
]
}'

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

{
"code": 0,
"updated": 1,
"failed": 1,
"failedLogins": [
{
"login": "petrov",
"reason": "model_not_found",
"message": "Unknown model id(s) — see unknownModels. None of this login's models were applied. Use ids returned by GET /v1/models.",
"unknownModels": ["gpt-4o-typo"]
}
]
}