Skip to content

API 参考

Glint 在 Cloudflare Worker 上提供 REST API。大多数端点需要通过会话 Cookie 进行身份验证。

基础 URL

所有端点路径相对于 Worker 源(例如 https://glint.your-domain.com)。

身份验证

身份验证通过 Prism OAuth 2.0 处理(支持 PKCE 和机密客户端)。会话存储在 KV 中,并通过 httpOnly Session Cookie 进行追踪。详见身份验证

跨应用访问(来自其他应用的 Bearer 令牌)通过 Authorization: Bearer <token> 请求头处理。详见跨应用集成

通用错误格式

所有错误响应返回 JSON:

json
{ "error": "错误描述" }

常见状态码

状态码含义
200成功
201已创建(POST 创建新资源时返回)
400请求无效(缺少必填字段、格式错误等)
401未授权(未登录)
403禁止访问(已登录但权限不足)
404未找到(资源不存在)
409冲突(例如重复创建)
500服务器内部错误

端点列表

初始化与配置

方法路径说明
GET/api/init/status检查应用是否已初始化
GET/api/init/branding公开接口:获取站点名称和 Logo
GET/api/init/config获取应用配置(Prism OAuth 设置)
PUT/api/init/config更新应用配置(初始化后仅所有者可操作)
POST/api/init/setup执行首次设置(创建数据库表并保存配置)
POST/api/init/register-permissions将 Glint 的权限作用域注册到 Prism

身份验证

方法路径说明
GET/api/auth/config获取前端所需的 Prism OAuth 配置
GET/api/auth/me获取当前用户(未登录时返回 null
POST/api/auth/callback用 OAuth 授权码换取会话
POST/api/auth/logout销毁当前会话

用户设置

方法路径说明
GET/api/user/settings获取用户偏好(操作栏、传输方式、界面)
PUT/api/user/settings更新用户偏好

团队设置

方法路径说明
GET/api/teams/:teamId/settings获取团队设置(品牌和行为配置)
PATCH/api/teams/:teamId/settings更新团队设置

权限

方法路径说明
GET/api/teams/:teamId/permissions获取完整权限矩阵(默认值、全局覆盖、按分组覆盖)
GET/api/teams/:teamId/permissions/me获取当前用户的有效权限
PUT/api/teams/:teamId/permissions批量更新某个范围的权限
DELETE/api/teams/:teamId/permissions重置某个范围的权限为默认值

待办分组

方法路径说明
GET/api/teams/:teamId/sets列出所有分组(若无则自动创建默认分组)
POST/api/teams/:teamId/sets创建新分组
PATCH/api/teams/:teamId/sets/:setId重命名 / 设置自动续期及选项(manage_sets 或所有者)
DELETE/api/teams/:teamId/sets/:setId删除分组及其所有待办事项
POST/api/teams/:teamId/sets/reorder批量更新分组排序
GET/api/teams/:teamId/sets/:setId/export将分组导出为 Markdown / JSON / YAML(view_todos
POST/api/teams/:teamId/sets/:setId/import将待办事项导入分组(create_todos
POST/api/teams/:teamId/sets/import将内容作为新分组导入(manage_sets

待办事项

方法路径说明
GET/api/teams/:teamId/sets/:setId/todos列出分组中的所有待办事项
POST/api/teams/:teamId/sets/:setId/todos创建待办事项(或子待办)
PATCH/api/teams/:teamId/todos/:id更新待办事项(标题、完成状态、排序)
DELETE/api/teams/:teamId/todos/:id删除待办事项(级联删除子待办)
POST/api/teams/:teamId/todos/reorder批量更新待办事项排序
PUT/api/teams/:teamId/todos/:id/assignees设置待办的被分配人(assign_todos
GET/api/teams/:teamId/members列出可被分配的成员
GET/api/teams/:teamId/assigned-to-me分配给我的待办,按列表分组
POST/api/teams/:teamId/assigned-expand持久化"分配给我"列表的展开状态

评论

方法路径说明
GET/api/teams/:teamId/todos/:todoId/comments列出待办事项的所有评论
POST/api/teams/:teamId/todos/:todoId/comments添加评论
DELETE/api/teams/:teamId/todos/:todoId/comments/:commentId删除评论

分享链接

方法路径鉴权说明
GET/api/teams/:teamId/sets/:setId/share-linksSession列出分组的分享链接
GET/api/teams/:teamId/share-linksSession列出团队中的所有分享链接
POST/api/teams/:teamId/sets/:setId/share-linksSession创建分享链接(manage_set_links
PATCH/api/teams/:teamId/share-links/:linkIdSession更新分享链接(manage_set_links
DELETE/api/teams/:teamId/share-links/:linkIdSession删除分享链接(manage_set_links
GET/api/shared/:tokenToken公开:读取分享的分组与待办事项
POST/api/shared/:token/todosToken公开:创建待办事项(若有 canCreate
PATCH/api/shared/:token/todos/:idToken公开:更新待办事项(受能力限制)
DELETE/api/shared/:token/todos/:idToken公开:删除待办事项(若有 canDelete
POST/api/shared/:token/todos/reorderToken公开:重新排序待办事项(若有 canReorder
GET/api/shared/:token/badge.svgToken公开:进度徽章 SVG
GET/api/shared/:token/todo-list.svgToken公开:渲染的清单 SVG

完整参考见分享链接

实时同步

方法路径鉴权说明
GET/api/teams/:teamId/sets/:setId/wsSessionWebSocket 升级,用于待办事项实时同步
GET/api/teams/:teamId/sets/:setId/sseSessionServer-Sent Events 实时同步回退

详见实时同步

跨应用访问

方法路径说明
GET/api/cross-app/teams列出令牌持有者可访问的团队
GET/api/cross-app/teams/:teamId/sets列出分组(需要相应的跨应用 scope)
GET/api/cross-app/teams/:teamId/sets/:setId/todos列出待办事项(需要相应的跨应用 scope)
POST/api/cross-app/teams/:teamId/sets/:setId/todos创建待办事项(需要相应的跨应用 scope)
PATCH/api/cross-app/teams/:teamId/todos/:id更新待办事项(需要相应的跨应用 scope)
DELETE/api/cross-app/teams/:teamId/todos/:todoId删除待办事项(需要相应的跨应用 scope)
PUT/api/cross-app/teams/:teamId/todos/:todoId/assignees设置待办的被分配人(assign_todos
GET/api/cross-app/teams/:teamId/assigned-to-me分配给我的待办(单个工作区)
GET/api/cross-app/assigned-to-me分配给我的待办(所有工作区)

此表仅列出最常用的跨应用端点;完整集合(分组、评论、设置、权限、概览/动态以及实时同步)见跨应用集成