nimeet 文档中心
English

白板 REST API 参考

构建时从公开白板 API 定义生成:房间、场景、内容、快照、回放与 Token。

由公开白板接口定义生成

版本 v1.0.0 · 更新于 2026-10-28 · 修订 1

分组概览

本页由公开 REST 接口定义在构建时生成:标签 whiteboard,共 22 个操作(全量 22 个)。鉴权、信封与分页约定见 REST API 总览.

方法路径摘要
GET/v1/whiteboard/roomsList whiteboard rooms
POST/v1/whiteboard/roomsCreate a whiteboard room
GET/v1/whiteboard/rooms/{uuid}Get room information
PATCH/v1/whiteboard/rooms/{uuid}Disable (ban) or re-enable a room
POST/v1/whiteboard/rooms/{uuid}/closeClose a room permanently
POST/v1/whiteboard/rooms/{uuid}/membersJoin a room as a member
DELETE/v1/whiteboard/rooms/{uuid}/members/{memberId}Leave a room
GET/v1/whiteboard/rooms/{uuid}/scenesGet scene path list
POST/v1/whiteboard/rooms/{uuid}/scenesAdd scenes
GET/v1/whiteboard/rooms/{uuid}/scene-stateGet the current scene state
PATCH/v1/whiteboard/rooms/{uuid}/scene-stateSwitch the current scene
POST/v1/whiteboard/rooms/{uuid}/strokesAppend a stroke
DELETE/v1/whiteboard/rooms/{uuid}/strokes/{strokeId}Erase a stroke
POST/v1/whiteboard/rooms/{uuid}/undoUndo the caller's last operation
POST/v1/whiteboard/rooms/{uuid}/redoRedo the caller's last undone operation
PUT/v1/whiteboard/rooms/{uuid}/viewportSet the room viewport
POST/v1/whiteboard/rooms/{uuid}/imagesInsert an image
GET/v1/whiteboard/rooms/{uuid}/snapshotExport a room snapshot
GET/v1/whiteboard/rooms/{uuid}/snapshot.svgRender the current scene as SVG
GET/v1/whiteboard/rooms/{uuid}/replayGet the replay timeline
POST/v1/whiteboard/tokens/rooms/{uuid}Generate a room token
POST/v1/whiteboard/tokens/teamsGenerate a project (SDK) token

操作详情

GET /v1/whiteboard/rooms

List whiteboard rooms

鉴权:项目凭证(customerId:customerSecret 的 Base64)

参数

名称位置必填类型说明
beginUUIDquerystring
limitqueryinteger1..1000,默认 100

响应

状态码说明 / schema
200Room list — array<object>
401Missing or invalid project credentials / room token — Error

调用示例

bash
curl -s -X GET "$NIMEET_API_BASE/v1/whiteboard/rooms?beginUUID=value&limit=50" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"

POST /v1/whiteboard/rooms

Create a whiteboard room

Creates a room owned by the authenticated project. isRecord is accepted for Agora compatibility and persisted, but server-side recording of whiteboard operations is only exposed through the replay endpoint.

鉴权:项目凭证(customerId:customerSecret 的 Base64)

请求体

字段类型必填说明
isRecordboolean默认 false
limitintegerMaximum concurrent writer/admin members; 0 means no limit.;>= 0,默认 0
json
{
  "isRecord": true,
  "limit": 1
}

响应

状态码说明 / schema
201Room created — Room
400Invalid parameter — Error
401Missing or invalid project credentials / room token — Error

调用示例

bash
curl -s -X POST "$NIMEET_API_BASE/v1/whiteboard/rooms" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC" \
  -H "Content-Type: application/json" \
  -d '{"isRecord":true,"limit":1}'

GET /v1/whiteboard/rooms/{uuid}

Get room information

鉴权:项目凭证(customerId:customerSecret 的 Base64)

参数

名称位置必填类型说明
uuidpath是string长度 8..64,pattern ^[A-Za-z0-9_-]+$

