Inbounds
Manage inbound configurations and their clients. All endpoints live under /panel/api/inbounds and require a logged-in session or Bearer token. Link-generating endpoints honour forwarded headers only when the request comes from a configured trusted proxy.
AuthorizationBearer <token>Scoped 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/inbounds/list'{ "success": true, "obj": [ { "clientStats": [ { "down": 2097152, "email": "user1", "enable": true, "expiryTime": 1735689600000, "id": 14825, "inboundId": 1, "lastOnline": 1735680000000, "lastSubFetch": 1735680000000, "reset": 0, "resetCount": 0, "resetDay": 0, "resetMax": 0, "resetWeekday": 0, "subId": "i7tvdpeffi0hvvf1", "total": 10737418240, "up": 1048576, "uuid": "e18c9a96-71bf-48d4-933f-8b9a46d4290c" } ], "disableFlow": false, "down": 0, "enable": true, "excludeFromSub": false, "expiryTime": 0, "fallbackParent": null, "id": 1, "lastTrafficResetTime": 0, "listen": "", "nodeId": null, "originNodeGuid": "", "port": 443, "protocol": "vless", "remark": "VLESS-443", "settings": null, "shareAddr": "", "shareAddrStrategy": "node", "sniffing": null, "streamSettings": null, "subSortIndex": 1, "tag": "in-443-tcp", "total": 0, "trafficReset": "never", "trafficResetDay": 1, "up": 0 } ]}AuthorizationBearer <token>Scoped API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
Successful response
application/json- response
success?booleanmsg?stringobj?unknowncurl -X GET 'https://example.com/panel/api/inbounds/list/slim'{ "success": true, "obj": [ { "id": 1, "remark": "VLESS-443", "settings": { "clients": [ { "email": "alice", "enable": true } ], "decryption": "none" }, "clientStats": [] } ]}AuthorizationBearer <token>Scoped 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/inbounds/options'{ "success": true, "obj": [ { "awgServer": null, "enable": true, "id": 1, "listen": "", "mtprotoDomain": "", "network": "", "nodeAddress": "", "nodeId": null, "port": 443, "protocol": "vless", "remark": "VLESS-443", "security": "", "shareAddr": "", "shareAddrStrategy": "", "ssMethod": "", "tag": "in-443-tcp", "tlsFlowCapable": true, "tuicServer": null, "wgDns": "", "wgMtu": 0, "wgPublicKey": "" } ]}AuthorizationBearer <token>Scoped API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
Successful response
application/json- response
success?booleanmsg?stringobj?Readiness is the host's ability to run any kernel-mode inbound at all.
curl -X GET 'https://example.com/panel/api/inbounds/amneziawgKernelReadiness'{ "success": true, "obj": { "blockers": [ { "code": "tools", "detail": "awg" } ], "installCommand": "sudo /usr/local/x-ui/x-ui install-awg-kernel", "ready": false }}AuthorizationBearer <token>Scoped API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
Successful response
application/json- response
success?booleanmsg?stringobj?array<string>|nullcurl -X GET 'https://example.com/panel/api/inbounds/allLinks'{ "success": true, "obj": [ "vless://uuid@host:443?security=reality&...#Germany-alice", "vmess://eyJ2IjoyLC..." ]}AuthorizationBearer <token>Scoped API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
id*integerInbound ID.
Successful response
application/json- response
success?booleanmsg?stringobj?unknowncurl -X GET 'https://example.com/panel/api/inbounds/get/0'{ "success": true, "msg": "string", "obj": null}AuthorizationBearer <token>Scoped API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
application/json- body
Successful response
application/json- response
success?booleanmsg?stringobj?unknowncurl -X POST 'https://example.com/panel/api/inbounds/add' \ -H 'Content-Type: application/json' \ -d '{ "enable": true, "remark": "VLESS-443", "listen": "", "port": 443, "protocol": "vless", "expiryTime": 0, "total": 0, "settings": { "clients": [ { "id": "...", "email": "user1" } ], "decryption": "none" }, "streamSettings": { "network": "tcp", "security": "reality", "realitySettings": { "show": false, "dest": "..." } }, "sniffing": { "enabled": true, "destOverride": [ "http", "tls" ] }}'{ "success": true, "msg": "string", "obj": null}AuthorizationBearer <token>Scoped API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
id*integerInbound ID.
Successful response
application/json- response
success?booleanmsg?stringobj?unknowncurl -X POST 'https://example.com/panel/api/inbounds/del/0'{ "success": true, "msg": "string", "obj": null}AuthorizationBearer <token>Scoped API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
application/json- body
Successful response
application/json- response
success?booleanmsg?stringobj?unknowncurl -X POST 'https://example.com/panel/api/inbounds/bulkDel' \ -H 'Content-Type: application/json' \ -d '{ "ids": [ 1, 2, 3 ]}'{ "success": true, "obj": { "deleted": 2, "skipped": [ { "id": 3, "reason": "..." } ] }}AuthorizationBearer <token>Scoped API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
id*integerInbound ID.
application/json- body
Successful response
application/json- response
success?booleanmsg?stringobj?unknowncurl -X POST 'https://example.com/panel/api/inbounds/update/0' \ -H 'Content-Type: application/json' \ -d '{ "enable": true, "remark": "VLESS-443", "listen": "", "port": 443, "protocol": "vless", "expiryTime": 0, "total": 0, "settings": { "clients": [ { "id": "...", "email": "user1" } ], "decryption": "none" }, "streamSettings": { "network": "tcp", "security": "reality", "realitySettings": { "show": false, "dest": "..." } }, "sniffing": { "enabled": true, "destOverride": [ "http", "tls" ] }}'{ "success": true, "msg": "string", "obj": null}AuthorizationBearer <token>Scoped API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
id*integerInbound ID.
application/json- body
Successful response
application/json- response
success?booleanmsg?stringobj?unknowncurl -X POST 'https://example.com/panel/api/inbounds/setEnable/0' \ -H 'Content-Type: application/json' \ -d '{ "enable": false}'{ "success": true, "msg": "string", "obj": null}AuthorizationBearer <token>Scoped API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
id*integerInbound ID.
application/json- body
Successful response
application/json- response
success?booleanmsg?stringobj?unknowncurl -X POST 'https://example.com/panel/api/inbounds/0/subSortIndex' \ -H 'Content-Type: application/json' \ -d '{ "subSortIndex": 2}'{ "success": true, "msg": "string", "obj": null}AuthorizationBearer <token>Scoped API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
id*integerInbound ID.
Successful response
application/json- response
success?booleanmsg?stringobj?unknowncurl -X POST 'https://example.com/panel/api/inbounds/0/resetTraffic'{ "success": true, "msg": "string", "obj": null}AuthorizationBearer <token>Scoped API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
id*integerInbound ID.
Successful response
application/json- response
success?booleanmsg?stringobj?unknowncurl -X POST 'https://example.com/panel/api/inbounds/0/delAllClients'{ "success": true, "obj": { "deleted": 12 }}AuthorizationBearer <token>Scoped API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
Successful response
application/json- response
success?booleanmsg?stringobj?unknowncurl -X POST 'https://example.com/panel/api/inbounds/resetAllTraffics'{ "success": true, "msg": "string", "obj": null}AuthorizationBearer <token>Scoped API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
application/x-www-form-urlencoded- body
data*stringJSON-encoded inbound payload.
Successful response
application/json- response
success?booleanmsg?stringobj?unknowncurl -X POST 'https://example.com/panel/api/inbounds/import' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'data=string'{ "success": true, "msg": "string", "obj": null}AuthorizationBearer <token>Scoped API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
application/json- body
masterGuid*stringStable GUID of the pushing master panel.
traffics*array<>Client traffic rows; only email/up/down are read.
Successful response
application/json- response
success?booleanmsg?stringobj?unknowncurl -X POST 'https://example.com/panel/api/inbounds/pushClientTraffics' \ -H 'Content-Type: application/json' \ -d '{ "masterGuid": "9f6c2d-…", "traffics": [ { "email": "alice", "up": 1048576, "down": 2097152 } ]}'{ "success": true}AuthorizationBearer <token>Scoped API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
id*integerMaster inbound ID.
Successful response
application/json- response
success?booleanmsg?stringobj?unknowncurl -X GET 'https://example.com/panel/api/inbounds/0/fallbacks'{ "success": true, "obj": [ { "id": 1, "masterId": 10, "childId": 11, "name": "", "alpn": "", "path": "/vlws", "dest": "", "xver": 2, "sortOrder": 0 } ]}AuthorizationBearer <token>Scoped API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
id*integerMaster inbound ID.
application/json- body
fallbacks*array<>Array of {childId, name, alpn, path, dest, xver, sortOrder} entries. Leave dest empty to auto-resolve from the child inbound's listen+port; set it (e.g. "8443", "127.0.0.1:8443", "/dev/shm/x.sock") to override.
Successful response
application/json- response
success?booleanmsg?stringobj?unknowncurl -X POST 'https://example.com/panel/api/inbounds/0/fallbacks' \ -H 'Content-Type: application/json' \ -d '{ "fallbacks": [ { "childId": 11, "path": "/vlws", "xver": 2 }, { "childId": 12, "alpn": "h2", "dest": "8443" } ]}'{ "success": true, "msg": "Inbound updated"}
3x-ui