구성 리비전 복원

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