A API do Saykeeper dá a scripts e assistentes acesso de leitura às suas reuniões. Uma chave pode ler e perguntar, mas não pode criar, alterar nem excluir nada.
Chaves de API
Crie uma chave no app: Configurações, API e MCP, Chaves de API. Dê um nome a ela.
A chave é mostrada uma única vez. O Saykeeper guarda apenas o hash SHA-256 dela, então uma chave perdida não pode ser mostrada de novo. Revogue-a e crie uma nova.
As chaves começam com ntb_live_. Não as coloque em URLs, repositórios de código nem chats compartilhados.
Autorização
Envie a chave no cabeçalho Authorization como um token Bearer. Cada requisição vê apenas as reuniões do dono da chave.
Authorization: Bearer ntb_live_YOUR_KEY
URL base
https://api.saykeeper.com/v1
Endpoints que aceitam uma chave de API
Método
Caminho
O que retorna
GET
/meetings?limit=50
Suas reuniões, da mais recente para a mais antiga (máx. 200, ?archived=true para as arquivadas).
GET
/meetings/search?q=budget&limit=20
Busca em títulos e transcrições (filtros space_id, label_id, from, to).
GET
/meetings/{id}
Uma reunião com transcrição (participantes, horários) e resultados da IA.
GET
/meetings/shared
Reuniões que outras pessoas compartilharam com você.
GET
/meetings/report
Uma linha por reunião com os participantes, para relatórios.
GET
/meetings/{id}/chat
Perguntas e respostas guardadas na reunião.
POST
/meetings/{id}/chat
Uma pergunta sobre uma reunião. Corpo {"message":"..."}.
GET
/meetings/{id}/clips
Trechos recortados da reunião.
GET
/labels
Suas etiquetas.
GET
/settings
Suas configurações, incluindo o idioma da transcrição e das anotações.
POST
/mcp
Servidor MCP (JSON-RPC sobre Streamable HTTP).
Gravação, envios, alteração ou exclusão de reuniões, mudanças de configurações e gerenciamento de chaves ou webhooks exigem o app com login e respondem 403 session_required a uma chave.
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?"}'
Erros
400
Entrada inválida, por exemplo um código de idioma não compatível (unsupported_language).
401
Chave ausente ou inválida (missing_bearer_token, invalid_api_key).
403
Exige o app com login (session_required) ou a reunião não é sua.
404
Não encontrado.
409
A reunião ainda não tem transcrição (no_transcript).
429
Limite de requisições atingido (rate_limited). Aguarde e tente de novo.
Limites de requisições
O quê
Limite
Perguntas sobre uma reunião (POST /meetings/{id}/chat)
20 / minuto
MCP ask_meeting e ask_meetings
20 / minuto
Webhooks
O Saykeeper pode chamar a sua URL quando uma reunião estiver pronta. Adicione webhooks em Configurações, API e MCP. Cada entrega é assinada com o segredo do webhook.