Start with a verification request
Your backend creates a verification with GSB_KYK_DORM and receives the signed upload target for the certificate PDF.
Use case
This flow fits products and operations teams that need to confirm whether a person is currently accommodated in a KYK dorm from an authentic E-Devlet sourced certificate, not from generic OCR guesses.
Workflow
The current dorm flow uses the same authenticity-first foundation as the rest of the public verification API, then applies a dorm-specific extraction and decision path.
Your backend creates a verification with GSB_KYK_DORM and receives the signed upload target for the certificate PDF.
The customer system sends the raw document bytes to storage through the signed upload target and confirms upload completion.
The worker validates the uploaded file, performs source verification, and extracts the dorm-specific schema only after authenticity passes.
The decision engine distinguishes verified accommodation, manual review cases, and rejected not-accommodated certificates using machine-readable reason codes.
Your backend receives a signed webhook and can reconcile student_in_dorm, extraction fields, and reason_code values over REST.
Structured data
The dorm flow is useful because it produces a business-oriented accommodation signal together with the surrounding person and location fields.
Decision model
Authenticity passed, the dorm schema validated, confidence cleared the threshold, and the certificate says the person is currently accommodated.
The document is authentic, but the extracted business fact says the person is not currently accommodated in a KYK dorm, so the result should be handled as a negative decision rather than a technical failure.
Authenticity passed, but the dorm-specific schema is incomplete or low-confidence and should stay in an operator-visible manual review path.
Related pages
Document-type behavior, extracted fields, and reason-code outcomes.
Read terminal status, reason_code, processing_result, and extraction_result over REST.
Consume signed terminal events and handle retries or replay safely.
Use this path for integration blockers, webhook issues, and operational troubleshooting.