响应

状态码说明 / schema
200Room information — Room
401Missing or invalid project credentials / room token — Error
404Room, scene or stroke not found — Error

调用示例

bash
curl -s -X GET "$NIMEET_API_BASE/v1/whiteboard/rooms/uuid" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"

PATCH /v1/whiteboard/rooms/{uuid}

Disable (ban) or re-enable a room

Banning removes the room from joinable rooms; re-enabling with isBan: false restores it. Requires the admin role.

鉴权:项目凭证(customerId:customerSecret 的 Base64)

参数

名称位置必填类型说明
uuidpath是string长度 8..64,pattern ^[A-Za-z0-9_-]+$

请求体

字段类型必填说明
isBanboolean是
json
{
  "isBan": true
}

响应

状态码说明 / schema
200Updated room — Room
400Invalid parameter — Error
401Missing or invalid project credentials / room token — Error
403Token role is insufficient or the room is banned/closed — any
404Room, scene or stroke not found — Error

调用示例

bash
curl -s -X PATCH "$NIMEET_API_BASE/v1/whiteboard/rooms/uuid" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC" \
  -H "Content-Type: application/json" \
  -d '{"isBan":true}'

POST /v1/whiteboard/rooms/{uuid}/close

Close a room permanently

Closing is terminal: the room stays readable for audit and replay but rejects joins, scene mutations and token minting. Requires the admin role.

鉴权:项目凭证(customerId:customerSecret 的 Base64)

参数

名称位置必填类型说明
uuidpath是string长度 8..64,pattern ^[A-Za-z0-9_-]+$

响应

状态码说明 / schema
200Closed room — Room
401Missing or invalid project credentials / room token — Error
403Token role is insufficient or the room is banned/closed — any
404Room, scene or stroke not found — Error

调用示例

bash
curl -s -X POST "$NIMEET_API_BASE/v1/whiteboard/rooms/uuid/close" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"

POST /v1/whiteboard/rooms/{uuid}/members

Join a room as a member

Registers a member in the room and enforces the room limit for writer/admin members. The member record feeds scene-state.memberStates and the undo/redo stacks.

鉴权:项目凭证(customerId:customerSecret 的 Base64)

参数

名称位置必填类型说明
uuidpath是string长度 8..64,pattern ^[A-Za-z0-9_-]+$

请求体

字段类型必填说明
memberIdstring长度 0..64
roleenum(admin | writer | reader)默认 "writer"
json
{
  "memberId": "string",
  "role": "admin"
}

响应

状态码说明 / schema
201Member joined — object{ memberId, role, joinedAt, version }
400Invalid parameter — Error
401Missing or invalid project credentials / room token — Error
403Token role is insufficient or the room is banned/closed — any
404Room, scene or stroke not found — Error
409Operation conflicts with the current room state — Error

调用示例

bash
curl -s -X POST "$NIMEET_API_BASE/v1/whiteboard/rooms/uuid/members" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC" \
  -H "Content-Type: application/json" \
  -d '{"memberId":"string","role":"admin"}'

DELETE /v1/whiteboard/rooms/{uuid}/members/{memberId}

Leave a room

Marks the member as left and frees a writer slot. Admins may remove other members; writer/reader tokens may only remove themselves.

鉴权:项目凭证(customerId:customerSecret 的 Base64)

参数

名称位置必填类型说明
uuidpath是string长度 8..64,pattern ^[A-Za-z0-9_-]+$
memberIdpath是string长度 0..64

响应

状态码说明 / schema
200Member left — object{ memberId, leftAt, version }
401Missing or invalid project credentials / room token — Error
403Token role is insufficient or the room is banned/closed — any
404Room, scene or stroke not found — Error

调用示例

bash
curl -s -X DELETE "$NIMEET_API_BASE/v1/whiteboard/rooms/uuid/members/memberId" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"

GET /v1/whiteboard/rooms/{uuid}/scenes

Get scene path list

鉴权:项目凭证(customerId:customerSecret 的 Base64)

