reason_code values are machine-readable explanations of the latest known platform outcome.
Use them to branch integration logic without depending on fragile free-form strings.
Processing lifecycle
awaiting_upload: the verification was created and is waiting for uploadprocessing: upload completion succeeded and background processing is underway
Authenticity and upstream lookup failures
source_verifier_not_configured: authenticity verification was required but unavailablesource_verification_failed: authenticity verification failed before extractionauthenticity_missing_qrcode: the document QR code was missing or unreadableauthenticity_source_missing: the document could not be verified by the configured authority adapterauthenticity_hash_mismatch: the uploaded file did not match the verified authority bytesfraud_hash_mismatch: the uploaded PDF differs from the verified authority bytesfraud_identity_mismatch: submitted credentials conflict with cached source dataauthenticity_lookup_failed: the upstream authenticity lookup failed operationally
Analysis and classification failures
local_analysis_failed: local analysis failed before decisioningdocument_type_unknown: the platform could not classify the uploaded documentmanual_review_required: the document needs review before a final outcome can be returned
Document-type-specific outcomes
For YOK_STUDENT, the current document-type-specific reason codes are:
verified_yok_student: the document passed authenticity, extraction, and decision rulesyok_student_structured_data_missing: structured extraction is missingyok_student_payload_invalid: structured extraction payload exists but is invalidyok_student_schema_invalid: schema validation failed
Integration guidance
- Store
reason_codealongside the top-level status in your system. - Use
reason_codefor support tooling and operator investigation. - Do not collapse authenticity failures into generic "processing failed" buckets.
- Expect the reference to grow as more document types are shipped.