{
  "title": "星线 App 聊天服务源码路由清单",
  "baseURL": "https://chat.thestarline.cn",
  "sourceScope": [
    "chat-service/src/server.mjs",
    "chat-service/src/enterprise-routes.mjs"
  ],
  "verification": "仅核对源码，未发真实请求；路由存在不代表生产配置或客户端接入已验收",
  "enterpriseBoundary": "enterprise-xingqi 组属于独立星企产品的共享后台，不是星线 App 前台功能",
  "routes": [
    {
      "method": "GET",
      "path": "/health",
      "group": "system",
      "summary": "HTTP 健康检查",
      "authentication": "none",
      "access": "公开",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 247
      }
    },
    {
      "method": "GET",
      "path": "/auth/start",
      "group": "authentication",
      "summary": "兼容浏览器授权入口",
      "authentication": "none",
      "access": "公开",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 252
      }
    },
    {
      "method": "POST",
      "path": "/auth/native/start",
      "group": "authentication",
      "summary": "原生双层 PKCE 授权开始",
      "authentication": "none",
      "access": "App 挑战证明",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 253
      }
    },
    {
      "method": "GET",
      "path": "/auth/callback",
      "group": "authentication",
      "summary": "Account 授权码 HTTPS 回调",
      "authentication": "none",
      "access": "一次性 state 与授权码",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 288
      }
    },
    {
      "method": "POST",
      "path": "/auth/exchange",
      "group": "authentication",
      "summary": "一次性票据换聊天会话",
      "authentication": "none",
      "access": "ticket；原生流程另需 state 和 codeVerifier",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 334
      }
    },
    {
      "method": "GET",
      "path": "/location/city",
      "group": "location",
      "summary": "请求地址的粗略城市",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 347
      }
    },
    {
      "method": "POST",
      "path": "/moments/media",
      "group": "moments",
      "summary": "上传新事图片或视频",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 350
      }
    },
    {
      "method": "GET",
      "path": "/moments/media/{mediaId}",
      "group": "moments",
      "summary": "读取新事媒体与单段 Range",
      "authentication": "bearer",
      "access": "所有者或可查看所属帖子的用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 368
      }
    },
    {
      "method": "GET",
      "path": "/moments/feed",
      "group": "moments",
      "summary": "可见新事分页",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 394
      }
    },
    {
      "method": "GET",
      "path": "/moments/users/{userId}",
      "group": "moments",
      "summary": "指定作者的可见新事分页",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 401
      }
    },
    {
      "method": "GET",
      "path": "/moments/notifications",
      "group": "moments",
      "summary": "新事通知分页",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 408
      }
    },
    {
      "method": "POST",
      "path": "/moments/notifications/read",
      "group": "moments",
      "summary": "标记当前用户新事通知已读",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 412
      }
    },
    {
      "method": "POST",
      "path": "/moments",
      "group": "moments",
      "summary": "发布新事",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 416
      }
    },
    {
      "method": "GET",
      "path": "/moments/{postId}",
      "group": "moments",
      "summary": "读取可见帖子",
      "authentication": "bearer",
      "access": "帖子可见用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 439
      }
    },
    {
      "method": "DELETE",
      "path": "/moments/{postId}",
      "group": "moments",
      "summary": "删除自己的帖子",
      "authentication": "bearer",
      "access": "作者",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 444
      }
    },
    {
      "method": "PUT",
      "path": "/moments/{postId}/like",
      "group": "moments",
      "summary": "点赞",
      "authentication": "bearer",
      "access": "帖子可见用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 452
      }
    },
    {
      "method": "DELETE",
      "path": "/moments/{postId}/like",
      "group": "moments",
      "summary": "取消点赞",
      "authentication": "bearer",
      "access": "帖子可见用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 452
      }
    },
    {
      "method": "GET",
      "path": "/moments/{postId}/comments",
      "group": "moments",
      "summary": "评论分页",
      "authentication": "bearer",
      "access": "帖子可见用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 461
      }
    },
    {
      "method": "POST",
      "path": "/moments/{postId}/comments",
      "group": "moments",
      "summary": "评论或回复",
      "authentication": "bearer",
      "access": "帖子可见用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 465
      }
    },
    {
      "method": "DELETE",
      "path": "/moments/{postId}/comments/{commentId}",
      "group": "moments",
      "summary": "删除评论",
      "authentication": "bearer",
      "access": "评论作者或帖子作者",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 478
      }
    },
    {
      "method": "POST",
      "path": "/moments/{postId}/hide",
      "group": "moments",
      "summary": "个人隐藏帖子",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 485
      }
    },
    {
      "method": "POST",
      "path": "/moments/{postId}/report",
      "group": "moments",
      "summary": "举报帖子",
      "authentication": "bearer",
      "access": "可举报用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 490
      }
    },
    {
      "method": "GET",
      "path": "/e2ee/devices/{deviceId}/key-packages",
      "group": "e2ee",
      "summary": "本设备密钥包可用性",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 499
      }
    },
    {
      "method": "POST",
      "path": "/e2ee/devices/{deviceId}/key-packages",
      "group": "e2ee",
      "summary": "校验并注册本设备密钥包",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 503
      }
    },
    {
      "method": "GET",
      "path": "/e2ee/conversations/{scopeId}/state",
      "group": "e2ee",
      "summary": "加密范围模式",
      "authentication": "bearer",
      "access": "当前范围成员；除 state 外需已注册设备；部分动作另需创建者或好友关系",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 520
      }
    },
    {
      "method": "GET",
      "path": "/e2ee/conversations/{scopeId}/devices",
      "group": "e2ee",
      "summary": "当前参与者设备和密钥包",
      "authentication": "bearer",
      "access": "当前范围成员；除 state 外需已注册设备；部分动作另需创建者或好友关系",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 522
      }
    },
    {
      "method": "POST",
      "path": "/e2ee/conversations/{scopeId}/prepare",
      "group": "e2ee",
      "summary": "准备加密范围",
      "authentication": "bearer",
      "access": "当前范围成员；除 state 外需已注册设备；部分动作另需创建者或好友关系",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 533
      }
    },
    {
      "method": "GET",
      "path": "/e2ee/conversations/{scopeId}/events",
      "group": "e2ee",
      "summary": "按设备读取 MLS 事件",
      "authentication": "bearer",
      "access": "当前范围成员；除 state 外需已注册设备；部分动作另需创建者或好友关系",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 540
      }
    },
    {
      "method": "POST",
      "path": "/e2ee/conversations/{scopeId}/events",
      "group": "e2ee",
      "summary": "提交 MLS 事件",
      "authentication": "bearer",
      "access": "当前范围成员；除 state 外需已注册设备；部分动作另需创建者或好友关系",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 548
      }
    },
    {
      "method": "POST",
      "path": "/e2ee/conversations/{scopeId}/welcome-acks",
      "group": "e2ee",
      "summary": "确认 Welcome",
      "authentication": "bearer",
      "access": "当前范围成员；除 state 外需已注册设备；部分动作另需创建者或好友关系",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 560
      }
    },
    {
      "method": "POST",
      "path": "/e2ee/conversations/{scopeId}/commit-acks",
      "group": "e2ee",
      "summary": "确认 Commit",
      "authentication": "bearer",
      "access": "当前范围成员；除 state 外需已注册设备；部分动作另需创建者或好友关系",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 567
      }
    },
    {
      "method": "POST",
      "path": "/e2ee/conversations/{scopeId}/activate",
      "group": "e2ee",
      "summary": "激活或恢复加密范围",
      "authentication": "bearer",
      "access": "当前范围成员；除 state 外需已注册设备；部分动作另需创建者或好友关系",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 574
      }
    },
    {
      "method": "GET",
      "path": "/e2ee/groups/{scopeId}/state",
      "group": "e2ee",
      "summary": "加密范围模式",
      "authentication": "bearer",
      "access": "当前范围成员；除 state 外需已注册设备；部分动作另需创建者或好友关系",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 520
      }
    },
    {
      "method": "GET",
      "path": "/e2ee/groups/{scopeId}/devices",
      "group": "e2ee",
      "summary": "当前参与者设备和密钥包",
      "authentication": "bearer",
      "access": "当前范围成员；除 state 外需已注册设备；部分动作另需创建者或好友关系",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 522
      }
    },
    {
      "method": "POST",
      "path": "/e2ee/groups/{scopeId}/prepare",
      "group": "e2ee",
      "summary": "准备加密范围",
      "authentication": "bearer",
      "access": "当前范围成员；除 state 外需已注册设备；部分动作另需创建者或好友关系",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 533
      }
    },
    {
      "method": "GET",
      "path": "/e2ee/groups/{scopeId}/events",
      "group": "e2ee",
      "summary": "按设备读取 MLS 事件",
      "authentication": "bearer",
      "access": "当前范围成员；除 state 外需已注册设备；部分动作另需创建者或好友关系",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 540
      }
    },
    {
      "method": "POST",
      "path": "/e2ee/groups/{scopeId}/events",
      "group": "e2ee",
      "summary": "提交 MLS 事件",
      "authentication": "bearer",
      "access": "当前范围成员；除 state 外需已注册设备；部分动作另需创建者或好友关系",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 548
      }
    },
    {
      "method": "POST",
      "path": "/e2ee/groups/{scopeId}/welcome-acks",
      "group": "e2ee",
      "summary": "确认 Welcome",
      "authentication": "bearer",
      "access": "当前范围成员；除 state 外需已注册设备；部分动作另需创建者或好友关系",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 560
      }
    },
    {
      "method": "POST",
      "path": "/e2ee/groups/{scopeId}/commit-acks",
      "group": "e2ee",
      "summary": "确认 Commit",
      "authentication": "bearer",
      "access": "当前范围成员；除 state 外需已注册设备；部分动作另需创建者或好友关系",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 567
      }
    },
    {
      "method": "POST",
      "path": "/e2ee/groups/{scopeId}/activate",
      "group": "e2ee",
      "summary": "激活或恢复加密范围",
      "authentication": "bearer",
      "access": "当前范围成员；除 state 外需已注册设备；部分动作另需创建者或好友关系",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 574
      }
    },
    {
      "method": "GET",
      "path": "/live-locations/mine",
      "group": "location",
      "summary": "当前用户的位置共享范围",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 582
      }
    },
    {
      "method": "GET",
      "path": "/conversations/{scopeId}/live-locations",
      "group": "location",
      "summary": "读取范围内位置",
      "authentication": "bearer",
      "access": "当前范围成员；单聊开始和更新另需好友且未屏蔽",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 594
      }
    },
    {
      "method": "POST",
      "path": "/conversations/{scopeId}/live-locations",
      "group": "location",
      "summary": "显式开启自己的位置共享",
      "authentication": "bearer",
      "access": "当前范围成员；单聊开始和更新另需好友且未屏蔽",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 600
      }
    },
    {
      "method": "PUT",
      "path": "/conversations/{scopeId}/live-locations",
      "group": "location",
      "summary": "更新既有共享",
      "authentication": "bearer",
      "access": "当前范围成员；单聊开始和更新另需好友且未屏蔽",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 600
      }
    },
    {
      "method": "DELETE",
      "path": "/conversations/{scopeId}/live-locations",
      "group": "location",
      "summary": "停止自己的位置共享",
      "authentication": "bearer",
      "access": "当前范围成员；单聊开始和更新另需好友且未屏蔽",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 596
      }
    },
    {
      "method": "GET",
      "path": "/groups/{scopeId}/live-locations",
      "group": "location",
      "summary": "读取范围内位置",
      "authentication": "bearer",
      "access": "当前范围成员；单聊开始和更新另需好友且未屏蔽",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 594
      }
    },
    {
      "method": "POST",
      "path": "/groups/{scopeId}/live-locations",
      "group": "location",
      "summary": "显式开启自己的位置共享",
      "authentication": "bearer",
      "access": "当前范围成员；单聊开始和更新另需好友且未屏蔽",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 600
      }
    },
    {
      "method": "PUT",
      "path": "/groups/{scopeId}/live-locations",
      "group": "location",
      "summary": "更新既有共享",
      "authentication": "bearer",
      "access": "当前范围成员；单聊开始和更新另需好友且未屏蔽",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 600
      }
    },
    {
      "method": "DELETE",
      "path": "/groups/{scopeId}/live-locations",
      "group": "location",
      "summary": "停止自己的位置共享",
      "authentication": "bearer",
      "access": "当前范围成员；单聊开始和更新另需好友且未屏蔽",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 596
      }
    },
    {
      "method": "GET",
      "path": "/memory-export/start",
      "group": "memory",
      "summary": "生成 Account 转出验证入口",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 612
      }
    },
    {
      "method": "POST",
      "path": "/memory-export/exchange",
      "group": "memory",
      "summary": "核验记忆转出许可",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 623
      }
    },
    {
      "method": "POST",
      "path": "/auth/logout",
      "group": "authentication",
      "summary": "撤销当前聊天会话",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 650
      }
    },
    {
      "method": "GET",
      "path": "/me",
      "group": "profile",
      "summary": "当前聊天用户和事件游标",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 654
      }
    },
    {
      "method": "GET",
      "path": "/profiles/{userId}",
      "group": "profile",
      "summary": "按可见性返回个人资料",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 657
      }
    },
    {
      "method": "PUT",
      "path": "/me/profile",
      "group": "profile",
      "summary": "更新个人资料",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 662
      }
    },
    {
      "method": "POST",
      "path": "/voip/devices",
      "group": "calls",
      "summary": "绑定当前会话的 VoIP 设备",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 683
      }
    },
    {
      "method": "DELETE",
      "path": "/voip/devices",
      "group": "calls",
      "summary": "注销自己的 VoIP 设备",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 693
      }
    },
    {
      "method": "POST",
      "path": "/calls",
      "group": "calls",
      "summary": "创建单聊或群通话",
      "authentication": "bearer",
      "access": "当前范围成员；单聊需好友且未屏蔽",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 700
      }
    },
    {
      "method": "GET",
      "path": "/calls/active",
      "group": "calls",
      "summary": "用户当前通话",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 717
      }
    },
    {
      "method": "GET",
      "path": "/calls/current",
      "group": "calls",
      "summary": "范围当前通话",
      "authentication": "bearer",
      "access": "当前范围成员",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 722
      }
    },
    {
      "method": "GET",
      "path": "/calls/history",
      "group": "calls",
      "summary": "范围最近终态通话",
      "authentication": "bearer",
      "access": "当前范围成员",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 730
      }
    },
    {
      "method": "POST",
      "path": "/calls/{callId}/accept",
      "group": "calls",
      "summary": "接听邀请",
      "authentication": "bearer",
      "access": "当前范围成员，受邀请和实际参与状态限制",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 739
      }
    },
    {
      "method": "POST",
      "path": "/calls/{callId}/decline",
      "group": "calls",
      "summary": "拒绝邀请",
      "authentication": "bearer",
      "access": "当前范围成员，受邀请和实际参与状态限制",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 739
      }
    },
    {
      "method": "POST",
      "path": "/calls/{callId}/end",
      "group": "calls",
      "summary": "取消或离开通话",
      "authentication": "bearer",
      "access": "当前范围成员，受邀请和实际参与状态限制",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 739
      }
    },
    {
      "method": "POST",
      "path": "/calls/{callId}/join",
      "group": "calls",
      "summary": "加入进行中的群通话",
      "authentication": "bearer",
      "access": "当前范围成员，受邀请和实际参与状态限制",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 739
      }
    },
    {
      "method": "POST",
      "path": "/calls/{callId}/media-token",
      "group": "calls",
      "summary": "获取 30 秒媒体房间凭证",
      "authentication": "bearer",
      "access": "active 通话中尚未离开的当前成员",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 763
      }
    },
    {
      "method": "POST",
      "path": "/memory/recognize",
      "group": "memory",
      "summary": "识别记忆结构",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 775
      }
    },
    {
      "method": "GET",
      "path": "/stickers",
      "group": "media",
      "summary": "列出自定义贴纸",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 793
      }
    },
    {
      "method": "POST",
      "path": "/stickers/city",
      "group": "media",
      "summary": "准备内置城市贴纸",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 795
      }
    },
    {
      "method": "POST",
      "path": "/media",
      "group": "media",
      "summary": "原始字节上传聊天媒体",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 804
      }
    },
    {
      "method": "GET",
      "path": "/media/{mediaId}",
      "group": "media",
      "summary": "下载有权查看的聊天媒体",
      "authentication": "bearer",
      "access": "所有者或可见消息用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 820
      }
    },
    {
      "method": "POST",
      "path": "/friend-codes",
      "group": "contacts",
      "summary": "生成临时好友码",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 832
      }
    },
    {
      "method": "GET",
      "path": "/friend-requests",
      "group": "contacts",
      "summary": "传入和发出的好友申请",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 841
      }
    },
    {
      "method": "GET",
      "path": "/blocks",
      "group": "contacts",
      "summary": "列出自己屏蔽的用户",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 843
      }
    },
    {
      "method": "PUT",
      "path": "/blocks/{userId}",
      "group": "contacts",
      "summary": "屏蔽用户",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 846
      }
    },
    {
      "method": "DELETE",
      "path": "/blocks/{userId}",
      "group": "contacts",
      "summary": "取消屏蔽用户",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 846
      }
    },
    {
      "method": "POST",
      "path": "/friend-requests",
      "group": "contacts",
      "summary": "通过好友 ID 手机或临时码申请",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 866
      }
    },
    {
      "method": "POST",
      "path": "/friend-requests/{requestId}/accept",
      "group": "contacts",
      "summary": "接受好友申请",
      "authentication": "bearer",
      "access": "申请接收者",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 901
      }
    },
    {
      "method": "DELETE",
      "path": "/friend-requests/{requestId}",
      "group": "contacts",
      "summary": "取消或删除申请",
      "authentication": "bearer",
      "access": "申请双方",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 910
      }
    },
    {
      "method": "POST",
      "path": "/groups",
      "group": "groups",
      "summary": "创建个人群",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 916
      }
    },
    {
      "method": "GET",
      "path": "/groups",
      "group": "groups",
      "summary": "列出个人群",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 929
      }
    },
    {
      "method": "DELETE",
      "path": "/groups/{groupId}",
      "group": "groups",
      "summary": "删除当前用户群视图",
      "authentication": "bearer",
      "access": "当前群成员",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 933
      }
    },
    {
      "method": "POST",
      "path": "/groups/{groupId}/restore",
      "group": "groups",
      "summary": "恢复当前用户群视图",
      "authentication": "bearer",
      "access": "当前群成员",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 940
      }
    },
    {
      "method": "GET",
      "path": "/groups/{groupId}",
      "group": "groups",
      "summary": "群资料与成员",
      "authentication": "bearer",
      "access": "当前群成员",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 946
      }
    },
    {
      "method": "POST",
      "path": "/groups/{groupId}/mute",
      "group": "groups",
      "summary": "设置个人群静音",
      "authentication": "bearer",
      "access": "当前群成员",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 952
      }
    },
    {
      "method": "POST",
      "path": "/groups/{groupId}/disband",
      "group": "groups",
      "summary": "解散群",
      "authentication": "bearer",
      "access": "群主",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 959
      }
    },
    {
      "method": "DELETE",
      "path": "/groups/{groupId}/messages/{messageId}",
      "group": "groups",
      "summary": "隐藏个人群消息",
      "authentication": "bearer",
      "access": "当前群成员",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 974
      }
    },
    {
      "method": "GET",
      "path": "/groups/{groupId}/messages",
      "group": "groups",
      "summary": "普通群消息分页",
      "authentication": "bearer",
      "access": "当前群成员",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 986
      }
    },
    {
      "method": "POST",
      "path": "/groups/{groupId}/messages",
      "group": "groups",
      "summary": "发送 legacy 群消息",
      "authentication": "bearer",
      "access": "当前群成员；范围必须 legacy",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 993
      }
    },
    {
      "method": "POST",
      "path": "/groups/{groupId}/read",
      "group": "groups",
      "summary": "推进群已读位置",
      "authentication": "bearer",
      "access": "当前群成员",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 1015
      }
    },
    {
      "method": "POST",
      "path": "/groups/{groupId}/members",
      "group": "groups",
      "summary": "邀请好友入群",
      "authentication": "bearer",
      "access": "群主",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 1028
      }
    },
    {
      "method": "POST",
      "path": "/groups/{groupId}/name",
      "group": "groups",
      "summary": "修改群名称",
      "authentication": "bearer",
      "access": "群主",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 1045
      }
    },
    {
      "method": "DELETE",
      "path": "/groups/{groupId}/members/{userId}",
      "group": "groups",
      "summary": "移除群成员",
      "authentication": "bearer",
      "access": "群主；不能移除自己",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 1058
      }
    },
    {
      "method": "POST",
      "path": "/groups/{groupId}/leave",
      "group": "groups",
      "summary": "退出个人群",
      "authentication": "bearer",
      "access": "当前群成员",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 1079
      }
    },
    {
      "method": "GET",
      "path": "/conversations",
      "group": "conversations",
      "summary": "列出个人单聊",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 1094
      }
    },
    {
      "method": "DELETE",
      "path": "/conversations/{conversationId}",
      "group": "conversations",
      "summary": "删除自己的聊天视图",
      "authentication": "bearer",
      "access": "会话双方",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 1098
      }
    },
    {
      "method": "POST",
      "path": "/conversations/{conversationId}/restore",
      "group": "conversations",
      "summary": "恢复自己的聊天视图",
      "authentication": "bearer",
      "access": "会话双方",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 1105
      }
    },
    {
      "method": "DELETE",
      "path": "/friends/{conversationId}",
      "group": "contacts",
      "summary": "删除好友关系",
      "authentication": "bearer",
      "access": "当前好友双方",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 1112
      }
    },
    {
      "method": "DELETE",
      "path": "/conversations/{conversationId}/messages/{messageId}",
      "group": "conversations",
      "summary": "隐藏个人单聊消息",
      "authentication": "bearer",
      "access": "会话双方",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 1127
      }
    },
    {
      "method": "GET",
      "path": "/conversations/{conversationId}/messages",
      "group": "conversations",
      "summary": "普通单聊消息分页",
      "authentication": "bearer",
      "access": "会话双方",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 1139
      }
    },
    {
      "method": "POST",
      "path": "/conversations/{conversationId}/messages",
      "group": "conversations",
      "summary": "发送 legacy 单聊消息",
      "authentication": "bearer",
      "access": "当前好友且未屏蔽；范围必须 legacy",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 1147
      }
    },
    {
      "method": "POST",
      "path": "/conversations/{conversationId}/read",
      "group": "conversations",
      "summary": "推进单聊已读位置",
      "authentication": "bearer",
      "access": "会话双方",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 1173
      }
    },
    {
      "method": "GET",
      "path": "/events",
      "group": "events",
      "summary": "按用户长轮询变更",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 1186
      }
    },
    {
      "method": "GET",
      "path": "/enterprise/organizations",
      "group": "enterprise-xingqi",
      "summary": "列出自己的企业",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 6
      }
    },
    {
      "method": "POST",
      "path": "/enterprise/organizations",
      "group": "enterprise-xingqi",
      "summary": "创建企业",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 7
      }
    },
    {
      "method": "POST",
      "path": "/enterprise/invitations/preview",
      "group": "enterprise-xingqi",
      "summary": "预览有效邀请",
      "authentication": "bearer",
      "access": "已登录用户和有效邀请码",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 9
      }
    },
    {
      "method": "GET",
      "path": "/enterprise/join-requests",
      "group": "enterprise-xingqi",
      "summary": "列出自己申请",
      "authentication": "bearer",
      "access": "已登录用户",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 10
      }
    },
    {
      "method": "POST",
      "path": "/enterprise/join-requests",
      "group": "enterprise-xingqi",
      "summary": "申请加入企业",
      "authentication": "bearer",
      "access": "已登录用户和有效邀请码",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 11
      }
    },
    {
      "method": "GET",
      "path": "/enterprise/organizations/{organizationId}",
      "group": "enterprise-xingqi",
      "summary": "企业数据快照",
      "authentication": "bearer",
      "access": "当前企业成员",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 17
      }
    },
    {
      "method": "PATCH",
      "path": "/enterprise/organizations/{organizationId}/members/me/card",
      "group": "enterprise-xingqi",
      "summary": "更新本人企业名片",
      "authentication": "bearer",
      "access": "当前企业成员",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 16
      }
    },
    {
      "method": "POST",
      "path": "/enterprise/organizations/{organizationId}/invitations",
      "group": "enterprise-xingqi",
      "summary": "创建三日有效企业邀请",
      "authentication": "bearer",
      "access": "企业管理员或所有者",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 18
      }
    },
    {
      "method": "DELETE",
      "path": "/enterprise/organizations/{organizationId}/invitations/{invitationId}",
      "group": "enterprise-xingqi",
      "summary": "撤销邀请",
      "authentication": "bearer",
      "access": "企业管理员或所有者",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 22
      }
    },
    {
      "method": "POST",
      "path": "/enterprise/organizations/{organizationId}/join-requests/{requestId}",
      "group": "enterprise-xingqi",
      "summary": "审批加入申请",
      "authentication": "bearer",
      "access": "企业管理员或所有者；不能审批自己",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 23
      }
    },
    {
      "method": "POST",
      "path": "/enterprise/organizations/{organizationId}/departments",
      "group": "enterprise-xingqi",
      "summary": "创建部门",
      "authentication": "bearer",
      "access": "企业管理员或所有者",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 29
      }
    },
    {
      "method": "PATCH",
      "path": "/enterprise/organizations/{organizationId}/departments/{departmentId}",
      "group": "enterprise-xingqi",
      "summary": "修改部门",
      "authentication": "bearer",
      "access": "企业管理员或所有者",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 24
      }
    },
    {
      "method": "DELETE",
      "path": "/enterprise/organizations/{organizationId}/departments/{departmentId}",
      "group": "enterprise-xingqi",
      "summary": "删除部门",
      "authentication": "bearer",
      "access": "企业管理员或所有者",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 25
      }
    },
    {
      "method": "PATCH",
      "path": "/enterprise/organizations/{organizationId}/members/{userId}",
      "group": "enterprise-xingqi",
      "summary": "修改企业成员属性",
      "authentication": "bearer",
      "access": "管理员或所有者；角色调整仅所有者",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 26
      }
    },
    {
      "method": "DELETE",
      "path": "/enterprise/organizations/{organizationId}/members/{userId}",
      "group": "enterprise-xingqi",
      "summary": "移除企业成员",
      "authentication": "bearer",
      "access": "管理员或所有者；受目标角色限制",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 27
      }
    },
    {
      "method": "POST",
      "path": "/enterprise/organizations/{organizationId}/channels",
      "group": "enterprise-xingqi",
      "summary": "创建同事单聊或企业群",
      "authentication": "bearer",
      "access": "当前企业成员",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 30
      }
    },
    {
      "method": "GET",
      "path": "/enterprise/organizations/{organizationId}/channels/{channelId}/messages",
      "group": "enterprise-xingqi",
      "summary": "企业频道历史分页",
      "authentication": "bearer",
      "access": "当前企业和频道成员",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 34
      }
    },
    {
      "method": "POST",
      "path": "/enterprise/organizations/{organizationId}/channels/{channelId}/messages",
      "group": "enterprise-xingqi",
      "summary": "发送企业频道文字",
      "authentication": "bearer",
      "access": "当前企业和频道成员",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 35
      }
    },
    {
      "method": "POST",
      "path": "/enterprise/organizations/{organizationId}/channels/{channelId}/read",
      "group": "enterprise-xingqi",
      "summary": "标记企业频道已读",
      "authentication": "bearer",
      "access": "当前企业和频道成员",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 39
      }
    },
    {
      "method": "POST",
      "path": "/enterprise/organizations/{organizationId}/tasks",
      "group": "enterprise-xingqi",
      "summary": "创建企业待办",
      "authentication": "bearer",
      "access": "当前企业成员",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 41
      }
    },
    {
      "method": "PATCH",
      "path": "/enterprise/organizations/{organizationId}/tasks/{taskId}",
      "group": "enterprise-xingqi",
      "summary": "修改待办或完成状态",
      "authentication": "bearer",
      "access": "管理员、创建者；受指派人可仅更新完成状态",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 48
      }
    },
    {
      "method": "DELETE",
      "path": "/enterprise/organizations/{organizationId}/tasks/{taskId}",
      "group": "enterprise-xingqi",
      "summary": "删除企业待办",
      "authentication": "bearer",
      "access": "管理员或创建者",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 49
      }
    },
    {
      "method": "POST",
      "path": "/enterprise/organizations/{organizationId}/announcements",
      "group": "enterprise-xingqi",
      "summary": "发布企业公告",
      "authentication": "bearer",
      "access": "企业管理员或所有者",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 42
      }
    },
    {
      "method": "DELETE",
      "path": "/enterprise/organizations/{organizationId}/announcements/{announcementId}",
      "group": "enterprise-xingqi",
      "summary": "删除企业公告",
      "authentication": "bearer",
      "access": "企业管理员或所有者",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 49
      }
    },
    {
      "method": "PUT",
      "path": "/enterprise/organizations/{organizationId}/announcements/{announcementId}/read",
      "group": "enterprise-xingqi",
      "summary": "标记公告已读",
      "authentication": "bearer",
      "access": "当前企业成员",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 47
      }
    },
    {
      "method": "POST",
      "path": "/enterprise/organizations/{organizationId}/services",
      "group": "enterprise-xingqi",
      "summary": "添加企业 HTTPS 服务入口",
      "authentication": "bearer",
      "access": "企业管理员或所有者",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 43
      }
    },
    {
      "method": "DELETE",
      "path": "/enterprise/organizations/{organizationId}/services/{serviceId}",
      "group": "enterprise-xingqi",
      "summary": "删除企业服务入口",
      "authentication": "bearer",
      "access": "企业管理员或所有者",
      "source": {
        "path": "chat-service/src/enterprise-routes.mjs",
        "line": 49
      }
    }
  ],
  "disabledRoutes": [
    {
      "path": "/__preview/enterprise/session",
      "method": "*",
      "behavior": "始终 404 NOT_FOUND",
      "source": {
        "path": "chat-service/src/server.mjs",
        "line": 250
      }
    }
  ],
  "contentDate": "2026-10-23"
}