参数

名称位置必填类型说明
uuidpath是string长度 8..64,pattern ^[A-Za-z0-9_-]+$
sceneDirquerystring默认 "/"

响应

状态码说明 / schema
200Scene path list — array<string>
401Missing or invalid project credentials / room token — Error
404Room, scene or stroke not found — Error

调用示例

bash
curl -s -X GET "$NIMEET_API_BASE/v1/whiteboard/rooms/uuid/scenes?sceneDir=value" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"

POST /v1/whiteboard/rooms/{uuid}/scenes

Add scenes

Creates a scene directory when it does not exist and inserts the scenes under it. Requires the writer or admin role.

鉴权:项目凭证(customerId:customerSecret 的 Base64)

参数

名称位置必填类型说明
uuidpath是string长度 8..64,pattern ^[A-Za-z0-9_-]+$

请求体

字段类型必填说明
pathstring是Scene directory starting with /.;pattern ^/
scenesarray<object{ name, ppt }>是最多 100 项
json
{
  "path": "string",
  "scenes": [
    {
      "name": "demo",
      "ppt": {
        "src": "string",
        "width": 1,
        "height": 1
      }
    }
  ]
}

响应

状态码说明 / schema
201Scenes added — object{ added, version }
400Invalid parameter — Error
401Missing or invalid project credentials / room token — Error
403Token role is insufficient or the room is banned/closed — any
409Operation conflicts with the current room state — Error

调用示例

bash
curl -s -X POST "$NIMEET_API_BASE/v1/whiteboard/rooms/uuid/scenes" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC" \
  -H "Content-Type: application/json" \
  -d '{"path":"string","scenes":[{"name":"demo","ppt":{"src":"string","width":1,"height":1}}]}'

GET /v1/whiteboard/rooms/{uuid}/scene-state

Get the current scene state

Returns the room state the Web SDK's Room.state mirrors: current scene path, viewport, scenes, member states and undo/redo counters.

鉴权:项目凭证(customerId:customerSecret 的 Base64)

参数

名称位置必填类型说明
uuidpath是string长度 8..64,pattern ^[A-Za-z0-9_-]+$

响应

状态码说明 / schema
200Room state — RoomState
401Missing or invalid project credentials / room token — Error
404Room, scene or stroke not found — Error

调用示例

bash
curl -s -X GET "$NIMEET_API_BASE/v1/whiteboard/rooms/uuid/scene-state" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"

PATCH /v1/whiteboard/rooms/{uuid}/scene-state

Switch the current scene

鉴权:项目凭证(customerId:customerSecret 的 Base64)

参数

名称位置必填类型说明
uuidpath是string长度 8..64,pattern ^[A-Za-z0-9_-]+$

请求体

字段类型必填说明
scenePathstring是pattern ^/
json
{
  "scenePath": "string"
}

响应

状态码说明 / schema
200Current scene path — object{ currentScenePath, version }
400Invalid parameter — Error
401Missing or invalid project credentials / room token — Error
404Room, scene or stroke not found — Error

调用示例

bash
curl -s -X PATCH "$NIMEET_API_BASE/v1/whiteboard/rooms/uuid/scene-state" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC" \
  -H "Content-Type: application/json" \
  -d '{"scenePath":"string"}'

POST /v1/whiteboard/rooms/{uuid}/strokes

Append a stroke

Persists one stroke in the current scene and appends a stroke.append operation to the replay timeline. Realtime clients publish the same payload on the LiveKit data channel topic whiteboard before or after this call; persistence is authoritative for replay.

鉴权:项目凭证(customerId:customerSecret 的 Base64)

参数

名称位置必填类型说明
uuidpath是string长度 8..64,pattern ^[A-Za-z0-9_-]+$

请求体

