Use GSB_KYK_DORM when your integration expects a KYK dorm or accommodation certificate.
This is a document-specific verification path. It verifies authenticity first, then applies the KYK dorm extraction and decision rules.
Request shape
Pass the document type at verification creation time:
{
"document_type": "GSB_KYK_DORM",
"process_type": "async",
"external_reference_id": "dorm-12345",
"original_filename": "belge.pdf",
"file_size_bytes": 160585
}
The same signed-upload flow still applies:
- create the verification
- upload the PDF to the signed URL
- call
upload-complete - wait for webhook delivery or fetch the verification result
What is verified
Current product behavior is authenticity-first:
- the worker validates the uploaded bytes
- the platform performs authenticity checks through its configured authority adapter
- the dorm-specific extraction path runs only after authenticity succeeds
If the uploaded file does not pass authenticity checks, do not trust the extracted accommodation data.
Structured data fields
The shipped schema version is 1.1.0.
Current normalized payload fields:
namelast_namefather_namemother_namebirth_datecitycountydorm_nameregistered_datestudent_in_dorm
Integration note:
student_in_dormis the key business field for this document type- when
student_in_dormistrue, the validation rules requirecity,county,dorm_name, and a validregistered_date - when the certificate states the person is not currently accommodated, those dorm-specific values can be less informative even though the document itself may still be authentic
Expected result behavior
GSB_KYK_DORM can currently finish in three different terminal shapes:
verified
The document finishes as verified when:
- authenticity is verified
- structured data exists and can be decoded
- schema validation passes
- confidence is above the automatic verification threshold
student_in_dormistrue
Terminal reason code:
verified_gsb_kyk_dorm
review_required
The document falls back to review_required when the dorm-specific extraction path is incomplete or unreliable.
Current review-oriented reason codes:
gsb_kyk_dorm_structured_data_missinggsb_kyk_dorm_payload_invalidgsb_kyk_dorm_schema_invalidgsb_kyk_dorm_low_confidence
rejected
The document can finish as rejected when authenticity succeeds but the certificate says the person is not currently accommodated in a KYK dorm.
Terminal reason code:
gsb_kyk_dorm_not_accommodated
General authenticity failures can still occur before those dorm-specific outcomes, for example:
source_verification_failedauthenticity_missing_qrcodeauthenticity_source_missingauthenticity_hash_mismatchauthenticity_lookup_failed
Example normalized payload
{
"name": "Jane",
"last_name": "Customer",
"father_name": "Mehmet",
"mother_name": "Ayse",
"birth_date": "2002-04-18",
"city": "Ankara",
"county": "Cankaya",
"dorm_name": "Example KYK Dorm",
"registered_date": "2023-09-20",
"student_in_dorm": true
}
Integration guidance
- Persist
reason_codetogether with top-levelstatus. - Treat
student_in_dormas the business outcome field for downstream workflows. - Handle
rejectedseparately fromreview_required; they mean different things. - Keep authenticity failures distinct from dorm-status failures in your support tooling.
- Use separate sandbox and production apps, keys, and webhook URLs.