Разделы документации

Admin API: лицензия, копии и обновления

Метод Admin API для чтения состояния лицензии и список методов установки, которые работают только из панели под владельцем.

В группе девять методов: лицензия, резервные копии, обновления и база IP2Proxy. По API-токену доступен один — чтение состояния лицензии. Остальные восемь работают только из панели под владельцем установки. Авторизация описана на странице Admin API: обзор и авторизация, формат ответов и ошибок — на странице Формат запросов, ответов и ошибок.

Методы

Получить состояние лицензии

http
GET /api/v1/license

Возвращает состояние лицензии установки: активна ли она, вид, срок и время последней проверки. Те же данные панель показывает во вкладке Настройки → Лицензия.

Права токена: full. Параметров пути, запроса и тела нет.

Метод отвечает и при неактивной лицензии, когда остальные методы возвращают 402. По нему интеграция отличает закрытый доступ от сбоя — см. Истёкшая лицензия.

Ответ — код 200 и объект:

ПолеТипОписание
licenseобъектСостояние лицензии, поля — в следующей таблице
spend_allowedлогическоеtrue, если доступно расширение для расходов: лицензия активна и платная. В состоянии unmanaged тоже true
server_timeчислоВремя сервера трекера, секунды Unix. Сравнивайте с ним expires_at и lease_until
operatorлогическоеДля запроса с токеном всегда false
held_deliveriesчислоДля запроса с токеном всегда 0. Число событий, ожидающих продления, видно только владельцу установки в панели

Поля объекта license:

ПолеТипВсегда естьОписание
activeлогическоедаtrue — панель и API открыты. false — защищённые методы отвечают 402
stateстрокадаСостояние, значения — в разделе Значения state
requiredлогическоедаtrue, если установке нужна лицензия
configuredлогическоедаtrue, если в установке задан сервис лицензий
kindстроканетВид лицензии: trial — пробная, paid — платная
expires_atчислонетОкончание оплаченного или пробного периода, секунды Unix. В панели — Оплачено / пробный период до
lease_untilчислонетДо какого времени действует текущее подтверждение, секунды Unix. В панели — Работа без связи с сервисом до
last_checkedстрока, дата RFC 3339нетВремя последнего обращения к сервису лицензий
last_errorстроканетТекст последней ошибки проверки. Сообщения разобраны на странице Подтверждение лицензии

Необязательные поля в ответе отсутствуют, пока значения нет: kind, expires_at и lease_until — пока лицензия не активирована, а также в состояниях unmanaged, unconfigured, clock_error и invalid_certificate; last_checked — пока трекер не обращался к сервису лицензий; last_error — пока проверки проходят без ошибок.

Идентификатор установки и окончание ключа лицензии по токену не отдаются.

Ошибки: своих кодов у метода нет. Токен с доступом Сводные отчёты или Расходы расширения получит 403 с кодом token_scope.

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

bash
curl https://panel.example.com/api/v1/license \
  -H "Api-Key: <токен>"

Пример ответа при активной платной лицензии:

json
{
  "license": {
    "required": true,
    "configured": true,
    "active": true,
    "state": "active",
    "kind": "paid",
    "expires_at": 1793664000,
    "lease_until": 1791113400,
    "last_checked": "2026-10-04T11:20:14.512334Z"
  },
  "held_deliveries": 0,
  "operator": false,
  "spend_allowed": true,
  "server_time": 1791112814
}

Пример ответа после окончания срока:

json
{
  "license": {
    "required": true,
    "configured": true,
    "active": false,
    "state": "expired",
    "kind": "paid",
    "expires_at": 1791072000,
    "lease_until": 1791072000,
    "last_checked": "2026-10-04T11:20:14.512334Z"
  },
  "held_deliveries": 0,
  "operator": false,
  "spend_allowed": false,
  "server_time": 1791112814
}

Значения state

stateactiveСостояние в панелиКогда
activetrue«Лицензия активна»Подтверждение действует, срок не вышел
activation_requiredfalse«Требуется активация»Ключ ещё не активирован
verification_requiredfalse«Нужно подтвердить лицензию»Наступило время lease_until, новое подтверждение не получено
expiredfalse«Срок лицензии закончился»Наступило время expires_at
deniedfalse«Лицензия недоступна»Сервис лицензий ответил отказом
invalid_certificatefalse«Проверка лицензии не пройдена»Сохранённое подтверждение не подходит этой установке или домену панели
clock_errorfalse«Проверьте время на сервере»Время на сервере переведено назад
unconfiguredfalse«Сервис лицензий не настроен»В установке не задан сервис лицензий или домен панели
unmanagedtrue«Лицензирование ещё не подключено»Сборка без обязательной лицензии, required равно false

Что делать в каждом состоянии — на страницах Подтверждение лицензии и связь с сервисом и Истечение лицензии. Трафик и приём конверсий продолжаются при любом значении state.

Совет.

Проверяйте в интеграции поле active, а не только срок: доступ закрывается и при отказе сервиса лицензий, и при потере подтверждения, хотя expires_at ещё не наступил.

Методы владельца установки

Эти восемь методов по API-токену не работают при любом виде доступа. Токену Полный доступ они отвечают 403 с кодом forbidden:

МетодНазначениеmessage в ответеГде выполнить в панели
POST /api/v1/license/activateАктивировать ключ или проверить продлениеЛицензию меняет только владелец установкиПолучение ключа и активация
GET /api/v1/backups, POST /api/v1/backupsРезервные копии и восстановлениеРезервные копии доступны только владельцу установкиРезервные копии
GET /api/v1/updates, POST /api/v1/updatesОбновление трекераОбновления доступны только владельцу установкиОбновление трекера из панели
GET /api/v1/ip2proxy, PUT /api/v1/ip2proxy, POST /api/v1/ip2proxy/updateКлюч, пакет и обновление базы IP2ProxyБаза IP2Proxy доступна владельцу установкиIP2Proxy

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

bash
curl -i https://panel.example.com/api/v1/backups \
  -H "Api-Key: <токен>"
json
{"code": "forbidden", "message": "Резервные копии доступны только владельцу установки"}

Токены с доступом Сводные отчёты и Расходы расширения получают на эти методы 403 с кодом token_scope. При неактивной лицензии методы копий, обновлений и IP2Proxy отвечают 402 с кодом license_required.

На POST /api/v1/license/activate, PUT /api/v1/ip2proxy и POST /api/v1/ip2proxy/update действует общий предел: 10 запросов в минуту с одного IP. Сверх него ответ — 429 с кодом rate_limited.

Почему эти методы закрыты для токена

Лицензия, копии, обновления и база IP2Proxy относятся ко всей установке на сервере, а не к данным одной команды. Поэтому трекер принимает такие запросы только при трёх условиях одновременно:

Токен работает от имени своего создателя, но его права на установку не получает — даже если токен создал сам владелец установки. Другие владельцы и администраторы команды в панели получают на эти методы тот же ответ 403.

Из методов этой группы автоматизировать можно только наблюдение: запрашивайте GET /api/v1/license и следите за active, state и expires_at. Продление, копии и обновления выполняйте в панели.

Обновлено Нужна помощь? ↗