
# 사용자 동의 해지

`DELETE /v1/users/{user_id}/consents/{consent_id}` · 권한 `users:write`

사용자가 애플리케이션에 부여한 OAuth 동의를 해지합니다. 해당 애플리케이션에 대한 사용자의 리프레시 토큰 패밀리가 해지되고, 호출 이전에 발급된 액세스 토큰은 introspection과 해지 확인에서 더 이상 허용되지 않습니다. 애플리케이션의 다음 인가 요청에서는 사용자에게 다시 동의를 요청합니다. 사용자의 세션과 다른 애플리케이션에는 영향을 주지 않습니다. 해지 내용은 관리 감사 로그에 `consent.revoked`로 기록됩니다.

이미 해지된 동의를 다시 해지하면 `404`가 반환됩니다.

## 요청

| 매개변수 | 위치 | 필수 여부 | 설명 |
|---|---|---|---|
| `user_id` | path | 예 | 사용자 ID이며, `usr_` 접두사가 붙습니다. |
| `consent_id` | path | 예 | 동의 ID이며, `cns_` 접두사가 붙습니다([사용자 동의 목록 조회](list-consents.md)에서 확인할 수 있습니다). |

## 응답

`204 No Content`를 반환합니다.

## 오류

모든 오류는 안정적인 `code`를 포함한 `application/problem+json` 본문으로 반환됩니다.

| HTTP | `code` | 발생 조건 |
|---|---|---|
| 404 | `not_found` | 이 환경에 사용자가 없거나, 동의가 없거나, 다른 사용자의 동의이거나, 이미 해지된 동의입니다. |
| 401 | `unauthenticated` | API 키가 없거나 유효하지 않거나 폐기되었습니다. |
| 403 | `insufficient_permissions` | API 키에 `users:write` 권한이 없습니다. |
| 429 | `rate_limited` | 요청 한도를 초과했습니다. `Retry-After`를 따르십시오. |
| 503 | `service_unavailable` | 종속 서비스를 일시적으로 사용할 수 없습니다. 나중에 다시 시도하십시오. |

## 예시

```bash
curl -X DELETE https://api.eu.keenauth.com/v1/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p/consents/cns_01jb2k8m5c3f6t9w2y4b7d0g3k \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

CLI: `keenauth users consents delete usr_0a1b2c3d4e5f6g7h8j9k0m1n2p cns_01jb2k8m5c3f6t9w2y4b7d0g3k --yes`

## 개인정보

이 엔드포인트는 개인정보, 즉 동의 기록을 다룹니다. [KeenAuth API의 개인정보](/docs/policies/personal-data)에서 저장되는 항목, 보관 기간, 삭제 방법을 확인하십시오. 어떤 필드에도 민감정보(건강, 생체 정보, 종교, 정치적 견해, 성적 지향)를 보내지 마십시오.
