메타데이터 업데이트

PATCH /fapi/v1/me/metadata · 환경의 로그인 호스트에서 호출

인증된 사용자의 user_metadata에 RFC 7396 병합 패치를 적용합니다. app_metadata는 이 엔드포인트에서 쓸 수 없습니다. 결과는 최대 16 KiB, 깊이 5, 최상위 키 100개까지 허용됩니다. 사용자의 __Host-idp_session 쿠키가 필요하며 최근 재인증은 필요하지 않습니다. 다른 출처의 자사 앱은 대신 프런트 API 액세스 토큰(DPoP 증명과 함께 Authorization: DPoP <token>)을 보낼 수 있습니다. 프런트 API 액세스 토큰을 참조하세요.

요청

헤더:

헤더 필수 설명
Idp-Client 예 SDK 식별자입니다.
Origin 예 정확히 https://<sign-in host>이어야 합니다.
If-Match 아니요 선택 사항입니다. 이전 응답의 ETag(또는 *)이며, 프로필이 아직 해당 버전일 때만 변경됩니다.

본문(application/merge-patch+json 또는 application/json): 병합 패치 자체이며 JSON 객체입니다. 값이 null인 키는 제거되며, 중첩 객체는 병합됩니다.

{
  "theme": null,
  "preferences": {
    "newsletter": false
  }
}

응답

업데이트된 프로필(GET /fapi/v1/me와 같은 필드)과 새 ETag가 포함된 200 OK입니다.

오류

상태 코드 발생 조건
400 malformed_request 본문이 JSON 객체가 아니거나 If-Match 헤더 형식이 잘못되었습니다.
401 unauthenticated 유효한 세션 쿠키가 없습니다.
403 origin_not_allowed Origin이 없거나 잘못되었습니다.
404 not_found 계정을 읽을 수 없습니다(예: 차단되었거나 삭제 중인 경우).
412 precondition_failed If-Match가 현재 버전과 일치하지 않습니다. 아무것도 변경되지 않았습니다.
413 payload_too_large 본문이 16 KiB를 초과합니다.
415 unsupported_media_type 지원하지 않는 Content-Type입니다.
422 validation_failed 패치가 비어 있거나 결과가 한도(too_large, too_many_keys)를 초과합니다. 포인터는 본문 루트입니다.
503 service_unavailable 사용자 디렉터리를 일시적으로 사용할 수 없습니다. Retry-After초 후에 다시 시도하세요.

예제

curl -X PATCH https://example.keenauth.app/fapi/v1/me/metadata \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -H "Content-Type: application/merge-patch+json" \
  -b cookies.txt \
  -d '{"theme":null}'

개인정보

이 엔드포인트는 개인정보를 포함합니다: 최종 사용자 프로필. KeenAuth API의 개인정보에서 저장되는 항목, 보관 기간, 삭제 방법을 확인하세요. 어떤 필드에도 민감정보(건강, 생체 정보, 종교, 정치적 견해, 성적 지향)를 보내지 마세요.