Bir onay kaydet

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

Kendi kanalınızda elde ettiğiniz bir onayı kaydeder (method = management_api). Konu bir yasal belgedir (subject_type = document; onay amaçları henüz kullanılamıyor) ve state değeri presented, accepted veya declined olabilir. Sürüm, içerik karma değeri ve yerel ayar belgeden alınır; bunları siz sağlayamazsınız. occurred_at varsayılan olarak şimdiki zamandır; gelecekte olamaz ve 5 dakikadan eski olamaz. Kayıtlar yalnızca eklenebilir: hiçbir zaman güncellenmez veya silinmez.

İstek

Yol parametreleri:

Alan Tür Zorunlu Açıklama
user_id string evet Kullanıcı kimliği (usr_…).

JSON gövdesi (bilinmeyen alanlar 400 unknown_field ile reddedilir):

Alan Tür Zorunlu Açıklama
Idempotency-Key header hayır Yeniden denenen isteğin güvenli olmasını sağlayan isteğe bağlı anahtar (16-64 karakter).
subject_type string evet Yalnızca document.
subject_id string evet Kullanıcının gördüğü yasal belge kimliği (ldoc_…).
state string evet presented, accepted veya declined.
application_id string | null hayır Uygulama (app_…); atlanır ve belge uygulamaya özelse, belgenin uygulaması kaydedilir.
occurred_at string (date-time) hayır Olayın gerçekleştiği zaman; varsayılan olarak şimdi, gelecekte olamaz, en fazla 5 dakika eski olabilir.

Yanıt

Onay kaydıyla birlikte 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"
}

Hatalar

HTTP code Ne zaman
400 unknown_field Gövde bilinmeyen bir alan içeriyorsa.
404 not_found Kullanıcı veya application_id bu ortamda yoksa. Eksik olanı resource uzantısı belirtir: user veya application.
415 unsupported_media_type İçerik türü application/json değilse.
422 validation_failed Bir alan geçersizse: bilinmeyen belge (/subject_id, unknown_subject), subject_type: purpose (not_supported), belgeler için izin verilmeyen bir durum veya occurred_at aralık dışındaysa.
401 unauthenticated Kimlik bilgisi eksik, geçersiz veya iptal edilmişse.
403 insufficient_permissions Kimlik bilgisinde gerekli izin yoksa.
429 rate_limited Hız sınırı aşıldıysa; Retry-After süresinden sonra yeniden deneyin.
503 service_unavailable Bir bağımlılık geçici olarak kullanılamıyorsa; Retry-After süresinden sonra yeniden deneyin.

Örnek

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"}'

Kişisel veriler

Bu uç nokta kişisel veri içerir: onay kayıtları. KeenAuth API'lerinde kişisel veriler neyin saklandığını, ne kadar süre tutulduğunu ve nasıl silindiğini açıklar. Hiçbir alanda özel nitelikli kişisel verileri (sağlık, biyometrik veriler, din, siyasi görüşler, cinsel yönelim) göndermeyin.