Skip to content

Изменить API Key

PATCH /api/open/v1/keys/:id

Обновляются только поля, присутствующие в теле запроса; отсутствующие поля остаются без изменений. Требуется хотя бы одно изменяемое поле: пустое тело, null или {} возвращает 400.

ПараметрГдеТипОбязательныйОписание
idpathintegerДаID Key, положительное целое число
namebodystringНетИмя; не может быть пустым после удаления пробелов, до 50 символов (символов, не байт)
statusbodyintegerНет1 включить, 2 отключить; любое другое значение возвращает 400 (3 / 4 выставляются автоматически)
expired_timebodyintegerНетСрок действия, unix-секунды; 0 / -1 означает бессрочно
remain_amountbodynumberНетДоступная сумма в валюте сайта, два знака после запятой; не может быть отрицательной или превышать максимум
unlimitedbodybooleanНетБезлимитный ли Key
model_limits_enabledbodybooleanНетВключить ли белый список моделей
model_limitsbodystringНетРазрешённые модели через запятую
allow_ipsbodystringНетРазрешённые IP, по одному на строку; пустая строка означает отсутствие ограничений

status принимает только 1 (включить) или 2 (отключить). Для включения Key должен быть пригоден после этого обновления: не истёк (expired_time равен -1 или находится в будущем) и либо безлимитный, либо с remain_amount > 0; иначе 400. Поля можно передать вместе, например {"status": 1, "expired_time": 1767225600}. Отключить можно из любого состояния, а явный status всегда важнее автоматического восстановления.

Пополнить исчерпанный Key (он автоматически вернётся в состояние «включён»):

Terminal window
curl -X PATCH https://www.routeapi.ai/api/open/v1/keys/12 \
-H "Authorization: Bearer $ROUTEAPI_MANAGEMENT_KEY" \
-H "Content-Type: application/json" \
-d '{"remain_amount": 20.00}'

Продлить срок действия:

Terminal window
curl -X PATCH https://www.routeapi.ai/api/open/v1/keys/12 \
-H "Authorization: Bearer $ROUTEAPI_MANAGEMENT_KEY" \
-H "Content-Type: application/json" \
-d '{"expired_time": 1767225600}'

Отключить Key (запросы с ним отклоняются до повторного включения):

Terminal window
curl -X PATCH https://www.routeapi.ai/api/open/v1/keys/12 \
-H "Authorization: Bearer $ROUTEAPI_MANAGEMENT_KEY" \
-H "Content-Type: application/json" \
-d '{"status": 2}'

Снова включить Key, продлив срок действия в том же запросе, чтобы он гарантированно был пригоден:

Terminal window
curl -X PATCH https://www.routeapi.ai/api/open/v1/keys/12 \
-H "Authorization: Bearer $ROUTEAPI_MANAGEMENT_KEY" \
-H "Content-Type: application/json" \
-d '{"status": 1, "expired_time": 1767225600}'

Возвращает обновлённый объект Key с маскированным key:

{
"success": true,
"message": "",
"data": {
"id": 12,
"name": "bot",
"key": "sk-abcd**********wxyz",
"status": 1,
"created_time": 1729000000,
"accessed_time": 1729000000,
"expired_time": -1,
"remain_amount": 20.00,
"unlimited": false,
"used_amount": 10.00,
"model_limits_enabled": false,
"model_limits": "",
"allow_ips": ""
}
}

Описание полей см. в Объект Key.

HTTPcodeСценарий
400invalid_requestid не является положительным целым числом, или тело не является корректным JSON
400invalid_requestТело пустое, null или не содержит ни одного изменяемого поля
400invalid_requeststatus не равен 1 или 2 (состояния 3 / 4 выставляются автоматически)
400invalid_requeststatus: 1 при том, что Key всё ещё истёк или исчерпан; продлите expired_time, пополните remain_amount или включите unlimited (поля можно передать в одном запросе)
400invalid_requestИмя длиннее 50 символов, либо remain_amount отрицательна или превышает максимум
400invalid_requestexpired_time не в будущем (и не равно 0 / -1) или позже 9999-12-31
400invalid_requestДля безлимитного Key передан только remain_amount, либо безлимитный Key переводится в ограниченный без remain_amount
404not_foundKey не существует или не принадлежит вам

Прочие общие коды ошибок см. в Ошибки и лимиты.

  • Передача только remain_amount: для Key с ограниченным лимитом применяется сразу; для безлимитного Key возвращает 400 — в этом случае нужно также передать "unlimited": false.
  • "unlimited": false без remain_amount: для безлимитного Key возвращается 400 (чтобы баланс не обнулялся молча); Key, который уже был ограничен, сохраняет текущий баланс.
  • Истёкший (3) или исчерпанный (4) Key автоматически возвращается в состояние «включён» (1), если обновление делает его снова пригодным (продлён expired_time, положительный remain_amount или unlimited). Это автоматическое восстановление работает только если status не передан.
  • 2 — состояние после ручного отключения. Оно никогда не восстанавливается автоматически; чтобы включить Key снова, передайте status: 1. Пока Key не в состоянии 1, вызовы моделей с ним отклоняются.
  • Все поля проверяются до записи: если хотя бы одно поле не проходит проверку, возвращается 400 и ни одно поле не изменяется.
  • Изменение Key через API платформы записывается в журнал аудита.