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.