Skip to content

API 参考 ​

基本约定 ​

所有接口前缀 /api/v1。

响应格式 ​

成功:

json
{ "code": 0, "msg": "success", "data": { ... } }

失败时 data 恒为 null:

json
{ "code": 1011, "msg": "user not found", "data": null }

认证 ​

受保护的接口要在请求头带令牌:

Authorization: Bearer <access_token>

没带、过期、被吊销都会返回认证类错误码。

错误码 ​

范围含义
0成功
1001-1014认证与权限
2001参数错误
3001-3002资源不存在 / 已存在
5001服务器内部错误
6001-6002SFU 相关
7001-7004OAuth 相关
8001-8008邮箱相关

常用几个:

码含义
1001未登录 / 令牌缺失
1013权限不足
1014令牌已吊销
2001参数校验失败
3001资源不存在

完整列表见 错误码。

认证 ​

方法路径认证说明
POST/auth/login否用户名密码登录
POST/auth/register否注册
POST/auth/refresh_token否用 refresh_token 换新的
POST/auth/refresh是刷新当前会话
POST/auth/reset_password否重置密码
POST/auth/change_password是修改密码
POST/auth/first_change_password是首次登录强制改密
POST/auth/logout是登出(令牌进黑名单)
POST/auth/guest否用邀请码换访客身份(限流 60 次/小时)

登录请求:

json
{ "username": "demo", "password": "123456" }

登录响应里的 data 包含 access_token、refresh_token、expires_in、user。

用户 ​

方法路径权限说明
POST/user/profile登录自己的资料
POST/user/info登录按用户名查
GET/user/preset-avatars登录预置头像列表
POST/user/update-profile登录改自己的资料
POST/user/listuser:read用户列表
POST/user/getuser:read按 ID 查
POST/user/deleteuser:delete删用户
POST/user/update-roleuser:update改角色

头像没有独立上传接口,走存储的预签名流程后把 URL 传给 update-profile。

房间 ​

方法路径说明
POST/room/create建房间(需要平台管理员或域成员)
POST/room/list房间列表
POST/room/get房间详情
POST/room/update更新
POST/room/delete删除

建房间可以带:

字段说明
name房间名
typevoice(默认)或 text
password进房密码
limit人数上限
audio_only是否只开音频
allow_audience是否允许观众席

消息 ​

发消息走 WebSocket,HTTP 只有查询和反应:

方法路径权限说明
POST/room/messages/listmessage:read历史消息(游标分页)
POST/room/messages/searchmessage:read搜索
POST/room/messages/reactmessage:send加表情反应

私聊 ​

方法路径说明
POST/conversation/list会话列表
POST/conversation/messages消息列表
POST/conversation/send发消息
POST/conversation/mark-read标记已读

域 ​

方法路径权限说明
POST/domain/createdomain:create建域(限流 10 次/分钟)
POST/domain/get域成员详情
POST/domain/listdomain:read全部域
POST/domain/list-public否公开域(不登录也能看)
POST/domain/my-domains登录我加入的
POST/domain/update域成员改设置
POST/domain/delete域成员删除
POST/domain/join登录加入
POST/domain/leave域成员退出
POST/domain/kick域成员踢人
POST/domain/members域成员成员列表
POST/domain/preview否预览(看邀请码对应哪个域)
POST/domain/reset-invite域成员重置邀请码

域角色 ​

方法路径说明
POST/domain/roles/list角色列表
POST/domain/roles/create建角色
POST/domain/roles/update改角色
POST/domain/roles/delete删角色

访客 ​

方法路径说明
POST/domain/guest/config读/写访客开关
POST/domain/guest/ban封禁访客
POST/domain/guest/unban解封
POST/domain/guest/ban-list封禁列表
POST/domain/guest/cleanup清理过期访客
POST/auth/guest/renew续期访客身份

角色与权限 ​

方法路径权限说明
POST/role/listrole:read角色列表
POST/role/createrole:manage建角色
POST/role/updaterole:manage改角色
POST/role/deleterole:manage删角色
POST/permission/listrole:read全部权限定义
POST/permission/rolerole:read某角色的权限
POST/permission/syncrole:manage同步角色权限

禁言 ​

方法路径权限说明
POST/mute/createmute:manage创建禁言
POST/mute/cancelmute:manage取消
POST/mute/statusmute:manage查状态
POST/mute/listmute:manage列表

信令与语音 ​

方法路径说明
POST/signal/token拿进房令牌
GET/signal/rooms当前房间
GET/signal/participants房间成员
GET/signal/ws-endpoint信令地址
POST/signal/webhookLiveKit 回调(公开,靠签名校验)

SFU 配置 ​

方法路径权限说明
POST/sfu/configsfu:manage当前配置
POST/sfu/config/:providersfu:manage指定 provider 的配置
POST/sfu/update-configsfu:manage改配置并激活
POST/sfu/switch-providersfu:manage只切换,不改配置
POST/sfu/providerssfu:manage列出已配置的

存储 ​

方法路径权限说明
POST/storage/presign登录拿上传地址
POST/storage/confirm登录确认上传
POST/storage/upload登录直传
POST/storage/deletestorage:delete删对象
POST/storage/configstorage:read读配置
POST/storage/update-configstorage:manage改配置
POST/storage/test-configstorage:read测连通性

邮件 ​

方法路径权限说明
POST/email/send_code否发验证码(限流 5 次/分钟)
POST/email/verify_code否校验验证码
POST/email/configemail_config:read读配置
POST/email/update-configemail_config:manage改配置

OAuth ​

方法路径权限说明
GET/oauth/providers否可用的登录方式
GET/oauth/login/:provider否发起授权
GET/oauth/callback/:provider否平台回调
GET/oauth/admin/providersoauth:read后台列表
POST/oauth/admin/providersoauth:manage新增
PUT/oauth/admin/providersoauth:manage修改
DELETE/oauth/admin/providers/:idoauth:manage删除

用户组 ​

方法路径说明
POST/user-group/list列表
POST/user-group/create创建
POST/user-group/update更新
POST/user-group/delete删除

审计与系统 ​

方法路径权限说明
POST/audit/listaudit:read审计日志
GET/system/stream登录服务状态流(SSE)

健康检查 ​

路径说明
GET /ping进程活着就返回 200,不碰数据库
GET /readyz会 ping 数据库,挂了返回 503
GET /metricsPrometheus 指标,设了 METRICS_TOKEN 要带 Bearer

WebSocket ​

信令走 /ws,不是 HTTP 接口。事件列表见 信令事件。

交互式文档 ​

服务跑起来后访问 /swagger/index.html,能直接在页面上试接口。

下一步 ​

基于 Apache 2.0 许可开源