構成リビジョンの復元

POST /v1/config-revisions/{revision_id}:restore · 権限 config:write、config:read、およびリビジョンの種類の読み取り権限

リビジョンを保存した適用を取り消す新しいプランを作成します。この時点ではまだ何も変更されません。プランを確認してから、POST /v1/config-plans/{plan_id}:apply で適用してください。ロールバックも他の変更と同じプラン → 適用の経路を通るため、同じ古さのチェック、削除の確認、シークレットと権限のルールが適用されます。

プランの対象はリビジョンです。

リビジョンにシークレットの値は含まれません。再作成される接続は、プランの適用時にクライアントシークレットが必要です(requires_secret、secret_required の警告)。元の適用によって変更されたシークレットは復元されません。

リクエスト

パラメータ 説明
revision_id リビジョンの ID(cfgr_…)。リビジョン一覧から取得します。

リクエストにボディはありません。空のボディ、{}、null は受け付けられ、どのフィールドも拒否されます。再試行を安全にするため、Idempotency-Key ヘッダーを送信してください。

レスポンス

201 Created。Location: /v1/config-plans/{plan_id} と Cache-Control: no-store 付き。ボディはプランで、プラン作成のレスポンスと同じ形式です。プランは 1 時間有効で、環境のプラン作成レート制限とプラン数の上限に計上されます。環境の管理ログの config_plan.created エントリに、このプランがこのリビジョン由来であることが記録されます。

エラー

HTTP code 発生条件
400 malformed_request、unknown_field ボディが空、{}、null のいずれでもありません。
401 unauthenticated 認証情報がない、無効、または失効しています。
403 insufficient_permissions 認証情報にプランが必要とする権限がありません。required_permissions にすべて列挙されます。
404 not_found リビジョンが存在しない、別の環境に属する、または 90 日より古いです。
413 config_document_too_large プランのドキュメントが 5,000 リソースまたは 10 MiB を超えます。
422 validation_failed リビジョンはもう復元できません。下記を参照してください。errors[].pointer はリビジョン内(/revision/<kind>/<key>/...)を指します。
429 rate_limited プランのレート制限または環境のプラン数の上限に達しました。Retry-After の時間が経過してから再試行してください。
503 service_unavailable プランの処理能力が上限に達しているか、依存先が一時的に利用できません。Retry-After の時間が経過してから再試行してください。
errors[].code 意味
not_restorable /revision_id: リビジョンが、もう存在しない種類を対象にしています。
invalid 保存された仕様が、現在の構成スキーマと一致しなくなりました。
unresolved_reference 復元されるリソースが、存在しなくなる key を参照しています。
key_in_use key が、構成で管理されていないアプリケーションまたは API に属するようになりました。
still_referenced /revision/created: 適用によって作成されたリソースが、残るリソースからまだ参照されています。

例

curl -X POST "https://api.eu.keenauth.com/v1/config-revisions/cfgr_01m4qpqtywfs7930tb6kqn5rc5:restore" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

keenauth config revisions restore cfgr_01m4qpqtywfs7930tb6kqn5rc5
keenauth config apply cfgp_01m4qpqtywfs7930tb6kqn5rc5