← 文档
API
Saykeeper API 让脚本和助手可以读取你的会议。密钥可以读取和提问,但不能创建、更改或删除任何内容。
API 密钥
- 在应用中创建密钥:设置,API 和 MCP,API 密钥。给它起个名字。
- 密钥只显示一次。Saykeeper 只保存其 SHA-256 哈希,所以丢失的密钥无法再次显示。请撤销它并创建新的。
- 密钥以
ntb_live_开头。请不要把它放进 URL、代码仓库或共享聊天中。
授权
将密钥作为 Bearer 令牌放在 Authorization 请求头中发送。每个请求只能看到密钥所有者的会议。
Authorization: Bearer ntb_live_YOUR_KEY基础 URL
https://api.saykeeper.com/v1接受 API 密钥的端点
| 方法 | 路径 | 返回内容 |
|---|---|---|
GET | /meetings?limit=50 | 你的会议,从最新的开始(最多 200 条,?archived=true 可查看已归档的)。 |
GET | /meetings/search?q=budget&limit=20 | 在标题和文字记录中搜索(可用筛选 space_id、label_id、from、to)。 |
GET | /meetings/{id} | 一场会议,含文字记录(发言人、时间)和 AI 输出。 |
GET | /meetings/shared | 其他人与你分享的会议。 |
GET | /meetings/report | 每场会议一行,含发言人,用于报表。 |
GET | /meetings/{id}/chat | 保存在会议中的提问和回答。 |
POST | /meetings/{id}/chat | 针对一场会议提问。请求体为 {"message":"..."}。 |
GET | /meetings/{id}/clips | 从会议中剪出的片段。 |
GET | /labels | 你的标签。 |
GET | /settings | 你的设置,包括文字记录和笔记的语言。 |
POST | /mcp | MCP 服务器(通过 Streamable HTTP 的 JSON-RPC)。 |
录音、上传、更改或删除会议、更改设置,以及管理密钥或 webhook,都需要已登录的应用,对密钥会返回 403 session_required。
示例
最新的会议
curl "https://api.saykeeper.com/v1/meetings?limit=5" \
-H "Authorization: Bearer ntb_live_YOUR_KEY"搜索
curl "https://api.saykeeper.com/v1/meetings/search?q=budget" \
-H "Authorization: Bearer ntb_live_YOUR_KEY"带文字记录和笔记的单场会议
curl "https://api.saykeeper.com/v1/meetings/MEETING_ID" \
-H "Authorization: Bearer ntb_live_YOUR_KEY"针对一场会议提问
curl -X POST "https://api.saykeeper.com/v1/meetings/MEETING_ID/chat" \
-H "Authorization: Bearer ntb_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"message":"What did we agree on?"}'错误
400 | 输入无效,例如不支持的语言代码(unsupported_language)。 |
401 | 缺少密钥或密钥无效(missing_bearer_token、invalid_api_key)。 |
403 | 需要已登录的应用(session_required),或不是你的会议。 |
404 | 未找到。 |
409 | 该会议还没有文字记录(no_transcript)。 |
429 | 触发速率限制(rate_limited)。请等待后重试。 |
速率限制
| 内容 | 限额 |
|---|---|
| 针对会议提问(POST /meetings/{id}/chat) | 20 次 / 分钟 |
| MCP ask_meeting 和 ask_meetings | 20 次 / 分钟 |
Webhook
会议准备好时,Saykeeper 可以调用你的 URL。在“设置”的“API 和 MCP”中添加 webhook。每次推送都会用 webhook 密钥签名。