Ваш сайт или программа сама выдаёт подписки из нашего VPN. Нужен разработчик.
/api/v1/vpn/subscriptionsВсе подписки аккаунта, включая проданные через ботов. Без живого трафика: он есть
только в карточке одной подписки.
Обычный режим: новые сверху, страницы по offset. Режим синхронизации (задан
updated_since или cursor): по возрастанию updated_at, в ответе next_cursor,
листайте, пока он не null, и запомните updated_at последней подписки для
следующего захода. Подходит, чтобы держать свою базу в актуальном виде без запроса
на каждую подписку.
Режим синхронизации: подписки, изменившиеся с этого момента (ISO-8601), по возрастанию updated_at, страницы по next_cursor.
successbooleantrue у любого успешного ответа.
totalintegerСколько всего записей под фильтром.
offsetintegerСколько записей пропущено, как в запросе.
limitintegerРазмер страницы, как в запросе.
itemsobject[]Записи страницы.
401unauthorized: Неверный или отсутствующий API-ключ403api_disabled: Доступ к API для этого аккаунта закрыт; ip_not_allowed: Адрес запроса не входит в список разрешённых422validation_error: Неверные параметры запроса429rate_limited: Слишком много запросов503upstream_unavailable: Поставщик VPN временно недоступенПодставится в примеры и в запрос. Хранится только в этом браузере.
curl https://api.relayhub.surf/api/v1/vpn/subscriptions?updated_since=2026-10-14T00%3A00%3A00Z \
-H "Authorization: Bearer <YOUR_API_KEY>"Вставьте API-ключ
{
"success": true,
"total": 1,
"offset": 0,
"limit": 20,
"items": [
{
"subscription_id": "01a06315-1270-705a-8d4c-58fea607bf2c",
"client_id": "01a06310-8f2b-7c11-9a3e-2b5c7d9e1f00",
"external_user_id": "user-42",
"telegram_id": null,
"bot_id": null,
"source": "api",
"plan_uuid": "550e8400-e29b-41d4-a716-446655440000",
"plan_name": "Standard 30d",
"is_trial": false,
"product": "term",
"is_lifetime": false,
"status": "active",
"subscription_url": "https://api.relayhub.surf/sub/wnT9NRf0Zk6McRRnp2nggc3K",
"days": 30,
"days_left": 30,
"devices": 2,
"traffic_limit_bytes": null,
"auto_renew": false,
"renewal_count": 0,
"renewal_progress": 0,
"created_at": "2026-09-02T12:00:00Z",
"end_date": "2026-10-02T12:00:00Z",
"frozen_at": null,
"price_minor": 450,
"price_usd": "4.50",
"updated_at": "2026-09-10T07:58:12Z"
}
]
}successbooleantrue у любого успешного ответа.
totalintegerСколько всего записей под фильтром.
offsetintegerСколько записей пропущено, как в запросе.
limitintegerРазмер страницы, как в запросе.
itemsobject[]Записи страницы.