字段类型必填说明
applianceenum(pencil | pencilEraser | eraser | rectangle | ellipse | shape | selector | hand | clicker | laserPointer)是
colorstringpattern ^#[0-9a-fA-F]{6}$,默认 "#1f6feb"
widthnumber1..64,默认 3
pointsarray<object{ x, y }>是最多 4096 项
memberIdstringMember identifier; defaults to the authenticated member.;长度 0..64
scenePathstringScene to draw in; defaults to the current scene.
json
{
  "appliance": "pencil",
  "points": [
    {
      "x": 1,
      "y": 1
    }
  ],
  "color": "string",
  "width": 1
}

响应

状态码说明 / schema
201Stroke appended — object{ stroke, version, canUndoSteps }
400Invalid parameter — Error
401Missing or invalid project credentials / room token — Error
403Token role is insufficient or the room is banned/closed — any
404Room, scene or stroke not found — Error

调用示例

bash
curl -s -X POST "$NIMEET_API_BASE/v1/whiteboard/rooms/uuid/strokes" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC" \
  -H "Content-Type: application/json" \
  -d '{"appliance":"pencil","points":[{"x":1,"y":1}],"color":"string","width":1}'

DELETE /v1/whiteboard/rooms/{uuid}/strokes/{strokeId}

Erase a stroke

Marks the stroke as erased (retained in the operation log for replay) and appends a stroke.erase operation.

鉴权:项目凭证(customerId:customerSecret 的 Base64)

参数

名称位置必填类型说明
uuidpath是string长度 8..64,pattern ^[A-Za-z0-9_-]+$
strokeIdpath是string长度 0..64

响应

状态码说明 / schema
200Stroke erased — object{ strokeId, version }
401Missing or invalid project credentials / room token — Error
403Token role is insufficient or the room is banned/closed — any
404Room, scene or stroke not found — Error

调用示例

bash
curl -s -X DELETE "$NIMEET_API_BASE/v1/whiteboard/rooms/uuid/strokes/strokeId" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"

POST /v1/whiteboard/rooms/{uuid}/undo

Undo the caller's last operation

Undo is per member: it hides the most recent visible stroke this member appended in the current scene and moves it to that member's redo stack. Replay keeps both the append and the undo operation.

鉴权:项目凭证(customerId:customerSecret 的 Base64)

参数

名称位置必填类型说明
uuidpath是string长度 8..64,pattern ^[A-Za-z0-9_-]+$

请求体

字段类型必填说明
memberIdstring长度 0..64
json
{
  "memberId": "string"
}

响应

状态码说明 / schema
200Undo applied — object{ strokeId, version, canUndoSteps, canRedoSteps }
401Missing or invalid project credentials / room token — Error
403Token role is insufficient or the room is banned/closed — any
404Room, scene or stroke not found — Error
409Operation conflicts with the current room state — Error

调用示例

bash
curl -s -X POST "$NIMEET_API_BASE/v1/whiteboard/rooms/uuid/undo" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC" \
  -H "Content-Type: application/json" \
  -d '{"memberId":"string"}'

POST /v1/whiteboard/rooms/{uuid}/redo

Redo the caller's last undone operation

Restores the most recent stroke undone by this member in the current scene, provided no later stroke was appended by that member. Replay records a stroke.redo operation.

鉴权:项目凭证(customerId:customerSecret 的 Base64)

参数

名称位置必填类型说明
uuidpath是string长度 8..64,pattern ^[A-Za-z0-9_-]+$

请求体

字段类型必填说明
memberIdstring长度 0..64
json
{
  "memberId": "string"
}

响应

状态码说明 / schema
200Redo applied — object{ strokeId, version, canUndoSteps, canRedoSteps }
401Missing or invalid project credentials / room token — Error
403Token role is insufficient or the room is banned/closed — any
404Room, scene or stroke not found — Error
409Operation conflicts with the current room state — Error

调用示例

bash
curl -s -X POST "$NIMEET_API_BASE/v1/whiteboard/rooms/uuid/redo" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC" \
  -H "Content-Type: application/json" \
  -d '{"memberId":"string"}'

PUT /v1/whiteboard/rooms/{uuid}/viewport

