認証

POST /partner-applications*とPOST /api-keys/bootstrapを除き、保護されたすべてのAPIルートでBearerキーが必要です。キーはサーバーに保管し、最小権限を適用してください。詳しくはセキュリティのベストプラクティスを参照してください。

リクエストヘッダー

ヘッダー必須例備考
AuthorizationはいBearer nsp_live_xxxBearer APIキー。すべての保護ルートで必須です。
X-NU-Partner-Idいいえorg_xxx任意のアサーションです。指定する場合はキーから導出された組織と一致する必要があります。
X-NU-Request-Idいいえreq_01HQ...トレースと対応する冪等書き込み用の任意の安定したリクエストIDです。
Accept-Languageいいえja-JP, en;q=0.8人が読むAPIエラーメッセージの言語を選択します。未対応または省略時は英語にフォールバックします。
curl "https://signal-partners.newunivers.ai/v1/catalog/titles" \
  -H "Authorization: Bearer nsp_live_xxxxxxxxxxxx" \
  -H "X-NU-Partner-Id: org_acme" \
  -H "X-NU-Request-Id: req_01HQABCDEF" \
  -H "Accept-Language: ja-JP, en;q=0.8"

Accept-Languageが影響するのは人が読むメッセージだけです。選択された言語はContent-Languageで確認し、キャッシュはVary: Accept-Languageに従う必要があります。安定したerror.codeとdetails[].issueトークンは言語によって変わりません。

Content-Language: ja
Vary: Accept-Language

Bearerキー

発行されたキーをそのまま送信してください。キーは一度だけ表示され、ブラウザコード、URL、ログには絶対に入れないでください。詳しくはAPIキーを参照してください。

X-NU-Partner-Id

組織はAPIキーから安全に導出されます。一致しないアサーションはinvalid_api_keyとして拒否されます。明示的な整合性確認が必要な場合を除き、このヘッダーは省略してください。

X-NU-Request-Id

ログを関連付けるため安定した値を指定してください。APIはその値をerror.request_idとして返します。また、POST /playback/tokens、POST /licenses/requests、POST /api-keys/{id}/rotateで冪等性を提供します。完了済みリクエストの再試行は元のレスポンスを再生し、処理中の同時重複は409 conflictを返します。

認証・認可エラー

状況HTTPerror.code
キーがない、または形式不正401invalid_api_key
不明、期限切れ、または環境不一致のキー401invalid_api_key
失効したキー401api_key_revoked
必要なスコープがない403missing_scope
Production専用ルートでSandboxキーを使用403production_key_required
組織が未承認403organization_not_approved
権利、地域、またはエピソードが未認可403license_not_active / territory_not_allowed / episode_not_licensed

401は認証情報自体が使用できないことを示します。403はキーが認識されているものの、この操作の権限がないことを示します。詳しくはエラーコードを参照してください。

スコープ

スコープ権限
catalog:read表示可能なカタログのタイトル、Experience、エピソードを読み取ります。
license:read見積もりを依頼し、ライセンス契約を読み取ります。
license:writeライセンスリクエストを作成します。
api_keys:readシークレットなしでAPIキーを一覧表示します。
api_keys:writeAPIキーを作成、更新、ローテーション、失効します。
playback:token再生トークンを作成し、セッションを確認または失効します。
events:write単一またはバッチのイベントを送信します。
settlement:readProduction精算書と明細を読み取ります。
settlement:dispute精算への異議を申し立てます。

ワークロードごとにキーを分け、各コンポーネントに必要なスコープだけを付与してください。api_keys:writeは再生・イベントのランタイムキーではなく、保管庫に保存した運用キーだけに付与します。