{
    "openapi": "3.0.4",
    "info": { "title": "Document Verification API v3 (Cloud)","description": "OpenAPI schema for the Document Verification API v3 (Cloud)","version": "v3" },
    "paths": {
        "/api/v3/verify": {
            "post": {
                "summary": "Verify a document",
                "operationId": "v3_verify",
                "requestBody": {
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "required": [ "consent" ],
                                "type": "object",
                                "oneOf": [
                                    {
                                        "required": [ "imageFirstSide" ],
                                        "not": {
                                            "anyOf": [
                                                { "required": [ "imageSecondSide" ] },
                                                { "required": [ "imageBarcode" ]    }
                                            ]
                                        }
                                    },
                                    {
                                        "required": [ "imageFirstSide","imageSecondSide" ],
                                        "not": {
                                            "anyOf": [
                                                { "required": [ "imageBarcode" ] }
                                            ]
                                        }
                                    },
                                    { "required": [ "imageFirstSide","imageSecondSide","imageBarcode" ] }
                                ],
                                "properties": {
                                    "imageFirstSide": {
                                        "maxLength": 26214400,
                                        "type": "string",
                                        "description": "JPEG or PNG image, at most 25 MiB. Runtime validation also enforces decoded dimensions and aspect ratio.",
                                        "format": "binary"
                                    },
                                    "imageSecondSide": {
                                        "maxLength": 26214400,
                                        "type": "string",
                                        "description": "JPEG or PNG image, at most 25 MiB. Runtime validation also enforces decoded dimensions and aspect ratio.",
                                        "format": "binary"
                                    },
                                    "imageBarcode": {
                                        "maxLength": 26214400,
                                        "type": "string",
                                        "description": "JPEG or PNG image, at most 25 MiB. Runtime validation also enforces decoded dimensions and aspect ratio.",
                                        "format": "binary"
                                    },
                                    "traceId": { "maxLength": 256,"type": "string" },
                                    "configuration": {
                                        "allOf": [ { "$ref": "#/components/schemas/DocumentVerificationConfiguration" } ],
                                        "description": "Configuration object for the verification endpoint."
                                    },
                                    "consent": { "$ref": "#/components/schemas/Consent" }
                                },
                                "additionalProperties": false,
                                "description": "Supported image combinations are first side; first and second side; or first side, second side, and barcode."
                            },
                            "encoding": {
                                "imageFirstSide" : { "contentType": "image/jpeg, image/png" },
                                "imageSecondSide": { "contentType": "image/jpeg, image/png" },
                                "imageBarcode"   : { "contentType": "image/jpeg, image/png" },
                                "configuration"  : { "contentType": "application/json"      },
                                "consent"        : { "contentType": "application/json"      }
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Document verification response",
                        "content": {
                            "application/json": { "schema": { "$ref": "#/components/schemas/DocumentVerificationResponse" } }
                        }
                    },
                    "400": {
                        "description": "Invalid request.",
                        "content": {
                            "application/json": {
                                "schema": { "$ref": "#/components/schemas/V3ValidationErrorResponse" },
                                "example": {
                                    "message": "Invalid parameter in request.",
                                    "errors": [
                                        {
                                            "code": "InvalidParameter",
                                            "path": "verification.settings.screenPresenceSensitivity",
                                            "reason": "This parameter is invalid for the V3 multipart request schema."
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication failed. A hosted Gateway challenge can have an empty body; direct Worker license failures return the documented JSON diagnostic body.",
                        "content": {
                            "application/json": {
                                "schema": { "$ref": "#/components/schemas/V3WorkerErrorResponse" },
                                "example": { "message": "License is locked or server permission is not granted.","reason": "Remote lock denied by the license server." }
                            }
                        }
                    },
                    "403": {
                        "description": "The active license does not allow document verification.",
                        "content": {
                            "application/json": {
                                "schema": { "$ref": "#/components/schemas/V3WorkerErrorResponse" },
                                "example": { "message": "The active license does not allow document verification.","reason": "The active license does not allow document verification." }
                            }
                        }
                    },
                    "413": {
                        "description": "Payload too large.",
                        "content": {
                            "application/json": { "schema": { "$ref": "#/components/schemas/V3ErrorResponse" },"example": { "message": "Payload too large." } }
                        }
                    },
                    "415": {
                        "description": "Unsupported media type.",
                        "content": {
                            "application/json": {
                                "schema": { "$ref": "#/components/schemas/V3ValidationErrorResponse" },
                                "example": {
                                    "message": "Unsupported media type.",
                                    "errors": [ { "code": "InvalidRequestFormat","path": "Content-Type","reason": "Content-Type must be multipart/form-data." } ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Server capacity is exhausted. Retry-After is returned. The memory-pressure limiter returns a JSON error body; the concurrency limiter can return an empty body.",
                        "headers": {
                            "Retry-After": { "description": "Suggested retry delay in seconds.","schema": { "type": "integer","format": "int32" } }
                        },
                        "content": {
                            "application/json": { "schema": { "$ref": "#/components/schemas/V3ErrorResponse" },"example": { "message": "Server is busy (memory pressure)." } }
                        }
                    },
                    "500": {
                        "description": "An error occurred during processing.",
                        "content": {
                            "application/json": { "schema": { "$ref": "#/components/schemas/V3ErrorResponse" },"example": { "message": "An error occurred during processing." } }
                        }
                    },
                    "503": {
                        "description": "Worker is unavailable.",
                        "content": {
                            "application/json": {
                                "schema": { "$ref": "#/components/schemas/V3WorkerErrorResponse" },
                                "example": { "message": "Worker not ready. Check worker logs for details.","reason": "Required workers are not ready." }
                            }
                        }
                    },
                    "504": {
                        "description": "Request timed out.",
                        "content": {
                            "application/json": { "schema": { "$ref": "#/components/schemas/V3ErrorResponse" },"example": { "message": "Request timed out." } }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "V3ValidationErrorCode": {
                "anyOf": [
                    { "enum": [ "InvalidParameter","InvalidParameterValue","InvalidParameterCombination","DuplicateParameter","InvalidRequestFormat" ],"type": "string" },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "V3ValidationError": {
                "required": [ "code","path","reason" ],
                "type": "object",
                "properties": {
                    "code": { "$ref": "#/components/schemas/V3ValidationErrorCode" },
                    "path": { "type": "string" },
                    "reason": { "type": "string" },
                    "relatedPaths": { "type": "array","items": { "type": "string" } }
                }
            },
            "V3ValidationErrorResponse": {
                "type": "object",
                "properties": {
                    "message": { "type": "string"                                                               },
                    "errors" : { "type": "array" ,"items": { "$ref": "#/components/schemas/V3ValidationError" } }
                }
            },
            "V3ErrorResponse": {
                "required": [ "message" ],
                "type": "object",
                "properties": { "message": { "type": "string" } }
            },
            "V3WorkerErrorResponse": {
                "required": [ "message","reason" ],
                "type": "object",
                "properties": { "message": { "type": "string" },"reason": { "type": "string" } }
            },
            "ExtractionPipelineStageStatus": {
                "anyOf": [
                    { "enum": [ "NotPerformed","Partial","Completed","Failed" ],"type": "string" },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "ExtractionPipelineStage": {
                "required": [ "status" ],
                "type": "object",
                "properties": { "status": { "$ref": "#/components/schemas/ExtractionPipelineStageStatus" } }
            },
            "VerificationPipelineStageStatus": {
                "anyOf": [
                    { "enum": [ "NotPerformed","Partial","Completed" ],"type": "string" },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "VerificationPipelineStage": {
                "required": [ "status" ],
                "type": "object",
                "properties": { "status": { "$ref": "#/components/schemas/VerificationPipelineStageStatus" } }
            },
            "Pipeline": {
                "required": [ "extraction","verification" ],
                "type": "object",
                "properties": { "extraction": { "$ref": "#/components/schemas/ExtractionPipelineStage" },"verification": { "$ref": "#/components/schemas/VerificationPipelineStage" } }
            },
            "ResponseMessage": {
                "required": [ "code","message" ],
                "type": "object",
                "properties": { "code": { "type": "string" },"message": { "type": "string" } }
            },
            "Verdict": {
                "anyOf": [
                    { "enum": [ "Unverifiable","Reject","Accept","Retry","Review" ],"type": "string" },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "TieredMultiSideCheck": {
                "allOf": [
                    { "$ref": "#/components/schemas/TieredCheck" },
                    {
                        "type": "object",
                        "properties": { "firstSide": { "$ref": "#/components/schemas/TieredCheck" },"secondSide": { "$ref": "#/components/schemas/TieredCheck" } }
                    }
                ]
            },
            "DataMatchChecks": {
                "allOf": [
                    { "$ref": "#/components/schemas/TieredCheck" },
                    {
                        "type": "object",
                        "properties": {
                            "firstNameCheck"                           : { "$ref": "#/components/schemas/Check" },
                            "lastNameCheck"                            : { "$ref": "#/components/schemas/Check" },
                            "fullNameCheck"                            : { "$ref": "#/components/schemas/Check" },
                            "additionalNameInformationCheck"           : { "$ref": "#/components/schemas/Check" },
                            "localizedNameCheck"                       : { "$ref": "#/components/schemas/Check" },
                            "fathersNameCheck"                         : { "$ref": "#/components/schemas/Check" },
                            "mothersNameCheck"                         : { "$ref": "#/components/schemas/Check" },
                            "addressCheck"                             : { "$ref": "#/components/schemas/Check" },
                            "additionalAddressInformationCheck"        : { "$ref": "#/components/schemas/Check" },
                            "additionalOptionalAddressInformationCheck": { "$ref": "#/components/schemas/Check" },
                            "placeOfBirthCheck"                        : { "$ref": "#/components/schemas/Check" },
                            "nationalityCheck"                         : { "$ref": "#/components/schemas/Check" },
                            "raceCheck"                                : { "$ref": "#/components/schemas/Check" },
                            "religionCheck"                            : { "$ref": "#/components/schemas/Check" },
                            "professionCheck"                          : { "$ref": "#/components/schemas/Check" },
                            "maritalStatusCheck"                       : { "$ref": "#/components/schemas/Check" },
                            "residentialStatusCheck"                   : { "$ref": "#/components/schemas/Check" },
                            "employerCheck"                            : { "$ref": "#/components/schemas/Check" },
                            "sexCheck"                                 : { "$ref": "#/components/schemas/Check" },
                            "dateOfBirthCheck"                         : { "$ref": "#/components/schemas/Check" },
                            "dateOfIssueCheck"                         : { "$ref": "#/components/schemas/Check" },
                            "dateOfExpiryCheck"                        : { "$ref": "#/components/schemas/Check" },
                            "documentNumberCheck"                      : { "$ref": "#/components/schemas/Check" },
                            "personalIdNumberCheck"                    : { "$ref": "#/components/schemas/Check" },
                            "documentAdditionalNumberCheck"            : { "$ref": "#/components/schemas/Check" },
                            "documentOptionalAdditionalNumberCheck"    : { "$ref": "#/components/schemas/Check" },
                            "additionalPersonalIdNumberCheck"          : { "$ref": "#/components/schemas/Check" },
                            "issuingAuthorityCheck"                    : { "$ref": "#/components/schemas/Check" }
                        }
                    }
                ]
            },
            "BarcodeAuthenticityChecks": {
                "allOf": [
                    { "$ref": "#/components/schemas/TieredCheck" },
                    {
                        "type": "object",
                        "properties": { "readCheck": { "$ref": "#/components/schemas/Check" },"contentCheck": { "$ref": "#/components/schemas/Check" } }
                    }
                ]
            },
            "DocumentLivenessChecks": {
                "allOf": [
                    { "$ref": "#/components/schemas/TieredCheck" },
                    {
                        "type": "object",
                        "properties": { "screenPresenceCheck": { "$ref": "#/components/schemas/TieredMultiSideCheck" },"photocopyCheck": { "$ref": "#/components/schemas/TieredMultiSideCheck" } }
                    }
                ]
            },
            "VisualChecks": {
                "allOf": [
                    { "$ref": "#/components/schemas/TieredCheck" },
                    {
                        "type": "object",
                        "properties": {
                            "portraitForgeryCheck" : { "$ref": "#/components/schemas/TieredCheck"          },
                            "securityFeaturesCheck": { "$ref": "#/components/schemas/Check"                },
                            "generativeAiCheck"    : { "$ref": "#/components/schemas/TieredMultiSideCheck" }
                        }
                    }
                ]
            },
            "PassesAtOrBelowSensitivity": {
                "anyOf": [
                    { "enum": [ "Level1","Level2","Level3","Level4","Level5","Level6","Level7","Level8","Level9","Level10","NotApplicable","None","Disabled" ],"type": "string" },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "TieredCheck": {
                "allOf": [
                    { "$ref": "#/components/schemas/Check" },
                    {
                        "required": [ "passesAtOrBelowSensitivity" ],
                        "type": "object",
                        "properties": { "passesAtOrBelowSensitivity": { "$ref": "#/components/schemas/PassesAtOrBelowSensitivity" } }
                    }
                ]
            },
            "MultiSideCheck": {
                "allOf": [
                    { "$ref": "#/components/schemas/Check" },
                    {
                        "type": "object",
                        "properties": { "firstSide": { "$ref": "#/components/schemas/Check" },"secondSide": { "$ref": "#/components/schemas/Check" } }
                    }
                ]
            },
            "DateLogicChecks": {
                "allOf": [
                    { "$ref": "#/components/schemas/Check" },
                    {
                        "type": "object",
                        "properties": {
                            "dateOfBirthBeforeDateOfIssueCheck" : { "$ref": "#/components/schemas/Check" },
                            "dateOfBirthBeforeDateOfExpiryCheck": { "$ref": "#/components/schemas/Check" },
                            "dateOfIssueBeforeDateOfExpiryCheck": { "$ref": "#/components/schemas/Check" },
                            "dateOfBirthInPastCheck"            : { "$ref": "#/components/schemas/Check" },
                            "dateOfIssueInPastCheck"            : { "$ref": "#/components/schemas/Check" }
                        }
                    }
                ]
            },
            "DataLogicChecks": {
                "allOf": [
                    { "$ref": "#/components/schemas/Check" },
                    {
                        "type": "object",
                        "properties": {
                            "dateLogicCheck"             : { "$ref": "#/components/schemas/DateLogicChecks" },
                            "documentNumberCheck"        : { "$ref": "#/components/schemas/Check"           },
                            "personalIdNumberCheck"      : { "$ref": "#/components/schemas/Check"           },
                            "documentDiscriminatorCheck" : { "$ref": "#/components/schemas/Check"           },
                            "customerIdNumberCheck"      : { "$ref": "#/components/schemas/Check"           },
                            "inventoryControlNumberCheck": { "$ref": "#/components/schemas/Check"           }
                        }
                    }
                ]
            },
            "DataFormatChecks": {
                "allOf": [
                    { "$ref": "#/components/schemas/Check" },
                    {
                        "type": "object",
                        "properties": {
                            "dateOfBirthCheck"                     : { "$ref": "#/components/schemas/Check" },
                            "dateOfExpiryCheck"                    : { "$ref": "#/components/schemas/Check" },
                            "dateOfIssueCheck"                     : { "$ref": "#/components/schemas/Check" },
                            "documentNumberCheck"                  : { "$ref": "#/components/schemas/Check" },
                            "documentAdditionalNumberCheck"        : { "$ref": "#/components/schemas/Check" },
                            "documentOptionalAdditionalNumberCheck": { "$ref": "#/components/schemas/Check" },
                            "personalIdNumberCheck"                : { "$ref": "#/components/schemas/Check" },
                            "additionalPersonalIdNumberCheck"      : { "$ref": "#/components/schemas/Check" },
                            "sexCheck"                             : { "$ref": "#/components/schemas/Check" },
                            "nationalityCheck"                     : { "$ref": "#/components/schemas/Check" },
                            "issuingAuthorityCheck"                : { "$ref": "#/components/schemas/Check" },
                            "maritalStatusCheck"                   : { "$ref": "#/components/schemas/Check" },
                            "religionCheck"                        : { "$ref": "#/components/schemas/Check" },
                            "classEffectiveDateCheck"              : { "$ref": "#/components/schemas/Check" },
                            "classExpiryDateCheck"                 : { "$ref": "#/components/schemas/Check" }
                        }
                    }
                ]
            },
            "MrzChecks": {
                "allOf": [
                    { "$ref": "#/components/schemas/Check" },
                    {
                        "type": "object",
                        "properties": { "parsedCheck": { "$ref": "#/components/schemas/Check" },"checkDigitsCheck": { "$ref": "#/components/schemas/Check" } }
                    }
                ]
            },
            "GenericDataCheck": {
                "allOf": [
                    { "$ref": "#/components/schemas/Check" },
                    {
                        "type": "object",
                        "properties": { "genericNumberCheck": { "$ref": "#/components/schemas/Check" },"genericStringCheck": { "$ref": "#/components/schemas/Check" } }
                    }
                ]
            },
            "DocumentValidityChecks": {
                "allOf": [
                    { "$ref": "#/components/schemas/Check" },
                    {
                        "type": "object",
                        "properties": { "expiredCheck": { "$ref": "#/components/schemas/Check" },"discontinuedDocumentCheck": { "$ref": "#/components/schemas/Check" } }
                    }
                ]
            },
            "CheckResult": {
                "anyOf": [
                    { "enum": [ "NotPerformed","Pass","Fail" ],"type": "string" },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "Check": {
                "required": [ "result" ],
                "type": "object",
                "properties": { "result": { "$ref": "#/components/schemas/CheckResult" } }
            },
            "ExtractedDataChecks": {
                "allOf": [
                    { "$ref": "#/components/schemas/Check" },
                    {
                        "type": "object",
                        "properties": {
                            "matchCheck"              : { "$ref": "#/components/schemas/DataMatchChecks"           },
                            "logicCheck"              : { "$ref": "#/components/schemas/DataLogicChecks"           },
                            "formatCheck"             : { "$ref": "#/components/schemas/DataFormatChecks"          },
                            "barcodeAuthenticityCheck": { "$ref": "#/components/schemas/BarcodeAuthenticityChecks" },
                            "mrzCheck"                : { "$ref": "#/components/schemas/MrzChecks"                 },
                            "genericDataCheck"        : { "$ref": "#/components/schemas/GenericDataCheck"          }
                        }
                    }
                ]
            },
            "DocumentChecks": {
                "type": "object",
                "properties": {
                    "extractedDataCheck"   : { "$ref": "#/components/schemas/ExtractedDataChecks"    },
                    "documentLivenessCheck": { "$ref": "#/components/schemas/DocumentLivenessChecks" },
                    "visualCheck"          : { "$ref": "#/components/schemas/VisualChecks"           },
                    "documentValidityCheck": { "$ref": "#/components/schemas/DocumentValidityChecks" }
                }
            },
            "VerificationResult": {
                "required": [ "failedChecks","verdict" ],
                "type": "object",
                "properties": {
                    "verdict": { "$ref": "#/components/schemas/Verdict" },
                    "failedChecks": { "type": "array","items": { "type": "string" } },
                    "checks": { "$ref": "#/components/schemas/DocumentChecks" }
                }
            },
            "ImageAssessment": {
                "type": "object",
                "properties": {
                    "imageQualityCheck"   : { "$ref": "#/components/schemas/Check"          },
                    "croppedDocumentCheck": { "$ref": "#/components/schemas/MultiSideCheck" },
                    "handPresenceCheck"   : { "$ref": "#/components/schemas/MultiSideCheck" }
                }
            },
            "ProcessingStatus": {
                "anyOf": [
                    {
                        "enum": [
                            "Success","DetectionFailed","ImagePreprocessingFailed","StabilityTestFailed","ScanningWrongSide","FieldIdentificationFailed","MandatoryFieldMissing",
                            "InvalidCharactersFound","ImageReturnFailed","BarcodeRecognitionFailed","MrzParsingFailed","UnsupportedDocument","AwaitingOtherSide","NotScanned",
                            "BarcodeDetectionFailed","MrzDetectionFailed","InputImageNotFocused","Canceled"
                        ],
                        "type": "string"
                    },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "VizResult": {
                "allOf": [ { "$ref": "#/components/schemas/ScanningDataResult" },{ "type": "object" } ]
            },
            "AlphabetString": {
                "type": "object",
                "properties": { "latin": { "type": "string" },"arabic": { "type": "string" },"cyrillic": { "type": "string" },"greek": { "type": "string" } }
            },
            "DateResult": {
                "type": "object",
                "properties": {
                    "day": { "type": "integer","format": "int32" },
                    "month": { "type": "integer","format": "int32" },
                    "year": { "type": "integer","format": "int32" },
                    "filledByDomainKnowledge": { "type": "boolean" },
                    "originalString": { "$ref": "#/components/schemas/AlphabetString" },
                    "successfullyParsed": { "type": "boolean" }
                }
            },
            "DependentInfo": {
                "type": "object",
                "properties": {
                    "dateOfBirth"   : { "$ref": "#/components/schemas/DateResult"     },
                    "documentNumber": { "$ref": "#/components/schemas/AlphabetString" },
                    "fullName"      : { "$ref": "#/components/schemas/AlphabetString" },
                    "sex"           : { "$ref": "#/components/schemas/AlphabetString" }
                }
            },
            "VehicleClassInfo": {
                "type": "object",
                "properties": {
                    "effectiveDate": { "$ref": "#/components/schemas/DateResult"     },
                    "expiryDate"   : { "$ref": "#/components/schemas/DateResult"     },
                    "vehicleClass" : { "$ref": "#/components/schemas/AlphabetString" }
                }
            },
            "DriverLicenceDetailedInfo": {
                "type": "object",
                "properties": {
                    "conditions": { "$ref": "#/components/schemas/AlphabetString" },
                    "endorsements": { "$ref": "#/components/schemas/AlphabetString" },
                    "restrictions": { "$ref": "#/components/schemas/AlphabetString" },
                    "vehicleClass": { "$ref": "#/components/schemas/AlphabetString" },
                    "vehicleClassesInfo": { "type": "array","items": { "$ref": "#/components/schemas/VehicleClassInfo" } }
                }
            },
            "ParentInfo": {
                "type": "object",
                "properties": {
                    "firstName": { "$ref": "#/components/schemas/AlphabetString" },
                    "lastName" : { "$ref": "#/components/schemas/AlphabetString" },
                    "fullName" : { "$ref": "#/components/schemas/AlphabetString" }
                }
            },
            "ScanningDataResult": {
                "type": "object",
                "properties": {
                    "additionalAddressInformation": { "$ref": "#/components/schemas/AlphabetString" },
                    "additionalNameInformation": { "$ref": "#/components/schemas/AlphabetString" },
                    "additionalOptionalAddressInformation": { "$ref": "#/components/schemas/AlphabetString" },
                    "additionalPersonalIdNumber": { "$ref": "#/components/schemas/AlphabetString" },
                    "address": { "$ref": "#/components/schemas/AlphabetString" },
                    "bloodType": { "$ref": "#/components/schemas/AlphabetString" },
                    "cardAccessNumber": { "$ref": "#/components/schemas/AlphabetString" },
                    "certificateNumber": { "$ref": "#/components/schemas/AlphabetString" },
                    "countryCode": { "$ref": "#/components/schemas/AlphabetString" },
                    "dateOfBirth": { "$ref": "#/components/schemas/DateResult" },
                    "dateOfEntry": { "$ref": "#/components/schemas/DateResult" },
                    "dateOfExpiry": { "$ref": "#/components/schemas/DateResult" },
                    "dateOfExpiryPermanent": { "type": "boolean" },
                    "dateOfIssue": { "$ref": "#/components/schemas/DateResult" },
                    "dependentsInfo": { "type": "array","items": { "$ref": "#/components/schemas/DependentInfo" } },
                    "documentAdditionalNumber": { "$ref": "#/components/schemas/AlphabetString" },
                    "documentNumber": { "$ref": "#/components/schemas/AlphabetString" },
                    "documentOptionalAdditionalNumber": { "$ref": "#/components/schemas/AlphabetString" },
                    "documentSubtype": { "$ref": "#/components/schemas/AlphabetString" },
                    "driverLicenseDetailedInfo": { "$ref": "#/components/schemas/DriverLicenceDetailedInfo" },
                    "effectiveDate": { "$ref": "#/components/schemas/DateResult" },
                    "eligibilityCategory": { "$ref": "#/components/schemas/AlphabetString" },
                    "employer": { "$ref": "#/components/schemas/AlphabetString" },
                    "ethnicity": { "$ref": "#/components/schemas/AlphabetString" },
                    "fathersName": { "$ref": "#/components/schemas/AlphabetString" },
                    "firstName": { "$ref": "#/components/schemas/AlphabetString" },
                    "fullName": { "$ref": "#/components/schemas/AlphabetString" },
                    "husbandName": { "$ref": "#/components/schemas/AlphabetString" },
                    "issuingAuthority": { "$ref": "#/components/schemas/AlphabetString" },
                    "lastName": { "$ref": "#/components/schemas/AlphabetString" },
                    "legalStatus": { "$ref": "#/components/schemas/AlphabetString" },
                    "localityCode": { "$ref": "#/components/schemas/AlphabetString" },
                    "localizedName": { "$ref": "#/components/schemas/AlphabetString" },
                    "maidenName": { "$ref": "#/components/schemas/AlphabetString" },
                    "manufacturingYear": { "$ref": "#/components/schemas/AlphabetString" },
                    "maritalStatus": { "$ref": "#/components/schemas/AlphabetString" },
                    "mothersName": { "$ref": "#/components/schemas/AlphabetString" },
                    "municipalityCode": { "$ref": "#/components/schemas/AlphabetString" },
                    "municipalityOfRegistration": { "$ref": "#/components/schemas/AlphabetString" },
                    "nationalInsuranceNumber": { "$ref": "#/components/schemas/AlphabetString" },
                    "nationality": { "$ref": "#/components/schemas/AlphabetString" },
                    "parentsInfo": { "type": "array","items": { "$ref": "#/components/schemas/ParentInfo" } },
                    "personalIdNumber": { "$ref": "#/components/schemas/AlphabetString" },
                    "placeOfBirth": { "$ref": "#/components/schemas/AlphabetString" },
                    "pollingStationCode": { "$ref": "#/components/schemas/AlphabetString" },
                    "profession": { "$ref": "#/components/schemas/AlphabetString" },
                    "race": { "$ref": "#/components/schemas/AlphabetString" },
                    "registrationCenterCode": { "$ref": "#/components/schemas/AlphabetString" },
                    "religion": { "$ref": "#/components/schemas/AlphabetString" },
                    "remarks": { "$ref": "#/components/schemas/AlphabetString" },
                    "residencePermitType": { "$ref": "#/components/schemas/AlphabetString" },
                    "residentialStatus": { "$ref": "#/components/schemas/AlphabetString" },
                    "sectionCode": { "$ref": "#/components/schemas/AlphabetString" },
                    "sex": { "$ref": "#/components/schemas/AlphabetString" },
                    "socialSecurityStatus": { "$ref": "#/components/schemas/AlphabetString" },
                    "specificDocumentValidity": { "$ref": "#/components/schemas/AlphabetString" },
                    "sponsor": { "$ref": "#/components/schemas/AlphabetString" },
                    "stateCode": { "$ref": "#/components/schemas/AlphabetString" },
                    "stateName": { "$ref": "#/components/schemas/AlphabetString" },
                    "vehicleOwner": { "$ref": "#/components/schemas/AlphabetString" },
                    "vehicleType": { "$ref": "#/components/schemas/AlphabetString" },
                    "visaType": { "$ref": "#/components/schemas/AlphabetString" },
                    "workRestriction": { "$ref": "#/components/schemas/AlphabetString" }
                }
            },
            "SimpleDateResult": {
                "type": "object",
                "properties": {
                    "day"                    : { "type": "integer","format": "int32" },
                    "month"                  : { "type": "integer","format": "int32" },
                    "year"                   : { "type": "integer","format": "int32" },
                    "filledByDomainKnowledge": { "type": "boolean"                   },
                    "originalString"         : { "type": "string"                    },
                    "successfullyParsed"     : { "type": "boolean"                   }
                }
            },
            "MrtdDocumentType": {
                "anyOf": [
                    {
                        "enum": [ "Unknown","IdentityCard","Passport","Visa","GreenCard","MysPassIMM13P","DriverLicense","InternalTravelDocument","BorderCrossingCard" ],
                        "type": "string"
                    },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "MrzResult": {
                "type": "object",
                "properties": {
                    "dateOfBirth": { "$ref": "#/components/schemas/SimpleDateResult" },
                    "dateOfExpiry": { "$ref": "#/components/schemas/SimpleDateResult" },
                    "documentCode": { "type": "string" },
                    "documentNumber": { "type": "string" },
                    "documentType": { "$ref": "#/components/schemas/MrtdDocumentType" },
                    "gender": { "type": "string" },
                    "issuer": { "type": "string" },
                    "issuerName": { "type": "string" },
                    "nationality": { "type": "string" },
                    "nationalityName": { "type": "string" },
                    "opt1": { "type": "string" },
                    "opt2": { "type": "string" },
                    "primaryId": { "type": "string" },
                    "rawMrzString": { "type": "string" },
                    "sanitizedDocumentCode": { "type": "string" },
                    "sanitizedDocumentNumber": { "type": "string" },
                    "sanitizedIssuer": { "type": "string" },
                    "sanitizedNationality": { "type": "string" },
                    "sanitizedOpt1": { "type": "string" },
                    "sanitizedOpt2": { "type": "string" },
                    "secondaryId": { "type": "string" },
                    "verified": { "type": "boolean" }
                }
            },
            "AddressDetailedInfo": {
                "type": "object",
                "properties": { "city": { "type": "string" },"jurisdiction": { "type": "string" },"postalCode": { "type": "string" },"street": { "type": "string" } }
            },
            "BarcodeData": {
                "type": "object",
                "properties": { "barcodeType": { "type": "string" },"uncertain": { "type": "boolean" },"rawData": { "type": "string" },"stringData": { "type": "string" } }
            },
            "BarcodeVehicleClassInfo": {
                "type": "object",
                "properties": {
                    "effectiveDate": { "$ref": "#/components/schemas/SimpleDateResult" },
                    "expiryDate": { "$ref": "#/components/schemas/SimpleDateResult" },
                    "vehicleClass": { "type": "string" }
                }
            },
            "BarcodeDriverLicenceDetailedInfo": {
                "type": "object",
                "properties": {
                    "conditions": { "type": "string" },
                    "endorsements": { "type": "string" },
                    "restrictions": { "type": "string" },
                    "vehicleClass": { "type": "string" },
                    "vehicleClassesInfo": { "type": "array","items": { "$ref": "#/components/schemas/BarcodeVehicleClassInfo" } }
                }
            },
            "BarcodeElementKey": {
                "anyOf": [
                    {
                        "enum": [
                            "DocumentType","StandardVersionNumber","CustomerFamilyName","CustomerFirstName","CustomerFullName","DateOfBirth","Sex","EyeColor","AddressStreet","AddressCity",
                            "AddressJurisdictionCode","AddressPostalCode","FullAddress","Height","HeightIn","HeightCm","CustomerMiddleName","HairColor","NameSuffix","AKAFullName",
                            "AKAFamilyName","AKAGivenName","AKASuffixName","WeightRange","WeightPounds","WeightKilograms","CustomerIdNumber","FamilyNameTruncation","FirstNameTruncation",
                            "MiddleNameTruncation","PlaceOfBirth","AddressStreet2","RaceEthnicity","NamePrefix","CountryIdentification","ResidenceStreetAddress","ResidenceStreetAddress2",
                            "ResidenceCity","ResidenceJurisdictionCode","ResidencePostalCode","ResidenceFullAddress","Under18","Under19","Under21","SocialSecurityNumber",
                            "AKASocialSecurityNumber","AKAMiddleName","AKAPrefixName","OrganDonor","Veteran","AKADateOfBirth","IssuerIdentificationNumber","DocumentExpirationDate",
                            "JurisdictionVersionNumber","JurisdictionVehicleClass","JurisdictionRestrictionCodes","JurisdictionEndorsementCodes","JurisdictionRestrictionCodeDescription",
                            "DocumentIssueDate","FederalCommercialVehicleCodes","IssuingJurisdiction","StandardVehicleClassification","IssuingJurisdictionName","StandardEndorsementCode",
                            "StandardRestrictionCode","JurisdictionVehicleClassificationDescription","JurisdictionEndorsmentCodeDescription","InventoryControlNumber","CardRevisionDate",
                            "DocumentDiscriminator","LimitedDurationDocument","AuditInformation","ComplianceType","IssueTimestamp","PermitExpirationDate","PermitIdentifier",
                            "PermitIssueDate","NumberOfDuplicates","HAZMATExpirationDate","MedicalIndicator","NonResident","UniqueCustomerId","DataDiscriminator","DocumentExpirationMonth",
                            "DocumentNonexpiring","SecurityVersion","SubFieldDesignator"
                        ],
                        "type": "string"
                    },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "BarcodeExtendedElement": {
                "required": [ "key","value" ],
                "type": "object",
                "properties": { "key": { "$ref": "#/components/schemas/BarcodeElementKey" },"value": { "type": "string" } }
            },
            "BarcodeResult": {
                "type": "object",
                "properties": {
                    "additionalNameInformation": { "type": "string" },
                    "address": { "type": "string" },
                    "addressDetailedInfo": { "$ref": "#/components/schemas/AddressDetailedInfo" },
                    "barcodeData": { "$ref": "#/components/schemas/BarcodeData" },
                    "dateOfBirth": { "$ref": "#/components/schemas/SimpleDateResult" },
                    "dateOfExpiry": { "$ref": "#/components/schemas/SimpleDateResult" },
                    "dateOfIssue": { "$ref": "#/components/schemas/SimpleDateResult" },
                    "documentAdditionalNumber": { "type": "string" },
                    "documentNumber": { "type": "string" },
                    "driverLicenseDetailedInfo": { "$ref": "#/components/schemas/BarcodeDriverLicenceDetailedInfo" },
                    "employer": { "type": "string" },
                    "extendedElements": { "type": "array","items": { "$ref": "#/components/schemas/BarcodeExtendedElement" } },
                    "firstName": { "type": "string" },
                    "fullName": { "type": "string" },
                    "issuingAuthority": { "type": "string" },
                    "lastName": { "type": "string" },
                    "maritalStatus": { "type": "string" },
                    "middleName": { "type": "string" },
                    "nationality": { "type": "string" },
                    "parsed": { "type": "boolean" },
                    "personalIdNumber": { "type": "string" },
                    "placeOfBirth": { "type": "string" },
                    "profession": { "type": "string" },
                    "race": { "type": "string" },
                    "religion": { "type": "string" },
                    "residentialStatus": { "type": "string" },
                    "sex": { "type": "string" }
                }
            },
            "SingleSideScanningResult": {
                "type": "object",
                "properties": {
                    "viz"    : { "$ref": "#/components/schemas/VizResult"     },
                    "mrz"    : { "$ref": "#/components/schemas/MrzResult"     },
                    "barcode": { "$ref": "#/components/schemas/BarcodeResult" }
                }
            },
            "ExtractionSubResults": {
                "type": "object",
                "properties": { "firstSide": { "$ref": "#/components/schemas/SingleSideScanningResult" },"secondSide": { "$ref": "#/components/schemas/SingleSideScanningResult" } }
            },
            "Country": {
                "anyOf": [
                    {
                        "enum": [
                            "None","Albania","Algeria","Argentina","Australia","Austria","Azerbaijan","Bahrain","Bangladesh","Belgium","BosniaAndHerzegovina","Brunei","Bulgaria","Cambodia",
                            "Canada","Chile","Colombia","CostaRica","Croatia","Cyprus","Czechia","Denmark","DominicanRepublic","Egypt","Estonia","Finland","France","Georgia","Germany",
                            "Ghana","Greece","Guatemala","HongKong","Hungary","India","Indonesia","Ireland","Israel","Italy","Jordan","Kazakhstan","Kenya","Kosovo","Kuwait","Latvia",
                            "Lithuania","Malaysia","Maldives","Malta","Mauritius","Mexico","Morocco","Netherlands","NewZealand","Nigeria","Pakistan","Panama","Paraguay","Philippines",
                            "Poland","Portugal","PuertoRico","Qatar","Romania","Russia","SaudiArabia","Serbia","Singapore","Slovakia","Slovenia","SouthAfrica","Spain","Sweden",
                            "Switzerland","Taiwan","Thailand","Tunisia","Turkey","Uae","Uganda","Uk","Ukraine","Usa","Vietnam","Brazil","Norway","Oman","Ecuador","ElSalvador","SriLanka",
                            "Peru","Uruguay","Bahamas","Bermuda","Bolivia","China","EuropeanUnion","Haiti","Honduras","Iceland","Japan","Luxembourg","Montenegro","Nicaragua","SouthKorea",
                            "Venezuela","Afghanistan","AlandIslands","AmericanSamoa","Andorra","Angola","Anguilla","Antarctica","AntiguaAndBarbuda","Armenia","Aruba","BailiwickOfGuernsey",
                            "BailiwickOfJersey","Barbados","Belarus","Belize","Benin","Bhutan","BonaireSaintEustatiusAndSaba","Botswana","BouvetIsland","BritishIndianOceanTerritory",
                            "BurkinaFaso","Burundi","Cameroon","CapeVerde","CaribbeanNetherlands","CaymanIslands","CentralAfricanRepublic","Chad","ChristmasIsland","CocosIslands","Comoros",
                            "Congo","CookIslands","Cuba","Curacao","DemocraticRepublicOfTheCongo","Djibouti","Dominica","EastTimor","EquatorialGuinea","Eritrea","Ethiopia",
                            "FalklandIslands","FaroeIslands","FederatedStatesOfMicronesia","Fiji","FrenchGuiana","FrenchPolynesia","FrenchSouthernTerritories","Gabon","Gambia","Gibraltar",
                            "Greenland","Grenada","Guadeloupe","Guam","Guinea","GuineaBissau","Guyana","HeardIslandAndMcdonaldIslands","Iran","Iraq","IsleOfMan","IvoryCoast","Jamaica",
                            "Kiribati","Kyrgyzstan","Laos","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Macau","Madagascar","Malawi","Mali","MarshallIslands","Martinique",
                            "Mauritania","Mayotte","Moldova","Monaco","Mongolia","Montserrat","Mozambique","Myanmar","Namibia","Nauru","Nepal","NewCaledonia","Niger","Niue","NorfolkIsland",
                            "NorthernCyprus","NorthernMarianaIslands","NorthKorea","NorthMacedonia","Palau","Palestine","PapuaNewGuinea","Pitcairn","Reunion","Rwanda","SaintBarthelemy",
                            "SaintHelenaAscensionAndTristianDaCunha","SaintKittsAndNevis","SaintLucia","SaintMartin","SaintPierreAndMiquelon","SaintVincentAndTheGrenadines","Samoa",
                            "SanMarino","SaoTomeAndPrincipe","Senegal","Seychelles","SierraLeone","SintMaarten","SolomonIslands","Somalia","SouthGeorgiaAndTheSouthSandwichIslands",
                            "SouthSudan","Sudan","Suriname","SvalbardAndJanMayen","Eswatini","Syria","Tajikistan","Tanzania","Togo","Tokelau","Tonga","TrinidadAndTobago","Turkmenistan",
                            "TurksAndCaicosIslands","Tuvalu","UnitedStatesMinorOutlyingIslands","Uzbekistan","Vanuatu","VaticanCity","VirginIslandsBritish","VirginIslandsUs",
                            "WallisAndFutuna","WesternSahara","Yemen","Yugoslavia","Zambia","Zimbabwe","SchengenArea","SaintThomasAndPrince"
                        ],
                        "type": "string"
                    },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "Region": {
                "anyOf": [
                    {
                        "enum": [
                            "None","Alabama","Alaska","Alberta","Arizona","Arkansas","AustralianCapitalTerritory","BritishColumbia","California","Colorado","Connecticut","Delaware",
                            "DistrictOfColumbia","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Manitoba","Maryland",
                            "Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","NewBrunswick","NewHampshire","NewJersey","NewMexico",
                            "NewSouthWales","NewYork","NorthernTerritory","NorthCarolina","NorthDakota","NovaScotia","Ohio","Oklahoma","Ontario","Oregon","Pennsylvania","Quebec",
                            "Queensland","RhodeIsland","Saskatchewan","SouthAustralia","SouthCarolina","SouthDakota","Tasmania","Tennessee","Texas","Utah","Vermont","Victoria","Virginia",
                            "Washington","WesternAustralia","WestVirginia","Wisconsin","Wyoming","Yukon","CiudadDeMexico","Jalisco","NewfoundlandAndLabrador","NuevoLeon","BajaCalifornia",
                            "Chihuahua","Guanajuato","Guerrero","Mexico","Michoacan","NewYorkCity","Tamaulipas","Veracruz","Chiapas","Coahuila","Durango","GuerreroCocula",
                            "GuerreroJuchitan","GuerreroTepecoacuilco","GuerreroTlacoapa","Gujarat","Hidalgo","Karnataka","Kerala","KhyberPakhtunkhwa","MadhyaPradesh","Maharashtra",
                            "Morelos","Nayarit","Oaxaca","Puebla","Punjab","Queretaro","SanLuisPotosi","Sinaloa","Sonora","Tabasco","TamilNadu","Yucatan","Zacatecas","Aguascalientes",
                            "BajaCaliforniaSur","Campeche","Colima","QuintanaRooBenitoJuarez","QuintanaRoo","QuintanaRooSolidaridad","Tlaxcala","QuintanaRooCozumel","SaoPaolo",
                            "RioDeJaneiro","RioGrandeDoSul","NorthwestTerritories","Nunavut","PrinceEdwardIsland","DistritoFederal","Maranhao","MatoGrosso","MinasGerais","Para","Parana",
                            "Pernambuco","SantaCatarina","AndhraPradesh","Ceara","Goias","GuerreroAcapulcoDeJuarez","Haryana","Sergipe","Alagoas","Bangsamoro","Telangana","Acre",
                            "EspiritoSanto","MatoGrossoDoSul","Paraiba","Piaui","RioGrandeDoNorte","Tocantins","Odisha","Uttarakhand"
                        ],
                        "type": "string"
                    },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "Type": {
                "anyOf": [
                    {
                        "enum": [
                            "None","ConsularId","Dl","DlPublicServicesCard","EmploymentPass","FinCard","Id","MultipurposeId","MyKad","MyKid","MyPr","MyTentera","PanCard","ProfessionalId",
                            "PublicServicesCard","ResidencePermit","ResidentId","TemporaryResidencePermit","VoterId","WorkPermit","IKad","MilitaryId","MyKas","SocialSecurityCard",
                            "HealthInsuranceCard","Passport","SPass","AddressCard","AlienId","AlienPassport","GreenCard","MinorsId","PostalId","ProfessionalDl","TaxId","WeaponPermit",
                            "Visa","BorderCrossingCard","DriverCard","GlobalEntryCard","MyPolis","NexusCard","PassportCard","ProofOfAgeCard","RefugeeId","TribalId","VeteranId",
                            "CitizenshipCertificate","MyNumberCard","ConsularPassport","MinorsPassport","MinorsPublicServicesCard","DrivingPrivilegeCard","AsylumRequest",
                            "DriverQualificationCard","ProvisionalDl","RefugeePassport","SpecialId","UniformedServicesId","ImmigrantVisa","ConsularVoterId","TwicCard","ExitEntryPermit",
                            "MainlandTravelPermitTaiwan","NbiClearance","ProofOfRegistration","TemporaryProtectionPermit","AfghanCitizenCard","Eid","Pass","SisId","AsicCard","BidoonCard",
                            "InterimHealthInsuranceCard","NonVoterId","ReciprocalHealthInsuranceCard","VehicleRegistration","EsaadCard","RegistrationCertificate","MedicalMarijuanaId",
                            "NonCardTribalId","DiplomaticId","EmergencyPassport","TemporaryPassport","MetisFederationCard","AdrCertificate","NinCard","MysssCard","GendarmerieId","PoliceId",
                            "OriginCard"
                        ],
                        "type": "string"
                    },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "DocumentClassInfo": {
                "type": "object",
                "properties": {
                    "country": { "$ref": "#/components/schemas/Country" },
                    "countryName": { "type": "string" },
                    "isoAlpha2CountryCode": { "type": "string" },
                    "isoAlpha3CountryCode": { "type": "string" },
                    "isoNumericCountryCode": { "type": "string" },
                    "region": { "$ref": "#/components/schemas/Region" },
                    "type": { "$ref": "#/components/schemas/Type" }
                }
            },
            "ExtractionDataResult": {
                "allOf": [
                    { "$ref": "#/components/schemas/ScanningDataResult" },
                    {
                        "type": "object",
                        "properties": { "subResults": { "$ref": "#/components/schemas/ExtractionSubResults" },"documentClassInfo": { "$ref": "#/components/schemas/DocumentClassInfo" } }
                    }
                ]
            },
            "ImageAnalysisDetectionStatus": {
                "anyOf": [
                    { "enum": [ "NotAvailable","NotDetected","Detected" ],"type": "string" },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "FieldType": {
                "anyOf": [
                    {
                        "enum": [
                            "AdditionalAddressInformation","AdditionalNameInformation","AdditionalOptionalAddressInformation","AdditionalPersonalIdNumber","Address","BloodType",
                            "ClassEffectiveDate","ClassExpiryDate","Conditions","DateOfBirth","DateOfExpiry","DateOfIssue","DocumentAdditionalNumber","DocumentNumber",
                            "DocumentOptionalAdditionalNumber","Employer","Endorsements","FathersName","FirstName","FullName","IssuingAuthority","LastName","LicenceType","MaritalStatus",
                            "MothersName","Mrz","Nationality","PersonalIdNumber","PlaceOfBirth","Profession","Race","Religion","ResidentialStatus","Restrictions","Sex","Sponsor",
                            "VehicleClass","VisaType","CertificateNumber","CountryCode","DependentDateOfBirth","DependentDocumentNumber","DependentFullName","DependentSex",
                            "DocumentSubtype","EligibilityCategory","ManufacturingYear","NationalInsuranceNumber","Remarks","ResidencePermitType","SpecificDocumentValidity","VehicleOwner",
                            "VehicleType","LocalizedName","StateName","StateCode","SectionCode","RegistrationCenterCode","MaidenName","MunicipalityOfRegistration","LocalityCode",
                            "DateOfEntry","MunicipalityCode","PollingStationCode","EffectiveDate","ParentsLastName","WorkRestriction","ParentsFirstName","SocialSecurityStatus",
                            "LegalStatus","HusbandName","ParentFullName","Ethnicity","CardAccessNumber"
                        ],
                        "type": "string"
                    },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "ImageExtractionType": {
                "anyOf": [
                    { "enum": [ "Document","Face","Signature" ],"type": "string" },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "AdditionalProcessingInfo": {
                "type": "object",
                "properties": {
                    "processingStatus": { "$ref": "#/components/schemas/ProcessingStatus" },
                    "realIdDetectionStatus": { "$ref": "#/components/schemas/ImageAnalysisDetectionStatus" },
                    "missingMandatoryFields": { "type": "array","items": { "$ref": "#/components/schemas/FieldType" } },
                    "invalidCharacterFields": { "type": "array","items": { "$ref": "#/components/schemas/FieldType" } },
                    "extraPresentFields": { "type": "array","items": { "$ref": "#/components/schemas/FieldType" } },
                    "imageExtractionFailures": { "type": "array","items": { "$ref": "#/components/schemas/ImageExtractionType" } }
                }
            },
            "ExtractionAdditionalProcessingInfo": {
                "type": "object",
                "properties": { "firstSide": { "$ref": "#/components/schemas/AdditionalProcessingInfo" },"secondSide": { "$ref": "#/components/schemas/AdditionalProcessingInfo" } }
            },
            "ExtractionResult": {
                "required": [ "processingStatus","result" ],
                "type": "object",
                "properties": {
                    "processingStatus"        : { "$ref": "#/components/schemas/ProcessingStatus"                   },
                    "result"                  : { "$ref": "#/components/schemas/ExtractionDataResult"               },
                    "additionalProcessingInfo": { "$ref": "#/components/schemas/ExtractionAdditionalProcessingInfo" }
                }
            },
            "ExtractionImages": {
                "type": "object",
                "properties": {
                    "firstSideCropped" : { "type": "string" },
                    "secondSideCropped": { "type": "string" },
                    "face"             : { "type": "string" },
                    "signature"        : { "type": "string" },
                    "barcode"          : { "type": "string" }
                }
            },
            "DocumentVerificationPolicy": {
                "anyOf": [
                    { "enum": [ "HighConversion","Balanced","HighAssurance" ],"type": "string" },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "VerificationContext": {
                "anyOf": [
                    { "enum": [ "Remote","InPerson" ],"type": "string" },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "ReviewStrategy": {
                "anyOf": [
                    { "enum": [ "Never","RejectedAndAccepted","RejectedOnly","AcceptedOnly" ],"type": "string" },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "VerificationUseCase": {
                "type": "object",
                "properties": {
                    "verificationPolicy"  : { "$ref": "#/components/schemas/DocumentVerificationPolicy" },
                    "verificationContext" : { "$ref": "#/components/schemas/VerificationContext"        },
                    "manualReviewStrategy": { "$ref": "#/components/schemas/ReviewStrategy"             }
                },
                "description": "High-level verification use-case options."
            },
            "Sensitivity": {
                "anyOf": [
                    { "enum": [ "Level1","Level2","Level3","Level4","Level5","Level6","Level7","Level8","Level9","Level10","Disabled" ],"type": "string" },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "ImageQualityRetryPolicy": {
                "anyOf": [
                    { "enum": [ "NeverRetryBadQuality","RetryBadQualityAlways","RetryBadQualityForAcceptances","RetryBadQualityForRejections" ],"type": "string" },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "VerificationSettings": {
                "type": "object",
                "properties": {
                    "screenPresenceSensitivity": { "$ref": "#/components/schemas/Sensitivity" },
                    "photocopySensitivity": { "$ref": "#/components/schemas/Sensitivity" },
                    "barcodeAuthenticitySensitivity": { "$ref": "#/components/schemas/Sensitivity" },
                    "portraitForgerySensitivity": { "$ref": "#/components/schemas/Sensitivity" },
                    "dataMatchSensitivity": { "$ref": "#/components/schemas/Sensitivity" },
                    "generativeAiSensitivity": { "$ref": "#/components/schemas/Sensitivity" },
                    "imageQualityRetryPolicy": { "$ref": "#/components/schemas/ImageQualityRetryPolicy" },
                    "rejectExpiredDocuments": { "type": "boolean" },
                    "cropAffectsVerdict": { "type": "boolean" }
                },
                "description": "Per-check sensitivities and related verification toggles."
            },
            "VerificationConfigurationUsed": {
                "type": "object",
                "properties": { "useCase": { "$ref": "#/components/schemas/VerificationUseCase" },"settings": { "$ref": "#/components/schemas/VerificationSettings" } }
            },
            "RedactionMode": {
                "anyOf": [
                    { "enum": [ "None","ImageOnly","ResultFieldsOnly","FullResult" ],"type": "string" },
                    { "$ref": "#/components/schemas/OpenEnumValue" }
                ]
            },
            "RedactionSettings": {
                "type": "object",
                "properties": {
                    "globalMode": {
                        "allOf": [ { "$ref": "#/components/schemas/RedactionMode" } ],
                        "description": "Controls redaction of extracted images and result fields. When omitted, FullResult is used."
                    }
                }
            },
            "VerificationDocumentCaptureModuleSettings": {
                "type": "object",
                "properties": { "faceImageExtractionEnabled": { "type": "boolean" },"documentImageReturnEnabled": { "type": "boolean" } }
            },
            "VizModuleSettings": {
                "type": "object",
                "properties": { "signatureImageExtractionEnabled": { "type": "boolean" } }
            },
            "BarcodeModuleSettings": {
                "type": "object",
                "properties": { "barcodeImageReturnEnabled": { "type": "boolean" } }
            },
            "VerificationExtractionConfigurationUsed": {
                "type": "object",
                "properties": {
                    "redactionSettings"            : { "$ref": "#/components/schemas/RedactionSettings"                         },
                    "documentCaptureModuleSettings": { "$ref": "#/components/schemas/VerificationDocumentCaptureModuleSettings" },
                    "vizModuleSettings"            : { "$ref": "#/components/schemas/VizModuleSettings"                         },
                    "barcodeModuleSettings"        : { "$ref": "#/components/schemas/BarcodeModuleSettings"                     }
                }
            },
            "ImageAssessmentConfiguration": {
                "type": "object",
                "properties": {
                    "imageQualitySensitivity": {
                        "allOf": [ { "$ref": "#/components/schemas/Sensitivity" } ],
                        "description": "Single sensitivity applied uniformly to all image-quality dimensions. On /api/v3/verify, verificationPolicy may adjust the effective value."
                    }
                },
                "description": "Shared image-assessment settings for /api/v3/verify and /api/v3/extract."
            },
            "ConfigurationUsed": {
                "type": "object",
                "properties": {
                    "verification"   : { "$ref": "#/components/schemas/VerificationConfigurationUsed"           },
                    "extraction"     : { "$ref": "#/components/schemas/VerificationExtractionConfigurationUsed" },
                    "imageAssessment": { "$ref": "#/components/schemas/ImageAssessmentConfiguration"            }
                }
            },
            "RuntimeInformation": {
                "required": [ "blinkIdVerifyVersion","blinkIdVersion","elapsedMs","executionId","finishedOn","startedOn" ],
                "type": "object",
                "properties": {
                    "startedOn": { "type": "string","format": "date-time" },
                    "finishedOn": { "type": "string","format": "date-time" },
                    "elapsedMs": { "type": "integer","format": "int64" },
                    "blinkIdVersion": { "type": "string" },
                    "blinkIdVerifyVersion": { "type": "string" },
                    "blinkIdRecognizerVersion": { "type": "string" },
                    "blinkIdVerifyRecognizerVersion": { "type": "string" },
                    "recognitionPath": { "type": "string" },
                    "dockerImageTag": { "type": "string" },
                    "workerIndex": { "type": "integer","format": "int32" },
                    "apiImageTag": { "type": "string" },
                    "workerImageTag": { "type": "string" },
                    "gatewayImageTag": { "type": "string" },
                    "identityImageTag": { "type": "string" },
                    "traceId": { "type": "string" },
                    "executionId": { "type": "string" },
                    "consentId": { "type": "string","format": "uuid" },
                    "cpus": { "type": "integer","format": "int32" },
                    "cpuType": { "type": "string" },
                    "ram": { "type": "integer","format": "int32" },
                    "workerCount": { "type": "integer","format": "int32" },
                    "inflightLimit": { "type": "integer","format": "int32" },
                    "internalQueueSize": { "type": "integer","format": "int32" },
                    "licenseExpiry": { "type": "string","format": "date-time" },
                    "licenseId": { "type": "string" }
                }
            },
            "DocumentVerificationResponse": {
                "required": [ "configurationUsed","extraction","imageAssessment","pipeline","runtime","verification" ],
                "type": "object",
                "properties": {
                    "pipeline": { "$ref": "#/components/schemas/Pipeline" },
                    "messages": { "type": "array","items": { "$ref": "#/components/schemas/ResponseMessage" } },
                    "verification": { "$ref": "#/components/schemas/VerificationResult" },
                    "imageAssessment": { "$ref": "#/components/schemas/ImageAssessment" },
                    "extraction": { "$ref": "#/components/schemas/ExtractionResult" },
                    "images": { "$ref": "#/components/schemas/ExtractionImages" },
                    "configurationUsed": { "$ref": "#/components/schemas/ConfigurationUsed" },
                    "runtime": { "$ref": "#/components/schemas/RuntimeInformation" }
                }
            },
            "VerificationConfiguration": {
                "type": "object",
                "properties": { "useCase": { "$ref": "#/components/schemas/VerificationUseCase" },"settings": { "$ref": "#/components/schemas/VerificationSettings" } },
                "additionalProperties": false
            },
            "VerificationExtractionConfiguration": {
                "type": "object",
                "properties": {
                    "redactionSettings"            : { "$ref": "#/components/schemas/RedactionSettings"                         },
                    "documentCaptureModuleSettings": { "$ref": "#/components/schemas/VerificationDocumentCaptureModuleSettings" },
                    "vizModuleSettings"            : { "$ref": "#/components/schemas/VizModuleSettings"                         },
                    "barcodeModuleSettings"        : { "$ref": "#/components/schemas/BarcodeModuleSettings"                     }
                },
                "additionalProperties": false
            },
            "DocumentVerificationConfiguration": {
                "type": "object",
                "properties": {
                    "verification"   : { "$ref": "#/components/schemas/VerificationConfiguration"           },
                    "extraction"     : { "$ref": "#/components/schemas/VerificationExtractionConfiguration" },
                    "imageAssessment": { "$ref": "#/components/schemas/ImageAssessmentConfiguration"        }
                },
                "additionalProperties": false,
                "description": "Configuration object accepted by /api/v3/verify. Supply as JSON text or a JSON file part named configuration.",
                "example": {
                    "verification": { "settings": { "screenPresenceSensitivity": "Level5" } },
                    "extraction": { "redactionSettings": { "globalMode": "FullResult" } },
                    "imageAssessment": { "imageQualitySensitivity": "Level5" }
                }
            },
            "ExtractionDocumentCaptureModuleSettings": {
                "type": "object",
                "properties": {
                    "faceImageExtractionEnabled"            : { "type": "boolean" },
                    "documentImageReturnEnabled"            : { "type": "boolean" },
                    "secondSideWithNoExtractableDataSkipped": { "type": "boolean" },
                    "passportDataPageScanOnly"              : { "type": "boolean" }
                },
                "additionalProperties": false
            },
            "ExtractionVizModuleSettings": {
                "type": "object",
                "properties": { "signatureImageExtractionEnabled": { "type": "boolean" },"characterValidationEnabled": { "type": "boolean" } },
                "additionalProperties": false
            },
            "ExtractionConfiguration": {
                "type": "object",
                "properties": {
                    "redactionSettings"            : { "$ref": "#/components/schemas/RedactionSettings"                       },
                    "documentCaptureModuleSettings": { "$ref": "#/components/schemas/ExtractionDocumentCaptureModuleSettings" },
                    "vizModuleSettings"            : { "$ref": "#/components/schemas/ExtractionVizModuleSettings"             },
                    "barcodeModuleSettings"        : { "$ref": "#/components/schemas/BarcodeModuleSettings"                   }
                },
                "additionalProperties": false
            },
            "DocumentExtractionConfiguration": {
                "type": "object",
                "properties": { "extraction": { "$ref": "#/components/schemas/ExtractionConfiguration" },"imageAssessment": { "$ref": "#/components/schemas/ImageAssessmentConfiguration" } },
                "additionalProperties": false,
                "description": "Configuration object accepted by /api/v3/extract. Verification settings are rejected on this endpoint.",
                "example": {
                    "extraction": { "redactionSettings": { "globalMode": "FullResult" } },
                    "imageAssessment": { "imageQualitySensitivity": "Level5" }
                }
            },
            "ConsentCustomerContext": {
                "type": "object",
                "properties": {
                    "customerId"   : { "type": "string","description": "Optional unique identifier for the customer."               },
                    "transactionId": { "type": "string","description": "Optional unique identifier for the associated transaction." }
                },
                "additionalProperties": false,
                "description": "Contextual information linking the consent record to a specific customer entity and transaction."
            },
            "Consent": {
                "required": [ "durationDays","userId" ],
                "type": "object",
                "properties": {
                    "durationDays": { "type": "integer","description": "The validity duration of the consent in days, used to calculate the expiration date.","format": "int32" },
                    "userId": { "type": "string","description": "Unique identifier of the end user granting the consent." },
                    "note": { "type": "string","description": "The consent statement, agreement text, or notes associated with the consent." },
                    "givenOn": { "type": "string","description": "Timestamp indicating when the consent was granted.","format": "date-time" },
                    "customerContext": { "$ref": "#/components/schemas/ConsentCustomerContext" }
                },
                "additionalProperties": false,
                "description": "Data required to register a user's consent for processing of personal data."
            },
            "OpenEnumValue": {
                "type": "string",
                "description": "Known values are listed in the enum schema. Additional string values may be returned by future versions of the API and should be treated as unknown rather than invalid."
            }
        },
        "securitySchemes": {
            "BasicAuth": { "type": "http","description": "Hosted Gateway authentication using HTTP Basic with the issued client ID and client secret.","scheme": "basic" }
        }
    },
    "security": [ { "BasicAuth": [] },{} ]
}
