浏览器
HttpOnly + Secure + SameSite=Lax Cookie,由同源 Webmail 自动管理。
OmniMail Web、Android、Float 与外部客户端共用的 JSON API。生产环境默认与 Webmail 同源,所有接口位于 /api/*。
浏览器使用安全 Cookie,桌面客户端使用短期 Access Token 与轮换 Refresh Token。两种方式执行相同的角色、邮箱归属与发信权限检查。
/api/*,尚未复制为 /api/v1/*。稳定版前可能新增版本化路径。HttpOnly + Secure + SameSite=Lax Cookie,由同源 Webmail 自动管理。
Bearer Access Token 保存在内存,Refresh Token 保存到系统凭据存储。
GET /api/mailboxes
Authorization: Bearer om_at_...
访问令牌过期或被撤销时返回 401。客户端应只尝试刷新一次;刷新失败后清除本地令牌并重新登录。
密码与 MFA 验证完成后,桌面端可以签发独立设备会话。令牌明文只返回一次,D1 仅保存 SHA-256 摘要。
/api/auth/token{
"email": "[email protected]",
"password": "your-password",
"deviceName": "OmniMail Desktop / Windows"
}
{
"tokenType": "Bearer",
"accessToken": "om_at_...",
"expiresIn": 900,
"refreshToken": "om_rt_...",
"refreshExpiresIn": 2592000,
"scopes": ["*"]
}
列表使用不透明游标与“时间 + 唯一 ID”排序。翻页时必须保持 folder、q、mailbox 和 domain 等筛选参数不变。
/api/messages?folder=inbox&limit=30{
"messages": [],
"counts": { "unread": 0, "starred": 0 },
"page": {
"hasMore": true,
"nextCursor": "opaque-cursor",
"limit": 30
}
}
limit 为 1–100;邮件默认 30。nextCursor = null 或 hasMore = false。version,未变化时只返回 unchanged 与版本号。/api/messages{
"mailboxAddress": "[email protected]",
"to": "[email protected]",
"subject": "Hello",
"text": "Message body",
"idempotencyKey": "request_12345678"
}
发件邮箱必须属于当前用户并处于启用状态。相同 idempotencyKey 不会重复投递,也不会重复计入限速。
/api/drafts草稿列表/api/drafts新建草稿/api/drafts/{draftId}保存草稿/api/drafts/{draftId}丢弃草稿附件通过 multipart/form-data 上传,字段名为 file。单个最多 5 MiB,每封最多 5 个,合计最多 10 MiB。
/api/drafts/{draftId}/send{ "idempotencyKey": "request_12345678" }
iCloud、Gmail、Microsoft、QQ 与 Linux DO 邮箱都按当前用户隔离凭据与数据。查询接口不会回传 Cookie、密码、授权码或 OAuth token。
13 个端点覆盖账号、加密凭据、隐藏地址预览与管理,以及按需收件箱和正文读取。
10 个端点覆盖连接、验证和轮换凭据,读取与搜索收件箱、发信和查询已发送邮件。
10 个端点覆盖多账号凭据、受控 IMAP 同步、聚合索引、正文与附件。
11 个端点覆盖 OAuth2、受控 IMAP 同步、文件夹、正文、附件与精确已读写入。
11 个端点覆盖授权码认证、INBOX 索引、按需正文与附件,以及受控 SMTP 发信。
管理员接口继续执行角色检查。全站邮件与备份恢复演练等高风险能力只对主管理员开放,读取与修改操作会写入审计日志。
GET /api/admin/messages筛选、正文、附件、原文与批量操作GET /api/admin/deployment-checkcore、security、mail 三组状态POST /api/admin/backups/drill只读检查,不导入或覆盖生产对象GET /api/admin/version发现新版后引导到 GitHub Fork 同步GET /api/admin/audit-logs敏感字段递归移除PATCH /api/admin/settings/outbound-rate-limit全局默认与用户覆盖401UnauthorizedAccess Token 过期、被撤销或认证缺失。403Forbidden角色或 Scope 不允许当前操作,或注册功能关闭。409Conflict启用功能所需的 Worker 配置不完整。429Rate limited读取 Retry-After 后再重试。503UnavailableTurnstile 等必需验证服务不可用时失败关闭。/api/config公开运行配置与外部注册状态
/api/register外部注册普通用户
/api/session查询当前 Cookie 或 Bearer 会话
/api/auth/token签发桌面设备令牌
/api/auth/token/refresh轮换 Access 与 Refresh Token
/api/auth/token/revoke撤销设备会话
/api/mailboxes当前用户邮箱列表
/api/mailboxes按用户权限创建邮箱
/api/mailboxes/{address}启停邮箱或设置主邮箱
/api/mailboxes/{address}隐藏邮箱并启动异步清理
/api/messages邮件列表、筛选与游标分页
/api/messages使用已配置发信服务发送邮件
/api/messages/{id}邮件正文、线程与附件元数据
/api/messages/{id}更新已读、星标与文件夹状态
/api/messages/bulk最多 50 封邮件的批量操作
/api/messages/{id}永久删除垃圾箱邮件
/api/messages/{id}/raw下载原始 .eml
/api/messages/{id}/reply在线程内回复,支持附件
/api/drafts当前用户草稿列表
/api/drafts新建服务端草稿
/api/drafts/{id}保存指定草稿
/api/drafts/{id}/attachments上传草稿附件
/api/drafts/{id}/send幂等发送草稿及附件
/api/icloud/accounts列出当前用户连接的 iCloud 账号
/api/icloud/accounts验证并连接 iCloud 账号
/api/icloud/aliases列出 Hide My Email 地址
/api/icloud/aliases保留候选隐藏邮箱地址
/api/icloud/inbox按需读取或搜索 iCloud 来信
/api/gmail/accounts列出当前用户连接的 Gmail 账号
/api/gmail/accounts/{id}/sync请求受限的异步 Gmail 同步
/api/gmail/messages搜索 Gmail 元数据索引并分页
/api/microsoft/accounts列出脱敏 Microsoft 账号与同步状态
/api/microsoft/accounts/import验证并批量导入 OAuth2 账号
/api/microsoft/messages按账号和文件夹搜索 Microsoft 邮件
/api/qq-mail/accounts列出当前用户连接的 QQ 邮箱账号
/api/qq-mail/accounts/{id}/messages通过 QQ SMTP 发送或回复邮件
/api/qq-mail/messages搜索 QQ 邮箱元数据索引并分页
/api/linux-do-mail/account查询当前 Linux DO Mail 连接
/api/linux-do-mail/account验证并连接 Linux DO Mail
/api/linux-do-mail/messages通过官方 SMTP 发送邮件
/api/linux-do-mail/inbox读取或搜索最近来信
/api/linux-do-mail/sent读取已发送邮件记录
/api/admin/statistics管理员邮件统计
/api/admin/messages主管理员查询全站邮件
/api/admin/audit-logs操作日志、筛选与分页
/api/admin/deployment-check资源与服务配置自检
/api/admin/version当前版本与 Release 状态
/api/admin/users管理员用户列表
/api/admin/backups/objects分页浏览备份对象
/api/admin/backups/drill只读备份结构演练
没有匹配的端点。
145 个真实端点已按 13 个业务分类生成 Markdown 参考;架构、安全、限速与数据生命周期仍由 docs/API.md 说明。