SpeakNotes API-authenticatie
De API accepteert drie credentials: een API-sleutel, een OAuth-toegangstoken of een Firebase ID-token van een aangemelde sessie.
API-sleutels
Stuur de sleutel mee als bearer-token bij elk verzoek. Elk aangemeld account kan er een aanmaken en deze werkt direct.
curl https://api.speaknotes.io/v1/notes \ -H "Authorization: Bearer sn_live_YOUR_API_KEY"
Live-sleutels beginnen met sn_live_ en werken op je echte bibliotheek. Sandbox-sleutels beginnen met sn_test_ en werken met vaste output. Sleutels die zijn uitgegeven voordat scopes bestonden, werken nog steeds en hebben volledige toegang.
Scopes
Elke sleutel en elk OAuth-token bevat scopes. Lezen impliceert nooit schrijven, dus een sleutel met de scope notes:read kan niets verwijderen. Een verzoek waarbij een scope ontbreekt, krijgt een 403 die aangeeft wat er mist.
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.
Rate limits
Limieten worden geteld per credential, niet per IP, zodat de ene integratie de andere niet kan blokkeren. Elk antwoord bevat X-RateLimit-Limit, X-RateLimit-Remaining en X-RateLimit-Reset, en een 429 bevat 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
Bouw je iets waar SpeakNotes-gebruikers op inloggen? Gebruik OAuth in plaats van ze te vragen een sleutel te plakken. /developers/oauth
Roteren en intrekken
Een sleutel wordt één keer getoond, bij het aanmaken, en alleen opgeslagen als hash. Het intrekken van een sleutel is direct effectief. Sleutels kunnen bij het aanmaken ook een vervaldatum krijgen.