開発者向け

SpeakNotes API 認証

APIは、APIキー、OAuthアクセストークン、またはサインインセッションからのFirebase IDトークンの3種類の認証情報を受け付けます。

APIキー

すべてのリクエストで、キーをベアラートークンとして送信してください。サインインしているアカウントであれば誰でも作成でき、すぐに使用可能です。

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

ライブキーは sn_live_ で始まり、実際のライブラリに対して動作します。サンドボックスキーは sn_test_ で始まり、固定の出力に対して実行されます。スコープ導入前に発行されたキーも引き続き使用可能で、フルアクセス権限を持ちます。

スコープ

すべてのキーと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
読み取り 1分あたり
30
書き込み 1分あたり
10
処理 1分あたり
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

ローテーションと取り消し

キーは作成時に一度だけ表示され、ハッシュとしてのみ保存されます。取り消しは即座に有効になります。キー作成時に有効期限を設定することも可能です。