Basics & User
Service health, the current user's info, and an echo of the local config. All three endpoints only read local state and do not depend on a sign-in session; /health is the only endpoint that needs no authentication.
The window list lives on the Browser Windows page.
Showing 3 of 3 endpoints
GET
/healthService health status
Checks whether the local OpenAPI service is available. This is the only endpoint that requires no authentication.
AuthNo authentication required
Request parameters
None
Response fields
| Field | Type | Description |
|---|---|---|
data | string | Always "ok" when the service is available |
Response example
{
"code": 0,
"msg": "ok",
"data": "ok"
}
GET
/user/infoCurrent user info
Returns the signed-in user info cached by the client; the field structure matches the backend sign-in response.
AuthBearer API Key
Request parameters
None
Notes
- The actual response also carries two all-lowercase alias fields, teaminfo and teamInfo.teammember, with the same content as the camelCase fields; new integrations should read only the camelCase fields.
- password and token in the response are always empty strings; this endpoint does not issue credentials, so there is no need to read them.
Response fields
| Field | Type | Description |
|---|---|---|
data.id | number | User primary key ID |
data.teamId | number | ID of the team currently in use |
data.email | string | Sign-in email |
data.userName | string | Username, taken from the part of the email before @ |
data.parent | number | User ID of the inviter |
data.ipAddress | string | Source IP of the most recent sign-in |
data.balance | number | Account balance, denominated in USDT |
data.balanceCom | number | Withdrawable commission balance |
data.balanceComAddup | number | Total accumulated commission |
data.balanceChildAddup | number | Total accumulated top-ups by invitees |
data.invite | string | Invitation code |
data.inviteLink | string | Invitation sign-up link |
data.inviteRadio | number | Referral commission rate |
data.childen | number | Total number of invitees (the field name keeps the legacy spelling) |
data.childened | number | Number of activated invitees |
data.deviceId | string | Device identifier reported by the client |
data.state | number | Account status: 0 normal, 1 frozen |
data.createdAt | string | Registration time |
data.updatedAt | string | Update time |
data.teamInfo | object | Current team info, same fields as the /team/list entries |
Response example
{
"code": 0,
"msg": "ok",
"data": {
"id": 1001,
"teamId": 2001,
"parent": null,
"ipAddress": "203.0.113.24",
"balance": 100.5,
"balanceCom": 0,
"balanceComAddup": 0,
"balanceChildAddup": 0,
"invite": "10086",
"inviteRadio": null,
"childen": 0,
"childened": 0,
"deviceId": "example-device-id",
"state": 0,
"createdAt": "2026-01-15 10:00:00",
"updatedAt": "2026-06-01 12:30:00",
"userName": "example",
"inviteLink": "https://app.nexbrowser.net/html/register.html?invite=10086",
"teamInfo": {
"id": 2001,
"userId": 1001,
"name": "默认团队",
"windowNum": 3,
"memberNum": 2,
"remark": "default team",
"limitWindow": 50,
"limitMember": 10,
"combo": "COMBO_1",
"comboExpire": "2027-01-15 23:59:59",
"actived": "ON",
"createdAt": "2026-01-15 10:00:00",
"updatedAt": "2026-06-01 12:30:00",
"teamMember": {
"id": 3001,
"teamId": 2001,
"userId": 1001,
"roleId": 4001,
"seq": 1,
"switchPinned": "OFF",
"createdAt": "2026-01-15 10:00:00",
"updatedAt": "2026-01-15 10:00:00",
"role": {
"id": 4001,
"teamId": 2001,
"name": "管理员",
"menuId": "[1, 2, 3, 4, 5]",
"createdAt": "2026-01-15 10:00:00",
"updatedAt": "2026-06-01 12:30:00"
}
}
}
}
}
POST
/user/configEcho user config
Returns the request body as-is for connectivity self-checks; it does not read or write any persisted configuration.
AuthBearer API Key
Request parameters
| Field | Type | Required | Description |
|---|---|---|---|
Any JSON fields | object | Optional | The request body appears as-is in data; an empty request body returns {} |
Response fields
| Field | Type | Description |
|---|---|---|
data | object | Echoed content identical to the request body |
Response example
{
"code": 0,
"msg": "ok",
"data": {
"theme": "dark",
"lang": "zh-CN"
}
}