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

Эндпоинт подписки

Эндпоинт подписки отдаёт VPN конфигурацию напрямую клиентским приложениям. В отличие от остального API, это GET запрос который возвращает файл конфигурации VPN, а не JSON. GET https://network-api.adaptgroup.app/sub/{subscription_uuid} Этот URL возвращается как subscription_url в ответе на создание подписки и должен передаваться напрямую в VPN клиент пользователя.


Как это работает

Когда VPN клиент обращается к этому URL, сервер:

  1. Проверяет подписку — что она активна и не заморожена
  2. Идентифицирует устройство по заголовку X-Hwid или модели устройства
  3. Проверяет лимит устройств — отклоняет если превышен
  4. Возвращает VPN конфигурацию в формате запрошенном клиентом

Если клиент отправляет заголовок Accept: text/html (например при открытии URL в браузере), сервер возвращает HTML страницу — настраивается в дашборде.


Заголовки запроса

VPN клиент должен передавать следующие заголовки. Они используются для идентификации устройства и возврата правильного формата конфигурации.

ЗаголовокОбязательныйОписание
User-AgentНетUser agent клиентского приложения
AcceptНетЗапрашиваемый тип контента. Если text/html — возвращает браузерную страницу
X-HwidРекомендуетсяHardware ID устройства. Используется для надёжной идентификации устройства. Без него идентификация переключается на X-Device-Model — каждое новое значение модели регистрируется как новое устройство
X-Device-ModelРекомендуетсяМодель устройства. Используется как запасной вариант если X-Hwid не передан
X-Device-OsНетОперационная система (ios, android, windows, macos, linux)
X-Ver-OsНетВерсия ОС

Ответ

Возвращает файл конфигурации VPN. Формат зависит от заголовков User-Agent и Accept клиента — это может быть текст в base64, JSON или YAML в зависимости от типа клиента.

Заголовки ответа

ЗаголовокОписание
Content-DispositionВсегда attachment; filename="subscription.txt"
Profile-TitleНазвание профиля в base64
Profile-Update-IntervalКак часто клиент должен обновлять конфигурацию (в часах)
Profile-Web-Page-UrlОпциональный URL веб-страницы профиля
Support-UrlОпциональный URL поддержки
AnnounceОпциональное объявление в base64
Subscription-UserinfoИнформация об использовании трафика: upload=...; download=...; total=...; expire=...

Лимит устройств

Каждая подписка имеет максимальное количество устройств (поле devices). Устройства идентифицируются по заголовку X-Hwid. Если заголовок не передан — идентификация переключается на модель устройства.

Если лимит устройств достигнут и неизвестное устройство пытается подключиться, сервер возвращает ключ VLESS с сообщением об ошибке вместо рабочей конфигурации.


Ответы при ошибках

При возникновении ошибки сервер возвращает корректную VPN конфигурацию содержащую один нерабочий VLESS ключ с сообщением об ошибке в фрагменте. Это позволяет VPN клиентам отображать ошибку пользователю.

СитуацияСообщение
Подписка не найдена❌ Подписка не найдена
Подписка неактивна❌ Подписка неактивна
Подписка заморожена❌ Подписка заморожена
Превышен лимит устройств❌ Превышен лимит устройств (N)

Поведение в браузере

Если URL открывается в браузере (Accept: text/html), ответ зависит от настроек интеграции в дашборде:

РежимПоведение
disabledКастомная страница отключена
defaultВозвращает стандартную страницу AdaptGroup
redirectПеренаправляет на кастомный URL
htmlВозвращает кастомную HTML страницу загруженную в дашборде
© 2026 AdaptGroup LLC. All rights reserved.
30 N Gould St Ste R, Sheridan, WY 82801, USA
Back to top