Onay kayıtlarını içe aktarın

POST /v1/jobs/consent-imports · izin consent-records:write

Yasal belgelerinizin, başka bir sistemde kaydedilmiş kabullerini içe aktarır; örneğin kullanıcıları KeenAuth'a taşıdığınızda. İstek eşzamanlıdır: tek bir işlemde 1–500 kayıt yazılır, dolayısıyla hepsi yazılır ya da hiçbiri yazılmaz. İçe aktarılan her kayıtta method = import bulunur ve occurred_at kaynak sistemdeki zamanı saklar. Sürüm, içerik karma değeri ve dil belgeden alınır; bunları siz sağlayamazsınız. İçe aktarılan kayıtlar, diğer tüm onay kayıtları gibi yalnızca eklenebilir. Şu anda alınmış tek bir kabulü kaydetmek için Onay kaydı oluşturun bölümünü kullanın.

Idempotency-Key zorunludur. Aynı anahtar ve istekle yeniden deneme, aynı yanıtı (Idempotent-Replayed: true ile) döndürür ve hiçbir şeyi ikinci kez yazmaz.

İstek

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

Alan Tür Zorunlu Açıklama
records object[] evet 1–500 kayıt, bu sırayla yazılır.
records[].user_id string evet Kullanıcı kimliği (usr_…).
records[].subject_type string evet Yalnızca document.
records[].subject_id string evet Yasal belge kimliği (ldoc_…).
records[].state string evet presented, accepted veya declined.
records[].application_id string | null hayır Uygulama (app_…); atlanır ve belge uygulamaya özgüyse belgenin uygulaması kaydedilir.
records[].occurred_at string (date-time) evet Kaynak sistemde gerçekleştiği zaman; gelecekte olamaz.

Yanıt

201 Created ile yazılan kayıtlar (records) girdi sırasıyla döndürülür.

{
  "imported_count": 1,
  "records": [
    {
      "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": "import",
      "application_id": null,
      "occurred_at": "2025-03-14T08:00:00Z"
    }
  ]
}

Hatalar

HTTP code Ne zaman
400 malformed_request, unknown_field Idempotency-Key başlığı eksik veya hatalı biçimde, gövde geçerli JSON değil ya da bilinmeyen bir alan içeriyor.
401 unauthenticated Kimlik bilgisi eksik, geçersiz veya iptal edilmiş.
403 insufficient_permissions Kimlik bilgisinde gerekli izin yok.
413 payload_too_large Gövde 1 MiB'tan büyük.
415 unsupported_media_type İçerik türü application/json değil.
422 validation_failed Bir kayıt geçersiz; errors[].pointer /records/<index>/<field>. Bilinmeyen kullanıcı unknown_user, bilinmeyen uygulama unknown_application, bilinmeyen belge unknown_subject hatasıdır; 1'den az veya 500'den fazla kayıt out_of_range ile /records hatasıdır. Hiçbir şey yazılmaz.
422 idempotency_key_reuse Idempotency-Key farklı bir istekle kullanıldı.
429 rate_limited Hız sınırı aşıldı; Retry-After süresinden sonra yeniden deneyin.
503 service_unavailable Bir bağımlılık geçici olarak kullanılamıyor; Retry-After süresinden sonra yeniden deneyin.

Örnek

curl -X POST https://api.eu.keenauth.com/v1/jobs/consent-imports \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"records":[{"user_id":"usr_01j9xk3m7q8r2s4t6v8w0y2z4c","subject_type":"document","subject_id":"ldoc_01j9xk3m7q8r2s4t6v8w0y2z4a","state":"accepted","occurred_at":"2025-03-14T08:00:00Z"}]}'

CLI: keenauth jobs consent-imports create --data records.json

Kişisel veriler

Bu uç nokta kişisel veri, yani onay kayıtları içerir. 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.