Forward API リファレンス。
説明
指定した Vault にある active 状態の Credential をその場で更新します。リクエストは Merge Patch 形式で、指定しないフィールドは現在の値を維持します。そのため、Credential を作り直さずにシークレットをローテーションできます。Forward は、呼び出し元が所属する Vault への書き込み権限を持つことを確認します。機密性の高い認証フィールドは書き込み専用で、レスポンスには返されません。
パス
POST /api/v1/forward/vaults/{id}/credentials/{cred_id}
リクエストヘッダー
| ヘッダー | 必須 | 説明 |
|---|---|---|
Authorization | はい | Bearer <PAT または SAT> |
Content-Type | はい | application/json |
パスパラメーター
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
id | string | はい | Vault ID。 |
cred_id | string | はい | Credential ID。 |
クエリパラメーター
| Parameter | Type | Required | Description |
|---|---|---|---|
identity_id | string | No | Identity に属するリソースを操作する場合のみ使用する任意のパラメーターです。PAT では明示的に指定でき、省略時は管理者スコープになります。SAT では Identity スコープのトークンを発行し、このパラメーターを明示的に指定しないでください。指定すると HTTP 400 が返されます。Identity の帰属. |
リクエストボディ
リクエストは部分更新セマンティクスを使用します。auth と metadata のみを受け付け、少なくとも 1 つのフィールドが必要です。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
auth | object | いいえ | 現在の Credential タイプの認証情報を部分更新します。指定する場合は、現在のタイプと一致する type が必要です。 |
metadata | object | null | いいえ | 既存の metadata に Merge Patch を適用します。オブジェクト内の null は対応するキーを削除し、トップレベルの null は metadata 全体を消去します。created_by は予約済みで、更新できません。 |
secret_name、および OAuth refresh 設定の client_id と token_endpoint は、このエンドポイントでは変更できません。
static_bearer
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
type | string | はい | static_bearer 固定。 |
token | string | いいえ | Bearer token を置き換えます。書き込み専用で、レスポンスには返されません。 |
mcp_oauth
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
type | string | はい | mcp_oauth 固定。 |
access_token | string | いいえ | Access token を置き換えます。 |
expires_at | string | null | いいえ | RFC 3339 形式の時刻。null で有効期限を消去します。 |
refresh | object | いいえ | 既存の refresh 設定を部分更新します。refresh 設定がない Credential に新しく追加することはできません。 |
refresh オブジェクトでサポートされるフィールド:
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
refresh_token | string | いいえ | Refresh token を置き換えます。 |
scope | string | null | いいえ | Scope を置き換えるか消去します。 |
token_endpoint_auth | object | いいえ | Token endpoint の認証設定を更新します。 |
environment_variable
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
type | string | はい | environment_variable 固定。 |
secret_value | string | いいえ | シークレット値を置き換えます。書き込み専用で、レスポンスには返されません。 |
リクエスト例
レスポンス例
HTTP 200 OK
Credential の更新は書き込み専用です。クライアントが成功レスポンスを受け取れなかった場合、その後の GET ではマスクされた状態しか取得できず、新しいシークレットが有効になったかどうかを確認できません。シークレット更新を自動的に再試行しないでください。
エラー
| HTTP | Type | 発生条件 |
|---|---|---|
| 400 | invalid_request_error | リクエストボディまたはパスパラメーターが無効です。更新可能なフィールドがない、未サポートのフィールドがある、auth.type がないか現在のタイプと一致しない、フィールド値が無効、refresh 設定がない Credential の refresh を更新しようとした場合などが含まれます。 |
| 400 | invalid_request_error | 予約済みキー created_by を指定した場合、message は metadata key "created_by" is reserved になります。 |
| 401 | authentication_error | 認証トークンがないか、無効です。 |
| 403 | permission_error | 呼び出し元には所属する Vault または Credential へのアクセス権がありません。 |
| 404 | not_found_error | Vault または Credential が存在しないか、表示できません。 |
| 409 | conflict_error | Vault または Credential がアーカイブ済みか、リソースの状態が競合しています。 |
| 500/502/503 | api_error | Forward または依存サービスでエラーが発生しました。 |
Credential リクエストの認証情報は機密データです。一部の詳細な検証メッセージは統一されたマスク済みメッセージに置き換えられますが、HTTP ステータスとエラー type は変わりません。

