Authentification à l'API SpeakNotes
L'API accepte trois types d'identifiants : une clé API, un jeton d'accès OAuth ou un jeton d'ID Firebase provenant d'une session connectée.
Clés API
Envoyez la clé en tant que jeton porteur (bearer token) sur chaque requête. Tout compte connecté peut en créer une, et elle fonctionne immédiatement.
curl https://api.speaknotes.io/v1/notes \ -H "Authorization: Bearer sn_live_YOUR_API_KEY"
Les clés de production commencent par sn_live_ et agissent sur votre bibliothèque réelle. Les clés sandbox commencent par sn_test_ et s'exécutent avec une sortie fixe. Les clés émises avant l'existence des portées fonctionnent toujours et disposent d'un accès complet.
Portées (Scopes)
Chaque clé et chaque jeton OAuth possède des portées. La lecture n'implique jamais l'écriture, donc une clé limitée à notes:read ne peut rien supprimer. Une requête sans la portée nécessaire reçoit une erreur 403 indiquant ce qui manque.
notes:readRead notes, transcripts, and summaries.notes:writeCreate, update, and delete notes.folders:readRead folders.folders:writeCreate, update, and delete folders.transcriptions:writeTranscribe audio and video.summaries:writeGenerate summaries from audio, text, and YouTube URLs.usage:readRead credit balance and usage history.
Limites de débit
Les limites sont comptées par identifiant, et non par IP, afin qu'une intégration ne puisse pas en épuiser une autre. Chaque réponse contient X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset, et une erreur 429 contient Retry-After.
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="SpeakNotes API", error="invalid_token",
resource_metadata="https://api.speaknotes.io/.well-known/oauth-protected-resource"
{
"error": {
"type": "authentication_error",
"code": "invalid_token",
"message": "The API key is invalid, expired, or revoked.",
"doc_url": "https://speaknotes.io/developers/errors#invalid_token"
}
}OAuth
Vous développez une application à laquelle d'autres utilisateurs de SpeakNotes se connectent ? Utilisez OAuth plutôt que de leur demander de coller une clé. /developers/oauth
Rotation et révocation
Une clé est affichée une seule fois, lors de sa création, et stockée uniquement sous forme de hachage. La révocation d'une clé prend effet immédiatement. Les clés peuvent également se voir attribuer une date d'expiration lors de leur création.