開発者ドキュメント
セキュリティとデータ
API キーとスコープを安全に管理し、各連携がアクセスできるノートを確認します。
API キーの取り扱い
- API キー(
alt_live_...)の全文は作成時に一度だけ表示されます。Alt はシークレットの原文を保存しないため、後から再表示できません。紛失した場合は新しいキーを発行してください。 - Webhook 署名シークレット(
whsec_...)の全文も作成時に一度だけ表示されます。Alt は AES-256-GCM で暗号化して保存し、配信への署名にだけ使用するため、コンソールで再表示できません。新しいシークレットが必要な場合はエンドポイントを作り直してください。 - キーはシークレットマネージャーに保管してください。クライアントサイドのコード、モバイルアプリ、リポジトリには絶対に埋め込まないでください。
- キーを更新するには、コンソール で同じ連携に新しいキーを発行します。システムを新しいキーへ切り替えた後、古いキーを失効させてください。失効は即時に反映されます。
- キーの作成時に有効期限を設定することもできます。期限切れのキーは自動的に拒否されます。
- システムごとに別のキーを使用してください。ステージングと本番を分けると、一方のキーを失効させてももう一方の環境は動作し続けます。
- サンドボックスやテストモードはありません。すべての API キーが実際のノートにアクセスします。ステージングと本番では連携を分けてください。実際の録音を待たずに受信側を確認するには、エンドポイント作成時の verification イベントか、コンソールの「テスト送信」を利用してください。
連携からアクセスできるデータ
- 個人連携がアクセスできるのは、所有者の個人ノートだけです。チームスペース連携がアクセスできるのは、そのチームスペースに共有されたノートだけで、メンバーの個人ノートにはアクセスできません。
- チームスペース連携を作成できるのは、そのチームスペースの所有者だけです。
- API キーの参照範囲外にあるノートをリクエストすると
404が返ります。レスポンスからは、そのノートが存在するかどうかも分かりません。 - ノートが範囲外に出ると
note.deleted (reason: access_lost)が届き、一覧からも消えます。保存済みのコピーを削除するかアクセスを遮断してください。
スコープ(scope)
| スコープ | 付与される権限 |
|---|---|
| notes:read | ノートの一覧取得と、ノートのメタデータの読み取り。 |
| transcripts:read | 文字起こしのテキストと話者セグメントの読み取り。 |
| summaries:read | 要約(Markdown)の読み取り。 |
| webhooks:manage | 公開 API を通じた Webhook エンドポイントの作成・更新・削除・テスト。 |
連携に必要なスコープだけを付与してください。API キーに付与されていないスコープが必要なリクエストは 403 insufficient_scope で失敗します。
API のレート制限
- API キー 1 つにつき、1 分間に最大 120 リクエストを送信できます。上限を超えると
Retry-Afterヘッダー付きで429 rate_limitedが返ります。ヘッダーで示された時間以上待ってから再試行してください。 - ノート一覧全体を短い間隔で繰り返し取得する代わりに、Webhook と
updated_afterを使った増分同期を利用してください。 - ノート・文字起こし・要約のレスポンスに含まれる
ETagを保存し、次のリクエストのIf-None-Matchに指定してください。内容に変更がなければ本文なしの304が返り、不要なデータ転送を減らせます。
プライバシー
- 文字起こしと要約はユーザーコンテンツであり、個人情報が含まれる場合があります。連携に必要なデータだけを取得し、保存したデータは適切に保護してください。
- ノートの削除は必ず反映してください。
note.deletedを受け取ったら、理由にかかわらず保存済みのコピーを削除するかアクセスを遮断します。イベントを取りこぼす可能性があるため、定期的にノート一覧全体も確認してください。 - Webhook URL は公開された HTTPS エンドポイントである必要があります。プライベート・ループバック・クラウドメタデータのアドレスは拒否され、リダイレクトも追跡しません。
- API を利用するには、連携が属するワークスペースに有効なサブスクリプションが必要です。ない場合、リクエストは
403 plan_requiredで失敗します。 - Alt 自身がユーザーデータをどのように扱うかについては、プライバシーポリシー を参照してください。