同意を記録する

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 string はい ユーザー ID(usr_…)。

JSON ボディ(不明なフィールドは 400 unknown_field で拒否されます):

フィールド 型 必須 説明
Idempotency-Key header いいえ 再試行されたリクエストを安全にするための任意のキー(16〜64 文字)。
subject_type string はい document のみ。
subject_id string はい ユーザーが確認した法的文書の ID(ldoc_…)。
state string はい presented、accepted、declined のいずれか。
application_id string | null いいえ アプリケーション(app_…)。省略され、文書がアプリケーション固有の場合は、文書のアプリケーションが記録されます。
occurred_at string (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)、文書では許可されない state、または 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 の個人データでは、保存される内容、保持期間、削除方法について説明しています。どのフィールドにも特別な種類の個人データ(健康、生体情報、宗教、政治的意見、性的指向)を送信しないでください。