동의 기록

POST /v1/users/{user_id}/consent-records · 권한 consent-records:write

귀하의 채널에서 얻은 동의를 기록합니다(method = management_api). 대상은 법률 문서(subject_type = document이며, 동의 목적은 아직 지원되지 않습니다)이고, state는 presented, accepted 또는 declined입니다. 버전, 콘텐츠 해시, 로케일은 문서에서 가져오므로 직접 지정할 수 없습니다. occurred_at은 기본적으로 현재 시각이며, 미래이거나 5분보다 오래된 시각일 수 없습니다. 기록은 추가만 가능하며 수정하거나 삭제할 수 없습니다.

요청

경로 매개변수:

필드 유형 필수 설명
user_id 문자열 예 사용자 ID(usr_…).

JSON 본문(알 수 없는 필드는 400 unknown_field로 거부됩니다):

필드 유형 필수 설명
Idempotency-Key 헤더 아니요 재시도 요청을 안전하게 만드는 선택 키(16~64자)입니다.
subject_type 문자열 예 document만 가능합니다.
subject_id 문자열 예 사용자가 확인한 법률 문서 ID(ldoc_…)입니다.
state 문자열 예 presented, accepted 또는 declined입니다.
application_id 문자열 | null 아니요 애플리케이션(app_…)입니다. 생략되고 문서가 애플리케이션 전용이면 문서의 애플리케이션이 기록됩니다.
occurred_at 문자열(date-time) 아니요 발생 시각입니다. 기본값은 현재 시각이며, 미래가 아니고 최대 5분 이내여야 합니다.

응답

동의 기록과 함께 201 Created를 반환합니다.

{
  "id": "crec_01j9xk3m7q8r2s4t6v8w0y2z4b",
  "user_id": "usr_01j9xk3m7q8r2s4t6v8w0y2z4c",
  "subject_type": "document",
  "subject_id": "ldoc_01j9xk3m7q8r2s4t6v8w0y2z4a",
  "subject_version": "2026-10",
  "content_sha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
  "locale": "en",
  "state": "accepted",
  "method": "management_api",
  "application_id": null,
  "occurred_at": "2026-10-05T09:31:12.004211Z"
}

오류

HTTP code 발생 시점
400 unknown_field 본문에 알 수 없는 필드가 있습니다.
404 not_found 이 환경에 사용자 또는 application_id가 없습니다. resource 확장은 누락된 항목을 user 또는 application으로 알려줍니다.
415 unsupported_media_type 콘텐츠 유형이 application/json이 아닙니다.
422 validation_failed 필드가 잘못되었습니다. 알 수 없는 문서(/subject_id, unknown_subject), subject_type: purpose(not_supported), 문서에 허용되지 않는 상태, 또는 범위를 벗어난 occurred_at입니다.
401 unauthenticated 자격 증명이 없거나 잘못되었거나 폐기되었습니다.
403 insufficient_permissions 자격 증명에 필요한 권한이 없습니다.
429 rate_limited 요청 한도를 초과했습니다. Retry-After 기간이 지난 후 다시 시도하십시오.
503 service_unavailable 종속 서비스를 일시적으로 사용할 수 없습니다. Retry-After 기간이 지난 후 다시 시도하십시오.

예제

curl -X POST https://api.eu.keenauth.com/v1/users/usr_01j9xk3m7q8r2s4t6v8w0y2z4c/consent-records \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"subject_type":"document","subject_id":"ldoc_01j9xk3m7q8r2s4t6v8w0y2z4a","state":"accepted"}'

개인정보

이 엔드포인트는 개인정보를 포함합니다: 동의 기록. KeenAuth API의 개인정보에서 저장되는 항목, 보관 기간, 삭제 방법을 설명합니다. 어떤 필드에도 특수 범주의 개인정보(건강, 생체 정보, 종교, 정치적 견해, 성적 지향)를 보내지 마십시오.