Online users
Live connections.
5 endpoints
GET /api/online
Get Online Summary
Online users right now (main core, nodes and external panels). sort: 'ip' (default), 'devices' or 'external'.
Any admin
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
limit | query | integer | no | |
sort | query | string | no |
Response 200 Successful Response · OnlineSummary
Response fields
| Field | Type | Description |
|---|---|---|
online_users | integer | |
online_ips | integer | |
external_online_users | integer | |
updated_at | string (date-time) | |
users | OnlineUser[] |
{
"online_users": 0,
"online_ips": 0,
"external_online_users": 0,
"updated_at": "2026-01-01T00:00:00Z",
"users": [
{
"username": "string",
"admin": "string",
"ip_count": 0,
"device_count": 0,
"ip_limit": 0,
"blocked_ips": 0,
"external": 0,
"external_panels": []
}
]
}Errors: 401 Unauthorized
curl -X GET 'https://YOUR-PANEL/api/online' \
-H 'Authorization: Bearer $TOKEN'GET /api/online/providers
Get Online Providers
ISP/provider of each online user's IPs, plus a per-provider breakdown
Any admin
Response 200 Successful Response · OnlineProviders
Response fields
| Field | Type | Description |
|---|---|---|
users | object | |
providers | ProviderStat[] |
{
"users": {
"key": [
"string"
]
},
"providers": [
{
"name": "string",
"users": 0,
"ips": 0
}
]
}Errors: 401 Unauthorized
curl -X GET 'https://YOUR-PANEL/api/online/providers' \
-H 'Authorization: Bearer $TOKEN'GET /api/user/{username}/online-ips
Get User Online Ips
IPs the user is connected from right now
Any admin
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
username | path | string | yes |
Response 200 Successful Response · UserOnlineIPs
Response fields
| Field | Type | Description |
|---|---|---|
username | string | |
ip_limit | integer | |
ips | OnlineIP[] |
{
"username": "string",
"ip_limit": 0,
"ips": [
{
"ip": "string",
"nodes": [
"string"
],
"inbounds": [
"string"
],
"last_seen": "2026-01-01T00:00:00Z",
"connected_seconds": 0,
"provider": "string",
"blocked": false,
"protocol": "string",
"rate": 0
}
]
}Errors: 401 Unauthorized, 403 Forbidden, 404 Not found
curl -X GET 'https://YOUR-PANEL/api/user/<username>/online-ips' \
-H 'Authorization: Bearer $TOKEN'DELETE /api/user/{username}/online-ips/{ip}
Disconnect User Ip
Kick one online IP of the user: block it, then drop the user's live sessions so it really disconnects
Any admin
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
ip | path | string | yes | |
username | path | string | yes |
Response 200 Successful Response
Errors: 401 Unauthorized, 403 Forbidden, 404 Not found
curl -X DELETE 'https://YOUR-PANEL/api/user/<username>/online-ips/<ip>' \
-H 'Authorization: Bearer $TOKEN'POST /api/user/{username}/online-ips/{ip}/unblock
Unblock User Ip
Lift a manual block on an IP so it can connect again right away
Any admin
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
ip | path | string | yes | |
username | path | string | yes |
Response 200 Successful Response
Errors: 401 Unauthorized, 403 Forbidden, 404 Not found
curl -X POST 'https://YOUR-PANEL/api/user/<username>/online-ips/<ip>/unblock' \
-H 'Authorization: Bearer $TOKEN'