Skip to content

Subscription ​

Public subscription endpoints that clients fetch.

6 endpoints

GET /sub/{token}/ ​

User Subscription

Provides a subscription link based on the user agent (Clash, V2Ray, etc.).

Public

Parameters

NameInTypeRequiredDescription
tokenpathstringyes
user-agentheaderstringno

Response 200 Successful Response

bash
curl -X GET 'https://YOUR-PANEL/sub/<token>/'

GET /sub/{token}/info ​

User Subscription Info

Retrieves detailed information about the user's subscription.

Public

Parameters

NameInTypeRequiredDescription
tokenpathstringyes

Response 200 Successful Response · SubscriptionUserResponse

Response fields
FieldTypeDescription
proxiesobject
expireinteger
data_limitinteger
data_limit_reset_strategyno_reset / day / week / month / year
ip_limitinteger
hwid_limitinteger
announcestring
sub_updated_atstring (date-time)
sub_last_user_agentstring
sub_request_countinteger
online_ip_countinteger
hwid_countinteger
online_atstring (date-time)
on_hold_expire_durationinteger
on_hold_timeoutstring (date-time)
next_planNextPlanModel
usernamestring
statusactive / disabled / limited / expired / on_hold
used_trafficinteger
lifetime_used_trafficinteger
created_atstring (date-time)
ip_block_countinteger
hwid_reject_countinteger
linksstring[]
subscription_urlstring
sub_tokenstring
warningstring
warning_atstring (date-time)
json
{
  "proxies": {},
  "expire": 0,
  "data_limit": 0,
  "data_limit_reset_strategy": "no_reset",
  "ip_limit": 0,
  "hwid_limit": 0,
  "announce": "string",
  "sub_updated_at": "2026-01-01T00:00:00Z",
  "sub_last_user_agent": "string",
  "sub_request_count": 0,
  "online_ip_count": 0,
  "hwid_count": 0,
  "online_at": "2026-01-01T00:00:00Z",
  "on_hold_expire_duration": 0,
  "on_hold_timeout": "2026-01-01T00:00:00Z",
  "next_plan": {
    "data_limit": 0,
    "expire": 0,
    "add_remaining_traffic": false,
    "fire_on_either": true
  },
  "username": "string",
  "status": "active",
  "used_traffic": 0,
  "lifetime_used_traffic": 0,
  "created_at": "2026-01-01T00:00:00Z",
  "ip_block_count": 0,
  "hwid_reject_count": 0,
  "links": [],
  "subscription_url": "",
  "sub_token": "string",
  "warning": "string",
  "warning_at": "2026-01-01T00:00:00Z"
}
bash
curl -X GET 'https://YOUR-PANEL/sub/<token>/info'

GET /sub/{token}/usage ​

User Get Usage

Fetches the usage statistics for the user within a specified date range.

Public

Parameters

NameInTypeRequiredDescription
tokenpathstringyes
startquerystringno
endquerystringno

Response 200 Successful Response

bash
curl -X GET 'https://YOUR-PANEL/sub/<token>/usage'

GET /sub/{token}/vpn/{key}/{filename} ​

User Vpn Config

the user's AmneziaWG (.conf) or OpenVPN (.ovpn) file for one server (app/vpn)

Public

Parameters

NameInTypeRequiredDescription
keypathstringyes
filenamepathstringyes
tokenpathstringyes

Response 200 Successful Response

bash
curl -X GET 'https://YOUR-PANEL/sub/<token>/vpn/<key>/<filename>'

GET /sub/{token}/{extra} ​

User Subscription Extra

/<token>/<client type> picks the format; anything else after the token (a username or any text, see Domain settings) is the normal subscription

Public

Parameters

NameInTypeRequiredDescription
extrapathstringyes
tokenpathstringyes
user-agentheaderstringno

Response 200 Successful Response

bash
curl -X GET 'https://YOUR-PANEL/sub/<token>/<extra>'

GET /sub/{token}/{extra}/{client_type} ​

User Subscription Extra Client Type

a link with a last part, plus a client type (e.g. Outline's /<token>/<name>/outline)

Public

Parameters

NameInTypeRequiredDescription
extrapathstringyes
client_typepathstringyes
tokenpathstringyes
user-agentheaderstringno

Response 200 Successful Response

bash
curl -X GET 'https://YOUR-PANEL/sub/<token>/<extra>/<client_type>'

Alexen v2.3.14 · 204 API endpoints