The Saykeeper API gives scripts and assistants read access to your meetings. A key can read and ask, it cannot create, change or delete anything.
API keys
Create a key in the app: Settings, API and MCP, API keys. Give it a name.
The key is shown once. Saykeeper stores only its SHA-256 hash, so a lost key cannot be shown again. Revoke it and create a new one.
Keys start with ntb_live_. Keep them out of URLs, code repositories and shared chats.
Authorization
Send the key in the Authorization header as a Bearer token. Every request sees only the meetings of the key owner.
Authorization: Bearer ntb_live_YOUR_KEY
Base URL
https://api.saykeeper.com/v1
Endpoints that accept an API key
Method
Path
What it returns
GET
/meetings?limit=50
Your meetings, newest first (max 200, ?archived=true for archived).
GET
/meetings/search?q=budget&limit=20
Search titles and transcripts (filters: space_id, label_id, from, to).
GET
/meetings/{id}
One meeting with transcript (speakers, timestamps) and AI outputs.
GET
/meetings/shared
Meetings other people shared with you.
GET
/meetings/report
One row per meeting with speakers, for reporting.
GET
/meetings/{id}/chat
Questions and answers saved on a meeting.
POST
/meetings/{id}/chat
Ask about one meeting. Body {"message":"..."}.
GET
/meetings/{id}/clips
Clips cut from a meeting.
GET
/labels
Your labels.
GET
/settings
Your preferences, including transcription and output language.
POST
/mcp
MCP server (JSON-RPC over Streamable HTTP).
Recording, uploads, changing or deleting meetings, settings changes and key or webhook management need the signed-in app and answer 403 session_required to a key.