Ontwikkelaars

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.

120
Lezen per minuut
30
Schrijven per minuut
10
Verwerken per minuut
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.