L’API di Saykeeper dà a script e assistenti accesso in lettura alle tue riunioni. Una chiave può leggere e fare domande, non può creare, modificare o eliminare nulla.
Chiavi API
Crea una chiave nell’app: Impostazioni, API e MCP, Chiavi API. Dalle un nome.
La chiave viene mostrata una sola volta. Saykeeper conserva solo il suo hash SHA-256, quindi una chiave persa non può essere mostrata di nuovo. Revocala e creane una nuova.
Le chiavi iniziano con ntb_live_. Tienile fuori da URL, repository di codice e chat condivise.
Autorizzazione
Invia la chiave nell’intestazione Authorization come token Bearer. Ogni richiesta vede solo le riunioni del proprietario della chiave.
Authorization: Bearer ntb_live_YOUR_KEY
URL di base
https://api.saykeeper.com/v1
Endpoint che accettano una chiave API
Metodo
Percorso
Cosa restituisce
GET
/meetings?limit=50
Le tue riunioni dalla più recente (max 200, ?archived=true per quelle archiviate).
GET
/meetings/search?q=budget&limit=20
Ricerca nei titoli e nelle trascrizioni (filtri space_id, label_id, from, to).
GET
/meetings/{id}
Una riunione con trascrizione (interlocutori, orari) e risultati AI.
GET
/meetings/shared
Le riunioni che altri hanno condiviso con te.
GET
/meetings/report
Una riga per ogni riunione con gli interlocutori, per i report.
GET
/meetings/{id}/chat
Domande e risposte salvate con la riunione.
POST
/meetings/{id}/chat
Una domanda su una riunione. Corpo {"message":"..."}.
GET
/meetings/{id}/clips
Clip ritagliate dalla riunione.
GET
/labels
Le tue etichette.
GET
/settings
Le tue impostazioni, compresa la lingua di trascrizione e degli appunti.
POST
/mcp
Server MCP (JSON-RPC su Streamable HTTP).
Registrazione, caricamenti, modifica o eliminazione di riunioni, modifiche alle impostazioni e gestione di chiavi o webhook richiedono l’app con accesso effettuato e rispondono 403 session_required a una chiave.
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?"}'
Errori
400
Input non valido, per esempio un codice lingua non supportato (unsupported_language).
401
Chiave mancante o non valida (missing_bearer_token, invalid_api_key).
403
Richiede l’app con accesso effettuato (session_required) oppure non è una tua riunione.
404
Non trovato.
409
La riunione non ha ancora una trascrizione (no_transcript).
429
Limite di frequenza superato (rate_limited). Aspetta e riprova.
Limiti di frequenza
Cosa
Limite
Domande su una riunione (POST /meetings/{id}/chat)
20 / minuto
MCP ask_meeting e ask_meetings
20 / minuto
Webhook
Saykeeper può chiamare il tuo URL quando una riunione è pronta. Aggiungi i webhook in Impostazioni, API e MCP. Ogni invio è firmato con il segreto del webhook.