APIキー認証
すべてのOpen APIリクエストには、Bearerトークン形式のAPIキーが必要です。
Authorization: Bearer osk_megamart_a1b2c3d4e5f6g7h8...
APIキーの発行
前提条件
- テナント管理者(admin)権限が必要
- 管理画面で該当テナントのOpen APIが有効化されていること
発行手順
- テナントページに管理者としてログイン
- プロフィールメニューから Open API をクリック
- 新しいAPIキーを発行 ボタンをクリック
- キー名と有効期限を選択
- 発行されたキーを安全な場所にコピー
APIキーは発行時に一度だけ表示されます。後から再確認することはできないため、必ず安全な場所に保管してください。
有効期限オプション
7日、14日、30日、60日、90日、180日、365日、無期限
キーの失効
使用しなくなったキーは直ちに失効させてください:
- Open APIページでキー一覧を確認
- 該当キーの 失効 ボタンをクリック
- 確認モーダルで 失効 を選択
APIキーは失効完了直後にすべての使用が停止されるため、失効前に該当キーと連携しているアプリケーションがないか確認し、新しいキーを発行・適用してください。
キータイプ
APIキーは用途に応じて2種類で発行され、アクセス可能なエンドポイントが分離されます。
| タイプ | プレフィックス | 用途 | アクセス可能 | 遮断 |
|---|
| Client SDK | osk_ | iOS/Android、Webなどのクライアント | persona, chat/, events, data | chat/completions |
| REST API | osr_ | サーバー間連携 | chat/completions | persona, chat/, events, data |
GET /v1/models は共通エンドポイントで、キータイプによって返されるモデルが異なります。
テナントのOpen APIページでの発行時に、タブでタイプを選択します。
誤ったキータイプでエンドポイントにアクセスすると 403 Forbidden が返されます。
スコープ (Scopes)
キータイプによって割り当てられるスコープが異なります。
Client SDK (osk_)
| スコープ | アクセス可能なエンドポイント |
|---|
persona | /v1/persona/** |
chat | /v1/chat/{persona_id}/** |
data_ingest | /v1/data/events |
REST API (osr_)
| スコープ | アクセス可能なエンドポイント |
|---|
chat | /v1/chat/completions |
analytics | /v1/usage |
| エンドポイント | 説明 |
|---|
/v1/models | キータイプに応じた利用可能モデルを返却 |
エラーレスポンス
| HTTPコード | 原因 |
|---|
| 401 | APIキー未指定、無効なキー、期限切れキー |
| 403 | Open API無効化テナント、スコープ不足 |
{
"success": false,
"message": "Invalid or expired API key"
}
セキュリティ推奨事項
- APIキーをソースコードに直接含めないでください
- 環境変数またはシークレットマネージャを使用してください
- iOSアプリの場合はKeychainに保存してください
- サーバー側では環境変数で管理してください
- 不要なキーは直ちに失効させてください