L’API Saykeeper donne aux scripts et aux assistants un accès en lecture à vos réunions. Une clé peut lire et poser des questions, mais ne peut rien créer, modifier ni supprimer.
Clés API
Créez une clé dans l’application : Réglages, API et MCP, Clés API. Donnez-lui un nom.
La clé n’est affichée qu’une seule fois. Saykeeper ne conserve que son hachage SHA-256 : une clé perdue ne peut donc pas être réaffichée. Révoquez-la et créez-en une nouvelle.
Les clés commencent par ntb_live_. Ne les mettez pas dans des URL, des dépôts de code ou des chats partagés.
Autorisation
Envoyez la clé dans l’en-tête Authorization comme jeton Bearer. Chaque requête ne voit que les réunions du propriétaire de la clé.
Authorization: Bearer ntb_live_YOUR_KEY
URL de base
https://api.saykeeper.com/v1
Endpoints qui acceptent une clé API
Méthode
Chemin
Ce qu’il renvoie
GET
/meetings?limit=50
Vos réunions, de la plus récente à la plus ancienne (max. 200, ?archived=true pour les archivées).
GET
/meetings/search?q=budget&limit=20
Recherche dans les titres et les transcriptions (filtres space_id, label_id, from, to).
GET
/meetings/{id}
Une réunion avec sa transcription (intervenants, horaires) et les résultats de l’IA.
GET
/meetings/shared
Les réunions que d’autres ont partagées avec vous.
GET
/meetings/report
Une ligne par réunion avec les intervenants, pour les rapports.
GET
/meetings/{id}/chat
Questions et réponses enregistrées avec la réunion.
POST
/meetings/{id}/chat
Une question sur une réunion. Corps {"message":"..."}.
GET
/meetings/{id}/clips
Clips extraits de la réunion.
GET
/labels
Vos étiquettes.
GET
/settings
Vos réglages, y compris la langue de la transcription et des notes.
POST
/mcp
Serveur MCP (JSON-RPC via Streamable HTTP).
L’enregistrement, les imports, la modification ou la suppression de réunions, la modification des réglages et la gestion des clés ou des webhooks nécessitent l’application connectée et répondent 403 session_required à une clé.
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?"}'
Erreurs
400
Saisie invalide, par exemple un code de langue non pris en charge (unsupported_language).
401
Clé manquante ou invalide (missing_bearer_token, invalid_api_key).
403
Nécessite l’application connectée (session_required) ou ce n’est pas votre réunion.
404
Introuvable.
409
La réunion n’a pas encore de transcription (no_transcript).
429
Limite de débit atteinte (rate_limited). Attendez et réessayez.
Limites de débit
Quoi
Limite
Questions sur une réunion (POST /meetings/{id}/chat)
20 / minute
MCP ask_meeting et ask_meetings
20 / minute
Webhooks
Saykeeper peut appeler votre URL lorsqu’une réunion est prête. Ajoutez des webhooks dans les Réglages, API et MCP. Chaque envoi est signé avec le secret du webhook.