Ваш сайт или программа сама выдаёт подписки из нашего VPN. Нужен разработчик.

Лента событий

GET/api/v1/vpn/events

События, которые готовились вашему вебхуку, в порядке появления: чтобы догнать пропущенное после сбоя вашего сервера, не дожидаясь повторов. В payload ровно то тело, что уходит вебхуком, рядом статус его доставки. Листайте по next_cursor, пока он не null. Хранятся 30 дней; событий нет, если вебхук не задан.

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

sinceнеобязательно

С какого момента (ISO-8601). Не задан: самые старые из хранимых.

cursorнеобязательно

next_cursor из прошлой страницы. С ним since не нужен.

limitнеобязательно

До 100.

Когда откажет

401unauthorized: Неверный или отсутствующий API-ключ
403api_disabled: Доступ к API для этого аккаунта закрыт; ip_not_allowed: Адрес запроса не входит в список разрешённых
422validation_error: Неверные параметры запроса
429rate_limited: Слишком много запросов
503upstream_unavailable: Поставщик VPN временно недоступен
Попробовать запрос

Подставится в примеры и в запрос. Хранится только в этом браузере.

curl https://api.relayhub.surf/api/v1/vpn/events?since=2026-10-14T00%3A00%3A00Z \
  -H "Authorization: Bearer <YOUR_API_KEY>"
Вставьте свой ключ, и он подставится вместо <YOUR_API_KEY>.

Вставьте API-ключ

Пример ответа
{
  "success": true,
  "items": [
    {
      "event_id": "01a06321-0000-7000-8000-000000000002",
      "event": "subscription.expires_in_24h",
      "occurred_at": "2026-10-01T12:00:00Z",
      "delivery_status": "dead",
      "payload": {
        "event": "subscription.expires_in_24h",
        "event_id": "01a06321-0000-7000-8000-000000000002",
        "occurred_at": "2026-10-01T12:00:00Z",
        "source": "network",
        "schema_version": 1,
        "subscription": {
          "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": 1,
          "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"
        }
      }
    }
  ],
  "next_cursor": "MjAyNi0xMC0wMVQxMjowMDowMCswMDowMHwwMWEwNjMyMS0wMDAwLTcwMDAtODAwMC0wMDAwMDAwMDAwMDI"
}

Поля ответа

successboolean

true у любого успешного ответа.

itemsobject[]

Записи страницы.

next_cursorstring | null

Курсор следующей страницы; null, когда больше ничего нет.

Собираем анонимную аналитику посещений. Подробнее