# Device APIs

## 1. Prerequisites

Base URL: `https://api.rokid.com`

- Keep a valid `API_KEY` for authentication.
- Register the device under **Devices** on the Lingmou console: https://x-inspection.rokid.com/main/devices

## 2. Overview

Device APIs expose registration lookup, querying and teardown so integrations can inspect Glass units.

### 2.1 List devices

**Endpoint** `https://api.rokid.com/ar/core/openapi/device/list`

**Method** `POST`

**Request** `application/json`

**Response** `*/*`

**Parameters**

| **Name** | **Description** | **Required** | **Type** |
| --- | --- | --- | --- |
| deviceSn | SN substring search | false | string |
| deviceName | Friendly name substring | false | string |

**Response fields**

| **Name** | **Description** | **Required** | **Type** |
| --- | --- | --- | --- |
| deviceSn | Serial number | true | string |
| deviceName | Device name | true | string |
| deviceType | `GLASS3` enterprise · `GLASS3_LITE` · `GLASS_OTHER` … | true | string |
| status | Connection: `online` / `offline` | true | string |

**Example**

```bash
curl -X POST https://api.rokid.com/ar/core/openapi/device/list \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "deviceSn":"1901",
    "deviceName":"glass3"
}'
```

**Sample response**

```json
{
  "code": 0,
  "message": "OK",
  "data": [
    {
      "deviceName": "glass3_001715",
      "deviceSn": "1901092524001715",
      "deviceType": "GLASS3",
      "status": "offline"
    }
  ],
  "success": true
}
```

### 2.2 Device detail

**Endpoint** `https://api.rokid.com/ar/core/openapi/device/detail?deviceSn={$deviceSn}`

**Method** `GET`

**Request** `application/json`

**Response** `*/*`

**Parameters**

| **Name** | **Description** | **Required** | **Type** |
| --- | --- | --- | --- |
| deviceSn | Exact SN | true | string |

**Response fields** — same shape as list items.

**Example**

```bash
curl -X GET "https://api.rokid.com/ar/core/openapi/device/detail?deviceSn=1901092524001715" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json"
```

**Sample response**

```json
{
  "code": 0,
  "message": "OK",
  "data": {
    "deviceName": "glass3_001715",
    "deviceSn": "1901092524001715",
    "deviceType": "GLASS3",
    "status": "offline"
  },
  "success": true
}
```

### 2.3 Real-time telemetry

**Endpoint** `https://api.rokid.com/ar/core/openapi/device/realData?deviceSn={$deviceSn}`

**Method** `GET`

**Parameters**

| **Name** | **Description** | **Required** | **Type** |
| --- | --- | --- | --- |
| deviceSn | SN | true | string |

**Response fields**

| **Name** | **Description** | **Required** | **Type** |
| --- | --- | --- | --- |
| powerValue | Battery % | true | int |
| currentUserId | Signed-in account id | true | string |

**Example**

```bash
curl -X GET "https://api.rokid.com/ar/core/openapi/device/realData?deviceSn=1901092524001715" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json"
```

**Sample response**

```json
{
  "code": 0,
  "message": "OK",
  "data": {
    "powerValue": 100,
    "currentUserId": "E0BB5354E9F54BC6A032E8B709CC7B2E"
  },
  "success": true
}
```
