API Tokens
Manage scoped Bearer tokens for programmatic auth. Tokens grant admin, monitor, or node-sync access, may expire, and are stored as SHA-256 hashes. The plaintext is returned only once at creation.
AuthorizationBearer <token>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/easyxray/api/v1/setting/apiTokens"{ "success": true, "obj": [ { "id": 1, "name": "default", "enabled": true, "createdAt": 1736000000 } ]}AuthorizationBearer <token>API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
application/json- body
name*stringHuman-readable label, e.g. "central-panel-a".
scope?stringadmin (default), monitor, or node-sync.
expiresAt?integerFuture Unix milliseconds, or 0 for no expiry.
Successful response
application/json- response
success?booleanmsg?stringobj?curl -X POST "https://example.com/easyxray/api/v1/setting/apiTokens/create" \ -H "Content-Type: application/json" \ -d '{ "name": "central-panel-a", "scope": "node-sync", "expiresAt": 1798761600000 }'{ "success": true, "obj": { "createdAt": 1736000000, "enabled": true, "expiresAt": 0, "id": 2, "name": "central-panel-a", "scope": "admin", "token": "new-token-string" }}AuthorizationBearer <token>API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
id*integerToken row ID.
application/json- body
expectedScope*stringStored scope expected by the operator.
Successful response
application/json- response
success?booleanmsg?stringobj?unknowncurl -X POST "https://example.com/easyxray/api/v1/setting/apiTokens/delete/0" \ -H "Content-Type: application/json" \ -d '{ "expectedScope": "node-sync" }'{ "success": true}AuthorizationBearer <token>API token from Settings → Security → API Token. Send as Authorization: Bearer <token>.
id*integerToken row ID.
application/json- body
enabled*booleanNew enabled state.
expectedScope*stringStored scope expected by the operator.
Successful response
application/json- response
success?booleanmsg?stringobj?unknowncurl -X POST "https://example.com/easyxray/api/v1/setting/apiTokens/setEnabled/0" \ -H "Content-Type: application/json" \ -d '{ "enabled": false, "expectedScope": "node-sync" }'{ "success": true}
EasyXray