# Remote Collaboration

## 1. Prerequisites

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

- Keep a valid `API_KEY` for authentication.
- Make sure your company already has remote collaboration meeting records before querying meeting history or participant details.

## 2. Overview

Remote Collaboration APIs provide paginated meeting history and participant lookup so integrations can inspect meeting progress, meeting lifecycle, and participant presence states.

### 2.1 List meeting history

**Endpoint** `https://api.rokid.com/ar/corporation/openapi/rtc/meeting/info/page`

**Method** `POST`

**Request** `application/json`

**Response** `*/*`

**Description** Query paginated remote collaboration meeting history for the current company.

**Parameters**

| **Name** | **Description** | **Required** | **Type** |
| --- | --- | --- | --- |
| pageNum | Page number, default `1` | false | int |
| pageSize | Page size, default `10` | false | int |
| meetingName | Fuzzy match on meeting name | false | string |
| companyId | Company identifier | true | string |
| startTime | Query start time, format `yyyy-MM-dd HH:mm:ss` | false | string |
| endTime | Query end time, format `yyyy-MM-dd HH:mm:ss` | false | string |

**Response fields**

| **Name** | **Description** | **Required** | **Type** |
| --- | --- | --- | --- |
| pageNum | Current page number | true | int |
| pageSize | Page size | true | int |
| total | Total records | true | long |
| list | Meeting records | true | array |
| id | Primary key | true | long |
| meetingId | Meeting identifier | true | string |
| meetingName | Meeting name | false | string |
| gmtCreated | Meeting start time | false | string |
| gmtModified | Meeting end time | false | string |
| meetingDuration | Meeting duration | false | string |
| egressRecordUrl | Recording URL | false | string |
| meetingStatus | Meeting status: `进行中` or `已结束` | true | string |

**Example**

```bash
curl -X POST "https://api.rokid.com/ar/corporation/openapi/rtc/meeting/info/page" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "pageNum": 1,
  "pageSize": 10,
  "meetingName": "Device Inspection Review",
  "companyId": "rokid-demo-company",
  "startTime": "2026-06-01 00:00:00",
  "endTime": "2026-06-17 23:59:59"
}'
```

**Sample response**

```json
{
  "pageNum": 1,
  "pageSize": 10,
  "total": 1,
  "list": [
    {
      "id": 101,
      "meetingId": "RM_202606170001",
      "meetingName": "Device Inspection Review",
      "gmtCreated": "2026-06-17 10:00:00",
      "gmtModified": "2026-06-17 10:45:00",
      "meetingDuration": "45m00s",
      "egressRecordUrl": "https://example.com/records/RM_202606170001.mp4",
      "meetingStatus": "已结束"
    }
  ]
}
```

### 2.2 List meeting participants

**Endpoint** `https://api.rokid.com/ar/corporation/openapi/rtc/meeting/record/list?id={$meetingId}`

**Method** `GET`

**Request** `application/x-www-form-urlencoded`

**Response** `*/*`

**Description** Query participants for a meeting by meeting ID and inspect each participant status.

**Parameters**

| **Name** | **Description** | **Required** | **Type** |
| --- | --- | --- | --- |
| id | Meeting ID | true | string |

**Response fields**

| **Name** | **Description** | **Required** | **Type** |
| --- | --- | --- | --- |
| participantUserFullName | Participant full name | false | string |
| participantUserName | Participant username | false | string |
| startTime | Joined-at time | false | string |
| endTime | Left-at time | false | string |
| meetingDuration | Attendance duration | false | string |
| status | Participant status: `会议中`, `已退出`, or `未进入` | true | string |

**Example**

```bash
curl -X GET "https://api.rokid.com/ar/corporation/openapi/rtc/meeting/record/list?id=RM_202606170001" \
-H "Authorization: Bearer $API_KEY"
```

**Sample response**

```json
[
  {
    "participantUserFullName": "Alice",
    "participantUserName": "alice",
    "startTime": "2026-06-17 10:00:12",
    "endTime": "2026-06-17 10:45:00",
    "meetingDuration": "44m48s",
    "status": "已退出"
  },
  {
    "participantUserFullName": "Bob",
    "participantUserName": "bob",
    "startTime": "2026-06-17 10:05:20",
    "endTime": "",
    "meetingDuration": "",
    "status": "会议中"
  }
]
```
