Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
7 changes: 5 additions & 2 deletions specs/v3/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -342,7 +342,7 @@
status: Internal Server Error
message: An unexpected error occurred. Please try again or contact support.
/v3/aml/monitoring/{job_id}/news/{reference}:
get:

Check warning on line 345 in specs/v3/openapi.yaml

View workflow job for this annotation

GitHub Actions / validate

operation-description Operation "description" must be present and non-empty string.
operationId: getAmlMonitoringNews
tags:
- AML Monitoring News
Expand Down Expand Up @@ -2783,7 +2783,10 @@
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:
Expand Down Expand Up @@ -6111,7 +6114,7 @@
- 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:
Expand Down
7 changes: 5 additions & 2 deletions specs/v3/v3-residency-document-verification-entry.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand Down
Loading