Разработчикам

Аутентификация API SpeakNotes

API принимает три типа учетных данных: API-ключ, токен доступа OAuth или ID-токен Firebase от активной сессии.

API-ключи

Отправляйте ключ в качестве токена bearer в каждом запросе. Любая учетная запись может создать ключ, и он сразу начнет работать.

curl https://api.speaknotes.io/v1/notes \
  -H "Authorization: Bearer sn_live_YOUR_API_KEY"

Реальные ключи начинаются с sn_live_ и работают с вашей реальной библиотекой. Ключи sandbox начинаются с sn_test_ и работают с фиксированными выходными данными. Ключи, выпущенные до появления областей действия (scopes), продолжают работать и имеют полный доступ.

Области действия (Scopes)

Каждый ключ и каждый токен OAuth имеют свои области действия. Чтение никогда не подразумевает запись, поэтому ключ с доступом notes:read не может ничего удалить. Запрос, в котором отсутствует необходимая область действия, получит ошибку 403 с указанием того, чего не хватает.

  • 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.

Лимиты запросов

Лимиты рассчитываются для каждой учетной записи, а не для IP-адреса, поэтому одна интеграция не может заблокировать другую. Каждый ответ содержит заголовки X-RateLimit-Limit, X-RateLimit-Remaining и X-RateLimit-Reset, а код 429 содержит заголовок Retry-After.

120
Чтение в минуту
30
Запись в минуту
10
Обработка в минуту
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

Создаете приложение, в которое входят пользователи SpeakNotes? Используйте OAuth вместо того, чтобы просить их вставлять ключ. /developers/oauth

Ротация и отзыв

Ключ отображается один раз, при создании, и хранится только в виде хеша. Отзыв ключа вступает в силу немедленно. При создании ключам также можно задать дату истечения срока действия.