Set the room viewport

Stores the camera viewport (x, y, width, height, scale) that late joiners and replay starts from.

鉴权:项目凭证(customerId:customerSecret 的 Base64)

参数

名称位置必填类型说明
uuidpath是string长度 8..64,pattern ^[A-Za-z0-9_-]+$

请求体

字段类型必填说明
xnumber是
ynumber是
widthnumber是>= 1
heightnumber是>= 1
scalenumber是0.01..100
json
{
  "x": 1,
  "y": 1,
  "width": 1,
  "height": 1,
  "scale": 1
}

响应

状态码说明 / schema
200Stored viewport — Viewport
400Invalid parameter — Error
401Missing or invalid project credentials / room token — Error
403Token role is insufficient or the room is banned/closed — any
404Room, scene or stroke not found — Error

调用示例

bash
curl -s -X PUT "$NIMEET_API_BASE/v1/whiteboard/rooms/uuid/viewport" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC" \
  -H "Content-Type: application/json" \
  -d '{"x":1,"y":1,"width":1,"height":1,"scale":1}'

POST /v1/whiteboard/rooms/{uuid}/images

Insert an image

Records an image placed in a scene (the bytes live in the caller's storage; this endpoint stores the URL and geometry). Appends an image.insert operation.

鉴权:项目凭证(customerId:customerSecret 的 Base64)

参数

名称位置必填类型说明
uuidpath是string长度 8..64,pattern ^[A-Za-z0-9_-]+$

请求体

字段类型必填说明
srcstring是长度 1..∞
widthnumber是>= 1
heightnumber是>= 1
xnumber
ynumber
scenePathstring
lockedboolean
memberIdstring长度 0..64
json
{
  "src": "string",
  "width": 1,
  "height": 1,
  "x": 1,
  "y": 1
}

响应

状态码说明 / schema
201Image inserted — object{ image, version }
400Invalid parameter — Error
401Missing or invalid project credentials / room token — Error
403Token role is insufficient or the room is banned/closed — any
404Room, scene or stroke not found — Error

调用示例

bash
curl -s -X POST "$NIMEET_API_BASE/v1/whiteboard/rooms/uuid/images" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC" \
  -H "Content-Type: application/json" \
  -d '{"src":"string","width":1,"height":1,"x":1,"y":1}'

GET /v1/whiteboard/rooms/{uuid}/snapshot

Export a room snapshot

Returns the full scene document plus operation log: the export format consumed by the Web SDK Room.exportScene/importScene equivalents and by offline replay.

鉴权:项目凭证(customerId:customerSecret 的 Base64)

参数

名称位置必填类型说明
uuidpath是string长度 8..64,pattern ^[A-Za-z0-9_-]+$
includeOperationsqueryboolean默认 true

响应

状态码说明 / schema
200Room snapshot — Snapshot
401Missing or invalid project credentials / room token — Error
404Room, scene or stroke not found — Error

调用示例

bash
curl -s -X GET "$NIMEET_API_BASE/v1/whiteboard/rooms/uuid/snapshot?includeOperations=true" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"

GET /v1/whiteboard/rooms/{uuid}/snapshot.svg

Render the current scene as SVG

Server-side export of the current scene (strokes, images, background) as an SVG document. Used by exports and thumbnails; the deprecated Agora screenshot endpoints are not reproduced.

鉴权:项目凭证(customerId:customerSecret 的 Base64)

参数

名称位置必填类型说明
uuidpath是string长度 8..64,pattern ^[A-Za-z0-9_-]+$
scenePathquerystring

响应

状态码说明 / schema
200SVG document
401Missing or invalid project credentials / room token — Error
404Room, scene or stroke not found — Error

调用示例

bash
curl -s -X GET "$NIMEET_API_BASE/v1/whiteboard/rooms/uuid/snapshot.svg?scenePath=value" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"

GET /v1/whiteboard/rooms/{uuid}/replay

Get the replay timeline

Returns ordered operation frames with offsets relative to the first retained operation. Optional from/to ISO instants narrow the window; the SDK Player consumes the result.

鉴权:项目凭证(customerId:customerSecret 的 Base64)

参数

名称位置必填类型说明
uuidpath是string长度 8..64,pattern ^[A-Za-z0-9_-]+$
fromquerystringformat date-time
toquerystringformat date-time

响应

状态码说明 / schema
200Replay timeline — Replay
400Invalid parameter — Error
401Missing or invalid project credentials / room token — Error
404Room, scene or stroke not found — Error

调用示例

bash
curl -s -X GET "$NIMEET_API_BASE/v1/whiteboard/rooms/uuid/replay?from=%24FROM&to=%24TO" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"

POST /v1/whiteboard/tokens/rooms/{uuid}

Generate a room token

Mints a NETLESSROOM_* token bound to one room. The requested role may not exceed the role of the credential used to mint it. A lifespan of 0 (or omitted) means no expiry, matching the frozen semantics.

鉴权:项目凭证(customerId:customerSecret 的 Base64)

参数

名称位置必填类型说明
uuidpath是string长度 8..64,pattern ^[A-Za-z0-9_-]+$

请求体

字段类型必填说明
roleenum(admin | writer | reader)默认 "writer"
lifespanintegerLifespan in milliseconds; 0 means no expiry.;>= 0
json
{
  "role": "admin",
  "lifespan": 1
}

响应

状态码说明 / schema
201Minted room token — RoomToken
400Invalid parameter — Error
401Missing or invalid project credentials / room token — Error
403Token role is insufficient or the room is banned/closed — any
404Room, scene or stroke not found — Error

调用示例

bash
curl -s -X POST "$NIMEET_API_BASE/v1/whiteboard/tokens/rooms/uuid" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC" \
  -H "Content-Type: application/json" \
  -d '{"role":"admin","lifespan":1}'

POST /v1/whiteboard/tokens/teams

Generate a project (SDK) token

Mints a NETLESSSDK_* token usable for every room of the authenticated project. Intended for server-to-server wiring only; never ship it to clients.

鉴权:项目凭证(customerId:customerSecret 的 Base64)

请求体

字段类型必填说明
roleenum(admin | writer | reader)默认 "admin"
lifespaninteger>= 0
json
{
  "role": "admin",
  "lifespan": 1
}

响应

状态码说明 / schema
201Minted project token — SdkToken
400Invalid parameter — Error
401Missing or invalid project credentials / room token — Error

调用示例

bash
curl -s -X POST "$NIMEET_API_BASE/v1/whiteboard/tokens/teams" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC" \
  -H "Content-Type: application/json" \
  -d '{"role":"admin","lifespan":1}'

本分组用到的 Schema

Error — object{ code, message, reason, sdkCode, details }
字段类型必填说明
codeenum(whiteboard_room_not_found | whiteboard_scene_not_found | whiteboard_stroke_not_found | whiteboard_room_banned | whiteboard_room_closed | whiteboard_token_role_forbidden | whiteboard_token_room_mismatch | whiteboard_invalid_scene_path | whiteboard_invalid_operation | whiteboard_undo_empty | whiteboard_redo_empty | whiteboard_version_conflict | invalid_parameter | invalid_token | token_expired | missing_authorization | unauthorized | invalid_credentials | rate_limited | internal_error)是Stable machine code. Whiteboard codes: whiteboard_room_not_found, whiteboard_scene_not_found, whiteboard_stroke_not_found, whiteboard_room_banned, whiteboard_room_closed, whiteboard_token_role_forbidden, whiteboard_token_room_mismatch, whiteboard_invalid_scene_path, whiteboard_invalid_operation, whiteboard_undo_empty, whiteboard_redo_empty, whiteboard_version_conflict.
messagestring是
reasonstring
sdkCodeinteger
detailsobject
Image — object
字段类型必填说明
idstring是
scenePathstring是
srcstring是
widthnumber是>= 1
heightnumber是>= 1
xnumber
ynumber
lockedboolean
memberIdstring
createdAtstringformat date-time
Operation — object
字段类型必填说明
seqinteger是>= 1
typeenum(scene.add | scene.switch | scene.clear | stroke.append | stroke.erase | stroke.undo | stroke.redo | image.insert | viewport.set | room.ban | room.close)是
memberIdstring是
scenePathstring
strokeIdstring
roomVersioninteger
payloadobject
createdAtstring是format date-time
Point — object{ x, y }
字段类型必填说明
xnumber是World-coordinate X in whiteboard units.
ynumber是World-coordinate Y in whiteboard units.
Replay — object{ roomUUID, duration, from, to, frames }
字段类型必填说明
roomUUIDstring是
durationinteger是Timeline duration in milliseconds.
fromstringformat date-time
tostringformat date-time
framesarray<object{ offset, operation }>是
Room — object
字段类型必填说明
uuidstring是
teamUUIDstring是Owning account id (Agora teamUUID).
appUUIDstring是Owning project App ID (Agora appUUID).
isRecordboolean是
isBanboolean是
phaseenum(active | banned | closed)是
limitinteger是>= 0
versioninteger是>= 0
createdAtstring是format date-time
updatedAtstringformat date-time
closedAtstringformat date-time
RoomState — object
字段类型必填说明
roomobject是
currentScenePathstring是
viewportobject{ x, y, width, height, scale, updatedAt }是Camera viewport in world coordinates; width/height are the visible world size.
scenesarray<object>是
memberStatesobject是
canUndoStepsinteger是
canRedoStepsinteger是
RoomToken — object{ token, role, uuid, lifespan, expireAt }
字段类型必填说明
tokenstring是NETLESSROOM_* token for the token header.
roleenum(admin | writer | reader)是
uuidstring是
lifespaninteger是Requested lifespan in milliseconds; 0 means no expiry.
expireAtstring是format date-time
Scene — object
字段类型必填说明
pathstring是Scene path including directory, for example /test/page1.
namestring是
pptobject{ src, width, height }
strokeCountinteger
imageCountinteger
createdAtstringformat date-time
updatedAtstringformat date-time
ScenePpt — object{ src, width, height }
字段类型必填说明
srcstringBackground image URL or data URI.
widthnumber
heightnumber
SdkToken — object{ token, role, appUUID, lifespan, expireAt }
字段类型必填说明
tokenstring是NETLESSSDK_* project-scoped token.
roleenum(admin | writer | reader)是
appUUIDstring是
lifespaninteger是
expireAtstring是format date-time
Snapshot — object
字段类型必填说明
roomUUIDstring是
appUUIDstring是
roomVersioninteger是
exportedAtstring是format date-time
currentScenePathstring
viewportobject{ x, y, width, height, scale, updatedAt }Camera viewport in world coordinates; width/height are the visible world size.
scenesarray<object{ path, name, ppt, strokes, images }>是
operationsarray<object>
Stroke — object
字段类型必填说明
idstring是
scenePathstring是
applianceenum(pencil | pencilEraser | eraser | rectangle | ellipse | shape | selector | hand | clicker | laserPointer)是
colorstringpattern ^#[0-9a-fA-F]{6}$
widthnumber1..64
pointsarray<object{ x, y }>是最多 4096 项
memberIdstring是
seqinteger>= 1
undoneboolean
createdAtstringformat date-time
Viewport — object{ x, y, width, height, scale, updatedAt }
字段类型必填说明
xnumber是
ynumber是
widthnumber是>= 1
heightnumber是>= 1
scalenumber是0.01..100
updatedAtstringformat date-time

本页由文档构建流水线生成 · 2026-10-31 01:24:02 UTC · 文档中心 v1.1.0.

内容依据公开 API 定义.

ni-meet 是自建 RTC PaaS,媒体面基于 LiveKit(Apache-2.0),并与声网 API 兼容。