← Docs

API

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

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étodoCaminhoO que retorna
GET/meetings?limit=50Suas reuniões, da mais recente para a mais antiga (máx. 200, ?archived=true para as arquivadas).
GET/meetings/search?q=budget&limit=20Busca 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/sharedReuniões que outras pessoas compartilharam com você.
GET/meetings/reportUma linha por reunião com os participantes, para relatórios.
GET/meetings/{id}/chatPerguntas e respostas guardadas na reunião.
POST/meetings/{id}/chatUma pergunta sobre uma reunião. Corpo {"message":"..."}.
GET/meetings/{id}/clipsTrechos recortados da reunião.
GET/labelsSuas etiquetas.
GET/settingsSuas configurações, incluindo o idioma da transcrição e das anotações.
POST/mcpServidor 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.

Exemplos

Últimas reuniões

curl "https://api.saykeeper.com/v1/meetings?limit=5" \
  -H "Authorization: Bearer ntb_live_YOUR_KEY"

Busca

curl "https://api.saykeeper.com/v1/meetings/search?q=budget" \
  -H "Authorization: Bearer ntb_live_YOUR_KEY"

Uma reunião com transcrição e anotações

curl "https://api.saykeeper.com/v1/meetings/MEETING_ID" \
  -H "Authorization: Bearer ntb_live_YOUR_KEY"

Perguntar sobre uma reunião

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

400Entrada inválida, por exemplo um código de idioma não compatível (unsupported_language).
401Chave ausente ou inválida (missing_bearer_token, invalid_api_key).
403Exige o app com login (session_required) ou a reunião não é sua.
404Não encontrado.
409A reunião ainda não tem transcrição (no_transcript).
429Limite 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_meetings20 / 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.