Subscription Balancers
Client-side balancers for the JSON subscription: each enabled balancer is emitted as one extra config document whose members are the proxy outbounds of the selected inbounds (routing.balancers + burstObservatory). Managed in Settings → Sub Balancers.
AuthorizationBearer <token>API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
Successful response
application/json- response
success?booleanmsg?stringobj?array<>curl -X GET "https://example.com/panel/api/sub-balancers"{ "success": true, "obj": [ { "createdAt": 1710000000000, "enabled": true, "id": 1, "inboundIds": [ 1, 3 ], "memberWeights": {}, "remark": "auto-fastest", "sortOrder": 1, "strategy": "random", "updatedAt": 1710000000000 } ]}AuthorizationBearer <token>API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
application/x-www-form-urlencoded- body
remark*stringDisplay label, used as the config remarks (required).
strategy?stringBalancer strategy: "leastLoad", "leastPing", "roundRobin" or "random". Default "random".
"random"inboundIds*array<integer>Repeated form keys selecting the member inbounds (required, at least one).
memberWeights?leastLoad only: JSON object mapping inbound id to a static weight > 0, e.g. {"3":0.2}. Lower weight = picked more often; absent ids weigh 1. Rejected for other strategies; entries for unselected inbounds are dropped.
sortOrder?integer1-based position in the subscription list. Default 1.
1enabled?booleanWhether the balancer is emitted. Default true on create; unchanged when omitted on update.
Successful response
application/json- response
success?booleanmsg?stringobj?SubBalancer is one extra JSON-subscription config document whose members are the selected inbounds' proxy outbounds. SortOrder shares SubSortIndex semantics.
curl -X POST "https://example.com/panel/api/sub-balancers" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d 'remark=string&inboundIds=0'{ "success": true, "obj": { "createdAt": 1710000000000, "enabled": true, "id": 1, "inboundIds": [ 1, 3 ], "memberWeights": {}, "remark": "auto-fastest", "sortOrder": 1, "strategy": "random", "updatedAt": 1710000000000 }}AuthorizationBearer <token>API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
id*integerBalancer id.
application/x-www-form-urlencoded- body
remark*stringDisplay label, used as the config remarks (required).
strategy?stringBalancer strategy: "leastLoad", "leastPing", "roundRobin" or "random". Default "random".
"random"inboundIds*array<integer>Repeated form keys selecting the member inbounds (required, at least one).
memberWeights?leastLoad only: JSON object mapping inbound id to a static weight > 0, e.g. {"3":0.2}. Lower weight = picked more often; absent ids weigh 1. Rejected for other strategies; entries for unselected inbounds are dropped.
sortOrder?integer1-based position in the subscription list. Default 1.
1enabled?booleanWhether the balancer is emitted. Default true on create; unchanged when omitted on update.
Successful response
application/json- response
success?booleanmsg?stringobj?SubBalancer is one extra JSON-subscription config document whose members are the selected inbounds' proxy outbounds. SortOrder shares SubSortIndex semantics.
curl -X POST "https://example.com/panel/api/sub-balancers/0" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d 'remark=string&inboundIds=0'{ "success": true, "obj": { "createdAt": 1710000000000, "enabled": true, "id": 1, "inboundIds": [ 1, 3 ], "memberWeights": {}, "remark": "auto-fastest", "sortOrder": 1, "strategy": "random", "updatedAt": 1710000000000 }}AuthorizationBearer <token>API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
id*integerBalancer id.
Successful response
application/json- response
success?booleanmsg?stringobj?SubBalancer is one extra JSON-subscription config document whose members are the selected inbounds' proxy outbounds. SortOrder shares SubSortIndex semantics.
curl -X DELETE "https://example.com/panel/api/sub-balancers/0"{ "success": true, "obj": { "createdAt": 1710000000000, "enabled": true, "id": 1, "inboundIds": [ 1, 3 ], "memberWeights": {}, "remark": "auto-fastest", "sortOrder": 1, "strategy": "random", "updatedAt": 1710000000000 }}AuthorizationBearer <token>API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
id*integerBalancer id.
Successful response
application/json- response
success?booleanmsg?stringobj?SubBalancer is one extra JSON-subscription config document whose members are the selected inbounds' proxy outbounds. SortOrder shares SubSortIndex semantics.
curl -X POST "https://example.com/panel/api/sub-balancers/0/del"{ "success": true, "obj": { "createdAt": 1710000000000, "enabled": true, "id": 1, "inboundIds": [ 1, 3 ], "memberWeights": {}, "remark": "auto-fastest", "sortOrder": 1, "strategy": "random", "updatedAt": 1710000000000 }}
3x-ui