3x-ui3x-ui

Subscription Server

A separate HTTP/HTTPS server that serves proxy subscription links (standard, JSON, and Clash) to clients. The server listens on its own port (default 2096) and is configured in Settings → Subscription. Fresh panels generate random path prefixes for each format; all paths remain configurable. Every subscription endpoint sets response headers for client apps to read traffic/expiry info.

GET
/{subPath}{subid}

Authorization

AuthorizationBearer <token>

API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.

In: header

Path Parameters

subid*string

Client subscription ID.

subPath*string

Query Parameters

format?string

Set to "info" to get the subscription status view-model as JSON instead of the links.

Response Body

application/json

curl -X GET "https://example.com/stringstring"
{  "success": true,  "msg": "string",  "obj": null}
HEAD
/{subPath}{subid}

Authorization

AuthorizationBearer <token>

API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.

In: header

Path Parameters

subid*string

Client subscription ID.

subPath*string

Response Body

curl -X HEAD "https://example.com/stringstring"
Empty
GET
/{jsonPath}{subid}

Authorization

AuthorizationBearer <token>

API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.

In: header

Path Parameters

subid*string

Client subscription ID.

jsonPath*string

Response Body

application/json

curl -X GET "https://example.com/stringstring"
{  "success": true,  "msg": "string",  "obj": null}
HEAD
/{jsonPath}{subid}

Authorization

AuthorizationBearer <token>

API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.

In: header

Path Parameters

subid*string

Client subscription ID.

jsonPath*string

Response Body

curl -X HEAD "https://example.com/stringstring"
Empty
GET
/{clashPath}{subid}

Authorization

AuthorizationBearer <token>

API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.

In: header

Path Parameters

subid*string

Client subscription ID.

clashPath*string

Response Body

application/json

curl -X GET "https://example.com/stringstring"
{  "success": true,  "msg": "string",  "obj": null}
HEAD
/{clashPath}{subid}

Authorization

AuthorizationBearer <token>

API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.

In: header

Path Parameters

subid*string

Client subscription ID.

clashPath*string

Response Body

curl -X HEAD "https://example.com/stringstring"
Empty