跳到主要内容

一起听房间

GET /cm/rooms​

一起听房间 · /rooms

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
querylimit20(空值时回退)
queryoffset0(空值时回退)
queryquery''(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request GET 'https://music.20110208.xyz/cm/rooms?query=<query>&limit=<limit>&offset=<offset>' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
响应体d

实现定位:backend/cm_server.py:4319。接口参数和返回条件均来自该路由分支。

POST /cm/rooms​

一起听房间 · /rooms

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
JSON bodyfreeModeFalse
JSON bodyisPublicTrue
JSON bodyname''(空值时回退)
JSON bodyneedApprovalTrue
JSON bodypassword''(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

参数校验与业务错误​

HTTP服务端校验说明
400'房间名不能为空'

说明中的变量表达式表示运行时值;另有统一的认证、频控和上游错误。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/rooms' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"isPublic": "<isPublic>", "freeMode": "<freeMode>", "needApproval": "<needApproval>", "password": "<password>", "name": "<name>"}'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
room_room_out(room, u['id'])

实现定位:backend/cm_server.py:4303。接口参数和返回条件均来自该路由分支。

GET /cm/rooms/search​

一起听房间 · /rooms/search

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
querycode''(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

参数校验与业务错误​

HTTP服务端校验说明
400'缺少房间号'
404'房间不存在或已关闭'

说明中的变量表达式表示运行时值;另有统一的认证、频控和上游错误。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request GET 'https://music.20110208.xyz/cm/rooms/search?code=`' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'
ˋˋˋ

### 返回结构

以下是实现中直接返回的字段与取值表达式,**不是一次真实请求的响应示例**。条件分支可能返回不同结构。

HTTP 200

\| 字段 \| 取值/生成逻辑 \|
\| --- \| --- \|
\| ˋroomˋ \| <code>_room_out(room, require_user(handler)['id'], brief=True)` |

实现定位:`backend/cm_server.py:4326`。接口参数和返回条件均来自该路由分支。


## GET /cm/rooms/{id}

一起听房间 · /rooms/{id}

**权限**:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

### 请求参数

| 位置 | 字段 | 默认/读取方式 |
| --- | --- | --- |
| path | `id` | 路径占位符;按业务替换 |

> 表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

### 请求模板

将 `{id}` 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

```bash
curl --request GET 'https://music.20110208.xyz/cm/rooms/{id}' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
room_room_out(room, uid)
members[_member_out(mm, decors.get(mm['user_id'], '')) for mm in members]
timelinecm_rooms.get_timeline(room)
queue[_queue_out(i, uid) for i in queue]
latestSeqcm_rooms.get_latest_seq(room['id'])
serverTimeint(time.time() * 1000)

实现定位:backend/cm_server.py:4339。接口参数和返回条件均来自该路由分支。

POST /cm/rooms/{id}/admins​

一起听房间 · /rooms/{id}/admins

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
JSON bodyonTrue
JSON bodyuserId0(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

参数校验与业务错误​

HTTP服务端校验说明
404'目标不在房间内'

说明中的变量表达式表示运行时值;另有统一的认证、频控和上游错误。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/rooms/{id}/admins' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"on": "<on>", "userId": "<userId>"}'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
okTrue

实现定位:backend/cm_server.py:4424。接口参数和返回条件均来自该路由分支。

POST /cm/rooms/{id}/close​

一起听房间 · /rooms/{id}/close

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/rooms/{id}/close' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
okTrue

实现定位:backend/cm_server.py:4388。接口参数和返回条件均来自该路由分支。

GET /cm/rooms/{id}/events​

一起听房间 · /rooms/{id}/events

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
querysince0(空值时回退)
querysse未在 get 中指定
querywait0(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request GET 'https://music.20110208.xyz/cm/rooms/{id}/events?wait=<wait>&sse=<sse>&since=<since>' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
events[_event_out(e) for e in events]
latestSeqcm_rooms.get_latest_seq(room['id'])
serverTimeint(time.time() * 1000)

实现定位:backend/cm_server.py:4566。接口参数和返回条件均来自该路由分支。

POST /cm/rooms/{id}/heartbeat​

一起听房间 · /rooms/{id}/heartbeat

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/rooms/{id}/heartbeat' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
okTrue
latestSeqcm_rooms.get_latest_seq(room['id'])

实现定位:backend/cm_server.py:4626。接口参数和返回条件均来自该路由分支。

POST /cm/rooms/{id}/join​

一起听房间 · /rooms/{id}/join

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
JSON bodypassword''(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

参数校验与业务错误​

HTTP服务端校验说明
403'你已被该房间封禁'
403'房间密码错误'
403'房间已锁定,暂不接受加入'
409'房间已满'

说明中的变量表达式表示运行时值;另有统一的认证、频控和上游错误。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/rooms/{id}/join' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"password": "<password>"}'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
rolerole
room_room_out(room, u['id'])
timelinecm_rooms.get_timeline(room)
latestSeqseq
serverTimeint(time.time() * 1000)

实现定位:backend/cm_server.py:4354。接口参数和返回条件均来自该路由分支。

POST /cm/rooms/{id}/kick​

一起听房间 · /rooms/{id}/kick

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
JSON bodyban未在 get 中指定
JSON bodyreason''(空值时回退)
JSON bodyuserId0(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

参数校验与业务错误​

HTTP服务端校验说明
400'不能踢出房主'

说明中的变量表达式表示运行时值;另有统一的认证、频控和上游错误。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/rooms/{id}/kick' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"userId": "<userId>", "ban": "<ban>", "reason": "<reason>"}'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
okTrue

实现定位:backend/cm_server.py:4397。接口参数和返回条件均来自该路由分支。

POST /cm/rooms/{id}/leave​

一起听房间 · /rooms/{id}/leave

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/rooms/{id}/leave' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
okTrue

实现定位:backend/cm_server.py:4380。接口参数和返回条件均来自该路由分支。

POST /cm/rooms/{id}/next​

一起听房间 · /rooms/{id}/next

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
JSON bodyposition0(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/rooms/{id}/next' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"position": "<position>"}'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
timelinetl
seqseq

实现定位:backend/cm_server.py:4448。接口参数和返回条件均来自该路由分支。

POST /cm/rooms/{id}/pause​

一起听房间 · /rooms/{id}/pause

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
JSON bodyposition0(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/rooms/{id}/pause' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"position": "<position>"}'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
timelinetl
seqseq

实现定位:backend/cm_server.py:4448。接口参数和返回条件均来自该路由分支。

POST /cm/rooms/{id}/play​

一起听房间 · /rooms/{id}/play

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
JSON bodyposition0(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/rooms/{id}/play' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"position": "<position>"}'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
timelinetl
seqseq

实现定位:backend/cm_server.py:4448。接口参数和返回条件均来自该路由分支。

POST /cm/rooms/{id}/prev​

一起听房间 · /rooms/{id}/prev

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
JSON bodyposition0(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/rooms/{id}/prev' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"position": "<position>"}'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
timelinetl
seqseq

实现定位:backend/cm_server.py:4448。接口参数和返回条件均来自该路由分支。

GET /cm/rooms/{id}/queue​

一起听房间 · /rooms/{id}/queue

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

参数校验与业务错误​

HTTP服务端校验说明
403'请先加入房间'

说明中的变量表达式表示运行时值;另有统一的认证、频控和上游错误。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request GET 'https://music.20110208.xyz/cm/rooms/{id}/queue' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
queue[_queue_out(i, u['id']) for i in items]

实现定位:backend/cm_server.py:4529。接口参数和返回条件均来自该路由分支。

POST /cm/rooms/{id}/queue​

一起听房间 · /rooms/{id}/queue

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
JSON bodymetabody or {}(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

参数校验与业务错误​

HTTP服务端校验说明
400'缺少歌曲信息'
403'你已被禁言'
403'请先加入房间'

说明中的变量表达式表示运行时值;另有统一的认证、频控和上游错误。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/rooms/{id}/queue' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"meta": "<meta>"}'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
item_queue_out(item, u['id'])
autoauto

实现定位:backend/cm_server.py:4533。接口参数和返回条件均来自该路由分支。

DELETE /cm/rooms/{id}/queue/{id2}​

一起听房间 · /rooms/{id}/queue/{id2}

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
pathid2路径占位符;按业务替换

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

参数校验与业务错误​

HTTP服务端校验说明
403'请先加入房间'

说明中的变量表达式表示运行时值;另有统一的认证、频控和上游错误。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request DELETE 'https://music.20110208.xyz/cm/rooms/{id}/queue/{id2}' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
okTrue

实现定位:backend/cm_server.py:4554。接口参数和返回条件均来自该路由分支。

POST /cm/rooms/{id}/queue/{id2}/approve​

一起听房间 · /rooms/{id}/queue/{id2}/approve

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
pathid2路径占位符;按业务替换

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/rooms/{id}/queue/{id2}/approve' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
okTrue

实现定位:backend/cm_server.py:4545。接口参数和返回条件均来自该路由分支。

POST /cm/rooms/{id}/queue/{id2}/reject​

一起听房间 · /rooms/{id}/queue/{id2}/reject

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
pathid2路径占位符;按业务替换

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/rooms/{id}/queue/{id2}/reject' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
okTrue

实现定位:backend/cm_server.py:4545。接口参数和返回条件均来自该路由分支。

POST /cm/rooms/{id}/seek​

一起听房间 · /rooms/{id}/seek

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
JSON bodyposition0(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/rooms/{id}/seek' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"position": "<position>"}'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
timelinetl

实现定位:backend/cm_server.py:4488。接口参数和返回条件均来自该路由分支。

POST /cm/rooms/{id}/settings​

一起听房间 · /rooms/{id}/settings

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/rooms/{id}/settings' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
okTrue

实现定位:backend/cm_server.py:4437。接口参数和返回条件均来自该路由分支。

POST /cm/rooms/{id}/stream/renew​

一起听房间 · /rooms/{id}/stream/renew

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

参数校验与业务错误​

HTTP服务端校验说明
400'当前无曲目'
502f'续签失败: {e}'

说明中的变量表达式表示运行时值;另有统一的认证、频控和上游错误。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/rooms/{id}/stream/renew' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
timelinetl

实现定位:backend/cm_server.py:4499。接口参数和返回条件均来自该路由分支。

POST /cm/rooms/{id}/sync​

一起听房间 · /rooms/{id}/sync

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/rooms/{id}/sync' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
serverNowint(time.time() * 1000)
timelinecm_rooms.get_timeline(room)

实现定位:backend/cm_server.py:4619。接口参数和返回条件均来自该路由分支。

POST /cm/rooms/{id}/transfer​

一起听房间 · /rooms/{id}/transfer

权限:CurrentMusic Bearer 登录态;房间/绑定等条件另见校验。

请求参数​

位置字段默认/读取方式
pathid路径占位符;按业务替换
JSON bodyuserId0(空值时回退)

表格列出实际代码读取的字段;get 的默认值不等于业务可省略。必填、长度和取值约束见下方校验及关联专题。

参数校验与业务错误​

HTTP服务端校验说明
404'目标不在房间内'

说明中的变量表达式表示运行时值;另有统一的认证、频控和上游错误。

请求模板​

将 {id} 等占位符和字段值替换为实际数据,令牌只使用你自己的 CurrentMusic 会话。

curl --request POST 'https://music.20110208.xyz/cm/rooms/{id}/transfer' \
--header 'Authorization: Bearer YOUR_CURRENTMUSIC_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"userId": "<userId>"}'

返回结构​

以下是实现中直接返回的字段与取值表达式,不是一次真实请求的响应示例。条件分支可能返回不同结构。

HTTP 200

字段取值/生成逻辑
okTrue

实现定位:backend/cm_server.py:4411。接口参数和返回条件均来自该路由分支。