From 359e8f56ff38e5279a794b2838f1d07af8250e09 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 22 Oct 2026 15:42:32 +0000 Subject: [PATCH] chore: update v3 OpenAPI specs to v3.1057.0 --- CHANGELOG.md | 7 +++++++ specs/v3/openapi.yaml | 7 +++++-- specs/v3/v3-residency-document-verification-entry.yaml | 7 +++++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 739dd3d..c19d631 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [Unreleased] +## [v3.1057.0] - 2026-10-22 + +### Changed +- Updated `openapi` +- Updated `v3-residency-document-verification-entry` + + ## [v3.1054.0] - 2026-10-22 ### Changed diff --git a/specs/v3/openapi.yaml b/specs/v3/openapi.yaml index 8fbef8c..b7c840e 100644 --- a/specs/v3/openapi.yaml +++ b/specs/v3/openapi.yaml @@ -2783,7 +2783,10 @@ paths: post: summary: Residency Document Verification result callback description: >- - The standard Document Verification callback body, plus an `additional_documents` array carrying what was read from the visa. Only this product sends that key; plain and Enhanced Document Verification omit it entirely. The array is populated only when the job reaches `clear` or `attention` — on `block` or `error` the key is present but empty, matching how `id_fields` is suppressed on a failed outcome. Only the visa-specific part of the body is specified here; every other field matches the Document Verification callback. It also carries `match_fields`, comparing the visa with the passport; a mismatch blocks the job with reason `cross_document_mismatch`. + The standard Document Verification callback body, plus an `additional_documents` array carrying what was read from the visa. Only this product sends that key; plain and Enhanced Document Verification omit it entirely. The array is populated only when the job reaches `clear` or `attention` — on `block` or `error` the key is present but empty, matching how `id_fields` is suppressed on a failed outcome. Only the visa-specific part of the body is specified here; every other field matches the Document Verification callback. It also carries `match_fields`, comparing the visa with the passport; a mismatch blocks the job with reason `cross_document_mismatch` when both fields differ, `cross_document_name_mismatch` when the visa carries only a name and it differs, or `cross_document_id_number_mismatch` when the visa carries only an ID number and it differs. + + + The reason says which document caused the outcome. `document_check_failed`, `document_expired` and `document_copy_detected` are about the passport alone. A rejected visa blocks with `visa_check_failed`. An expired visa returns `attention` with `visa_expired`, and a photocopied visa with `visa_copy_detected`. When both documents have expired the reason is `document_visa_expired`, and when both are photocopies it is `document_visa_copy_detected`. Expiry is reported ahead of a photocopy. requestBody: required: true content: @@ -6111,7 +6114,7 @@ components: - SINGLE_FIELD_MATCH - FIELD_NOT_PRESENT description: >- - The two field results rolled up. `MATCH` clears; `PARTIAL_MATCH` (one of two fields matches), `SINGLE_FIELD_MATCH` (the visa carries one field and it matches) and `FIELD_NOT_PRESENT` (the visa carries neither) return `attention` with reasons `cross_document_partial_match`, `cross_document_single_field_match` and `cross_document_fields_not_present`. `NO_MATCH` blocks the job with reason `cross_document_mismatch`, so it is never seen here. + The two field results rolled up. `MATCH` clears; `PARTIAL_MATCH` (one of two fields matches), `SINGLE_FIELD_MATCH` (the visa carries one field and it matches) and `FIELD_NOT_PRESENT` (the visa carries neither) return `attention` with reasons `cross_document_partial_match`, `cross_document_single_field_match` and `cross_document_fields_not_present`. `NO_MATCH` blocks the job with reason `cross_document_mismatch`, `cross_document_name_mismatch` or `cross_document_id_number_mismatch`, so it is never seen here. id_number_to_visa_match: $ref: '#/components/schemas/FieldMatch' last_name_match: diff --git a/specs/v3/v3-residency-document-verification-entry.yaml b/specs/v3/v3-residency-document-verification-entry.yaml index aaa5fe3..7512954 100644 --- a/specs/v3/v3-residency-document-verification-entry.yaml +++ b/specs/v3/v3-residency-document-verification-entry.yaml @@ -114,7 +114,10 @@ paths: post: summary: Residency Document Verification result callback description: >- - The standard Document Verification callback body, plus an `additional_documents` array carrying what was read from the visa. Only this product sends that key; plain and Enhanced Document Verification omit it entirely. The array is populated only when the job reaches `clear` or `attention` — on `block` or `error` the key is present but empty, matching how `id_fields` is suppressed on a failed outcome. Only the visa-specific part of the body is specified here; every other field matches the Document Verification callback. It also carries `match_fields`, comparing the visa with the passport; a mismatch blocks the job with reason `cross_document_mismatch`. + The standard Document Verification callback body, plus an `additional_documents` array carrying what was read from the visa. Only this product sends that key; plain and Enhanced Document Verification omit it entirely. The array is populated only when the job reaches `clear` or `attention` — on `block` or `error` the key is present but empty, matching how `id_fields` is suppressed on a failed outcome. Only the visa-specific part of the body is specified here; every other field matches the Document Verification callback. It also carries `match_fields`, comparing the visa with the passport; a mismatch blocks the job with reason `cross_document_mismatch` when both fields differ, `cross_document_name_mismatch` when the visa carries only a name and it differs, or `cross_document_id_number_mismatch` when the visa carries only an ID number and it differs. + + + The reason says which document caused the outcome. `document_check_failed`, `document_expired` and `document_copy_detected` are about the passport alone. A rejected visa blocks with `visa_check_failed`. An expired visa returns `attention` with `visa_expired`, and a photocopied visa with `visa_copy_detected`. When both documents have expired the reason is `document_visa_expired`, and when both are photocopies it is `document_visa_copy_detected`. Expiry is reported ahead of a photocopy. requestBody: required: true content: @@ -563,7 +566,7 @@ components: type: string enum: [MATCH, PARTIAL_MATCH, NO_MATCH, SINGLE_FIELD_MATCH, FIELD_NOT_PRESENT] description: >- - The two field results rolled up. `MATCH` clears; `PARTIAL_MATCH` (one of two fields matches), `SINGLE_FIELD_MATCH` (the visa carries one field and it matches) and `FIELD_NOT_PRESENT` (the visa carries neither) return `attention` with reasons `cross_document_partial_match`, `cross_document_single_field_match` and `cross_document_fields_not_present`. `NO_MATCH` blocks the job with reason `cross_document_mismatch`, so it is never seen here. + The two field results rolled up. `MATCH` clears; `PARTIAL_MATCH` (one of two fields matches), `SINGLE_FIELD_MATCH` (the visa carries one field and it matches) and `FIELD_NOT_PRESENT` (the visa carries neither) return `attention` with reasons `cross_document_partial_match`, `cross_document_single_field_match` and `cross_document_fields_not_present`. `NO_MATCH` blocks the job with reason `cross_document_mismatch`, `cross_document_name_mismatch` or `cross_document_id_number_mismatch`, so it is never seen here. id_number_to_visa_match: $ref: '#/components/schemas/FieldMatch' last_name_match: