API 키 교체

POST /v1/api-keys/{key_id}:rotate · 권한 api-keys:write · 선택 사항 Idempotency-Key

키를 교체합니다. 같은 이름, 유형, 권한 및 allowed_cidrs를 가진 새 키를 생성하여 반환합니다. 기존 키는 overlap_hours 동안 계속 유효하며, 그 이후에는 작동하지 않습니다.

요청

매개변수 위치 설명
key_id path API 키 ID(key_…).

본문:

본문은 선택 사항입니다. 본문을 생략하면 모든 기본값이 적용됩니다.

필드 유형 설명
overlap_hours integer 선택 사항, 0–168, 기본값 24. 기존 키가 유효한 상태로 유지되는 시간(시간 단위)입니다.
expires_at string (date-time) 선택 사항. 새 키의 만료 시점입니다. 기본값은 현재 시각부터 365일 후이며, 호출 키의 만료 시점 이하이고 최대 730일 이내여야 합니다.

응답

200 OK와 Cache-Control: no-store가 반환됩니다. 새 키 객체와 key가 포함됩니다.

{
  "id": "key_0000000000000000000000001z",
  "name": "ci",
  "type": "restricted",
  "permissions": ["users:read"],
  "allowed_cidrs": [],
  "last4": "xxxx",
  "created_by": "key_…",
  "created_at": "2026-10-01T10:00:00Z",
  "expires_at": "2027-10-01T10:00:00Z",
  "last_used_at": null,
  "last_used_ip": null,
  "rotated_from": "key_…",
  "revoked_at": null,
  "revoke_reason": null,
  "key": "<shown once>"
}

오류

HTTP code 발생 조건
401 unauthenticated 키가 없거나, 잘못되었거나, 폐기되었습니다.
403 insufficient_permissions 키에 필요한 권한이 없습니다.
403 permission_escalation 요청이 호출 키보다 많은 권한, 더 넓은 네트워크 범위 또는 더 늦은 만료 시점을 키에 부여하려고 하거나, restricted 키가 자신의 권한을 넘어 생성, 교체 또는 폐기를 시도하거나, 다른 키가 대시보드에서 생성된 키를 교체 또는 폐기하려고 합니다.
404 not_found 이 환경에 키가 존재하지 않습니다.
409 conflict 키가 이미 폐기, 만료 또는 교체되어 활성 상태가 아닙니다.
409 api_key_limit_reached 환경에 이미 활성 키가 최대 개수인 50개 있습니다.
422 validation_failed 본문이 잘못되었습니다. overlap_hours가 0–168 범위를 벗어나거나, expires_at이 과거이거나 730일을 초과하여 미래에 있습니다.

예시

curl -X POST "https://api.eu.keenauth.com/v1/api-keys/key_0000000000000000000000001z:rotate" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"overlap_hours":24}'