API 키 폐기

POST /v1/api-keys/{key_id}:revoke · 권한 api-keys:write · 선택적 Idempotency-Key

키를 즉시 폐기합니다. 폐기는 되돌릴 수 없으며 키는 늦어도 30초 안에 거부됩니다. 중첩 기간이 끝나지 않은 교체된 키도 즉시 폐기됩니다. 대시보드에서 생성된 키와 여기서 교체된 모든 키는 자신이 대시보드에서만 폐기할 수 있습니다(permission_escalation).

요청

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

본문:

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

필드 형식 설명
reason string 선택. manual(기본값) 또는 leaked.

응답

200 OK. revoked_at과 revoke_reason이 설정된 키 객체.

{
  "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": null,
  "revoked_at": "2026-10-02T10:00:00Z",
  "revoke_reason": "leaked"
}

오류

HTTP code 발생 조건
401 unauthenticated 키가 없거나 유효하지 않거나 폐기되었습니다.
403 insufficient_permissions 키에 필요한 권한이 없습니다.
403 permission_escalation 요청이 호출 키보다 더 많은 권한, 더 넓은 네트워크 범위 또는 더 늦은 만료를 키에 부여하게 되거나, restricted 키가 자신의 권한을 넘어 생성, 교체 또는 폐기하려 하거나, 다른 키가 대시보드에서 생성된 키를 교체 또는 폐기하려고 합니다.
404 not_found 이 환경에 해당 키가 없습니다.
409 conflict 키가 이미 폐기되었습니다.
422 validation_failed 본문이 잘못되었습니다. reason이 manual 또는 leaked가 아닙니다.

예시

curl -X POST "https://api.eu.keenauth.com/v1/api-keys/key_0000000000000000000000001z:revoke" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"reason":"leaked"}'