NAV

Introduction

Welcome to the Mitek Identity Cloud! Synchronous and asynchronous APIs for authenticating and extracting data from identity documents.

Environments

Mitek maintains production environments in multiple regions to ensure compliance with regional data processing requirements as well as ensuring that we are able to provide a responsive solution. In each region, Mitek provides both a pre-production and production environment to ensure our customers are able to develop against a production-like system without impacting production systems.

Availability

Each environment is entirely isolated sharing no information with any other environment, this is inclusive of credentials. When communicating with Mitek's Identity Cloud platform, only the environment in which a tenant is provisioned will be accessible using the provided credentials.

Region Product Pre-Production Production
United States Mobile Verify - Manual X X
United States Mobile Verify - Expert X X
EU Mobile Verify - Manual X X
EU Mobile Verify - Expert X X

Authentication

Mitek uses OAuth v2 with opaque tokens for authorization and OpenID for authentication. This token-based standard leverages temporary tokens that provide access to a resource for a limited duration. In our production environments, these tokens will only be valid for 60 minutes. When you are requesting one of these temporary tokens, you need to provide the resource you are trying to access (in OAuth this is called the scope). It is best practice to ensure only the scope(s) for the operation(s) that are minimally required in order to limit the rights of the access token provided.

Client Credential Flow

The client credential flow is used when one server is communicating with another server (and there is no person at a keyboard that can type in a password). In this flow, a ClientId and a Secret are issued to you. You must protect these credentials because anyone with these credentials will be able to request tokens on your behalf. Each client has a list of scopes they are able to access, you will want to give clients access only to the scopes they need to do their job. You send the ClientId, Secret, and the scopes you are accessing to our API and an Access Token is returned. That access token should be included in the Authorization header of any requests to the API.

Authentication Request

Request Example

POST /oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded;

grant_type=client_credentials&
client_id=some.client.id&
client_secret=SecretPassword&
scope=standard.scope additional.scope

Token retrieval requires a basic POST request to our OAuth 2.0 based authentication server. The token returned is valid for a duration of 60 minutes from the time the token is first issued. Mitek recommends that developers pro-actively refresh tokens to ensure a valid token is always available for submission to the API.

In the authentication request, scopes must be included that the token will provide permissions to access. The token generated will only provide acccess to the specific operations for which the scope was requested. Mitek recommends that the token is requested with only the scopes that are minimally required to perform a specific operation.

Run in Postman

URL

/oauth2/token

Required Fields

Name Type Description Restrictions
grant_type string OAuth credential type client_credentials
client_id string Mitek provided client identifier None
client_secret string Mitek provided client secret None
scope string Space delimited list of scopes requested Based on the service being used. Refer to the API Scopes section.

Authentication Response

Response Example

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

{
  "access_token": "UWeMFVy6sz1VRvtKXgCyB7UAk805JtHc3-jy8RS04pc.e2pROys-PDNGm0nJ9BbJxBf_yTvHBn8iFrlTYSwb_Ig",
  "expires_in": 3600,
  "scope": "standard.scope additional.scope",
  "token_type": "Bearer"
}

The authentication response includes the token to be used in subsequent requests along with other detail of the issued token including the token expiration and scopes provided within the token. NOTE: The access_token that is issued is not a JWT token, clients are unable to interrogate the token to retrieve additional details.

Returned Fields

Name Type Description Restrictions
access_token String Token to be submitted with any subsequent API request None
expires_in Number Duration of token validity measured in seconds None
scope string Scopes included in the token Based on the service being used. Refer to the API Scopes section.
token_type String Type of token returned (Mitek only supports Bearer tokens) Bearer

API Scopes

Scope Product Endpoint
verify.v3.id-document.manual.write Mobile Verify - Manual Manual Request
verify.v3.id-document.manual.read Mobile Verify - Manual Manual Retrieval Request
verify.v3.id-document.expert.write Mobile Verify - Expert Expert Request
verify.v3.id-document.expert.read Mobile Verify - Expert Expert Retrieval Request
v3.poll.read Polling Polling Request
facecomparison.v3.auto.write Face Comparison - Auto Face Comparison - Auto Request
facecomparison.v3.manual.write Face Comparison - Manual Face Comparison - Manual Request
facecomparison.v3.manual.read Face Comparison - Manual Face Comparison Retrieval Request
biometric.v3.enroll MiPass - Enroll MiPass - Enroll Request
biometric.v3.verify MiPass - Verify MiPass - Verify Request
biometric.v3.delete MiPass - Delete MiPass - Delete Request
biometric.v3.quality MiPass - Check Quality MiPass - Check Quality Request

Authentication Error Responses

400 Response Example (Bad Request)

HTTP/1.1 400 Bad Request
Content-Type: application/json

{
    "error": "invalid_request",
    "error_description": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed",
    "error_hint": "Make sure that the various parameters are correct, be aware of case sensitivity and trim your parameters. Make sure that the client you are using has exactly whitelisted the redirect_uri you specified.",
    "status_code": 400
}

400 Response Example (Bad Scopes)

HTTP/1.1 400 Bad Request
Content-Type: application/json

{
    "error": "invalid_scope",
    "error_description": "The requested scope is invalid, unknown, or malformed",
    "status_code": 400
}

401 Response Example

HTTP/1.1 401 Unauthorized
Content-Type: application/json

{
    "error": "invalid_client",
    "error_description": "Client authentication failed (e.g., unknown client, no client authentication included, or unsupported authentication method)",
    "status_code": 401
}

500 Response Example

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
  "message": "An internal error has occurred. Please try again."
}

503 Service Unavailable

HTTP/1.1 503 Service Unavailable
Content-Type: text/plain

Service Unavailable

Standard HTTP response codes and messages are used to indicate authentication success or failure.

Mobile Verify - Manual

Mobile Verify Manual provides the capability to have one of Mitek's trained Document Review Team manually inspect documents submitted via the Mitek Identity Cloud API. When reviewing documents submitted, the Manual Review team will complete a number of verification checks to determine the Authenticity, Originality and Validity of the document. This product is delivered as an asynchronous API built around a polling approach for retrieval of final results.

Manual Request

Request Example (without Injection Attack Detection)

POST /identity/verify/v3/id-document/manual HTTP/1.1
Content-Type: application/json;
Authorization: Bearer $OAUTH_TOKEN

{ 
  "transactionRequestId": "093ddee6-1a16-4da2-a09f-f4c16e20defa",
  "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
  "images": [
    {      
      "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
    },
    {
      "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
    }
  ],
  "deviceExtractedData": [
    {
      "dataType": "PDF417_STRING",
      "data": "PDF417 STRING"
    }
  ],
  "configuration": {
    "injectionAttackDetection": false
  }
}

Request Example (with Injection Attack Detection)

POST /identity/verify/v3/id-document/manual HTTP/1.1
Content-Type: application/json;
Authorization: Bearer $OAUTH_TOKEN

{ 
  "transactionRequestId": "093ddee6-1a16-4da2-a09f-f4c16e20defa",
  "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
  "images": [
    {      
      "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ==",
      "encryptedPayload": "WyJVVWlsWGQ3bWhoWVJXc1lGZFRuUjlh"
    },
    {
      "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA=",
      "encryptedPayload": "AiLCJPRENFbmFibGVkIjp0cnVlLCJSZW"
    }
  ],
  "deviceExtractedData": [
    {
      "dataType": "PDF417_STRING",
      "data": "PDF417 STRING"
    }
  ],
  "configuration": {
    "injectionAttackDetection": true
  }
}

Each manual processing request is for the evaluation of a single document that can consist of one to many images depending on the type of document being processed. In the submitted request, the API requires a single image for each page of a given identity document to be submitted. An example being if a drivers license is submitted, successful processing will require submission of images of both the front and back of the document.

Run in Postman

URL

/identity/verify/v3/id-document/manual

Required Fields

Name Type Description Restrictions
images Object (array) An array of base64-encoded images of the document to be verified. N/A
  • data
  • String A base64-encoded image containing a single page of the document to be processed.
  • encryptedPayload
  • String A base64-encoded string containing an encrypted real-time security payload generated by Mitek’s MiSnap Capture SDKs v.5.4.0 and newer. This field is only required if injectionAttackDetection is enabled in the request configuration.

    Optional Fields

    Name Type Description Restrictions
    transactionRequestId String [OPTIONAL] A valid UUID for a previously submitted Mobile Verify Auto request UUID
    customerReferenceId String [OPTIONAL] Customer provided identifier that will be returned in an identically named field within the body of any subsequent responses 500 characters limit
    deviceExtractedData Object (array) [OPTIONAL] An array of data extracted on-device from an identity document from machine-readable document features, e.g., barcode. N/A
  • datatype
  • String

    The type of data being passed for processing. This is commonly barcode details or other machine-encoded data that has been read on-device as part of the initial capture experience. Currently supported data types include:

    PDF417_STRING: A PDF417 string extracted from barcodes that support this encoding format.

    PDF417_STRING
    configuration Object A dictionary of configuration options.
  • injectionAttackDetection
  • Object Indicates whether injection attack detection should be performed on the provided images. true or false

    Manual Response

    Response Example

    HTTP/1.1 201 Created
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "requestId": "4d6a4dc2-a756-4479-99c2-a856b41456c6", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
    }
    

    All manual requests are processed asynchronously. The initial response from the manual end-point provides acknowledgement that the submitted document has been received for processing and a reference requestId. Additionally, the optional customerReferenceId will also be echoed back as part of the response if submitted as part of the initial request.

    Returned HTTP Headers

    Name Type Description Restrictions
    Mitek-Server-Processing-Time Number The total duration, in milliseconds, from the time the entire request was received until the response was sent. None
    Mitek-Request-Id String The UUID assigned to the request. UUID

    Returned Fields

    Name Type Description Restrictions
    requestId String The UUID assigned to the request. UUID
    customerReferenceId String The value that was submitted with the original request. None

    Manual Retrieval Request

    Request Example

    GET /identity/verify/v3/id-document/manual/4c52b0ef-aa28-4675-85d7-207b00486520 HTTP/1.1
    Authorization: Bearer $OAUTH_TOKEN
    

    Results retrieval is the final step in manual review processing. To retrieve a final result from the platform, a GET request is submitted to the API with the retrievalId that is returned from the polling API.

    Run in Postman

    URL

    /identity/verify/v3/id-document/manual/{retrievalId}

    Required Attributes

    Name Type Description Restrictions
    retrievalId String The identifier used for retrieval of the final result of manual processing which was returned from the Polling API. UUID

    Manual Retrieval Response

    The final step in Mitek's manual review API is the retrieval of the final result from the platform using the retrievalId returned by the polling API (NOTE: This is not the same ID as the initial requestId). The results will be available from the retrieval end-point for one retrieval, once retrieval has completed, the results will be evicted from the retrieval infrastructure preventing any additional retrieval requests from being successful. Additionally, if the result has not been retrieved within 7 days of the result being made available, the result will no longer be accessible from the API.

    "APPROVED" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "requestId": "4d6a4dc2-a756-4479-99c2-a856b41456c6", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": " ACCEPTED"
      },
      "findings": {
        "documentApproval": "APPROVED",
        "details": {
          "authenticity": {
            "result": "AUTHENTIC"
          },
          "originality": {
            "result": "ORIGINAL"
          },
          "validity": {
            "result": "VALID"
          }
        }
      },
      "extractedData": {
        "documentAttributes": {
          "countryCodeOfIssuance": "USA",
          "dateOfExpiry": "1965-08-28",
          "dateOfIssuance": "1965-08-28",
          "documentNumber": "90933633",
          "documentType": "DRIVERS_LICENSE",
          "documentSubType": "",
          "issuingAuthority": "CALIFORNIA DMV",
          "stateOrProvinceOfIssuance": "CA"
        },
        "personAttributes": {
          "dateOfBirth": "1965-08-28",
          "gender": "F",
          "nationalityCode": "USA",
          "personalGovernmentId": "",
          "placeOfBirth": ""
        },
        "name": {
          "firstSurname": "LORCA SANCHEZ",
          "fullName": "JUANA LORCA SANCHEZ MENDOZA",
          "givenNames": "JUANA",
          "secondSurname": "MENDOZA",
          "surname": "LORCA SANCHEZ MENDOZA"
        },
        "address": {
          "parsedAddress": {
            "addressLine1": "123 MAIN ST",
            "addressLine2": "SAN DIEGO CA 92101",
            "addressLine3": "",
            "addressLine4": "",
            "city": "SAN DIEGO",
            "postalCode": "92101",
            "stateOrProvince": "CA"
          },        
          "unparsedAddress": {
            "addressLine1": "123 MAIN ST",
            "addressLine2": "SAN DIEGO CA 92101",
            "addressLine3": "",
            "addressLine4": ""
          }
        },
        "machineReadableZone": {
          "parsedMachineReadableZone": {
            "compositeCheckDigit": "0",
            "compositeCheckDigitVerified": "true",
            "dateOfBirth": "1967-07-04",
            "dateOfBirthCheckDigit": "6",
            "dateOfBirthVerified": "true",
            "dateOfExpiry": "2016-08-07",
            "dateOfExpiryCheckDigit": "8",
            "dateOfExpiryVerified": "true",
            "documentNumber": "340007955",
            "documentNumberCheckDigit": "3",
            "documentNumberVerified": "true",
            "documentSubType": "",
            "documentType": "P",
            "gender": "F",
            "givenNames": "HAPPY",
            "stateOrProvinceOfIssuance": "USA",
            "stateOrProvinceOfIssuanceVerified": "true",
            "isValid": "true",
            "nationalityCode": "USA",
            "nationalityCodeVerified": "true",
            "personalGovernmentId": "910000833 1119",
            "personalGovernmentIdCheckDigit": "2",
            "personalGovernmentIdVerified": "true",
            "surname": "TRAVELER"
          },        
          "unparsedMachineReadableZone": {
            "mrzLine1": "P<USATRAVELER<<HAPPY<<<<<<<<<<<<<<<<<<<<<<<<",
            "mrzLine2": "3400079553USA6707046F1608078910000833<111920",
            "mrzLine3": "",
          }
        }
      }
    }
    

    "NOT_APPROVED" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "requestId": "4d6a4dc2-a756-4479-99c2-a856b41456c6", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": " ACCEPTED"
      },
      "findings": {
        "documentApproval": "NOT_APPROVED",
        "details": {
          "authenticity": {
            "result": "NOT_AUTHENTIC",
            "reasons": [
              "EVIDENCE_OF_FORGERY_BIODATA_FONTS",
              "EVIDENCE_OF_FORGERY_MRZ_FONTS",
              "EVIDENCE_OF_FORGERY_PHOTO_ZONE",
              "EVIDENCE_OF_FORGERY_SIGNATURE"
            ]
          },
          "originality": {
            "result": "NOT_ORIGINAL",
            "reasons": [
              "EVIDENCE_OF_FORGERY_BLACK_AND_WHITE_COPY",
              "EVIDENCE_OF_FORGERY_DOCUMENT_STRUCTURE"
            ]
          },
          "validity": {
            "result": "NOT_VALID",
            "reasons": [
              "EVIDENCE_OF_FORGERY_DATA_COMPARISON",
              "EVIDENCE_OF_FORGERY_MRZ_CHECKSUMS",
              "EXPIRED_OR_INVALIDATED"
            ]
          }
        }
      },
      "extractedData": {
        "documentAttributes": {
          "countryCodeOfIssuance": "USA",
          "dateOfExpiry": "1965-08-28",
          "dateOfIssuance": "1965-08-28",
          "documentNumber": "90933633",
          "documentType": "DRIVERS_LICENSE",
          "documentSubType": "",
          "issuingAuthority": "CALIFORNIA DMV",
          "stateOrProvinceOfIssuance": "CA"
        },
        "personAttributes": {
          "dateOfBirth": "1965-08-28",
          "gender": "F",
          "nationalityCode": "USA",
          "personalGovernmentId": "",
          "placeOfBirth": ""
        },
        "name": {
          "firstSurname": "LORCA SANCHEZ",
          "fullName": "JUANA LORCA SANCHEZ MENDOZA",
          "givenNames": "JUANA",
          "secondSurname": "MENDOZA",
          "surname": "LORCA SANCHEZ MENDOZA"
        },
        "address": {
          "parsedAddress": {
            "addressLine1": "123 MAIN ST",
            "addressLine2": "SAN DIEGO CA 92101",
            "addressLine3": "",
            "addressLine4": "",
            "city": "SAN DIEGO",
            "postalCode": "92101",
            "stateOrProvince": "CA"
          },        
          "unparsedAddress": {
            "addressLine1": "123 MAIN ST",
            "addressLine2": "SAN DIEGO CA 92101",
            "addressLine3": "",
            "addressLine4": ""
          }
        },
        "machineReadableZone": {
          "parsedMachineReadableZone": {
            "compositeCheckDigit": "0",
            "compositeCheckDigitVerified": "true",
            "dateOfBirth": "1967-07-04",
            "dateOfBirthCheckDigit": "6",
            "dateOfBirthVerified": "true",
            "dateOfExpiry": "2016-08-07",
            "dateOfExpiryCheckDigit": "8",
            "dateOfExpiryVerified": "true",
            "documentNumber": "340007955",
            "documentNumberCheckDigit": "3",
            "documentNumberVerified": "true",
            "documentSubType": "",
            "documentType": "P",
            "gender": "F",
            "givenNames": "HAPPY",
            "stateOrProvinceOfIssuance": "USA",
            "stateOrProvinceOfIssuanceVerified": "true",
            "isValid": "true",
            "nationalityCode": "USA",
            "nationalityCodeVerified": "true",
            "personalGovernmentId": "910000833 1119",
            "personalGovernmentIdCheckDigit": "2",
            "personalGovernmentIdVerified": "true",
            "surname": "TRAVELER"
          },        
          "unparsedMachineReadableZone": {
            "mrzLine1": "P<USATRAVELER<<HAPPY<<<<<<<<<<<<<<<<<<<<<<<<",
            "mrzLine2": "3400079553USA6707046F1608078910000833<111920",
            "mrzLine3": "",
          }
        }
      }
    }
    

    "REJECTED" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "requestId": "4d6a4dc2-a756-4479-99c2-a856b41456c6", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": " REJECTED",
        "reasons": [
          "GLARE",
          "INCOMPLETE_DOCUMENT",
          "NOT_VISIBLE_FOUR_CORNERS",
          "NOT_VISIBLE_SECURITY_FEATURES",
          "OUT_OF_FOCUS",
          "POOR_CONTRAST",
          "POOR_EXPOSURE",
          "UNCLASSIFIED_DOCUMENT",
          "UNREADABLE_FIELD",
          "UNSUPPORTED_LANGUAGE"
        ]
      }
    }
    

    Returned HTTP Headers

    Name Type Description Restrictions
    Mitek-Server-Processing-Time Number The total duration, in milliseconds, from the time the entire request was received until the response was sent. None
    Mitek-Request-Id String The UUID assigned to the request. UUID

    Returned Fields

    Name Type Description Restrictions
    requestId String The UUID assigned to the request. UUID
    customerReferenceId String The value that was submitted with the original request. None
    acceptance Object The determination of whether the images submitted were of sufficient quality for a document to be processed. In the event a document is unable to be processed successfully, a status of REJECTED will be returned and the reasons for failure will be included in the reasons field. N/A
  • result
  • String

    The determinition of whether all of the images submitted were deemed acceptable for processing.

    ACCEPTED: All of the images submitted were deemed acceptable for processing.

    REJECTED: One or more of the images submitted were deemed not acceptable for processing.

    ACCEPTED or REJECTED
  • reasons
  • String (array)

    The reasons that a result of REJECTED was returned.

    GLARE: Rejected due to glare on received document images.

    INCOMPLETE_DOCUMENT: The number of images submitted did not meet the expected number of images for this specific document. Please make sure you have submitted an image for each page of the document.

    NOT_VISIBLE_FOUR_CORNERS: One or more of the submitted images could not be processed due to all four corners of the document not being visible. Please retake the images before resubmitting them, mindful of anything that could be blocking the corners of the document from being seen.

    NOT_VISIBLE_SECURITY_FEATURES: One or more of the submitted images could not be processed due to one or more expected security features not being visible. Please retake the images before resubmitting them, mindful of anything that could be blocking a security feature from being seen.

    OUT_OF_FOCUS: One or more of the submitted images could not be processed due to the image being out of focus. Please retake the images before resubmitting them.

    POOR_CONTRAST: One or more of the submitted images could not be processed due to the image having poor contrast. Please retake the images before resubmitting them.

    POOR_EXPOSURE: One or more of the submitted images could not be processed due to the image having poor exposure. Please retake the images before resubmitting them.

    UNCLASSIFIED_DOCUMENT: The submitted images could not be classified or are not supported. Please submit only supported documents.

    UNREADABLE_FIELD: One or more of the submitted images could not be processed due to one or more fields being unreadable. Please retake the images before resubmitting them, mindful of anything that could be blocking a field from being processed.

    UNSUPPORTED_LANGUAGE: One or more of the submitted images contains a document with a language that we do not support. Please submit only supported documents.

    INJECTION_ATTACK_DETECTED: An injection attack was detected in one or more of the submitted images. Please do not resubmit.

    GLARE, INCOMPLETE_DOCUMENT, NOT_VISIBLE_FOUR_CORNERS, NOT_VISIBLE_SECURITY_FEATURES, OUT_OF_FOCUS, POOR_CONTRAST, POOR_EXPOSURE, UNCLASSIFIED_DOCUMENT, UNREADABLE_FIELD, UNSUPPORTED_LANGUAGE or INJECTION_ATTACK_DETECTED
    findings Object The following fields are related to the overall findings that resulted from the processing of the document. This includes the overall document approval and a detailed summary of the authenticity, originality and the validity findings that contributed to the document approval result. N/A
  • documentApproval
  • String

    The overall document approval determination.

    APPROVED: The submitted document was processed successfully, and the checks related to authenticity, originality, and validity determined that it should be approved.

    NOT_APPROVED: The submitted document was processed successfully, but one or more factors related to authenticity, originality, and validity determined that it should not be approved.

    APPROVED or NOT_APPROVED
  • details
  • Object The details of the authenticity, originality, and validity checks that were performed. N/A
  • authenticity
  • Object The details of the authenticity checks that were performed. N/A
  • result
  • String

    The overall authenticity result of the processed document.

    AUTHENTIC: The processed document was determined to be authentic.

    NOT_AUTHENTIC: The processed document was determined to be not authentic.

    AUTHENTIC or NOT_AUTHENTIC
  • reasons
  • String (array)

    The reasons that a result of NOT_AUTHENTIC was returned.

    EVIDENCE_OF_FORGERY_BIODATA_FONTS: Manual review of the submitted document indicated that details had been manipulated in the biographical text of the document.

    EVIDENCE_OF_FORGERY_MRZ_FONTS: Manual review of the submitted document indicated that details had been manipulated in the MRZ section of the document.

    EVIDENCE_OF_FORGERY_NOT_HUMAN_FACE: The document shows strong evidence of forgery missing a human face on document portrait.

    EVIDENCE_OF_FORGERY_PHOTO_ZONE: Manual review of the submitted document indicated that there may have been an attempt to manipulate the photo zone of the document.

    EVIDENCE_OF_FORGERY_BIODATA_FONTS, EVIDENCE_OF_FORGERY_MRZ_FONTS, EVIDENCE_OF_FORGERY_NOT_HUMAN_FACE and EVIDENCE_OF_FORGERY_PHOTO_ZONE
  • originality
  • Object The details of the originality checks that were performed. N/A
  • result
  • String

    The overall originality result of the processed document.

    ORIGINAL: The processed document was determined to be original.

    NOT_ORIGINAL: The processed document was determined to be not original.

    ORIGINAL or NOT_ORIGINAL
  • reasons
  • String (array)

    The reasons that a result of NOT_ORIGINAL was returned.

    EVIDENCE_OF_FORGERY_BLACK_AND_WHITE_COPY: Manual review of the submitted document indicated that the image was a black and white copy

    EVIDENCE_OF_FORGERY_DOCUMENT_STRUCTURE: Manual review of the submitted document indicated that the document structure was not consistent with the known document.

    EVIDENCE_OF_FORGERY_BLACK_AND_WHITE_COPY and EVIDENCE_OF_FORGERY_DOCUMENT_STRUCTURE
  • validity
  • Object The details of the validity checks that were performed. N/A
  • result
  • String

    The overall validity result of the processed document.

    VALID: The processed document was determined to be valid.

    NOT_VALID: The processed document was determined to be not valid.

    VALID or NOT_VALID
  • reasons
  • String (array)

    The reasons that a result of NOT_VALID was returned.

    EVIDENCE_OF_FORGERY_DATA_COMPARISON:Data from different sources (e.g. bio data, MRZ, barcode) does not match

    EVIDENCE_OF_FORGERY_MRZ_CHECKSUMS: After proofreading of the MRZ by the manual review team, the resultant MRZ failed one or many checksum validations

    EXPIRED_OR_INVALIDATED: The document is expired due to expiry date or invalidated by issuing authorities due to one or many invalidity markups on the document

    EVIDENCE_OF_FORGERY_DATA_COMPARISON, EVIDENCE_OF_FORGERY_MRZ_CHECKSUMS and EXPIRED_OR_INVALIDATED
    extractedData Object The data extracted from the submitted document. The data returned within extracted data is dependent on the type of document submitted; not all documents supported contain all possible fields. N/A
  • documentAttributes
  • Object The data extracted from the submitted document, specifically from fields that are related to attributes of the document. N/A
  • countryCodeOfIssuance
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the ISO code of the country that issued the document. None
  • dateOfExpiry
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the date of expiry of the document, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • dateOfIssuance
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the date of issuance of the document, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • documentNumber
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the number or identifier of the document. None
  • documentType
  • String

    The type of document that was submitted.

    PASSPORT, DRIVERS_LICENSE, IDENTITY_CARD, RESIDENCE_PERMIT, HEALTH_SERVICES_CARD (PASSPORT_CARD, NEXUS_CARD, MILITARY_ID_CARD and TRIBAL_CARD are automatically mapped to IDENTITY_CARD unless the "Extended document types in agent response" setting is enabled)
  • documentSubType
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the sub type of the document. None
  • issuingAuthority
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the name of the authority or organization that issued the document. None
  • stateOrProvinceOfIssuance
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the name of the state, province, or region that issued the document. None
  • personAttributes
  • Object The data extracted from the submitted document, specifically from fields that are related to the person to whom the document was issued. N/A
  • dateOfBirth
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the date of birth of the person to which the document was issued, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • gender
  • String

    The data extracted from an MRZ, PDF417 barcode, or biozone field related to the gender of the person to which the document was issued, normalized into one of the following values: M (male), F (female), or N/B (non binary).

    M, F, or N/B
  • nationalityCode
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the ISO country code of the nationality of the person to which the document was issued. None
  • personalGovernmentId
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to any government identification number of the person to which the document was issued. None
  • placeOfBirth
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the place of birth of the person to which the document was issued. None
  • name
  • Object The data extracted from the submitted document, specifically from fields that are related to the name of whom the document was issued. N/A
  • fullName
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the full name of the person to which the document was issued. None
  • givenNames
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the given names of the person to which the document was issued.
  • firstSurname
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the first surname of the person to which the document was issued. None
  • secondSurname
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the second surname of the person to which the document was issued. None
  • surname
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the surname of the person to which the document was issued. None
  • address
  • Object The data extracted from the submitted document, specifically from fields that are related to the address of the person to whom the document was issued. N/A
  • parsedAddress
  • Object A parsed version of the address of the person to whom the document was issued. N/A
  • addressLine1
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the first line of the address, as printed, of the person to which the document was issued. None
  • addressLine2
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the second line of the address, as printed, of the person to which the document was issued. None
  • addressLine3
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the third line of the address, as printed, of the person to which the document was issued. None
  • addressLine4
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the fourth line of the address, as printed, of the person to which the document was issued. None
  • city
  • String The parsed out city of the address of the person to whom the document was issued. None
  • postalCode
  • String The parsed out postal code of the address of the person to whom the document was issued. None
  • stateOrProvince
  • String The parsed out state or province of the address of the person to whom the document was issued. None
  • unparsedAddress
  • Object An unparsed version of the address of the person to whom the document was issued. N/A
  • addressLine1
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the first line of the address, as printed, of the person to which the document was issued. None
  • addressLine2
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the second line of the address, as printed, of the person to which the document was issued. None
  • addressLine3
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the third line of the address, as printed, of the person to which the document was issued. None
  • addressLine4
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the fourth line of the address, as printed, of the person to which the document was issued. None
  • machineReadableZone
  • Object The data extracted from the Machine Readable Zone of the submitted document. N/A
  • parsedMachineReadableZone
  • Object A parsed version of the Machine Readable Zone. N/A
  • compositeCheckDigit
  • String The composite check digit value. A single digit or <
  • compositeCheckDigitVerified
  • String The indication if the composite check digit contains a valid value. true or false
  • dateOfBirth
  • String The data extracted from an MRZ field related to the date of birth of the person to which the document was issued, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • dateOfBirthCheckDigit
  • String The date of birth check digit value. A single digit or <
  • dateOfBirthVerified
  • String The indication if the date of birth check digit contains a valid value. true or false
  • dateOfExpiry
  • String The data extracted from an MRZ field related to the date of expiry of the document, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • dateOfExpiryCheckDigit
  • String The date of expiry check digit value. A single digit or <
  • dateOfExpiryVerified
  • String The indication if the date of expiry check digit contains a valid value. true or false
  • documentNumber
  • String The data extracted from an MRZ field related to the number or identifier of the document. None
  • documentNumberCheckDigit
  • String The document number check digit value. A single digit or <
  • documentNumberVerified
  • String The indication if the document number check digit contains a valid value. true or false
  • documentSubType
  • String The data extracted from an MRZ field related to the sub type of the document. None
  • documentType
  • String (array)

    The data extracted from an MRZ field related to the type of document that was submitted.

    None
  • gender
  • String

    The data extracted from an MRZ field related to the gender of the person to which the document was issued, normalized into one of the following values: M (male), F (female), or N/B (non binary).

    M, F, or N/B
  • givenNames
  • String The data extracted from an MRZ field related to the given names of the person to which the document was issued.
  • stateOrProvinceOfIssuance
  • String The data extracted from an MRZ field related to the ISO country code of the country that issued the document. None
  • stateOrProvinceOfIssuanceVerified
  • String The indication if the issuing state or organization contains a valid value. true or false
  • isValid
  • String The parsed out state or province of the address of the person to whom the document was issued. None
  • nationalityCode
  • String The data extracted from an MRZ field related to the ISO country code of the nationality of the person to which the document was issued. None
  • nationalityCodeVerified
  • String The indication if the nationality contains a valid value. true or false
  • personalGovernmentId
  • String The data extracted from an MRZ field related to any government identification number of the person to which the document was issued. None
  • personalGovernmentIdCheckDigit
  • String The personal government ID check digit value. A single digit or <
  • personalGovernmentIdVerified
  • String The indication if the personal government ID check digit contains a valid value. true or false
  • surname
  • String The data extracted from an MRZ field related to the surname of the person to which the document was issued. None
  • unparsedMachineReadableZone
  • Object An unparsed version of the Machine Readable Zone. N/A
  • mrzLine1
  • String The first line of the MRZ. None
  • mrzLine2
  • String The second line of the MRZ. None
  • mrzLine3
  • String The third line of the MRZ. None

    Manual Error Responses

    400 Response Example

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    {
      "message": "Customer reference id should not exceed 500 characters."
    }
    
    OR
    
    { 
      "message": "Missing image data."
    }
    
    OR
    
    { 
      "message": "No images were provided."
    }
    
    OR
    
    { 
      "message": "Please specify a valid dataType for deviceExtractedData."
    }
    
    OR
    
    { 
      "message": "Unknown value "PDF417_STRING_VAL" for enum customerapi.DeviceExtractedData_DataType."
    }
    
    OR
    
    { 
      "message": "Incorrect endpoint for request type."
    }
    

    401 Response Example

    HTTP/1.1 401 Unauthorized
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "message": "The token is either invalid, malformed, inactive, or missing the required scopes."
    }
    

    404 Response Example

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "message": "The result you attempted to retrieve does not exist or has already been retrieved."
    }
    
    OR
    
    { 
      "message": "Not Found"
    }
    

    408 Response Example

    HTTP/1.1 408 Request Timeout
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "message": "Request Timeout"
    } 
    

    413 Response Example

    HTTP/1.1 413 Request Entity Too Large
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "message": "Request Entity Too Large"
    }
    

    415 Response Example

    HTTP/1.1 415 Unsupported Media Type
    Content-Type: application/json
    
    { 
      "message": "Please ensure you are specifying application/json as the Content-Type."
    } 
    

    429 Response Example

    HTTP/1.1 429 Too Many Requests
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "message": "Too Many Requests"
    }
    

    500 Response Example

    HTTP/1.1 500 Internal Server Error
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "message": "An internal error has occurred. Please try again in a few minutes."
    }
    

    503 Service Unavailable

    HTTP/1.1 503 Service Unavailable
    Content-Type: text/plain
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    Service Unavailable
    
    OR
    
    HTTP/1.1 503 Service Unavailable
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "message": "Service Unavailable"
    }
    

    Standard HTTP REST-based response codes and messages are used to indicate success or failure for a request.

    Returned Fields

    Name Type Description Restrictions
    message String A message describing the error. None

    Mobile Verify - Expert

    Mobile Verify Expert provides the capability to have one of Mitek's trained Document Review Team Expert manually inspect documents submitted via the Mitek Identity Cloud API. When reviewing documents submitted, the Manual Review Expert team will complete series of verification checks to determine the Authenticity, Originality and Validity of the document. This product is delivered as an asynchronous API built around a polling approach for retrieval of final results.

    Expert Request

    Request Example (without Injection Attack Detection)

    POST /identity/verify/v3/id-document/expert HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    
    { 
      "transactionRequestId": "093ddee6-1a16-4da2-a09f-f4c16e20defa",
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "images": [
        {      
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        }
      ],
      "deviceExtractedData": [
        {
          "dataType": "PDF417_STRING",
          "data": "PDF417 STRING"
        }
      ],
      "configuration": {
        "injectionAttackDetection": false
      }
    }
    

    Request Example (with Injection Attack Detection)

    POST /identity/verify/v3/id-document/expert HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    
    { 
      "transactionRequestId": "093ddee6-1a16-4da2-a09f-f4c16e20defa",
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "images": [
        {      
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ==",
          "encryptedPayload": "WyJVVWlsWGQ3bWhoWVJXc1lGZFRuUjlh"
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA=",
          "encryptedPayload": "AiLCJPRENFbmFibGVkIjp0cnVlLCJSZW"
        }
      ],
      "deviceExtractedData": [
        {
          "dataType": "PDF417_STRING",
          "data": "PDF417 STRING"
        }
      ],
      "configuration": {
        "injectionAttackDetection": true
      }
    }
    

    Each expert processing request is for the evaluation of a single document that can consist of one to many images depending on the type of document being processed. In the submitted request, the API requires a single image for each page of a given identity document to be submitted. An example being if a drivers license is submitted, successful processing will require submission of images of both the front and back of the document.

    Run in Postman

    URL

    /identity/verify/v3/id-document/expert

    Required Fields

    Name Type Description Restrictions
    images Object (array) An array of base64-encoded images of the document to be verified. N/A
  • data
  • String A base64-encoded image containing a single page of the document to be processed.
  • encryptedPayload
  • String A base64-encoded string containing an encrypted real-time security payload generated by Mitek’s MiSnap Capture SDKs v.5.4.0 and newer. This field is only required if injectionAttackDetection is enabled in the request configuration.

    Optional Fields

    Name Type Description Restrictions
    transactionRequestId String [OPTIONAL] A valid UUID for a previously submitted Mobile Verify Auto request UUID
    customerReferenceId String [OPTIONAL] Customer provided identifier that will be returned in an identically named field within the body of any subsequent responses 500 characters limit
    deviceExtractedData Object (array) [OPTIONAL] An array of data extracted on-device from an identity document from machine-readable document features, e.g., barcode. N/A
  • datatype
  • String

    The type of data being passed for processing. This is commonly barcode details or other machine-encoded data that has been read on-device as part of the initial capture experience. Currently supported data types include:

    PDF417_STRING: A PDF417 string extracted from barcodes that support this encoding format.

    PDF417_STRING
    configuration Object A dictionary of configuration options.
  • injectionAttackDetection
  • Object Indicates whether injection attack detection should be performed on the provided images. true or false

    Expert Response

    Response Example

    HTTP/1.1 201 Created
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    { 
      "requestId": "7bd9aada-d538-4f48-807f-3ba97428e770", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
    }
    

    All expert requests are processed asynchronously. The initial response from the expert end-point provides acknowledgement that the submitted document has been received for processing and also a reference requestId back to that caller that will later be used in order to retrieve the results. Additionally, the optional customerReferenceId will also be echoed back as part of the response if submitted as part of the initial request.

    Returned HTTP Headers

    Name Type Description Restrictions
    Mitek-Server-Processing-Time Number The total duration, in milliseconds, from the time the entire request was received until the response was sent. None
    Mitek-Request-Id String The UUID assigned to the request. UUID

    Returned Fields

    Name Type Description Restrictions
    requestId String The UUID assigned to the request. UUID
    customerReferenceId String The value that was submitted with the original request. None

    Expert Retrieval Request

    Request Example

    GET /identity/verify/v3/id-document/expert/1a55b710-def3-4bc2-89c8-17cefd8c7c98 HTTP/1.1
    Authorization: Bearer $OAUTH_TOKEN
    

    Results retrieval is the final step in expert review processing. To retrieve a final result from the platform, a GET request is submitted to the API with the retrievalId that is returned from the polling API. The results will be available from the retrieval end-point for one retrieval, once retrieval has completed, the results will be evicted from the retrieval infrastructure preventing any additional retrieval requests from being successful. Additionally, if the result has not been retrieved within 7 days of the result being made available, the result will no longer be accessible from the API.

    Run in Postman

    URL

    /identity/verify/v3/id-document/expert/{retrievalId}

    Required Attributes

    Name Type Description Restrictions
    retrievalId String The identifier used for retrieval of the final result of expert processing which was returned from the Polling API. UUID

    Expert Retrieval Response

    "APPROVED" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    { 
      "requestId": "7bd9aada-d538-4f48-807f-3ba97428e770", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": " ACCEPTED"
      },
      "findings": {
        "documentApproval": "APPROVED",
        "details": {
          "authenticity": {
            "result": "AUTHENTIC"
          },
          "originality": {
            "result": "ORIGINAL"
          },
          "validity": {
            "result": "VALID"
          }
        }
      },
      "extractedData": {
        "documentAttributes": {
          "countryCodeOfIssuance": "USA",
          "dateOfExpiry": "1965-08-28",
          "dateOfIssuance": "1965-08-28",
          "documentNumber": "90933633",
          "documentType": "DRIVERS_LICENSE",
          "documentSubType": "",
          "issuingAuthority": "CALIFORNIA DMV",
          "stateOrProvinceOfIssuance": "CA"
        },
        "personAttributes": {
          "dateOfBirth": "1965-08-28",
          "gender": "F",
          "nationalityCode": "USA",
          "personalGovernmentId": "",
          "placeOfBirth": ""
        },
        "name": {
          "firstSurname": "LORCA SANCHEZ",
          "fullName": "JUANA LORCA SANCHEZ MENDOZA",
          "givenNames": "JUANA",
          "secondSurname": "MENDOZA",
          "surname": "LORCA SANCHEZ MENDOZA"
        },
        "address": {
          "parsedAddress": {
            "addressLine1": "123 MAIN ST",
            "addressLine2": "SAN DIEGO CA 92101",
            "addressLine3": "",
            "addressLine4": "",
            "city": "SAN DIEGO",
            "postalCode": "92101",
            "stateOrProvince": "CA"
          },        
          "unparsedAddress": {
            "addressLine1": "123 MAIN ST",
            "addressLine2": "SAN DIEGO CA 92101",
            "addressLine3": "",
            "addressLine4": ""
          }
        },
        "machineReadableZone": {
          "parsedMachineReadableZone": {
            "compositeCheckDigit": "0",
            "compositeCheckDigitVerified": "true",
            "dateOfBirth": "1967-07-04",
            "dateOfBirthCheckDigit": "6",
            "dateOfBirthVerified": "true",
            "dateOfExpiry": "2016-08-07",
            "dateOfExpiryCheckDigit": "8",
            "dateOfExpiryVerified": "true",
            "documentNumber": "340007955",
            "documentNumberCheckDigit": "3",
            "documentNumberVerified": "true",
            "documentSubType": "",
            "documentType": "P",
            "gender": "F",
            "givenNames": "HAPPY",
            "stateOrProvinceOfIssuance": "USA",
            "stateOrProvinceOfIssuanceVerified": "true",
            "isValid": "true",
            "nationalityCode": "USA",
            "nationalityCodeVerified": "true",
            "personalGovernmentId": "910000833 1119",
            "personalGovernmentIdCheckDigit": "2",
            "personalGovernmentIdVerified": "true",
            "surname": "TRAVELER"
          },        
          "unparsedMachineReadableZone": {
            "mrzLine1": "P<USATRAVELER<<HAPPY<<<<<<<<<<<<<<<<<<<<<<<<",
            "mrzLine2": "3400079553USA6707046F1608078910000833<111920",
            "mrzLine3": "",
          }
        }
      }
    }
    

    "NOT_APPROVED" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    { 
      "requestId": "7bd9aada-d538-4f48-807f-3ba97428e770", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": " ACCEPTED"
      },
      "findings": {
        "documentApproval": "NOT_APPROVED",
        "details": {
          "authenticity": {
            "result": "NOT_AUTHENTIC",
            "reasons": [
              "EVIDENCE_OF_FORGERY_BIODATA_FONTS",
              "EVIDENCE_OF_FORGERY_MRZ_FONTS",
              "EVIDENCE_OF_FORGERY_PHOTO_ZONE",
              "EVIDENCE_OF_FORGERY_SECURITY_FEATURES",
              "EVIDENCE_OF_FORGERY_SIGNATURE"
            ]
          },
          "originality": {
            "result": "NOT_ORIGINAL",
            "reasons": [
              "EVIDENCE_OF_FORGERY_BLACK_AND_WHITE_COPY",
              "EVIDENCE_OF_FORGERY_DOCUMENT_STRUCTURE"
            ]
          },
          "validity": {
            "result": "NOT_VALID",
            "reasons": [
              "EVIDENCE_OF_FORGERY_DATA_COMPARISON",
              "EVIDENCE_OF_FORGERY_MRZ_CHECKSUMS",
              "EXPIRED_OR_INVALIDATED" 
            ]
          }
        }
      },
      "extractedData": {
        "documentAttributes": {
          "countryCodeOfIssuance": "USA",
          "dateOfExpiry": "1965-08-28",
          "dateOfIssuance": "1965-08-28",
          "documentNumber": "90933633",
          "documentType": "DRIVERS_LICENSE",
          "documentSubType": "",
          "issuingAuthority": "CALIFORNIA DMV",
          "stateOrProvinceOfIssuance": "CA"
        },
        "personAttributes": {
          "dateOfBirth": "1965-08-28",
          "gender": "F",
          "nationalityCode": "USA",
          "personalGovernmentId": "",
          "placeOfBirth": ""
        },
        "name": {
          "firstSurname": "LORCA SANCHEZ",
          "fullName": "JUANA LORCA SANCHEZ MENDOZA",
          "givenNames": "JUANA",
          "secondSurname": "MENDOZA",
          "surname": "LORCA SANCHEZ MENDOZA"
        },
        "address": {
          "parsedAddress": {
            "addressLine1": "123 MAIN ST",
            "addressLine2": "SAN DIEGO CA 92101",
            "addressLine3": "",
            "addressLine4": "",
            "city": "SAN DIEGO",
            "postalCode": "92101",
            "stateOrProvince": "CA"
          },        
          "unparsedAddress": {
            "addressLine1": "123 MAIN ST",
            "addressLine2": "SAN DIEGO CA 92101",
            "addressLine3": "",
            "addressLine4": ""
          }
        },
        "machineReadableZone": {
          "parsedMachineReadableZone": {
            "compositeCheckDigit": "0",
            "compositeCheckDigitVerified": "true",
            "dateOfBirth": "1967-07-04",
            "dateOfBirthCheckDigit": "6",
            "dateOfBirthVerified": "true",
            "dateOfExpiry": "2016-08-07",
            "dateOfExpiryCheckDigit": "8",
            "dateOfExpiryVerified": "true",
            "documentNumber": "340007955",
            "documentNumberCheckDigit": "3",
            "documentNumberVerified": "true",
            "documentSubType": "",
            "documentType": "P",
            "gender": "F",
            "givenNames": "HAPPY",
            "stateOrProvinceOfIssuance": "USA",
            "stateOrProvinceOfIssuanceVerified": "true",
            "isValid": "true",
            "nationalityCode": "USA",
            "nationalityCodeVerified": "true",
            "personalGovernmentId": "910000833 1119",
            "personalGovernmentIdCheckDigit": "2",
            "personalGovernmentIdVerified": "true",
            "surname": "TRAVELER"
          },        
          "unparsedMachineReadableZone": {
            "mrzLine1": "P<USATRAVELER<<HAPPY<<<<<<<<<<<<<<<<<<<<<<<<",
            "mrzLine2": "3400079553USA6707046F1608078910000833<111920",
            "mrzLine3": "",
          }
        }
      }
    }
    

    "REJECTED" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    { 
      "requestId": "7bd9aada-d538-4f48-807f-3ba97428e770", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": " REJECTED",
        "reasons": [
          "GLARE",
          "INCOMPLETE_DOCUMENT",
          "NOT_VISIBLE_FOUR_CORNERS",
          "NOT_VISIBLE_SECURITY_FEATURES",
          "OUT_OF_FOCUS",
          "POOR_CONTRAST",
          "POOR_EXPOSURE",
          "UNCLASSIFIED_DOCUMENT",
          "UNREADABLE_FIELD",
          "UNSUPPORTED_LANGUAGE"
        ]
      }
    }
    

    Returned HTTP Headers

    Name Type Description Restrictions
    Mitek-Server-Processing-Time Number The total duration, in milliseconds, from the time the entire request was received until the response was sent. None
    Mitek-Request-Id String The UUID assigned to the request. UUID

    Returned Fields

    Name Type Description Restrictions
    requestId String The UUID assigned to the request. UUID
    customerReferenceId String The value that was submitted with the original request. None
    acceptance Object The determination of whether the images submitted were of sufficient quality for a document to be processed. In the event a document is unable to be processed successfully, a status of REJECTED will be returned and the reasons for failure will be included in the reasons field. N/A
  • result
  • String

    The determinition of whether all of the images submitted were deemed acceptable for processing.

    ACCEPTED: All of the images submitted were deemed acceptable for processing.

    REJECTED: One or more of the images submitted were deemed not acceptable for processing.

    ACCEPTED or REJECTED
  • reasons
  • String (array)

    The reasons that a result of REJECTED was returned.

    GLARE: Rejected due to glare on received document images.

    INCOMPLETE_DOCUMENT: The number of images submitted did not meet the expected number of images for this specific document. Please make sure you have submitted an image for each page of the document.

    NOT_VISIBLE_FOUR_CORNERS: One or more of the submitted images could not be processed due to all four corners of the document not being visible. Please retake the images before resubmitting them, mindful of anything that could be blocking the corners of the document from being seen.

    NOT_VISIBLE_SECURITY_FEATURES: One or more of the submitted images could not be processed due to one or more expected security features not being visible. Please retake the images before resubmitting them, mindful of anything that could be blocking a security feature from being seen.

    OUT_OF_FOCUS: One or more of the submitted images could not be processed due to the image being out of focus. Please retake the images before resubmitting them.

    POOR_CONTRAST: One or more of the submitted images could not be processed due to the image having poor contrast. Please retake the images before resubmitting them.

    POOR_EXPOSURE: One or more of the submitted images could not be processed due to the image having poor exposure. Please retake the images before resubmitting them.

    UNCLASSIFIED_DOCUMENT: The submitted images could not be classified or are not supported. Please submit only supported documents.

    UNREADABLE_FIELD: One or more of the submitted images could not be processed due to one or more fields being unreadable. Please retake the images before resubmitting them, mindful of anything that could be blocking a field from being processed.

    UNSUPPORTED_LANGUAGE: One or more of the submitted images contains a document with a language that we do not support. Please submit only supported documents.

    INJECTION_ATTACK_DETECTED: An injection attack was detected in one or more of the submitted images. Please do not resubmit.

    GLARE, INCOMPLETE_DOCUMENT, NOT_VISIBLE_FOUR_CORNERS, NOT_VISIBLE_SECURITY_FEATURES, OUT_OF_FOCUS, POOR_CONTRAST, POOR_EXPOSURE, UNCLASSIFIED_DOCUMENT, UNREADABLE_FIELD, UNSUPPORTED_LANGUAGE or INJECTION_ATTACK_DETECTED
    findings Object The following fields are related to the overall findings that resulted from the processing of the document. This includes the overall document approval and a detailed summary of the authenticity, originality and the validity findings that contributed to the document approval result. N/A
  • documentApproval
  • String

    The overall document approval determination.

    APPROVED: The submitted document was processed successfully, and the checks related to authenticity, originality, and validity determined that it should be approved.

    NOT_APPROVED: The submitted document was processed successfully, but one or more factors related to authenticity, originality, and validity determined that it should not be approved.

    APPROVED or NOT_APPROVED
  • details
  • Object The details of the authenticity, originality, and validity checks that were performed. N/A
  • authenticity
  • Object The details of the authenticity checks that were performed. N/A
  • result
  • String

    The overall authenticity result of the processed document.

    AUTHENTIC: The processed document was determined to be authentic.

    NOT_AUTHENTIC: The processed document was determined to be not authentic.

    AUTHENTIC or NOT_AUTHENTIC
  • reasons
  • String (array)

    The reasons that a result of NOT_AUTHENTIC was returned.

    EVIDENCE_OF_FORGERY_BIODATA_FONTS:Expert review of the submitted document indicated that details had been manipulated in the biographical text of the document

    EVIDENCE_OF_FORGERY_MRZ_FONTS:Expert review of the submitted document indicated that details had been manipulated in the machine readable text of the document

    EVIDENCE_OF_FORGERY_PHOTO_ZONE:Expert review of the submitted document indicated that details had been manipulated in the portrait area of the document

    EVIDENCE_OF_FORGERY_SECURITY_FEATURES: Expert review of the submitted document indicated that details had been manipulated for multiple security elements of the document

    EVIDENCE_OF_FORGERY_SIGNATURE: Manual review of the submitted document indicated that details had been manipulated in the signature zone of the document

    EVIDENCE_OF_FORGERY_BIODATA_FONTS, EVIDENCE_OF_FORGERY_MRZ_FONTS, EVIDENCE_OF_FORGERY_PHOTO_ZONE, EVIDENCE_OF_FORGERY_SECURITY_FEATURES and EVIDENCE_OF_FORGERY_SIGNATURE
  • originality
  • Object The details of the originality checks that were performed. N/A
  • result
  • String

    The overall originality result of the processed document.

    ORIGINAL: The processed document was determined to be original.

    NOT_ORIGINAL: The processed document was determined to be not original.

    ORIGINAL or NOT_ORIGINAL
  • reasons
  • String (array)

    The reasons that a result of NOT_ORIGINAL was returned.

    EVIDENCE_OF_FORGERY_DOCUMENT_STRUCTURE: Document shows strong evidence of forgery overall & deemed not original​

    EVIDENCE_OF_FORGERY_BLACK_AND_WHITE_COPY: Expert review of the submitted document indicated that the image was a black and white copy

    EVIDENCE_OF_FORGERY_DOCUMENT_STRUCTURE and EVIDENCE_OF_FORGERY_BLACK_AND_WHITE_COPY
  • validity
  • Object The details of the validity checks that were performed. N/A
  • result
  • String

    The overall validity result of the processed document.

    VALID: The processed document was determined to be valid.

    NOT_VALID: The processed document was determined to be not valid.

    VALID or NOT_VALID
  • reasons
  • String (array)

    The reasons that a result of NOT_VALID was returned.

    EVIDENCE_OF_FORGERY_DATA_COMPARISON:Data from different sources (e.g. bio data, MRZ, barcode) does not match

    EVIDENCE_OF_FORGERY_MRZ_CHECKSUMS: Expert review of the submitted document indicated that details had been manipulated in the machine readable text of the document causing checksum failures

    EXPIRED_OR_INVALIDATED: The document is expired due to expiry date or invalidated by issuing authorities due to several invalidity markups on the document

    EVIDENCE_OF_FORGERY_DATA_COMPARISON, EVIDENCE_OF_FORGERY_MRZ_CHECKSUMS and EXPIRED_OR_INVALIDATED
    extractedData Object The data extracted from the submitted document.The data returned within extracted data is dependent on the type of document submitted; not all documents supported contain all possible fields. N/A
  • documentAttributes
  • Object The data extracted from the submitted document, specifically from fields that are related to attributes of the document. N/A
  • countryCodeOfIssuance
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the ISO code of the country that issued the document. None
  • dateOfExpiry
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the date of expiry of the document, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • dateOfIssuance
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the date of issuance of the document, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • documentNumber
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the number or identifier of the document. None
  • documentType
  • String

    The type of document that was submitted.

    PASSPORT, DRIVERS_LICENSE, IDENTITY_CARD, RESIDENCE_PERMIT, HEALTH_SERVICES_CARD (PASSPORT_CARD, NEXUS_CARD, MILITARY_ID_CARD and TRIBAL_CARD are automatically mapped to IDENTITY_CARD unless the "Extended document types in agent response" setting is enabled)
  • documentSubType
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the sub type of the document. None
  • issuingAuthority
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the name of the authority or organization that issued the document. None
  • stateOrProvinceOfIssuance
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the name of the state, province, or region that issued the document. None
  • personAttributes
  • Object The data extracted from the submitted document, specifically from fields that are related to the person to whom the document was issued. N/A
  • dateOfBirth
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the date of birth of the person to which the document was issued, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • gender
  • String

    The data extracted from an MRZ, PDF417 barcode, or biozone field related to the gender of the person to which the document was issued, normalized into one of the following values: M (male), F (female), or N/B (non binary).

    M, F, or N/B
  • nationalityCode
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the ISO country code of the nationality of the person to which the document was issued. None
  • personalGovernmentId
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to any government identification number of the person to which the document was issued. None
  • placeOfBirth
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the place of birth of the person to which the document was issued. None
  • name
  • Object The data extracted from the submitted document, specifically from fields that are related to the name of whom the document was issued. N/A
  • fullName
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the full name of the person to which the document was issued. None
  • givenNames
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the given names of the person to which the document was issued.
  • firstSurname
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the first surname of the person to which the document was issued. None
  • secondSurname
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the second surname of the person to which the document was issued. None
  • surname
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the surname of the person to which the document was issued. None
  • address
  • Object The data extracted from the submitted document, specifically from fields that are related to the address of the person to whom the document was issued. N/A
  • parsedAddress
  • Object A parsed version of the address of the person to whom the document was issued. N/A
  • addressLine1
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the first line of the address, as printed, of the person to which the document was issued. None
  • addressLine2
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the second line of the address, as printed, of the person to which the document was issued. None
  • addressLine3
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the third line of the address, as printed, of the person to which the document was issued. None
  • addressLine4
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the fourth line of the address, as printed, of the person to which the document was issued. None
  • city
  • String The parsed out city of the address of the person to whom the document was issued. None
  • postalCode
  • String The parsed out postal code of the address of the person to whom the document was issued. None
  • stateOrProvince
  • String The parsed out state or province of the address of the person to whom the document was issued. None
  • unparsedAddress
  • Object An unparsed version of the address of the person to whom the document was issued. N/A
  • addressLine1
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the first line of the address, as printed, of the person to which the document was issued. None
  • addressLine2
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the second line of the address, as printed, of the person to which the document was issued. None
  • addressLine3
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the third line of the address, as printed, of the person to which the document was issued. None
  • addressLine4
  • String The data extracted from an MRZ, PDF417 barcode, or biozone field related to the fourth line of the address, as printed, of the person to which the document was issued. None
  • machineReadableZone
  • Object The data extracted from the Machine Readable Zone of the submitted document. N/A
  • parsedMachineReadableZone
  • Object A parsed version of the Machine Readable Zone. N/A
  • compositeCheckDigit
  • String The composite check digit value. A single digit or <
  • compositeCheckDigitVerified
  • String The indication if the composite check digit contains a valid value. true or false
  • dateOfBirth
  • String The data extracted from an MRZ field related to the date of birth of the person to which the document was issued, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • dateOfBirthCheckDigit
  • String The date of birth check digit value. A single digit or <
  • dateOfBirthVerified
  • String The indication if the date of birth check digit contains a valid value. true or false
  • dateOfExpiry
  • String The data extracted from an MRZ field related to the date of expiry of the document, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • dateOfExpiryCheckDigit
  • String The date of expiry check digit value. A single digit or <
  • dateOfExpiryVerified
  • String The indication if the date of expiry check digit contains a valid value. true or false
  • documentNumber
  • String The data extracted from an MRZ field related to the number or identifier of the document. None
  • documentNumberCheckDigit
  • String The document number check digit value. A single digit or <
  • documentNumberVerified
  • String The indication if the document number check digit contains a valid value. true or false
  • documentSubType
  • String The data extracted from an MRZ field related to the sub type of the document. None
  • documentType
  • String (array)

    The data extracted from an MRZ field related to the type of document that was submitted.

    None
  • gender
  • String

    The data extracted from an MRZ field related to the gender of the person to which the document was issued, normalized into one of the following values: M (male), F (female), or N/B (non binary).

    M, F, or N/B
  • givenNames
  • String The data extracted from an MRZ field related to the given names of the person to which the document was issued.
  • stateOrProvinceOfIssuance
  • String The data extracted from an MRZ field related to the ISO country code of the country that issued the document. None
  • stateOrProvinceOfIssuanceVerified
  • String The indication if the issuing state or organization contains a valid value. true or false
  • isValid
  • String The parsed out state or province of the address of the person to whom the document was issued. None
  • nationalityCode
  • String The data extracted from an MRZ field related to the ISO country code of the nationality of the person to which the document was issued. None
  • nationalityCodeVerified
  • String The indication if the nationality contains a valid value. true or false
  • personalGovernmentId
  • String The data extracted from an MRZ field related to any government identification number of the person to which the document was issued. None
  • personalGovernmentIdCheckDigit
  • String The personal government ID check digit value. A single digit or <
  • personalGovernmentIdVerified
  • String The indication if the personal government ID check digit contains a valid value. true or false
  • surname
  • String The data extracted from an MRZ field related to the surname of the person to which the document was issued. None
  • unparsedMachineReadableZone
  • Object An unparsed version of the Machine Readable Zone. N/A
  • mrzLine1
  • String The first line of the MRZ. None
  • mrzLine2
  • String The second line of the MRZ. None
  • mrzLine3
  • String The third line of the MRZ. None

    Expert Error Responses

    400 Response Example

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    {
      "message": "Customer reference id should not exceed 500 characters."
    }
    
    OR
    
    { 
      "message": "Missing image data."
    }
    
    OR
    
    { 
      "message": "No images were provided."
    }
    
    OR
    
    { 
      "message": "Please specify a valid dataType for deviceExtractedData."
    }
    
    OR
    
    { 
      "message": "Unknown value "PDF417_STRING_VAL" for enum customerapi.DeviceExtractedData_DataType."
    }
    
    OR
    
    { 
      "message": "Incorrect endpoint for request type."
    }
    

    401 Response Example

    HTTP/1.1 401 Unauthorized
    Content-Type: application/json
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    { 
      "message": "The token is either invalid, malformed, inactive, or missing the required scopes."
    }
    

    404 Response Example

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    { 
      "message": "The result you attempted to retrieve does not exist or has already been retrieved."
    }
    
    OR
    
    { 
      "message": "Not Found"
    }
    

    408 Response Example

    HTTP/1.1 408 Request Timeout
    Content-Type: application/json
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    { 
      "message": "Request Timeout"
    }
    

    413 Response Example

    HTTP/1.1 413 Request Entity Too Large
    Content-Type: application/json
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    {
        "message": "Request Entity Too Large"
    }
    

    415 Response Example

    HTTP/1.1 415 Unsupported Media Type
    Content-Type: application/json
    
    { 
      "message": "Please ensure you are specifying application/json as the Content-Type."
    }
    

    429 Response Example

    HTTP/1.1 429 Too Many Requests
    Content-Type: application/json
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    { 
      "message": "Too Many Requests"
    }
    

    500 Response Example

    HTTP/1.1 500 Internal Server Error
    Content-Type: application/json
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    { 
      "message": "An internal error has occurred. Please try again in a few minutes."
    }
    

    503 Service Unavailable

    HTTP/1.1 503 Service Unavailable
    Content-Type: application/json
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    { 
      "message": "Service Unavailable"
    }
    

    Standard HTTP REST-based response codes and messages are used to indicate success or failure for a request.

    Returned Fields

    Name Type Description Restrictions
    message String A message describing the error. None

    Face Comparison - Auto

    Each auto face comparison request provides the ability to compare the face present on an identity document with selfie(s) provided as part of the request. In addition, liveness detection can be enabled to determine if the selfie is from a live person. The API only supports providing up to two reference images and up to 3 selfies.

    Face Comparison - Auto Request

    Request Example

    POST /identity/facecomparison/v3/auto HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    
    {
      "transactionRequestId": "093ddee6-1a16-4da2-a09f-f4c16e20defa",
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "referenceImages": [
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        }
      ],
      "selfieImages": [
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        }
      ]
    }
    

    Request Example with Liveness Detection

    POST /identity/facecomparison/v3/auto HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    
    {
      "configuration": {
        "faceLiveness": true
      },
      "transactionRequestId": "093ddee6-1a16-4da2-a09f-f4c16e20defa",
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "referenceImages": [
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        }
      ],
      "selfieImages": [
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        }
      ]
    }
    

    Request Example with Injection Attack Detection

    POST /identity/facecomparison/v3/auto HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    
    {
      "configuration": {
        "injectionAttackDetection": ["selfieImages", "referenceImages"]
      },
      "transactionRequestId": "093ddee6-1a16-4da2-a09f-f4c16e20defa",
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "referenceImages": [
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ==",
          "encryptedPayload": "QkFTRTY0IEVOQ09ERUQgRU5DUllQVEVEIFBBWUxPQUQ="
        }
      ],
      "selfieImages": [
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ==",
          "encryptedPayload": "QkFTRTY0IEVOQ09ERUQgRU5DUllQVEVEIFBBWUxPQUQ="
        }
      ]
    }
    

    Run in Postman

    URL

    /identity/facecomparison/v3/auto

    Required Fields

    Name Type Description Restrictions
    referenceImages Object (array) An array of images that are used as the reference for face comparison, these should be derived from a document previously submitted via mobile verify Maximum of 2 reference images can be submitted per request
  • data
  • String A base64-encoded image to be used as a reference to be compared against the selfie image(s) provided
  • encryptedPayload
  • String A base64-encoded string containing an encrypted real-time security payload generated by Mitek’s MiSnap Capture SDKs v.5.4.0 and newer. This field is only required if referenceImages is enabled in the Injection Attack Detection object in the request configuration
    selfieImages Object (array) An array of base-64 encoded images of selfies to be verified
  • Maximum of 3 selfies can be submitted per request
  • data
  • String A base64-encoded image of a selfie to be compared against the reference image provided
  • encryptedPayload
  • String A base64-encoded string containing an encrypted real-time security payload generated by Mitek’s MiSnap Capture SDKs v.5.4.0 and newer. This field is only required if selfieImages is enabled in the Injection Attack Detection object in the request configuration

    Optional Fields

    Name Type Description Restrictions
    transactionRequestId String A valid UUID for a previously submitted Mobile Verify (Auto, Manual, or Expert) request UUID
    configuration Object A dictionary of configuration options. N/A
  • faceLiveness
  • Boolean

    A value, that when set to true will enable face liveness detection to be performed on the given selfie(s). A faceLivenessApproval field will be included in the response findings indicating the result of face liveness detection, if enabled. Additionally if the client is entitled to the feature, a deepfakeDetectionApproval field will also be included in the response findings when this configuration is enabled.

    true or false
  • injectionAttackDetection
  • Object

    A list of image types enabled for injection attack detection to be performed on. An injectionAttackDetectionApproval field will be included in the response findings indicating the result of injection attack detection, if enabled.

    selfieImages, referenceImages
    customerReferenceId String [OPTIONAL] Customer provided identifier that will be returned in an identically named field within the body of any subsequent responses 500 characters limit

    Face Comparison - Auto Response

    "MATCH" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: fc59ec41-cbdb-4438-9526-a7d6c7990647
    
    {
      "requestId": "fc59ec41-cbdb-4438-9526-a7d6c7990647",
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "approval": "APPROVED",
      "findings": {
        "faceComparisonApproval": "MATCH"
      }
    }
    

    "NOT_MATCH" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 47b9db6f-0099-436a-9200-67e7e55c8938
    
    {
      "requestId": "47b9db6f-0099-436a-9200-67e7e55c8938",
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "approval": "NOT_APPROVED",
      "findings": {
        "faceComparisonApproval": "NOT_MATCH"
      }
    }
    

    Face Liveness "NOT_LIVE" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 47b9db6f-0099-436a-9200-67e7e55c8938
    
    {
      "requestId": "47b9db6f-0099-436a-9200-67e7e55c8938",
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "approval": "NOT_APPROVED",
      "findings": {
        "faceComparisonApproval": "MATCH",
        "faceLivenessApproval": "NOT_LIVE"
      }
    }
    

    Injection Attack Detection "NOT_PASS" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 47b9db6f-0099-436a-9200-67e7e55c8938
    
    {
      "requestId": "47b9db6f-0099-436a-9200-67e7e55c8938",
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "approval": "NOT_APPROVED",
      "findings": {
        "faceComparisonApproval": "MATCH",
        "faceLivenessApproval": "LIVE",
        "injectionAttackDetectionApproval": "NOT_PASS"
      }
    }
    

    "NOT_APPROVED" with "reasons" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 47b9db6f-0099-436a-9200-67e7e55c8938
    
    {
      "requestId": "47b9db6f-0099-436a-9200-67e7e55c8938",
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "approval": "NOT_APPROVED",
      "findings": {
        "faceComparisonApproval": "NOT_MATCH",
        "faceLivenessApproval": "NOT_LIVE",
        "injectionAttackDetectionApproval": "NOT_PASS",
        "reasons": [
          "FACE_NOT_DETECTED_SELFIE_IMAGE",
          "MISSING_ENCRYPTED_PAYLOAD"
        ]
      }
    }
    

    Response Example with "referenceImageUsed"

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 47b9db6f-0099-436a-9200-67e7e55c8938
    
    {
      "requestId": "47b9db6f-0099-436a-9200-67e7e55c8938",
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "approval": "APPROVED",
      "findings": {
        "faceComparisonApproval": "MATCH"
      },
      "referenceImageUsed": "fetched"
    }
    

    Deepfake Detection "NOT_LIVE" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: db169bbb-148c-489d-baad-828ff51c66af
    
    {
      "requestId": "db169bbb-148c-489d-baad-828ff51c66af",
      "findings": {
        "faceComparisonApproval": "MATCH",
        "faceLivenessApproval": "LIVE",
        "deepfakeDetectionApproval": "NOT_LIVE"
      },
      "approval": "NOT_APPROVED"
    }
    

    Returned Fields

    Name Type Description Restrictions
    requestId String The UUID assigned to the request UUID
    customerReferenceId String A value that will be returned within the body of subsequent responses. N/A
    approval String An overall service approval result taking all individual biometric checks into account.
    APPROVED: The value will be returned when all individual checks return a positive result.
    NOT_APPROVED: The value will be returned when any given check returns a negative result.
    APPROVED or NOT_APPROVED
    findings
  • faceComparisonApproval
  • String Service approval result containing auto face comparison judgement.
    MATCH: The value will be returned in case selfie photo matches portrait image of document holder.
    NOT_MATCH: The value will be returned in case selfie photo does not match portrait image of document holder.
    MATCH or NOT_MATCH
  • faceLivenessApproval
  • String Service approval result containing face liveness detection judgement.
    LIVE: The value will be returned in case selfie photo is from a live person.
    NOT_LIVE: The value will be returned in case selfie is not from a live person -- e.g. if the selfie is a picture of a picture
    LIVE or NOT_LIVE
  • injectionAttackDetectionApproval
  • String Service approval result containing injection attack detection judgement.
    PASS: The value will be returned in case injection is not detected on all of the images of the enabled image types.
    NOT_PASS: The value will be returned in case injection is detected on any of the images of the enabled image types.
    PASS or NOT_PASS
  • deepfakeDetectionApproval
  • String Service approval result containing deepfake detection judgement.
    LIVE: The value will be returned in case selfie photo does not have evidence of a deepfake image.
    NOT_LIVE: The value will be returned in case selfie has evidence of a deepfake image or other digital manipulation.
    LIVE or NOT_LIVE
  • reasons
  • String (array) The reasons that the service is unable to complete face comparison and/or face liveness detection.
    FACE_CROPPED_SELFIE_IMAGE: The complete face is not present in the selfie image.
    FACE_NOT_DETECTED_REFERENCE_IMAGE: The face could not be detected in the reference image.
    FACE_NOT_DETECTED_SELFIE_IMAGE: The face could not be detected in the selfie image.
    FACE_TOO_CLOSE_SELFIE_IMAGE: The face in the selfie image is too close to the camera.
    FACE_TOO_FAR_SELFIE_IMAGE: The face in the selfie image is too far from the camera.
    FACE_ANGLE_TOO_LARGE_SELFIE_IMAGE: The angle between the face and camera is too large in the selfie image.
    QUALITY_TOO_LOW_SELFIE_IMAGE: The selfie has failed the image quality check.
    TOO_MANY_FACES_SELFIE_IMAGE: More than one face was detected in the selfie image.
    MISSING_ENCRYPTED_PAYLOAD: The required encrypted payload associated with any image of the enabled image types was not submitted in the service request.
    FACE_CROPPED_SELFIE_IMAGE, FACE_NOT_DETECTED_REFERENCE_IMAGE, FACE_NOT_DETECTED_SELFIE_IMAGE, FACE_TOO_CLOSE_SELFIE_IMAGE, FACE_TOO_FAR_SELFIE_IMAGE, FACE_ANGLE_TOO_LARGE_SELFIE_IMAGE, QUALITY_TOO_LOW_SELFIE_IMAGE, TOO_MANY_FACES_SELFIE_IMAGE, or MISSING_ENCRYPTED_PAYLOAD.
    referenceImageUsed String This field is only returned for tenants with the feature enabled to reference a Mobile Verify Auto Derived Cropped Portrait.
    fetched: Will be returned when a fetched cropped portrait from a previous mobile verify transaction is used for face comparison.
    submitted: Will be returned when the original submitted document image is used for face comparison, i.e. whenever a derived cropped portrait cannot be obtained or in cases where we fall back to using the submitted image when a face cannot be found in the fetched cropped portrait.
    fetched or submitted

    Face Comparison - Auto Error Responses

    400 Response Example

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    {
      "message": "Customer reference id should not exceed 500 characters."
    }
    
    OR
    
    {
      "message": "Too many reference images included in request."
    }
    
    OR
    
    {
      "message": "Too many selfies included in request."
    }
    
    OR
    
    {
      "message": "No reference images were provided."
    }
    
    OR
    
    {
      "message": "No selfie images were provided."
    }
    
    OR
    
    {
      "message": "Missing image data."
    }
    
    OR
    
    {
      "message": "The selfie image could not be encoded."
    }
    
    OR
    
    {
      "message": "The reference image base64 string could not be decoded."
    }
    
    OR
    
    {
      "message": "The selfie image base64 string could not be decoded."
    }
    
    OR
    
    {
      "message": "Invalid transactionRequestID."
    }
    
    OR
    
    {
      "message": "Invalid configuration value provided for Injection Attack Detection; allowed values are: [selfieImages, referenceImages]"
    }
    

    401 Response Example

    HTTP/1.1 401 Unauthorized
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    {
      "message": "The token is either invalid, malformed, inactive, or missing the required scopes."
    }
    

    403 Response Example

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    {
      "message": "Face liveness detection is not enabled for your account."
    }
    
    OR
    
    {
      "message": "Injection Attack Detection is not enabled on your account. Please contact support to resolve."
    }
    

    404 Response Example

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    {
      "message": "Not Found"
    }
    

    408 Response Example

    HTTP/1.1 408 Request Timeout
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    {
      "message": "Request Timeout"
    }
    

    413 Response Example

    HTTP/1.1 413 Request Entity Too Large
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    {
      "message": "Request Entity Too Large"
    }
    

    415 Response Example

    HTTP/1.1 415 Unsupported Media Type
    Content-Type: application/json
    
    {
      "message": "Please ensure you are specifying application/json as the Content-Type."
    }
    

    429 Response Example

    HTTP/1.1 429 Too Many Requests
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    {
      "message": "Too Many Requests"
    }
    

    500 Response Example

    HTTP/1.1 500 Internal Server Error
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    {
      "message": "An internal error has occurred. Please try again in a few minutes."
    }
    

    503 Service Unavailable

    HTTP/1.1 503 Service Unavailable
    Content-Type: text/plain
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    Service Unavailable
    
    OR
    
    HTTP/1.1 503 Service Unavailable
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    {
      "message": "Service Unavailable"
    }
    

    Standard HTTP REST-based response codes and messages are used to indicate success or failure for a request.

    Returned Fields

    Name Type Description Restrictions
    message String A message describing the error. None

    Face Comparison - Manual

    Each manual face comparison request provides the ability to compare the face present on an identity document with selfie(s) provided as part of the request. The API only supports providing up to two reference images and up to 3 selfies. NOTE: The API requires a valid Mobile Verify (Auto, Manual or Expert) request ID to be included in the request.

    Face Comparison - Manual Request

    Request Example (without Injection Attack Detection)

    POST /identity/facecomparison/v3/manual HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    
    {
      "transactionRequestId": "093ddee6-1a16-4da2-a09f-f4c16e20defa",
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "referenceImages": [
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        }
      ],
      "selfieImages": [
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        }
      ]
    }
    

    Request Example (Injection Attack Detection requested for both reference and selfie images)

    POST /identity/facecomparison/v3/manual HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    
    {
      "transactionRequestId": "093ddee6-1a16-4da2-a09f-f4c16e20defa",
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "referenceImages": [
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ==",
          "encryptedPayload": "WyJVVWlsWGQ3bWhoWVJXc1lGZFRuUjlh"
        },
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ==",
          "encryptedPayload": "WyJVVWlsWGQ3bWhoWVJXc1lGZFRuUjlh"
        }
      ],
      "selfieImages": [
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ==",
          "encryptedPayload": "WyJVVWlsWGQ3bWhoWVJXc1lGZFRuUjlh"
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA=",
          "encryptedPayload": "AiLCJPRENFbmFibGVkIjp0cnVlLCJSZW"
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA=",
          "encryptedPayload": "AiLCJPRENFbmFibGVkIjp0cnVlLCJSZW"
        }
      ],
      "configuration": {
        "injectionAttackDetection": ["referenceImages", "selfieImages"]
      }
    }
    

    URL

    /identity/facecomparison/v3/manual

    Required Fields

    Name Type Description Restrictions
    referenceImages Object (array) An array of images that are used as the reference for face comparison, these should be derived from a document previously submitted via mobile verify Maximum of 2 reference images can be submitted per request
  • data
  • String A base64-encoded image to be used as a reference to be compared against the selfie image(s) provided
  • encryptedPayload
  • String A base64-encoded string containing an encrypted real-time security payload generated by Mitek’s MiSnap Capture SDKs v.5.4.0 and newer. This field is only required if referenceImages is enabled in the Injection Attack Detection object in the request configuration.
    selfieImages Object (array) An array of base-64 encoded images of selfies to be verified
  • Maximum of 3 selfies can be submitted per request
  • data
  • String A base64-encoded image of a selfie to be compared against the reference image provided
  • encryptedPayload
  • String A base64-encoded string containing an encrypted real-time security payload generated by Mitek’s MiSnap Capture SDKs v.5.4.0 and newer. This field is only required if selfieImages is enabled in the Injection Attack Detection object in the request configuration.

    Optional Fields

    Name Type Description Restrictions
    transactionRequestId String A valid UUID for a previously submitted Mobile Verify (Auto, Manual or Expert) request UUID
    customerReferenceId String [OPTIONAL] Customer provided identifier that will be returned in an identically named field within the body of any subsequent responses 500 characters limit
    configuration Object A dictionary of configuration options.
  • injectionAttackDetection
  • Object A list of image types enabled for injection attack detection to be performed on. selfieImages, referenceImages

    Face Comparison - Manual Response

    Response Example

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    { 
      "transactionRequestId": "093ddee6-1a16-4da2-a09f-f4c16e20defa",
      "requestId": "7bd9aada-d538-4f48-807f-3ba97428e770",
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER"
    }
    

    Returned Fields

    Name Type Description Restrictions
    transactionRequestId String The UUID for the previously submitted Mobile Verify (Auto, Manual or Expert) request that this transaction will be associated with UUID
    requestId String The UUID assigned to this request UUID
    customerReferenceId String [OPTIONAL] The customer reference ID value that was submitted with the original request N/A

    Face Comparison - Manual Retrieval Request

    Request Example

    GET /identity/facecomparison/v3/manual/093ddee6-1a16-4da2-a09f-f4c16e20defa HTTP/1.1
    Authorization: Bearer $OAUTH_TOKEN
    

    Results retrieval is the final step in retrieving the final results from a manual request. To retrieve the final result from the platform, a GET request is submitted to the API with the retrievalID that is returned from the polling API (NOTE: The retrievalId is not the same as the requestId). The results will be available from the retrieval end-point for one retrieval, once retrieval has completed, the results will be evicted from the retrieval infrastructure preventing any additional retrieval requests from being successful. Additionally, if the result has not been retrieved within 7 days of the result being made available, the result will no longer be accessible from the API.

    URL

    /identity/facecomparison/v3/manual/{retrievalId}

    Required Attributes

    Name Type Description Restrictions
    retrievalId String Unique identifier used for the retrieval of the final result. For details of the retrieval ID, see this section here. UUID

    Face Comparison - Manual Response

    "MATCH", "LIVE" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: fc59ec41-cbdb-4438-9526-a7d6c7990647
    
    {
      "requestId": "fc59ec41-cbdb-4438-9526-a7d6c7990647",
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": "ACCEPTED"
      },
      "findings": {
        "faceComparisonApproval": "MATCH"
        "faceLivenessApproval": "LIVE"
      }
    }
    

    "NOT_MATCH", "NOT_LIVE" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: fc59ec41-cbdb-4438-9526-a7d6c7990647
    
    {
      "requestId": "fc59ec41-cbdb-4438-9526-a7d6c7990647",
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": "ACCEPTED"
      },
      "findings": {
        "faceComparisonApproval": "NOT_MATCH"
        "faceLivenessApproval": "NOT_LIVE"
      }
    }
    

    "REJECTED" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    {
      "requestId": "7bd9aada-d538-4f48-807f-3ba97428e770",
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": " REJECTED",
        "reasons": [
          "POOR_CONTRAST",
          "POOR_EXPOSURE",
          "OUT_OF_FOCUS",
          "GLARE",
          "MISSING_SELFIE",
          "MISSING_PORTRAIT",
          "NOT_HUMAN_FACE",
          "PARTIALLY_VISIBLE_HUMAN_FACE",
          "SELFIE_NOT_LIVE",
          "PORTRAIT_IS_FAKE"
        ]
      }
    }
    

    Returned Fields

    Name Type Description Restrictions
    requestId String The UUID assigned to the request UUID
    customerReferenceId String A value that will be returned within the body of subsequent responses. N/A
    acceptance
  • result
  • String Determination of whether the images provided were of sufficient quality to be processed ACCEPTED, REJECTED
  • reasons
  • String (array) MISSING_SELFIE: One or more images are missing selfie for processing face comparison. Please retake live selfie image before resubmitting them.
    MISSING_PORTRAIT: One or more document images are missing portrait required for processing face comparison. Please retake document image containing portrait before resubmitting them.
    NOT_HUMAN_FACE: One or more document images have portrait without human face for processing face comparison. Please retake document image containing human face portrait before resubmitting them.
    PARTIALLY_VISIBLE_HUMAN_FACE: One or more of the submitted images could not be processed due to a human face that is only partially visible. Please retake the images containing the complete human face portrait before resubmitting them.
    PORTRAIT_IS_FAKE: One or more document images have a portrait with strong evidence of forgery and is thus not eligible for face comparison Please retake the live document image containing a real portrait before resubmitting them.
    SELFIE_NOT_LIVE: One or more selfies are deemed not live which is not eligible for face comparison. Please recapture the live selfie image before resubmitting them.
    OUT_OF_FOCUS: One or more of the submitted images could not be processed due to the image being out of focus. Please retake the images before resubmitting them.
    POOR_CONTRAST: One or more of the submitted images could not be processed due to the image having poor contrast. Please retake the images before resubmitting them.
    POOR_EXPOSURE: One or more of the submitted images could not be processed due to the image having poor exposure. Please retake the images before resubmitting them.
    GLARE: One or more of the submitted images could not be processed due to the image having glare on essential elements. Please retake the images before resubmitting them.
    INJECTION_ATTACK_DETECTED: An injection attack was detected in one or more of the submitted images. Please do not resubmit.
    MISSING_SELFIE, MISSING_PORTRAIT, NOT_HUMAN_FACE, PARTIALLY_VISIBLE_HUMAN_FACE, PORTRAIT_IS_FAKE, SELFIE_NOT_LIVE, OUT_OF_FOCUS, POOR_CONTRAST, POOR_EXPOSURE, GLARE or INJECTION_ATTACK_DETECTED.
    findings
  • faceComparisonApproval
  • String Service approval result containing manual comparison judgement .
    MATCH: The value will be returned in case selfie photo matches portrait image of document holder.
    NOT_MATCH: The value will be returned in case selfie photo does not match portrait image of document holder.
    MATCH or NOT_MATCH
  • faceLivenessApproval
  • String Service approval result containing automatic liveness judgement .
    LIVE: The value will be returned in case selfie photo is considered to be a live photo.
    NOT_LIVE: The value will be returned in case selfie photo is considered to be not a live photo.
    LIVE or NOT_LIVE

    Face Comparison - Manual Error Responses

    400 Response Example

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    {
      "message": "Customer reference id should not exceed 500 characters."
    }
    
    OR
    
    {
      "message": "Invalid transactionRequestID."
    }
    
    OR
    
    {
      "message": "Too many reference images included in request."
    }
    
    OR
    
    {
      "message": "No selfie images were provided."
    }
    
    OR
    
    {
      "message": "Too many selfies included in request."
    }
    
    OR
    
    {
      "message": "Maximum document image size exceeded."
    }
    
    OR
    
    { 
      "message": "Missing image data."
    }
    
    OR
    
    { 
      "message": "No reference images were provided."
    }
    
    

    401 Response Example

    HTTP/1.1 401 Unauthorized
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "message": "The token is either invalid, malformed, inactive, or missing the required scopes."
    }
    

    404 Response Example

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "message": "The result you attempted to retrieve does not exist or has already been retrieved."
    }
    
    OR
    
    { 
      "message": "Not Found"
    }
    

    408 Response Example

    HTTP/1.1 408 Request Timeout
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "message": "Request Timeout"
    } 
    

    413 Response Example

    HTTP/1.1 413 Request Entity Too Large
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "message": "Request Entity Too Large"
    }
    

    415 Response Example

    HTTP/1.1 415 Unsupported Media Type
    Content-Type: application/json
    
    { 
      "message": "Please ensure you are specifying application/json as the Content-Type."
    } 
    

    429 Response Example

    HTTP/1.1 429 Too Many Requests
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "message": "Too Many Requests"
    }
    

    500 Response Example

    HTTP/1.1 500 Internal Server Error
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "message": "An internal error has occurred. Please try again in a few minutes."
    }
    

    503 Service Unavailable

    HTTP/1.1 503 Service Unavailable
    Content-Type: text/plain
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    Service Unavailable
    
    OR
    
    HTTP/1.1 503 Service Unavailable
    Content-Type: application/json
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "message": "Service Unavailable"
    }
    

    Standard HTTP REST-based response codes and messages are used to indicate success or failure for a request.

    Returned Fields

    Name Type Description Restrictions
    message String A message describing the error. None

    Polling

    Mitek has implemented a polling approach for the retrieval of results via our asynchronous APIs. The polling API provides details of the state of all currently in-process and completed transactions to customers on a per-tenant basis. Completed transactions will be available for a limited amount of time. When leveraging the API, Mitek recommends a polling interval of 5 seconds and will start to return a 429 response if polling exceeds 1 API call per second.

    Polling Request

    Request Example

    GET /identity/v3/poll HTTP/1.1
    Authorization: Bearer $OAUTH_TOKEN
    

    Polling is implemented as a simple GET operation on the polling end-point and will return a list of current transactions for the tenant with details of their current status (PROCESSING, COMPLETED, or ERROR).

    Run in Postman

    URL

    /identity/v3/poll

    Polling Response

    Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json;
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    {
      "requests": [
        {
          "service": "VERIFY_MANUAL"
          "requestId": "4d6a4dc2-a756-4479-99c2-a856b41456c6",
          "customerReferenceId": "CUSTOMER PROVIDED REFERENCE ID",
          "retrievalId": "4c52b0ef-aa28-4675-85d7-207b00486520",
          "status": "COMPLETED"
        },
        {
          "service": "VERIFY_EXPERT"
          "requestId": "7bd9aada-d538-4f48-807f-3ba97428e770",
          "customerReferenceId": "CUSTOMER PROVIDED REFERENCE ID",
          "retrievalId": "1a55b710-def3-4bc2-89c8-17cefd8c7c98",
          "status": "COMPLETED"
        }
      ]
    }
    
    

    All of Mitek's asynchronous APIs leverage a polling approach for statusing and retrieval of responses. Each request to the polling API will return the details of all current documents that are in process with their associated status (PROCESSING, COMPLETED, or ERROR). The polling response will only return the details of those documents that have not yet completed or have not yet been retrieved from the platform. Once final results have been retrieved from the retrieval end-point, the polling API will no longer return the transaction status in the response. Furthermore, completed transactions will be deleted after seven days. The transaction has to be resubmitted after that period of time to recreate the results.

    Returned HTTP Headers

    Name Type Description Restrictions
    Mitek-Server-Processing-Time Number The total duration, in milliseconds, from the time the entire request was received until the response was sent. None
    Mitek-Request-Id String The UUID assigned to the request. UUID

    Returned Fields

    Name Type Description Restrictions
    requests
  • requestId
  • String The UUID assigned to the request. UUID
  • customerReferenceId
  • String The optional CustomerReferenceID value that was submitted with the original request. None
  • service
  • String

    Type of service requested

    VERIFY: Mitek Mobile Verify

    VERIFY_MANUAL: Mitek Mobile Verify Manual

    FILL_MANUAL: Mitek Mobile Fill Manual

    VERIFY_EXPERT: Mitek Mobile Verify Expert

    FACECOMPARE_MANUAL: Mitek Manual Face Compare

    VERIFY, VERIFY_MANUAL, VERIFY_EXPERT, FILL_MANUAL or FACECOMPARE_MANUAL
  • retrievalId
  • String Unique identifier used for the retrieval of the final result UUID
  • status
  • String

    Current status of the transaction

    PROCESSING: The document is still being reviewed by the manual review and/or expert teams

    COMPLETED: Manual processing of the submitted document has completed and the results are available for retrieval from the appropriate retrieval API

    ERROR: An unrecoverable technical error has occurred, please resubmit the transaction for processing

    PROCESSING, COMPLETED, or ERROR

    Polling Error Responses

    401 Response Example

    HTTP/1.1 401 Unauthorized
    Content-Type: application/json
    Mitek-Request-Id: 1068a8af-4ef7-4507-98a2-8334657b2bc4
    
    { 
      "requestId": "1068a8af-4ef7-4507-98a2-8334657b2bc4", 
      "message": "The token is either invalid, malformed, inactive, or missing the required scopes"
    }
    

    403 Response Example

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    Mitek-Request-Id: 1068a8af-4ef7-4507-98a2-8334657b2bc4
    
    { 
      "requestId": "1068a8af-4ef7-4507-98a2-8334657b2bc4", 
      "message": "Forbidden"
    }
    

    408 Response Example

    HTTP/1.1 408 Request Timeout
    Content-Type: text/plain
    Mitek-Request-Id: 1068a8af-4ef7-4507-98a2-8334657b2bc4
    
    Request Timeout
    

    429 Response Example

    HTTP/1.1 429 Too Many Requests
    Content-Type: text/plain
    Mitek-Request-Id: 1068a8af-4ef7-4507-98a2-8334657b2bc4
    
    Too Many Requests
    

    500 Response Example

    HTTP/1.1 500 Internal Server Error
    Content-Type: application/json
    Mitek-Request-Id: 1068a8af-4ef7-4507-98a2-8334657b2bc4
    
    { 
      "message": "An internal error has occurred. Please try again in a few minutes."
    }
    

    503 Service Unavailable

    HTTP/1.1 503 OK
    Content-Type: text/plain
    Mitek-Request-Id: 1068a8af-4ef7-4507-98a2-8334657b2bc4
    
    Service Unavailable
    

    Standard HTTP REST-based response codes and messages are used to indicate success or failure for a request.

    Canned Responses

    The canned response service will return an automated predefined response that is intended for testing and development purposes. This service will only be available in sand-box environments and not in production environments. Each transaction will have an added delay, to simulate real-life traffic conditions.

    To receive a canned response, a custom header is required with the name canned-response, with one of following values: APPROVED, NOT_APPROVED, REJECTED. The response will vary based on the canned-response value, and selected product endpoint Also canned-reasons header can be set to determine corresponding reject or fraud reasons if the canned-response value is REJECTED or NOT_APPROVED.

    Required header

    Name Type Description Restrictions
    canned-response String This header will determine the type of response and should be one of the following values: APPROVED, NOT_APPROVED, REJECTED. If the supplied value is REJECTED, the the service will return all corresponding reject reasons. N/A

    Optional header

    Name Type Description Restrictions
    canned-reasons []String This header will return corresponding reject or fraud reasons if the supplied value is REJECTED or NOT_APPROVED. As a sample it can be like UNSUPPORTED_DOCUMENT_TYPE, SECURITY_FEATURES_NOT_VISIBLE, NOT_A_DOCUMENT for rejected reasons and like EVIDENCE_OF_FORGERY_SIGNATURE, EVIDENCE_OF_FORGERY_BLACK_AND_WHITE_COPY, EXPIRED_OR_INVALIDATED for fraud reasons. Is applicable when canned-response has values of REJECTED or NOT_APPROVED

    Canned Mobile Verify

    Canned Mobile Verify provides the capability to receive an automated and predefined response based on the Mitek Identity Cloud API. When reviewing documents submitted, the canned response service will return a series of canned verification results (depending on the value of the canned-response and canned-reasons (if provided) headers) and return canned Authenticity, Originality and Validity results.

    "APPROVED" Request Example

    POST /identity/verify/v3/id-document HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    canned-response: APPROVED
    
    { 
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "images": [
        {      
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        }
      ],
      "deviceExtractedData": [
        {
            "dataType": "PDF417_STRING",
            "data": "PDF417 STRING"
        }
      ]
    }
    

    Mobile Verify Request

    URL

    /identity/verify/v3/id-document

    Required Fields

    Name Type Description Restrictions
    images Object (array) An array of base64-encoded images of the document to be verified. N/A
  • data
  • String A base64-encoded image containing a single page of the document to be processed.

    Optional Fields

    Name Type Description Restrictions
    customerReferenceId String [OPTIONAL] Customer provided identifier that will be returned in an identically named field within the body of any subsequent responses 500 characters limit
    deviceExtractedData Object (array) [OPTIONAL] An array of data extracted on-device from an identity document from machine-readable document features, e.g., barcode. N/A
  • datatype
  • String

    The type of data being passed for processing. This is commonly barcode details or other machine-encoded data that has been read on-device as part of the initial capture experience. Currently supported data types include:

    PDF417_STRING: A PDF417 string extracted from barcodes that support this encoding format.

    PDF417_STRING

    Mobile Verify Response

    "APPROVED" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    { 
      "requestId": "7bd9aada-d538-4f48-807f-3ba97428e770", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": "ACCEPTED"
      },
      "findings": {
        "documentApproval": "APPROVED",
        "details": {
          "authenticity": {
            "result": "AUTHENTIC"
          },
          "originality": {
            "result": "ORIGINAL"
          },
          "validity": {
            "result": "VALID"
          }
        }
      },
      "extractedData": {
        "documentAttributes": {
          "countryCodeOfIssuance": "USA",
          "dateOfExpiry": "2165-08-28",
          "dateOfIssuance": "1965-08-28",
          "documentNumber": "90933633",
          "documentType": "DRIVERS_LICENSE",
          "issuingAuthority": "CALIFORNIA DMV",
          "stateOrProvinceOfIssuance": "CA"
        },
        "personAttributes": {
          "dateOfBirth": "1965-08-28",
          "gender": "F",
          "nationalityCode": "GBR",
          "personalGovernmentId": "123435534",
          "placeOfBirth": "LONDON"
        },
        "name": {
          "firstSurname": "LORCA SANCHEZ",
          "fullName": "JUANA LORCA SANCHEZ MENDOZA",
          "givenNames": "JUANA",
          "secondSurname": "MENDOZA",
          "surname": "LORCA SANCHEZ MENDOZA"
        },
        "address": {     
          "unparsedAddress": {
            "addressLine1": "123 MAIN ST",
            "addressLine2": "SAN DIEGO CA 92101",
            "addressLine3": "APT 4",
            "addressLine4": "BLOCK 1"
          }
        },
        "machineReadableZone": {
          "parsedMachineReadableZone": {
            "compositeCheckDigit": "0",
            "compositeCheckDigitVerified": "true",
            "dateOfBirth": "1967-07-04",
            "dateOfBirthCheckDigit": "6",
            "dateOfBirthVerified": "true",
            "dateOfExpiry": "2016-08-07",
            "dateOfExpiryCheckDigit": "8",
            "dateOfExpiryVerified": "true",
            "documentNumber": "340007955",
            "documentNumberCheckDigit": "3",
            "documentNumberVerified": "true",
            "documentSubType": "",
            "documentType": "P",
            "gender": "F",
            "givenNames": "HAPPY",
            "stateOrProvinceOfIssuance": "USA",
            "stateOrProvinceOfIssuanceVerified": "true",
            "isValid": "true",
            "nationalityCode": "USA",
            "nationalityCodeVerified": "true",
            "personalGovernmentId": "910000833 1119",
            "personalGovernmentIdCheckDigit": "2",
            "personalGovernmentIdVerified": "true",
            "surname": "TRAVELER"
          },        
          "unparsedMachineReadableZone": {
            "mrzLine1": "P<USATRAVELER<<HAPPY<<<<<<<<<<<<<<<<<<<<<<<<",
            "mrzLine2": "3400079553USA6707046F1608078910000833<111920",
            "mrzLine3": "",
          }
        }
      }
    }
    

    "NOT_APPROVED" Request Example

    POST /identity/verify/v3/id-document HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    canned-response: NOT_APPROVED
    
    { 
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "images": [
        {      
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        }
      ],
      "deviceExtractedData": [
        {
            "dataType": "PDF417_STRING",
            "data": "PDF417 STRING"
        }
      ]
    }
    

    "NOT_APPROVED" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    { 
      "requestId": "7bd9aada-d538-4f48-807f-3ba97428e770", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": "ACCEPTED"
      },
      "findings": {
        "documentApproval": "NOT_APPROVED",
        "details": {
          "authenticity": {
            "result": "NOT_AUTHENTIC",
            "reasons": [
              "EVIDENCE_OF_FORGERY_BIODATA_FONTS",
              "EVIDENCE_OF_FORGERY_MRZ_FONTS",
              "EVIDENCE_OF_FORGERY_PHOTO_ZONE",
              "EVIDENCE_OF_FORGERY_SECURITY_FEATURES",
              "EVIDENCE_OF_FORGERY_SIGNATURE",
              "EVIDENCE_OF_FORGERY_NOT_HUMAN_FACE"
            ]
          },
          "originality": {
            "result": "NOT_ORIGINAL",
            "reasons": [
              "EVIDENCE_OF_FORGERY_BLACK_AND_WHITE_COPY",
              "EVIDENCE_OF_FORGERY_DOCUMENT_STRUCTURE"
            ]
          },
          "validity": {
            "result": "NOT_VALID",
            "reasons": [
              "EVIDENCE_OF_FORGERY_DATA_COMPARISON",
              "EVIDENCE_OF_FORGERY_MRZ_CHECKSUMS",
              "EXPIRED_OR_INVALIDATED" 
            ]
          }
        }
      },
      "extractedData": {
        "documentAttributes": {
          "countryCodeOfIssuance": "USA",
          "dateOfExpiry": "2165-08-28",
          "dateOfIssuance": "1965-08-28",
          "documentNumber": "90933633",
          "documentType": "DRIVERS_LICENSE",
          "issuingAuthority": "CALIFORNIA DMV",
          "stateOrProvinceOfIssuance": "CA"
        },
        "personAttributes": {
          "dateOfBirth": "1965-08-28",
          "gender": "F",
          "nationalityCode": "GBR",
          "personalGovernmentId": "123435534",
          "placeOfBirth": "LONDON"
        },
        "name": {
          "firstSurname": "LORCA SANCHEZ",
          "fullName": "JUANA LORCA SANCHEZ MENDOZA",
          "givenNames": "JUANA",
          "secondSurname": "MENDOZA",
          "surname": "LORCA SANCHEZ MENDOZA"
        },
        "address": {       
          "unparsedAddress": {
            "addressLine1": "123 MAIN ST",
            "addressLine2": "SAN DIEGO CA 92101",
            "addressLine3": "APT 4",
            "addressLine4": "BLOCK 1"
          }
        },
        "machineReadableZone": {
          "parsedMachineReadableZone": {
            "compositeCheckDigit": "0",
            "compositeCheckDigitVerified": "true",
            "dateOfBirth": "1967-07-04",
            "dateOfBirthCheckDigit": "6",
            "dateOfBirthVerified": "true",
            "dateOfExpiry": "2016-08-07",
            "dateOfExpiryCheckDigit": "8",
            "dateOfExpiryVerified": "true",
            "documentNumber": "340007955",
            "documentNumberCheckDigit": "3",
            "documentNumberVerified": "true",
            "documentSubType": "",
            "documentType": "P",
            "gender": "F",
            "givenNames": "HAPPY",
            "stateOrProvinceOfIssuance": "USA",
            "stateOrProvinceOfIssuanceVerified": "true",
            "isValid": "true",
            "nationalityCode": "USA",
            "nationalityCodeVerified": "true",
            "personalGovernmentId": "910000833 1119",
            "personalGovernmentIdCheckDigit": "2",
            "personalGovernmentIdVerified": "true",
            "surname": "TRAVELER"
          },        
          "unparsedMachineReadableZone": {
            "mrzLine1": "P<USATRAVELER<<HAPPY<<<<<<<<<<<<<<<<<<<<<<<<",
            "mrzLine2": "3400079553USA6707046F1608078910000833<111920",
            "mrzLine3": "",
          }
        }
      }
    }
    

    "NOT_APPROVED" Request with canned reasons header Example

    POST /identity/verify/v3/id-document HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    canned-response: NOT_APPROVED
    canned-reasons: EVIDENCE_OF_FORGERY_SIGNATURE, EVIDENCE_OF_FORGERY_BLACK_AND_WHITE_COPY, EXPIRED_OR_INVALIDATED
    
    { 
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "images": [
        {      
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        }
      ],
      "deviceExtractedData": [
        {
            "dataType": "PDF417_STRING",
            "data": "PDF417 STRING"
        }
      ]
    }
    

    "NOT_APPROVED" Response with canned reasons header Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    { 
      "requestId": "7bd9aada-d538-4f48-807f-3ba97428e770", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": "ACCEPTED"
      },
      "findings": {
        "documentApproval": "NOT_APPROVED",
        "details": {
          "authenticity": {
            "result": "NOT_AUTHENTIC",
            "reasons": [
              "EVIDENCE_OF_FORGERY_SIGNATURE"
            ]
          },
          "originality": {
            "result": "NOT_ORIGINAL",
            "reasons": [
              "EVIDENCE_OF_FORGERY_BLACK_AND_WHITE_COPY"
            ]
          },
          "validity": {
            "result": "NOT_VALID",
            "reasons": [
              "EXPIRED_OR_INVALIDATED" 
            ]
          }
        }
      },
      "extractedData": {
        "documentAttributes": {
          "countryCodeOfIssuance": "USA",
          "dateOfExpiry": "2165-08-28",
          "dateOfIssuance": "1965-08-28",
          "documentNumber": "90933633",
          "documentType": "DRIVERS_LICENSE",
          "issuingAuthority": "CALIFORNIA DMV",
          "stateOrProvinceOfIssuance": "CA"
        },
        "personAttributes": {
          "dateOfBirth": "1965-08-28",
          "gender": "F",
          "nationalityCode": "GBR",
          "personalGovernmentId": "123435534",
          "placeOfBirth": "LONDON"
        },
        "name": {
          "firstSurname": "LORCA SANCHEZ",
          "fullName": "JUANA LORCA SANCHEZ MENDOZA",
          "givenNames": "JUANA",
          "secondSurname": "MENDOZA",
          "surname": "LORCA SANCHEZ MENDOZA"
        },
        "address": {       
          "unparsedAddress": {
            "addressLine1": "123 MAIN ST",
            "addressLine2": "SAN DIEGO CA 92101",
            "addressLine3": "APT 4",
            "addressLine4": "BLOCK 1"
          }
        },
        "machineReadableZone": {
          "parsedMachineReadableZone": {
            "compositeCheckDigit": "0",
            "compositeCheckDigitVerified": "true",
            "dateOfBirth": "1967-07-04",
            "dateOfBirthCheckDigit": "6",
            "dateOfBirthVerified": "true",
            "dateOfExpiry": "2016-08-07",
            "dateOfExpiryCheckDigit": "8",
            "dateOfExpiryVerified": "true",
            "documentNumber": "340007955",
            "documentNumberCheckDigit": "3",
            "documentNumberVerified": "true",
            "documentSubType": "",
            "documentType": "P",
            "gender": "F",
            "givenNames": "HAPPY",
            "stateOrProvinceOfIssuance": "USA",
            "stateOrProvinceOfIssuanceVerified": "true",
            "isValid": "true",
            "nationalityCode": "USA",
            "nationalityCodeVerified": "true",
            "personalGovernmentId": "910000833 1119",
            "personalGovernmentIdCheckDigit": "2",
            "personalGovernmentIdVerified": "true",
            "surname": "TRAVELER"
          },        
          "unparsedMachineReadableZone": {
            "mrzLine1": "P<USATRAVELER<<HAPPY<<<<<<<<<<<<<<<<<<<<<<<<",
            "mrzLine2": "3400079553USA6707046F1608078910000833<111920",
            "mrzLine3": "",
          }
        }
      }
    }
    

    "REJECTED" Request Example

    POST /identity/verify/v3/id-document HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    canned-response: REJECTED
    
    { 
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "images": [
        {      
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        }
      ],
      "deviceExtractedData": [
        {
            "dataType": "PDF417_STRING",
            "data": "PDF417 STRING"
        }
      ]
    }
    

    "REJECTED" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    { 
      "requestId": "7bd9aada-d538-4f48-807f-3ba97428e770", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": "REJECTED",
        "reasons": [
          "GLARE",
          "INCOMPLETE_DOCUMENT",
          "NOT_VISIBLE_FOUR_CORNERS",
          "NOT_VISIBLE_SECURITY_FEATURES",
          "OUT_OF_FOCUS",
          "POOR_CONTRAST",
          "POOR_EXPOSURE",
          "UNCLASSIFIED_DOCUMENT",
          "UNREADABLE_FIELD",
          "UNSUPPORTED_LANGUAGE"
        ]
      }
    }
    

    "REJECTED" Request with canned reasons header Example

    POST /identity/verify/v3/id-document HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    canned-response: REJECTED
    canned-reasons: UNCLASSIFIED_DOCUMENT, UNREADABLE_FIELD, UNSUPPORTED_LANGUAGE
    
    { 
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "images": [
        {      
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        }
      ],
      "deviceExtractedData": [
        {
            "dataType": "PDF417_STRING",
            "data": "PDF417 STRING"
        }
      ]
    }
    

    "REJECTED" Response with canned reasons header Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    { 
      "requestId": "7bd9aada-d538-4f48-807f-3ba97428e770", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": "REJECTED",
        "reasons": [
          "UNCLASSIFIED_DOCUMENT",
          "UNREADABLE_FIELD",
          "UNSUPPORTED_LANGUAGE"
        ]
      }
    }
    

    Returned HTTP Headers

    Name Type Description Restrictions
    Mitek-Server-Processing-Time Number The total duration, in milliseconds, from the time the entire request was received until the response was sent. None
    Mitek-Request-Id String The UUID assigned to the request. UUID

    Returned Fields

    Name Type Description Restrictions
    requestId String The UUID assigned to the request. UUID
    customerReferenceId String The value that was submitted with the original request. None
    acceptance Object Based on the value of the canned-response header, the canned response will return a result of either REJECTED or ACCEPTED. N/A
  • result
  • String

    The determinition of whether all of the images submitted were deemed acceptable for processing. Based on the canned-response header, the value will be either ACCEPTED or REJECTED.

    N/A
  • reasons
  • String (array)

    When the canned-response header is set to REJECTED, if canned-reasons header is provided, its values will be returned otherwise, the following reasons will be returned: GLARE, INCOMPLETE_DOCUMENT, NOT_VISIBLE_FOUR_CORNERS, NOT_VISIBLE_SECURITY_FEATURES, OUT_OF_FOCUS, POOR_CONTRAST, POOR_EXPOSURE, UNCLASSIFIED_DOCUMENT, UNREADABLE_FIELD, and UNSUPPORTED_LANGUAGE

    N/A
    findings Object The following fields are related to the canned results from the processing of the document. This includes the canned document approval and a detailed summary of the canned authenticity, originality and the validity findings that contributed to the document approval result. N/A
  • documentApproval
  • String

    The canned document approval determination. Based on the canned-response header, the value will be either APPROVED or NOT_APPROVED.

    N/A
  • details
  • Object The details of the canned authenticity, originality, and validity that were performed. N/A
  • authenticity
  • Object The details of the canned authenticity that were performed. N/A
  • result
  • String

    The canned authenticity result of the document. Based on the canned-response header, the value will be either AUTHENTIC or NOT_AUTHENTIC.

    N/A
  • reasons
  • String (array)

    The reasons that a result of NOT_AUTHENTIC was returned. Based on the canned-response header, if canned-reasons header is provided, its values will be returned otherwise, the response will be EVIDENCE_OF_FORGERY_BIODATA_FONTS, EVIDENCE_OF_FORGERY_MRZ_FONTS, EVIDENCE_OF_FORGERY_PHOTO_ZONE, EVIDENCE_OF_FORGERY_NOT_HUMAN_FACE, EVIDENCE_OF_FORGERY_SECURITY_FEATURES and EVIDENCE_OF_FORGERY_SIGNATURE

    N/A
  • originality
  • Object The details of the originality checks that were canned. N/A
  • result
  • String

    The canned originality result of the document. Either ORIGINAL or NOT_ORIGINAL will be returned based on the canned-response header.

    ORIGINAL or NOT_ORIGINAL
  • reasons
  • String (array)

    The reasons that a canned result of NOT_ORIGINAL was returned. If canned-reasons header is provided, its values will be returned otherwise, returned EVIDENCE_OF_FORGERY_DOCUMENT_STRUCTURE and EVIDENCE_OF_FORGERY_BLACK_AND_WHITE_COPY

    N/A
  • validity
  • Object The details of the canned validity checks that were performed. N/A
  • result
  • String

    The validity result of the processed document.

    Will be either VALID or NOT_VALID Based on the setting privided to the canned-response header.
    N/A
  • reasons
  • String (array)

    If the value of canned-response header was set to "NOT_APPROVED", if canned-reasons header is provided, its values will be returned otherwise, the reasons that a result of NOT_VALID will be returned: EVIDENCE_OF_FORGERY_DATA_COMPARISON, EVIDENCE_OF_FORGERY_MRZ_CHECKSUMS and EXPIRED_OR_INVALIDATED

    N/A
    extractedData Object A canned response of the data extracted from the submitted document. N/A
  • documentAttributes
  • Object The canned response related to attributes of the document. N/A
  • countryCodeOfIssuance
  • String The canned response related to the ISO code of the country that issued the document. None
  • dateOfExpiry
  • String The canned response related to the date of expiry of the document, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • dateOfIssuance
  • String The canned response related to the date of issuance of the document, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • documentNumber
  • String The canned response related to the number or identifier of the document. None
  • documentType
  • String (array)

    The type of document that was submitted.

    PASSPORT, DRIVERS_LICENSE, IDENTITY_CARD, RESIDENCE_PERMIT, HEALTH_SERVICES_CARD
  • issuingAuthority
  • String The canned response related to the name of the authority or organization that issued the document. None
  • stateOrProvinceOfIssuance
  • String The canned response related to the name of the state, province, or region that issued the document. None
  • personAttributes
  • Object The canned response related to the person to whom the document was issued. N/A
  • dateOfBirth
  • String The canned response related to the date of birth of the person to which the document was issued, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • gender
  • String

    The canned response related to the gender of the person to which the document was issued, normalized into one of the following values: M (male), F (female), or N/B (non binary).

    M, F, or N/B
  • nationalityCode
  • String The canned response related to the ISO country code of the nationality of the person to which the document was issued. None
  • personalGovernmentId
  • String The canned response related to any government identification number of the person to which the document was issued. None
  • placeOfBirth
  • String The canned response related to the place of birth of the person to which the document was issued. None
  • name
  • Object The canned response related to the name of whom the document was issued. N/A
  • fullName
  • String The canned response related to the full name of the person to which the document was issued. None
  • givenNames
  • String The canned response related to the given names of the person to which the document was issued.
  • firstSurname
  • String The canned response related to the first surname of the person to which the document was issued. None
  • secondSurname
  • String The canned response related to the second surname of the person to which the document was issued. None
  • surname
  • String The canned response related to the surname of the person to which the document was issued. None
  • address
  • Object The canned response related to the address of the person to whom the document was issued. N/A
  • unparsedAddress
  • Object An unparsed version of the address of the person to whom the document was issued. N/A
  • addressLine1
  • String The canned response related to the first line of the address, as printed, of the person to which the document was issued. None
  • addressLine2
  • String The canned response related to the second line of the address, as printed, of the person to which the document was issued. None
  • addressLine3
  • String The canned response related to the third line of the address, as printed, of the person to which the document was issued. None
  • addressLine4
  • String The canned response related to the fourth line of the address, as printed, of the person to which the document was issued. None
  • machineReadableZone
  • Object The data extracted from the Machine Readable Zone of the submitted document. N/A
  • parsedMachineReadableZone
  • Object A parsed version of the Machine Readable Zone. N/A
  • compositeCheckDigit
  • String The composite check digit value. A single digit or <
  • compositeCheckDigitVerified
  • String The indication if the composite check digit contains a valid value. true or false
  • dateOfBirth
  • String The data extracted from an MRZ field related to the date of birth of the person to which the document was issued, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • dateOfBirthCheckDigit
  • String The date of birth check digit value. A single digit or <
  • dateOfBirthVerified
  • String The indication if the date of birth check digit contains a valid value. true or false
  • dateOfExpiry
  • String The data extracted from an MRZ field related to the date of expiry of the document, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • dateOfExpiryCheckDigit
  • String The date of expiry check digit value. A single digit or <
  • dateOfExpiryVerified
  • String The indication if the date of expiry check digit contains a valid value. true or false
  • documentNumber
  • String The data extracted from an MRZ field related to the number or identifier of the document. None
  • documentNumberCheckDigit
  • String The document number check digit value. A single digit or <
  • documentNumberVerified
  • String The indication if the document number check digit contains a valid value. true or false
  • documentSubType
  • String The data extracted from an MRZ field related to the sub type of the document. None
  • documentType
  • String (array)

    The data extracted from an MRZ field related to the type of document that was submitted.

    None
  • gender
  • String

    The data extracted from an MRZ field related to the gender of the person to which the document was issued, normalized into one of the following values: M (male), F (female), or N/B (non binary).

    M, F, or N/B
  • givenNames
  • String The data extracted from an MRZ field related to the given names of the person to which the document was issued.
  • stateOrProvinceOfIssuance
  • String The data extracted from an MRZ field related to the ISO country code of the country that issued the document. None
  • stateOrProvinceOfIssuanceVerified
  • String The indication if the issuing state or organization contains a valid value. true or false
  • isValid
  • String The parsed out state or province of the address of the person to whom the document was issued. None
  • nationalityCode
  • String The data extracted from an MRZ field related to the ISO country code of the nationality of the person to which the document was issued. None
  • nationalityCodeVerified
  • String The indication if the nationality contains a valid value. true or false
  • personalGovernmentId
  • String The data extracted from an MRZ field related to any government identification number of the person to which the document was issued. None
  • personalGovernmentIdCheckDigit
  • String The personal government ID check digit value. A single digit or <
  • personalGovernmentIdVerified
  • String The indication if the personal government ID check digit contains a valid value. true or false
  • surname
  • String The data extracted from an MRZ field related to the surname of the person to which the document was issued. None
  • unparsedMachineReadableZone
  • Object An unparsed version of the Machine Readable Zone. N/A
  • mrzLine1
  • String The first line of the MRZ. None
  • mrzLine2
  • String The second line of the MRZ. None
  • mrzLine3
  • String The third line of the MRZ. None

    Canned Mobile Verify - Manual

    Canned Mobile Verify Manual provides the capability to have an automated predefined response based on the the Mitek Identity Cloud API. Automated responses will be returned, based on real-life checks (Authenticity, Originality and Validity) of the document.

    "APPROVED" Request Example

    POST /identity/verify/v3/id-document/manual HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    canned-response: APPROVED
    
    { 
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "images": [
        {      
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        }
      ],
      "deviceExtractedData": [
        {
            "dataType": "PDF417_STRING",
            "data": "PDF417 STRING"
        }
      ]
    }
    

    Mobile Verify - Manual Request

    URL

    /identity/verify/v3/id-document/manual

    Required Fields

    Name Type Description Restrictions
    images Object (array) An array of base64-encoded images of the document to be verified. N/A
  • data
  • String A base64-encoded image containing a single page of the document to be processed.

    Optional Fields

    Name Type Description Restrictions
    customerReferenceId String [OPTIONAL] Customer provided identifier that will be returned in an identically named field within the body of any subsequent responses 500 characters limit
    deviceExtractedData Object (array) [OPTIONAL] An array of data extracted on-device from an identity document from machine-readable document features, e.g., barcode. N/A
  • datatype
  • String

    The type of data being passed for processing. This is commonly barcode details or other machine-encoded data that has been read on-device as part of the initial capture experience. Currently supported data types include:

    PDF417_STRING: A PDF417 string extracted from barcodes that support this encoding format.

    PDF417_STRING

    Mobile Verify - Manual Response

    "APPROVED" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "requestId": "4d6a4dc2-a756-4479-99c2-a856b41456c6", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": "ACCEPTED"
      },
      "findings": {
        "documentApproval": "APPROVED",
        "details": {
          "authenticity": {
            "result": "AUTHENTIC"
          },
          "originality": {
            "result": "ORIGINAL"
          },
          "validity": {
            "result": "VALID"
          }
        }
      },
      "extractedData": {
        "documentAttributes": {
          "countryCodeOfIssuance": "USA",
          "dateOfExpiry": "2165-08-28",
          "dateOfIssuance": "1965-08-28",
          "documentNumber": "90933633",
          "documentType": "DRIVERS_LICENSE",
          "issuingAuthority": "CALIFORNIA DMV",
          "stateOrProvinceOfIssuance": "CA"
        },
        "personAttributes": {
          "dateOfBirth": "1965-08-28",
          "gender": "F",
          "nationalityCode": "GBR",
          "personalGovernmentId": "123435534",
          "placeOfBirth": "LONDON"
        },
        "name": {
          "firstSurname": "LORCA SANCHEZ",
          "fullName": "JUANA LORCA SANCHEZ MENDOZA",
          "givenNames": "JUANA",
          "secondSurname": "MENDOZA",
          "surname": "LORCA SANCHEZ MENDOZA"
        },
        "address": {       
          "unparsedAddress": {
            "addressLine1": "123 MAIN ST",
            "addressLine2": "SAN DIEGO CA 92101",
            "addressLine3": "APT 4",
            "addressLine4": "BLOCK 1"
          }
        },
        "machineReadableZone": {
          "parsedMachineReadableZone": {
            "compositeCheckDigit": "0",
            "compositeCheckDigitVerified": "true",
            "dateOfBirth": "1967-07-04",
            "dateOfBirthCheckDigit": "6",
            "dateOfBirthVerified": "true",
            "dateOfExpiry": "2016-08-07",
            "dateOfExpiryCheckDigit": "8",
            "dateOfExpiryVerified": "true",
            "documentNumber": "340007955",
            "documentNumberCheckDigit": "3",
            "documentNumberVerified": "true",
            "documentSubType": "",
            "documentType": "P",
            "gender": "F",
            "givenNames": "HAPPY",
            "stateOrProvinceOfIssuance": "USA",
            "stateOrProvinceOfIssuanceVerified": "true",
            "isValid": "true",
            "nationalityCode": "USA",
            "nationalityCodeVerified": "true",
            "personalGovernmentId": "910000833 1119",
            "personalGovernmentIdCheckDigit": "2",
            "personalGovernmentIdVerified": "true",
            "surname": "TRAVELER"
          },        
          "unparsedMachineReadableZone": {
            "mrzLine1": "P<USATRAVELER<<HAPPY<<<<<<<<<<<<<<<<<<<<<<<<",
            "mrzLine2": "3400079553USA6707046F1608078910000833<111920",
            "mrzLine3": "",
          }
        }
      }
    }
    

    "NOT_APPROVED" Request Example

    POST /identity/verify/v3/id-document/manual HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    canned-response: NOT_APPROVED
    
    { 
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "images": [
        {      
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        }
      ],
      "deviceExtractedData": [
        {
            "dataType": "PDF417_STRING",
            "data": "PDF417 STRING"
        }
      ]
    }
    

    "NOT_APPROVED" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "requestId": "4d6a4dc2-a756-4479-99c2-a856b41456c6", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": "ACCEPTED"
      },
      "findings": {
        "documentApproval": "NOT_APPROVED",
        "details": {
          "authenticity": {
            "result": "NOT_AUTHENTIC",
            "reasons": [
              "EVIDENCE_OF_FORGERY_BIODATA_FONTS",
              "EVIDENCE_OF_FORGERY_MRZ_FONTS",
              "EVIDENCE_OF_FORGERY_PHOTO_ZONE",
              "EVIDENCE_OF_FORGERY_SIGNATURE",
              "EVIDENCE_OF_FORGERY_NOT_HUMAN_FACE"
            ]
          },
          "originality": {
            "result": "NOT_ORIGINAL",
            "reasons": [
              "EVIDENCE_OF_FORGERY_BLACK_AND_WHITE_COPY",
              "EVIDENCE_OF_FORGERY_DOCUMENT_STRUCTURE"
            ]
          },
          "validity": {
            "result": "NOT_VALID",
            "reasons": [
              "EVIDENCE_OF_FORGERY_DATA_COMPARISON"
              "EVIDENCE_OF_FORGERY_MRZ_CHECKSUMS",
              "EXPIRED_OR_INVALIDATED"
            ]
          }
        }
      },
      "extractedData": {
        "documentAttributes": {
          "countryCodeOfIssuance": "USA",
          "dateOfExpiry": "2165-08-28",
          "dateOfIssuance": "1965-08-28",
          "documentNumber": "90933633",
          "documentType": "DRIVERS_LICENSE",
          "issuingAuthority": "CALIFORNIA DMV",
          "stateOrProvinceOfIssuance": "CA"
        },
        "personAttributes": {
          "dateOfBirth": "1965-08-28",
          "gender": "F",
          "nationalityCode": "GBR",
          "personalGovernmentId": "123435534",
          "placeOfBirth": "LONDON"
        },
        "name": {
          "firstSurname": "LORCA SANCHEZ",
          "fullName": "JUANA LORCA SANCHEZ MENDOZA",
          "givenNames": "JUANA",
          "secondSurname": "MENDOZA",
          "surname": "LORCA SANCHEZ MENDOZA"
        },
        "address": {      
          "unparsedAddress": {
            "addressLine1": "123 MAIN ST",
            "addressLine2": "SAN DIEGO CA 92101",
            "addressLine3": "APT 4",
            "addressLine4": "BLOCK 1"
          }
        },
        "machineReadableZone": {
          "parsedMachineReadableZone": {
            "compositeCheckDigit": "0",
            "compositeCheckDigitVerified": "true",
            "dateOfBirth": "1967-07-04",
            "dateOfBirthCheckDigit": "6",
            "dateOfBirthVerified": "true",
            "dateOfExpiry": "2016-08-07",
            "dateOfExpiryCheckDigit": "8",
            "dateOfExpiryVerified": "true",
            "documentNumber": "340007955",
            "documentNumberCheckDigit": "3",
            "documentNumberVerified": "true",
            "documentSubType": "",
            "documentType": "P",
            "gender": "F",
            "givenNames": "HAPPY",
            "stateOrProvinceOfIssuance": "USA",
            "stateOrProvinceOfIssuanceVerified": "true",
            "isValid": "true",
            "nationalityCode": "USA",
            "nationalityCodeVerified": "true",
            "personalGovernmentId": "910000833 1119",
            "personalGovernmentIdCheckDigit": "2",
            "personalGovernmentIdVerified": "true",
            "surname": "TRAVELER"
          },        
          "unparsedMachineReadableZone": {
            "mrzLine1": "P<USATRAVELER<<HAPPY<<<<<<<<<<<<<<<<<<<<<<<<",
            "mrzLine2": "3400079553USA6707046F1608078910000833<111920",
            "mrzLine3": "",
          }
        }
      }
    }
    

    "NOT_APPROVED" Request with canned reasons header Example

    POST /identity/verify/v3/id-document/manual HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    canned-response: NOT_APPROVED
    canned-reasons: EVIDENCE_OF_FORGERY_BIODATA_FONTS, EVIDENCE_OF_FORGERY_MRZ_FONTS, EVIDENCE_OF_FORGERY_BLACK_AND_WHITE_COPY, EXPIRED_OR_INVALIDATED
    
    { 
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "images": [
        {      
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        }
      ],
      "deviceExtractedData": [
        {
            "dataType": "PDF417_STRING",
            "data": "PDF417 STRING"
        }
      ]
    }
    

    "NOT_APPROVED" Response with canned reasons header Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "requestId": "4d6a4dc2-a756-4479-99c2-a856b41456c6", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": "ACCEPTED"
      },
      "findings": {
        "documentApproval": "NOT_APPROVED",
        "details": {
          "authenticity": {
            "result": "NOT_AUTHENTIC",
            "reasons": [
              "EVIDENCE_OF_FORGERY_BIODATA_FONTS",
              "EVIDENCE_OF_FORGERY_MRZ_FONTS"
            ]
          },
          "originality": {
            "result": "NOT_ORIGINAL",
            "reasons": [
              "EVIDENCE_OF_FORGERY_BLACK_AND_WHITE_COPY"
            ]
          },
          "validity": {
            "result": "NOT_VALID",
            "reasons": [
              "EXPIRED_OR_INVALIDATED"
            ]
          }
        }
      },
      "extractedData": {
        "documentAttributes": {
          "countryCodeOfIssuance": "USA",
          "dateOfExpiry": "2165-08-28",
          "dateOfIssuance": "1965-08-28",
          "documentNumber": "90933633",
          "documentType": "DRIVERS_LICENSE",
          "issuingAuthority": "CALIFORNIA DMV",
          "stateOrProvinceOfIssuance": "CA"
        },
        "personAttributes": {
          "dateOfBirth": "1965-08-28",
          "gender": "F",
          "nationalityCode": "GBR",
          "personalGovernmentId": "123435534",
          "placeOfBirth": "LONDON"
        },
        "name": {
          "firstSurname": "LORCA SANCHEZ",
          "fullName": "JUANA LORCA SANCHEZ MENDOZA",
          "givenNames": "JUANA",
          "secondSurname": "MENDOZA",
          "surname": "LORCA SANCHEZ MENDOZA"
        },
        "address": {      
          "unparsedAddress": {
            "addressLine1": "123 MAIN ST",
            "addressLine2": "SAN DIEGO CA 92101",
            "addressLine3": "APT 4",
            "addressLine4": "BLOCK 1"
          }
        },
        "machineReadableZone": {
          "parsedMachineReadableZone": {
            "compositeCheckDigit": "0",
            "compositeCheckDigitVerified": "true",
            "dateOfBirth": "1967-07-04",
            "dateOfBirthCheckDigit": "6",
            "dateOfBirthVerified": "true",
            "dateOfExpiry": "2016-08-07",
            "dateOfExpiryCheckDigit": "8",
            "dateOfExpiryVerified": "true",
            "documentNumber": "340007955",
            "documentNumberCheckDigit": "3",
            "documentNumberVerified": "true",
            "documentSubType": "",
            "documentType": "P",
            "gender": "F",
            "givenNames": "HAPPY",
            "stateOrProvinceOfIssuance": "USA",
            "stateOrProvinceOfIssuanceVerified": "true",
            "isValid": "true",
            "nationalityCode": "USA",
            "nationalityCodeVerified": "true",
            "personalGovernmentId": "910000833 1119",
            "personalGovernmentIdCheckDigit": "2",
            "personalGovernmentIdVerified": "true",
            "surname": "TRAVELER"
          },        
          "unparsedMachineReadableZone": {
            "mrzLine1": "P<USATRAVELER<<HAPPY<<<<<<<<<<<<<<<<<<<<<<<<",
            "mrzLine2": "3400079553USA6707046F1608078910000833<111920",
            "mrzLine3": "",
          }
        }
      }
    }
    

    "REJECTED" Request with canned reasons header Example

    POST /identity/verify/v3/id-document/manual HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    canned-response: REJECTED
    canned-reasons: GLARE, NOT_VISIBLE_FOUR_CORNERS, NOT_VISIBLE_SECURITY_FEATURES, POOR_CONTRAST
    
    { 
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "images": [
        {      
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        }
      ],
      "deviceExtractedData": [
        {
            "dataType": "PDF417_STRING",
            "data": "PDF417 STRING"
        }
      ]
    }
    

    "REJECTED" Response with canned reasons header Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 4d6a4dc2-a756-4479-99c2-a856b41456c6
    
    { 
      "requestId": "4d6a4dc2-a756-4479-99c2-a856b41456c6", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": "REJECTED",
        "reasons": [
          "GLARE",
          "NOT_VISIBLE_FOUR_CORNERS",
          "NOT_VISIBLE_SECURITY_FEATURES",
          "POOR_CONTRAST"
        ]
      }
    }
    

    Returned HTTP Headers

    Name Type Description Restrictions
    Mitek-Server-Processing-Time Number The total duration, in milliseconds, from the time the entire request was received until the response was sent. None
    Mitek-Request-Id String The UUID assigned to the request. UUID

    Returned Fields

    Name Type Description Restrictions
    requestId String The UUID assigned to the request. UUID
    customerReferenceId String The value that was submitted with the original request. None
    acceptance Object Based on the value of the canned-response header, the canned response will return a result of either REJECTED or ACCEPTED. N/A
  • result
  • String

    The determinition of whether all of the images submitted were deemed acceptable for processing. Based on the canned-response header, the value will be either ACCEPTED or REJECTED.

    N/A
  • reasons
  • String (array)

    When the canned-response header is set to REJECTED, if canned-reasons header is provided, its values will be returned otherwise, the following reasons will be returned: GLARE, INCOMPLETE_DOCUMENT, NOT_VISIBLE_FOUR_CORNERS, NOT_VISIBLE_SECURITY_FEATURES, OUT_OF_FOCUS, POOR_CONTRAST, POOR_EXPOSURE, UNCLASSIFIED_DOCUMENT, UNREADABLE_FIELD, and UNSUPPORTED_LANGUAGE

    N/A
    findings Object The following fields are related to the canned results from the processing of the document. This includes the canned document approval and a detailed summary of the canned authenticity, originality and the validity findings that contributed to the document approval result. N/A
  • documentApproval
  • String

    The canned document approval determination. Based on the canned-response header, the value will be either APPROVED or NOT_APPROVED.

    N/A
  • details
  • Object The details of the canned authenticity, originality, and validity that were performed. N/A
  • authenticity
  • Object The details of the canned authenticity that were performed. N/A
  • result
  • String

    The canned authenticity result of the document. Based on the canned-response header, the value will be either AUTHENTIC or NOT_AUTHENTIC.

    N/A
  • reasons
  • String (array)

    The reasons that a result of NOT_AUTHENTIC was returned. Based on the canned-response header, if canned-reasons header is provided, its values will be returned otherwise, the response will be EVIDENCE_OF_FORGERY_BIODATA_FONTS, EVIDENCE_OF_FORGERY_MRZ_FONTS, EVIDENCE_OF_FORGERY_PHOTO_ZONE, EVIDENCE_OF_FORGERY_NOT_HUMAN_FACE and EVIDENCE_OF_FORGERY_SIGNATURE

    N/A
  • originality
  • Object The details of the originality checks that were canned. N/A
  • result
  • String

    The canned originality result of the document. Either ORIGINAL or NOT_ORIGINAL will be returned based on the canned-response header.

    ORIGINAL or NOT_ORIGINAL
  • reasons
  • String (array)

    If canned-reasons header is provided, its values will be returned otherwise, The reasons that a canned result of NOT_ORIGINAL was returned. EVIDENCE_OF_FORGERY_DOCUMENT_STRUCTURE and EVIDENCE_OF_FORGERY_BLACK_AND_WHITE_COPY

    N/A
  • validity
  • Object The details of the canned validity checks that were performed. N/A
  • result
  • String

    The validity result of the processed document.

    Will be either VALID or NOT_VALID Based on the setting privided to the canned-response header.
    N/A
  • reasons
  • String (array)

    If the value of canned-response header was set to "NOT_APPROVED", If canned-reasons header is provided, its values will be returned otherwise, the reasons that a result of NOT_VALID will be returned: EVIDENCE_OF_FORGERY_DATA_COMPARISON, EVIDENCE_OF_FORGERY_MRZ_CHECKSUMS and EXPIRED_OR_INVALIDATED

    N/A
    extractedData Object A canned response of the data extracted from the submitted document. N/A
  • documentAttributes
  • Object The canned response related to attributes of the document. N/A
  • countryCodeOfIssuance
  • String The canned response related to the ISO code of the country that issued the document. None
  • dateOfExpiry
  • String The canned response related to the date of expiry of the document, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • dateOfIssuance
  • String The canned response related to the date of issuance of the document, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • documentNumber
  • String The canned response related to the number or identifier of the document. None
  • documentType
  • String (array)

    The type of document that was submitted.

    PASSPORT, DRIVERS_LICENSE, IDENTITY_CARD, RESIDENCE_PERMIT, HEALTH_SERVICES_CARD
  • issuingAuthority
  • String The canned response related to the name of the authority or organization that issued the document. None
  • stateOrProvinceOfIssuance
  • String The canned response related to the name of the state, province, or region that issued the document. None
  • personAttributes
  • Object The canned response related to the person to whom the document was issued. N/A
  • dateOfBirth
  • String The canned response related to the date of birth of the person to which the document was issued, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • gender
  • String

    The canned response related to the gender of the person to which the document was issued, normalized into one of the following values: M (male), F (female), or N/B (non binary).

    M, F, or N/B
  • nationalityCode
  • String The canned response related to the ISO country code of the nationality of the person to which the document was issued. None
  • personalGovernmentId
  • String The canned response related to any government identification number of the person to which the document was issued. None
  • placeOfBirth
  • String The canned response related to the place of birth of the person to which the document was issued. None
  • name
  • Object The canned response related to the name of whom the document was issued. N/A
  • fullName
  • String The canned response related to the full name of the person to which the document was issued. None
  • givenNames
  • String The canned response related to the given names of the person to which the document was issued.
  • firstSurname
  • String The canned response related to the first surname of the person to which the document was issued. None
  • secondSurname
  • String The canned response related to the second surname of the person to which the document was issued. None
  • surname
  • String The canned response related to the surname of the person to which the document was issued. None
  • address
  • Object The canned response related to the address of the person to whom the document was issued. N/A
  • unparsedAddress
  • Object An unparsed version of the address of the person to whom the document was issued. N/A
  • addressLine1
  • String The canned response related to the first line of the address, as printed, of the person to which the document was issued. None
  • addressLine2
  • String The canned response related to the second line of the address, as printed, of the person to which the document was issued. None
  • addressLine3
  • String The canned response related to the third line of the address, as printed, of the person to which the document was issued. None
  • addressLine4
  • String The canned response related to the fourth line of the address, as printed, of the person to which the document was issued. None
  • machineReadableZone
  • Object The data extracted from the Machine Readable Zone of the submitted document. N/A
  • parsedMachineReadableZone
  • Object A parsed version of the Machine Readable Zone. N/A
  • compositeCheckDigit
  • String The composite check digit value. A single digit or <
  • compositeCheckDigitVerified
  • String The indication if the composite check digit contains a valid value. true or false
  • dateOfBirth
  • String The data extracted from an MRZ field related to the date of birth of the person to which the document was issued, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • dateOfBirthCheckDigit
  • String The date of birth check digit value. A single digit or <
  • dateOfBirthVerified
  • String The indication if the date of birth check digit contains a valid value. true or false
  • dateOfExpiry
  • String The data extracted from an MRZ field related to the date of expiry of the document, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • dateOfExpiryCheckDigit
  • String The date of expiry check digit value. A single digit or <
  • dateOfExpiryVerified
  • String The indication if the date of expiry check digit contains a valid value. true or false
  • documentNumber
  • String The data extracted from an MRZ field related to the number or identifier of the document. None
  • documentNumberCheckDigit
  • String The document number check digit value. A single digit or <
  • documentNumberVerified
  • String The indication if the document number check digit contains a valid value. true or false
  • documentSubType
  • String The data extracted from an MRZ field related to the sub type of the document. None
  • documentType
  • String (array)

    The data extracted from an MRZ field related to the type of document that was submitted.

    None
  • gender
  • String

    The data extracted from an MRZ field related to the gender of the person to which the document was issued, normalized into one of the following values: M (male), F (female), or N/B (non binary).

    M, F, or N/B
  • givenNames
  • String The data extracted from an MRZ field related to the given names of the person to which the document was issued.
  • stateOrProvinceOfIssuance
  • String The data extracted from an MRZ field related to the ISO country code of the country that issued the document. None
  • stateOrProvinceOfIssuanceVerified
  • String The indication if the issuing state or organization contains a valid value. true or false
  • isValid
  • String The parsed out state or province of the address of the person to whom the document was issued. None
  • nationalityCode
  • String The data extracted from an MRZ field related to the ISO country code of the nationality of the person to which the document was issued. None
  • nationalityCodeVerified
  • String The indication if the nationality contains a valid value. true or false
  • personalGovernmentId
  • String The data extracted from an MRZ field related to any government identification number of the person to which the document was issued. None
  • personalGovernmentIdCheckDigit
  • String The personal government ID check digit value. A single digit or <
  • personalGovernmentIdVerified
  • String The indication if the personal government ID check digit contains a valid value. true or false
  • surname
  • String The data extracted from an MRZ field related to the surname of the person to which the document was issued. None
  • unparsedMachineReadableZone
  • Object An unparsed version of the Machine Readable Zone. N/A
  • mrzLine1
  • String The first line of the MRZ. None
  • mrzLine2
  • String The second line of the MRZ. None
  • mrzLine3
  • String The third line of the MRZ. None

    Canned Mobile Verify - Expert

    Canned Mobile Verify Expert provides the capability to have an automated predefined response of the Mitek Identity Cloud API. This product is delivered as an asynchronous API built around a polling approach for retrieval of final results.

    "APPROVED" Request Example

    POST /identity/verify/v3/id-document/expert HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    canned-response: APPROVED
    
    { 
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "images": [
        {      
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        }
      ],
      "deviceExtractedData": [
        {
            "dataType": "PDF417_STRING",
            "data": "PDF417 STRING"
        }
      ]
    }
    

    Mobile Verify - Expert Request

    URL

    /identity/verify/v3/id-document/expert

    Required Fields

    Name Type Description Restrictions
    images Object (array) An array of base64-encoded images of the document to be verified. N/A
  • data
  • String A base64-encoded image containing a single page of the document to be processed.

    Optional Fields

    Name Type Description Restrictions
    customerReferenceId String [OPTIONAL] Customer provided identifier that will be returned in an identically named field within the body of any subsequent responses 500 characters limit
    deviceExtractedData Object (array) [OPTIONAL] An array of data extracted on-device from an identity document from machine-readable document features, e.g., barcode. N/A
  • datatype
  • String

    The type of data being passed for processing. This is commonly barcode details or other machine-encoded data that has been read on-device as part of the initial capture experience. Currently supported data types include:

    PDF417_STRING: A PDF417 string extracted from barcodes that support this encoding format.

    PDF417_STRING

    Mobile Verify - Expert Response

    "APPROVED" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    { 
      "requestId": "7bd9aada-d538-4f48-807f-3ba97428e770", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": "ACCEPTED"
      },
      "findings": {
        "documentApproval": "APPROVED",
        "details": {
          "authenticity": {
            "result": "AUTHENTIC"
          },
          "originality": {
            "result": "ORIGINAL"
          },
          "validity": {
            "result": "VALID"
          }
        }
      },
      "extractedData": {
        "documentAttributes": {
          "countryCodeOfIssuance": "USA",
          "dateOfExpiry": "2165-08-28",
          "dateOfIssuance": "1965-08-28",
          "documentNumber": "90933633",
          "documentType": "DRIVERS_LICENSE",
          "issuingAuthority": "CALIFORNIA DMV",
          "stateOrProvinceOfIssuance": "CA"
        },
        "personAttributes": {
          "dateOfBirth": "1965-08-28",
          "gender": "F",
          "nationalityCode": "GBR",
          "personalGovernmentId": "123435534",
          "placeOfBirth": "LONDON"
        },
        "name": {
          "firstSurname": "LORCA SANCHEZ",
          "fullName": "JUANA LORCA SANCHEZ MENDOZA",
          "givenNames": "JUANA",
          "secondSurname": "MENDOZA",
          "surname": "LORCA SANCHEZ MENDOZA"
        },
        "address": {       
          "unparsedAddress": {
            "addressLine1": "123 MAIN ST",
            "addressLine2": "SAN DIEGO CA 92101",
            "addressLine3": "APT 4",
            "addressLine4": "BLOCK 1"
          }
        },
        "machineReadableZone": {
          "parsedMachineReadableZone": {
            "compositeCheckDigit": "0",
            "compositeCheckDigitVerified": "true",
            "dateOfBirth": "1967-07-04",
            "dateOfBirthCheckDigit": "6",
            "dateOfBirthVerified": "true",
            "dateOfExpiry": "2016-08-07",
            "dateOfExpiryCheckDigit": "8",
            "dateOfExpiryVerified": "true",
            "documentNumber": "340007955",
            "documentNumberCheckDigit": "3",
            "documentNumberVerified": "true",
            "documentSubType": "",
            "documentType": "P",
            "gender": "F",
            "givenNames": "HAPPY",
            "stateOrProvinceOfIssuance": "USA",
            "stateOrProvinceOfIssuanceVerified": "true",
            "isValid": "true",
            "nationalityCode": "USA",
            "nationalityCodeVerified": "true",
            "personalGovernmentId": "910000833 1119",
            "personalGovernmentIdCheckDigit": "2",
            "personalGovernmentIdVerified": "true",
            "surname": "TRAVELER"
          },        
          "unparsedMachineReadableZone": {
            "mrzLine1": "P<USATRAVELER<<HAPPY<<<<<<<<<<<<<<<<<<<<<<<<",
            "mrzLine2": "3400079553USA6707046F1608078910000833<111920",
            "mrzLine3": "",
          }
        }
      }
    }
    

    "NOT_APPROVED" Request Example

    POST /identity/verify/v3/id-document/expert HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    canned-response: NOT_APPROVED
    
    { 
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "images": [
        {      
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        }
      ],
      "deviceExtractedData": [
        {
            "dataType": "PDF417_STRING",
            "data": "PDF417 STRING"
        }
      ]
    }
    

    "NOT_APPROVED" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    { 
      "requestId": "7bd9aada-d538-4f48-807f-3ba97428e770", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": "ACCEPTED"
      },
      "findings": {
        "documentApproval": "NOT_APPROVED",
        "details": {
          "authenticity": {
            "result": "NOT_AUTHENTIC",
            "reasons": [
              "EVIDENCE_OF_FORGERY_BIODATA_FONTS",
              "EVIDENCE_OF_FORGERY_MRZ_FONTS",
              "EVIDENCE_OF_FORGERY_PHOTO_ZONE",
              "EVIDENCE_OF_FORGERY_SECURITY_FEATURES",
              "EVIDENCE_OF_FORGERY_SIGNATURE",
              "EVIDENCE_OF_FORGERY_NOT_HUMAN_FACE"
            ]
          },
          "originality": {
            "result": "NOT_ORIGINAL",
            "reasons": [
              "EVIDENCE_OF_FORGERY_BLACK_AND_WHITE_COPY",
              "EVIDENCE_OF_FORGERY_DOCUMENT_STRUCTURE"
            ]
          },
          "validity": {
            "result": "NOT_VALID",
            "reasons": [
              "EVIDENCE_OF_FORGERY_DATA_COMPARISON",
              "EVIDENCE_OF_FORGERY_MRZ_CHECKSUMS",
              "EXPIRED_OR_INVALIDATED" 
            ]
          }
        }
      },
      "extractedData": {
        "documentAttributes": {
          "countryCodeOfIssuance": "USA",
          "dateOfExpiry": "2165-08-28",
          "dateOfIssuance": "1965-08-28",
          "documentNumber": "90933633",
          "documentType": "DRIVERS_LICENSE",
          "issuingAuthority": "CALIFORNIA DMV",
          "stateOrProvinceOfIssuance": "CA"
        },
        "personAttributes": {
          "dateOfBirth": "1965-08-28",
          "gender": "F",
          "nationalityCode": "GBR",
          "personalGovernmentId": "123435534",
          "placeOfBirth": "LONDON"
        },
        "name": {
          "firstSurname": "LORCA SANCHEZ",
          "fullName": "JUANA LORCA SANCHEZ MENDOZA",
          "givenNames": "JUANA",
          "secondSurname": "MENDOZA",
          "surname": "LORCA SANCHEZ MENDOZA"
        },
        "address": {  
          "unparsedAddress": {
            "addressLine1": "123 MAIN ST",
            "addressLine2": "SAN DIEGO CA 92101",
            "addressLine3": "APT 4",
            "addressLine4": "BLOCK 1"
          }
        },
        "machineReadableZone": {
          "parsedMachineReadableZone": {
            "compositeCheckDigit": "0",
            "compositeCheckDigitVerified": "true",
            "dateOfBirth": "1967-07-04",
            "dateOfBirthCheckDigit": "6",
            "dateOfBirthVerified": "true",
            "dateOfExpiry": "2016-08-07",
            "dateOfExpiryCheckDigit": "8",
            "dateOfExpiryVerified": "true",
            "documentNumber": "340007955",
            "documentNumberCheckDigit": "3",
            "documentNumberVerified": "true",
            "documentSubType": "",
            "documentType": "P",
            "gender": "F",
            "givenNames": "HAPPY",
            "stateOrProvinceOfIssuance": "USA",
            "stateOrProvinceOfIssuanceVerified": "true",
            "isValid": "true",
            "nationalityCode": "USA",
            "nationalityCodeVerified": "true",
            "personalGovernmentId": "910000833 1119",
            "personalGovernmentIdCheckDigit": "2",
            "personalGovernmentIdVerified": "true",
            "surname": "TRAVELER"
          },        
          "unparsedMachineReadableZone": {
            "mrzLine1": "P<USATRAVELER<<HAPPY<<<<<<<<<<<<<<<<<<<<<<<<",
            "mrzLine2": "3400079553USA6707046F1608078910000833<111920",
            "mrzLine3": "",
          }
        }
      }
    }
    

    "NOT_APPROVED" Request with canned reasons header Example

    POST /identity/verify/v3/id-document/expert HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    canned-response: NOT_APPROVED
    canned-reasons: EVIDENCE_OF_FORGERY_BIODATA_FONTS, EVIDENCE_OF_FORGERY_BLACK_AND_WHITE_COPY, EVIDENCE_OF_FORGERY_DATA_COMPARISON
    
    { 
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "images": [
        {      
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        }
      ],
      "deviceExtractedData": [
        {
            "dataType": "PDF417_STRING",
            "data": "PDF417 STRING"
        }
      ]
    }
    

    "NOT_APPROVED" Response with canned reasons header Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    { 
      "requestId": "7bd9aada-d538-4f48-807f-3ba97428e770", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": "ACCEPTED"
      },
      "findings": {
        "documentApproval": "NOT_APPROVED",
        "details": {
          "authenticity": {
            "result": "NOT_AUTHENTIC",
            "reasons": [
              "EVIDENCE_OF_FORGERY_BIODATA_FONTS"
            ]
          },
          "originality": {
            "result": "NOT_ORIGINAL",
            "reasons": [
              "EVIDENCE_OF_FORGERY_BLACK_AND_WHITE_COPY"
            ]
          },
          "validity": {
            "result": "NOT_VALID",
            "reasons": [
              "EVIDENCE_OF_FORGERY_DATA_COMPARISON"
            ]
          }
        }
      },
      "extractedData": {
        "documentAttributes": {
          "countryCodeOfIssuance": "USA",
          "dateOfExpiry": "2165-08-28",
          "dateOfIssuance": "1965-08-28",
          "documentNumber": "90933633",
          "documentType": "DRIVERS_LICENSE",
          "issuingAuthority": "CALIFORNIA DMV",
          "stateOrProvinceOfIssuance": "CA"
        },
        "personAttributes": {
          "dateOfBirth": "1965-08-28",
          "gender": "F",
          "nationalityCode": "GBR",
          "personalGovernmentId": "123435534",
          "placeOfBirth": "LONDON"
        },
        "name": {
          "firstSurname": "LORCA SANCHEZ",
          "fullName": "JUANA LORCA SANCHEZ MENDOZA",
          "givenNames": "JUANA",
          "secondSurname": "MENDOZA",
          "surname": "LORCA SANCHEZ MENDOZA"
        },
        "address": {  
          "unparsedAddress": {
            "addressLine1": "123 MAIN ST",
            "addressLine2": "SAN DIEGO CA 92101",
            "addressLine3": "APT 4",
            "addressLine4": "BLOCK 1"
          }
        },
        "machineReadableZone": {
          "parsedMachineReadableZone": {
            "compositeCheckDigit": "0",
            "compositeCheckDigitVerified": "true",
            "dateOfBirth": "1967-07-04",
            "dateOfBirthCheckDigit": "6",
            "dateOfBirthVerified": "true",
            "dateOfExpiry": "2016-08-07",
            "dateOfExpiryCheckDigit": "8",
            "dateOfExpiryVerified": "true",
            "documentNumber": "340007955",
            "documentNumberCheckDigit": "3",
            "documentNumberVerified": "true",
            "documentSubType": "",
            "documentType": "P",
            "gender": "F",
            "givenNames": "HAPPY",
            "stateOrProvinceOfIssuance": "USA",
            "stateOrProvinceOfIssuanceVerified": "true",
            "isValid": "true",
            "nationalityCode": "USA",
            "nationalityCodeVerified": "true",
            "personalGovernmentId": "910000833 1119",
            "personalGovernmentIdCheckDigit": "2",
            "personalGovernmentIdVerified": "true",
            "surname": "TRAVELER"
          },        
          "unparsedMachineReadableZone": {
            "mrzLine1": "P<USATRAVELER<<HAPPY<<<<<<<<<<<<<<<<<<<<<<<<",
            "mrzLine2": "3400079553USA6707046F1608078910000833<111920",
            "mrzLine3": "",
          }
        }
      }
    }
    

    "REJECTED" Request Example

    POST /identity/verify/v3/id-document/expert HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    canned-response: REJECTED
    
    { 
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "images": [
        {      
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        }
      ],
      "deviceExtractedData": [
        {
            "dataType": "PDF417_STRING",
            "data": "PDF417 STRING"
        }
      ]
    }
    

    "REJECTED" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    { 
      "requestId": "7bd9aada-d538-4f48-807f-3ba97428e770", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": "REJECTED",
        "reasons": [
          "GLARE",
          "INCOMPLETE_DOCUMENT",
          "NOT_VISIBLE_FOUR_CORNERS",
          "NOT_VISIBLE_SECURITY_FEATURES",
          "OUT_OF_FOCUS",
          "POOR_CONTRAST",
          "POOR_EXPOSURE",
          "UNCLASSIFIED_DOCUMENT",
          "UNREADABLE_FIELD",
          "UNSUPPORTED_LANGUAGE"
        ]
      }
    }
    

    "REJECTED" Request with canned reasons header Example

    POST /identity/verify/v3/id-document/expert HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    canned-response: REJECTED
    canned-reasons: GLARE, INCOMPLETE_DOCUMENT
    
    { 
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "images": [
        {      
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        }
      ],
      "deviceExtractedData": [
        {
            "dataType": "PDF417_STRING",
            "data": "PDF417 STRING"
        }
      ]
    }
    

    "REJECTED" Response with canned reasons header Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    { 
      "requestId": "7bd9aada-d538-4f48-807f-3ba97428e770", 
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": "REJECTED",
        "reasons": [
          "GLARE",
          "INCOMPLETE_DOCUMENT"
        ]
      }
    }
    

    Returned HTTP Headers

    Name Type Description Restrictions
    Mitek-Server-Processing-Time Number The total duration, in milliseconds, from the time the entire request was received until the response was sent. None
    Mitek-Request-Id String The UUID assigned to the request. UUID

    Returned Fields

    Name Type Description Restrictions
    requestId String The UUID assigned to the request. UUID
    customerReferenceId String The value that was submitted with the original request. None
    acceptance Object Based on the value of the canned-response header, the canned response will return a result of either REJECTED or ACCEPTED. N/A
  • result
  • String

    The determinition of whether all of the images submitted were deemed acceptable for processing. Based on the canned-response header, the value will be either ACCEPTED or REJECTED.

    N/A
  • reasons
  • String (array)

    When the canned-response header is set to REJECTED, if canned-reasons header is provided, its values will be returned otherwise, the following reasons will be returned: GLARE, INCOMPLETE_DOCUMENT, NOT_VISIBLE_FOUR_CORNERS, NOT_VISIBLE_SECURITY_FEATURES, OUT_OF_FOCUS, POOR_CONTRAST, POOR_EXPOSURE, UNCLASSIFIED_DOCUMENT, UNREADABLE_FIELD, and UNSUPPORTED_LANGUAGE

    N/A
    findings Object The following fields are related to the canned results from the processing of the document. This includes the canned document approval and a detailed summary of the canned authenticity, originality and the validity findings that contributed to the document approval result. N/A
  • documentApproval
  • String

    The canned document approval determination. Based on the canned-response header, the value will be either APPROVED or NOT_APPROVED.

    N/A
  • details
  • Object The details of the canned authenticity, originality, and validity that were performed. N/A
  • authenticity
  • Object The details of the canned authenticity that were performed. N/A
  • result
  • String

    The canned authenticity result of the document. Based on the canned-response header, the value will be either AUTHENTIC or NOT_AUTHENTIC.

    N/A
  • reasons
  • String (array)

    If canned-reasons header is provided, its values will be returned otherwise, the reasons that a result of NOT_AUTHENTIC was returned. Based on the canned-response header, the response will be EVIDENCE_OF_FORGERY_BIODATA_FONTS, EVIDENCE_OF_FORGERY_MRZ_FONTS, EVIDENCE_OF_FORGERY_PHOTO_ZONE, EVIDENCE_OF_FORGERY_NOT_HUMAN_FACE, EVIDENCE_OF_FORGERY_SECURITY_FEATURES and EVIDENCE_OF_FORGERY_SIGNATURE

    N/A
  • originality
  • Object The details of the originality checks that were canned. N/A
  • result
  • String

    The canned originality result of the document. Either ORIGINAL or NOT_ORIGINAL will be returned based on the canned-response header.

    ORIGINAL or NOT_ORIGINAL
  • reasons
  • String (array)

    If canned-reasons header is provided, its values will be returned otherwise, the reasons that a canned result of NOT_ORIGINAL was returned. EVIDENCE_OF_FORGERY_DOCUMENT_STRUCTURE and EVIDENCE_OF_FORGERY_BLACK_AND_WHITE_COPY

    N/A
  • validity
  • Object The details of the canned validity checks that were performed. N/A
  • result
  • String

    The validity result of the processed document.

    Will be either VALID or NOT_VALID Based on the setting privided to the canned-response header.
    N/A
  • reasons
  • String (array)

    If the value of canned-response header was set to "NOT_APPROVED", if canned-reasons header is provided, its values will be returned otherwise, the reasons that a result of NOT_VALID will be returned: EVIDENCE_OF_FORGERY_DATA_COMPARISON, EVIDENCE_OF_FORGERY_MRZ_CHECKSUMS and EXPIRED_OR_INVALIDATED

    N/A
    extractedData Object A canned response of the data extracted from the submitted document. N/A
  • documentAttributes
  • Object The canned response related to attributes of the document. N/A
  • countryCodeOfIssuance
  • String The canned response related to the ISO code of the country that issued the document. None
  • dateOfExpiry
  • String The canned response related to the date of expiry of the document, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • dateOfIssuance
  • String The canned response related to the date of issuance of the document, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • documentNumber
  • String The canned response related to the number or identifier of the document. None
  • documentType
  • String (array)

    The type of document that was submitted.

    PASSPORT, DRIVERS_LICENSE, IDENTITY_CARD, RESIDENCE_PERMIT, HEALTH_SERVICES_CARD
  • issuingAuthority
  • String The canned response related to the name of the authority or organization that issued the document. None
  • stateOrProvinceOfIssuance
  • String The canned response related to the name of the state, province, or region that issued the document. None
  • personAttributes
  • Object The canned response related to the person to whom the document was issued. N/A
  • dateOfBirth
  • String The canned response related to the date of birth of the person to which the document was issued, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • gender
  • String

    The canned response related to the gender of the person to which the document was issued, normalized into one of the following values: M (male), F (female), or N/B (non binary).

    M, F, or N/B
  • nationalityCode
  • String The canned response related to the ISO country code of the nationality of the person to which the document was issued. None
  • personalGovernmentId
  • String The canned response related to any government identification number of the person to which the document was issued. None
  • placeOfBirth
  • String The canned response related to the place of birth of the person to which the document was issued. None
  • name
  • Object The canned response related to the name of whom the document was issued. N/A
  • fullName
  • String The canned response related to the full name of the person to which the document was issued. None
  • givenNames
  • String The canned response related to the given names of the person to which the document was issued.
  • firstSurname
  • String The canned response related to the first surname of the person to which the document was issued. None
  • secondSurname
  • String The canned response related to the second surname of the person to which the document was issued. None
  • surname
  • String The canned response related to the surname of the person to which the document was issued. None
  • address
  • Object The canned response related to the address of the person to whom the document was issued. N/A
  • unparsedAddress
  • Object An unparsed version of the address of the person to whom the document was issued. N/A
  • addressLine1
  • String The canned response related to the first line of the address, as printed, of the person to which the document was issued. None
  • addressLine2
  • String The canned response related to the second line of the address, as printed, of the person to which the document was issued. None
  • addressLine3
  • String The canned response related to the third line of the address, as printed, of the person to which the document was issued. None
  • addressLine4
  • String The canned response related to the fourth line of the address, as printed, of the person to which the document was issued. None
  • machineReadableZone
  • Object The data extracted from the Machine Readable Zone of the submitted document. N/A
  • parsedMachineReadableZone
  • Object A parsed version of the Machine Readable Zone. N/A
  • compositeCheckDigit
  • String The composite check digit value. A single digit or <
  • compositeCheckDigitVerified
  • String The indication if the composite check digit contains a valid value. true or false
  • dateOfBirth
  • String The data extracted from an MRZ field related to the date of birth of the person to which the document was issued, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • dateOfBirthCheckDigit
  • String The date of birth check digit value. A single digit or <
  • dateOfBirthVerified
  • String The indication if the date of birth check digit contains a valid value. true or false
  • dateOfExpiry
  • String The data extracted from an MRZ field related to the date of expiry of the document, normalized into the following format: YYYY-MM-DD. Date (YYYY-MM-DD)
  • dateOfExpiryCheckDigit
  • String The date of expiry check digit value. A single digit or <
  • dateOfExpiryVerified
  • String The indication if the date of expiry check digit contains a valid value. true or false
  • documentNumber
  • String The data extracted from an MRZ field related to the number or identifier of the document. None
  • documentNumberCheckDigit
  • String The document number check digit value. A single digit or <
  • documentNumberVerified
  • String The indication if the document number check digit contains a valid value. true or false
  • documentSubType
  • String The data extracted from an MRZ field related to the sub type of the document. None
  • documentType
  • String (array)

    The data extracted from an MRZ field related to the type of document that was submitted.

    None
  • gender
  • String

    The data extracted from an MRZ field related to the gender of the person to which the document was issued, normalized into one of the following values: M (male), F (female), or N/B (non binary).

    M, F, or N/B
  • givenNames
  • String The data extracted from an MRZ field related to the given names of the person to which the document was issued.
  • stateOrProvinceOfIssuance
  • String The data extracted from an MRZ field related to the ISO country code of the country that issued the document. None
  • stateOrProvinceOfIssuanceVerified
  • String The indication if the issuing state or organization contains a valid value. true or false
  • isValid
  • String The parsed out state or province of the address of the person to whom the document was issued. None
  • nationalityCode
  • String The data extracted from an MRZ field related to the ISO country code of the nationality of the person to which the document was issued. None
  • nationalityCodeVerified
  • String The indication if the nationality contains a valid value. true or false
  • personalGovernmentId
  • String The data extracted from an MRZ field related to any government identification number of the person to which the document was issued. None
  • personalGovernmentIdCheckDigit
  • String The personal government ID check digit value. A single digit or <
  • personalGovernmentIdVerified
  • String The indication if the personal government ID check digit contains a valid value. true or false
  • surname
  • String The data extracted from an MRZ field related to the surname of the person to which the document was issued. None
  • unparsedMachineReadableZone
  • Object An unparsed version of the Machine Readable Zone. N/A
  • mrzLine1
  • String The first line of the MRZ. None
  • mrzLine2
  • String The second line of the MRZ. None
  • mrzLine3
  • String The third line of the MRZ. None

    Canned Face Comparison Manual

    Each canned face comparison request provides the ability to compare the face present on an identity document with selfie(s) provided as part of the request. The API only supports providing up to two reference images and up to 3 selfies.

    Face Comparison - Manual Request

    "APPROVED" Request Example

    POST /identity/facecomparison/v3/manual HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    canned-response: APPROVED
    
    {
      "transactionRequestId": "093ddee6-1a16-4da2-a09f-f4c16e20defa",
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "referenceImages": [
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        }
      ],
      "selfieImages": [
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        }
      ]
    }
    

    URL

    /identity/facecomparison/v3/manual

    Required Fields

    Name Type Description Restrictions
    transactionRequestId String A valid UUID for a previously submitted Mobile Verify (Auto, Manual or Expert) request UUID
    referenceImages Object (array) An array of images that are used as the reference for face comparison, these should be derived from a document previously submitted via mobile verify Maximum of 2 reference images can be submitted per request
  • data
  • String A base64-encoded image to be used as a reference to be compared against the selfie image(s) provided
    selfieImages Object (array) An array of base-64 encoded images of selfies to be verified
  • Maximum of 3 selfies can be submitted per request
  • data
  • String A base64-encoded image of a selfie to be compared against the reference image provided

    Optional Fields

    Name Type Description Restrictions
    customerReferenceId String [OPTIONAL] Customer provided identifier that will be returned in an identically named field within the body of any subsequent responses 500 characters limit

    Face Comparison - Manual Response

    "APPROVED" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: fc59ec41-cbdb-4438-9526-a7d6c7990647
    
    {
      "requestId": "fc59ec41-cbdb-4438-9526-a7d6c7990647",
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": "ACCEPTED"
      },
      "findings": {
        "faceComparisonApproval": "MATCH",
        "faceLivenessApproval": "LIVE"
      }
    }
    

    Returned Fields

    Name Type Description Restrictions
    requestId String The UUID assigned to the request UUID
    customerReferenceId String A value that will be returned within the body of subsequent responses. N/A
    acceptance
  • result
  • String ACCEPTED or REJECTED will be returned based on the canned-response header. N/A
  • reasons
  • String (array) If canned-response header is set to REJECTED, if canned-reasons header is provided, its values will be returned otherwise, the following reasons will be returned: MISSING_SELFIE, MISSING_PORTRAIT, NOT_HUMAN_FACE, PARTIALLY_VISIBLE_HUMAN_FACE, PORTRAIT_IS_FAKE, SELFIE_NOT_LIVE, OUT_OF_FOCUS, POOR_CONTRAST, POOR_EXPOSURE, GLARE N/A
    findings
  • faceComparisonApproval
  • String Based on the value of the canned-response header the canned response will return either MATCH or NOT_MATCH. N/A
  • faceLivenessApproval
  • String Based on the value of the canned-response header the canned response will return either LIVE or NOT_LIVE N/A

    "REJECTED" Request Example

    POST /identity/facecomparison/v3/manual HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    canned-response: REJECTED
    
    {
      "transactionRequestId": "093ddee6-1a16-4da2-a09f-f4c16e20defa",
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "referenceImages": [
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        }
      ],
      "selfieImages": [
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        }
      ]
    }
    

    "REJECTED" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    {
      "requestId": "7bd9aada-d538-4f48-807f-3ba97428e770",
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": "REJECTED",
        "reasons": [
          "POOR_CONTRAST",
          "POOR_EXPOSURE",
          "OUT_OF_FOCUS",
          "GLARE",
          "MISSING_SELFIE",
          "MISSING_PORTRAIT",
          "NOT_HUMAN_FACE",
          "PARTIALLY_VISIBLE_HUMAN_FACE",
          "SELFIE_NOT_LIVE",
          "PORTRAIT_IS_FAKE"
        ]
      }
    }
    

    "REJECTED" Request with canned reasons header Example

    POST /identity/facecomparison/v3/manual HTTP/1.1
    Content-Type: application/json;
    Authorization: Bearer $OAUTH_TOKEN
    canned-response: REJECTED
    canned-reasons: MISSING_PORTRAIT, NOT_HUMAN_FACE, PARTIALLY_VISIBLE_HUMAN_FACE
    
    {
      "transactionRequestId": "093ddee6-1a16-4da2-a09f-f4c16e20defa",
      "customerReferenceId": "OPTIONAL CUSTOMER PROVIDED IDENTIFIER",
      "referenceImages": [
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        }
      ],
      "selfieImages": [
        {
          "data": "TWlTbmFwIENhcHR1cmVkIEltYWdlIFBhZ2UgMQ=="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        },
        {
          "data": "UGFnZSAyIE1pU25hcCBDYXB0dXJlZCBJbWFnZSA="
        }
      ]
    }
    

    "REJECTED" Response with canned reasons header Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Server-Processing-Time: 4012
    Mitek-Request-Id: 7bd9aada-d538-4f48-807f-3ba97428e770
    
    {
      "requestId": "7bd9aada-d538-4f48-807f-3ba97428e770",
      "customerReferenceId": "CUSTOMER PROVIDED IDENTIFIER",
      "acceptance": {
        "result": "REJECTED",
        "reasons": [
          "MISSING_PORTRAIT",
          "NOT_HUMAN_FACE",
          "PARTIALLY_VISIBLE_HUMAN_FACE"
        ]
      }
    }
    

    MiPass - Enroll

    The enroll endpoint leverages the face and/or voice samples of an individual to create a MiPass enrollment with a biometric mathematical template (biometric). It may also be used to update an individual’s biometrics with a more recent sample, or to append an additional biometric sample when only one was previously enrolled. Note: all biometric samples in a request must pass their respective liveness checks to achieve a successful enrollment or update.

    A tenant's MiPass configuration will dictate whether the original face and/or voice samples are stored during enrollment. The enrollment data is assigned an expiration date in accordance with the customer’s data retention policy, after which time the data is irrevocably deleted. Updating an enrollment will reset the expiration date for the updated biometric only; for example, an updated face sample will not modify the expiration date of the voice data. A record’s biometrics may be updated at any time, even after data expiration, unless the record is affirmatively deleted.

    MiPass - Enroll Request

    Request Example - New Enrollment

    POST /identity/biometric/v3/enroll HTTP/1.1
    Content-Type: application/json
    Authorization: Bearer $OAUTH_TOKEN
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "voiceFeatures": [
        {
          "data": "BASE64 ENCODED VOICE RECORDING"
        },
        {
          "data": "BASE64 ENCODED VOICE RECORDING"
        },
        {
          "data": "BASE64 ENCODED VOICE RECORDING"
        }
      ],
      "selfieImages": [
        {
          "data": "BASE64 ENCODED IMAGE"
        }
      ]
    }
    

    Request Example - New Enrollment with Mibi

    POST /identity/biometric/v3/enroll HTTP/1.1
    Content-Type: application/json
    Authorization: Bearer $OAUTH_TOKEN
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "voiceFeatures": [
        {
          "data": "BASE64 ENCODED VOICE RECORDING",
          "mibi": "BASE64 ENCODED MIBI JSON STRING"
        },
        {
          "data": "BASE64 ENCODED VOICE RECORDING",
          "mibi": "BASE64 ENCODED MIBI JSON STRING"
        },
        {
          "data": "BASE64 ENCODED VOICE RECORDING",
          "mibi": "BASE64 ENCODED MIBI JSON STRING"
        }
      ],
      "selfieImages": [
        {
          "data": "BASE64 ENCODED IMAGE"
        }
      ]
    }
    

    Request Example - Update Enrollment

    POST /identity/biometric/v3/enroll HTTP/1.1
    Content-Type: application/json
    Authorization: Bearer $OAUTH_TOKEN
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "enrollmentId": "32609347-d962-4ec9-9984-5597d7b4c842",
      "voiceFeatures": [
        {
          "data": "BASE64 ENCODED VOICE RECORDING"
        },
        {
          "data": "BASE64 ENCODED VOICE RECORDING"
        },
        {
          "data": "BASE64 ENCODED VOICE RECORDING"
        }
      ],
      "selfieImages": [
        {
          "data": "BASE64 ENCODED IMAGE"
        }
      ]
    }
    

    Request Example - Update Enrollment with Mibi

    POST /identity/biometric/v3/enroll HTTP/1.1
    Content-Type: application/json
    Authorization: Bearer $OAUTH_TOKEN
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "enrollmentId": "32609347-d962-4ec9-9984-5597d7b4c842",
      "voiceFeatures": [
        {
          "data": "BASE64 ENCODED VOICE RECORDING",
          "mibi": "BASE64 ENCODED MIBI JSON STRING"
        },
        {
          "data": "BASE64 ENCODED VOICE RECORDING",
          "mibi": "BASE64 ENCODED MIBI JSON STRING"
        },
        {
          "data": "BASE64 ENCODED VOICE RECORDING",
          "mibi": "BASE64 ENCODED MIBI JSON STRING"
        }
      ],
      "selfieImages": [
        {
          "data": "BASE64 ENCODED IMAGE"
        }
      ]
    }
    

    Request Example - New Enrollment with Duplicate Identity Scan Enabled

    POST /identity/biometric/v3/enroll HTTP/1.1
    Content-Type: application/json
    Authorization: Bearer $OAUTH_TOKEN
    
    {
      "selfieImages": [
        {
          "data": "BASE64 ENCODED IMAGE"
        }
      ],
      "configuration": {
        "faceBlocklist": {
          "enabled": true,
          "rejectEnabled": true
        },
        "faceVelocity": {
          "enabled": true,
          "rejectEnabled": true,
          "minMatches": 1,
          "lookBackPeriodDays": 365
        }
      },
      "userOrigin": {
        "countryCode": "USA",
        "regionCode": "CA"
      }
    }
    

    Request Example - New Enrollment with Injection Attack Detection Enabled

    POST /identity/biometric/v3/enroll HTTP/1.1
    Content-Type: application/json
    Authorization: Bearer $OAUTH_TOKEN
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "voiceFeatures": [
        {
          "data": "BASE64 ENCODED VOICE RECORDING",
          "encryptedPayload": "BASE64 ENCODED ENCRYPTED PAYLOAD"
        },
        {
          "data": "BASE64 ENCODED VOICE RECORDING",
          "encryptedPayload": "BASE64 ENCODED ENCRYPTED PAYLOAD"
        },
        {
          "data": "BASE64 ENCODED VOICE RECORDING",
          "encryptedPayload": "BASE64 ENCODED ENCRYPTED PAYLOAD"
        }
      ],
      "selfieImages": [
        {
          "data": "BASE64 ENCODED IMAGE",
          "encryptedPayload": "BASE64 ENCODED ENCRYPTED PAYLOAD"
        }
      ],
      "configuration": {
        "injectionAttackDetection": ["selfieImages", "voiceFeatures"]
      }
    }
    

    Run in Postman

    URL

    POST /identity/biometric/v3/enroll

    Required Fields

    An enrollment can be created/updated with a face, a set of voice recordings, or both. At least three voice recordings in the voiceFeatures object or one image in the selfieImages object must be present in the request.

    Name Type Description Restrictions
    voiceFeatures Object (array) Array of voice recordings to process and enroll. At least 3 voice recordings are required to ensure template accuracy.
  • data
  • String Base64-encoded WAV, WebM, or MP4 file containing voice recording. N/A
  • mibi
  • String [OPTIONAL] Base64-encoded JSON object containing session analytics data for the voice recording. Only applicable to MiSnap WebSDK capture events. N/A
  • encryptedPayload
  • String A base64-encoded string containing an encrypted real-time security payload generated by Mitek’s MiSnap Capture SDKs v.5.5.0 and newer. This field is only required if voiceFeatures is enabled in the Injection Attack Detection object in the request configuration. N/A
    selfieImages Object (array) Array of selfie images to process and enroll. Currently only supports a single image.
  • data
  • String Base64-encoded selfie image file. N/A
  • encryptedPayload
  • String A base64-encoded string containing an encrypted real-time security payload generated by Mitek’s MiSnap Capture SDKs v.5.4.0 and newer. This field is only required if selfieImages is enabled in the Injection Attack Detection object in the request configuration. N/A
    userOrigin Object User Origin identifies the country and region of the end-user who is attempting to enroll. N/A
  • countryCode
  • String The country code of the end-user. ISO 3166-1 alpha-3 country code
  • regionCode
  • String The region code of the end-user. It is required when the country code is either USA or CAN, otherwise it is optional. ISO 3166-2 two-letter region code

    Optional Fields

    Name Type Description Restrictions
    customerReferenceId String Customer provided identifier that will be returned within the body of the response. 500 characters limit
    enrollmentId String Mitek provided unique identifier from a previous enrollment. If provided, will attempt an update operation. Do not populate when requesting a new enrollment. It is required if updating an existing enrollment.
    configuration Object Configuration options. N/A
  • faceBlocklist
  • Object DIS - Face Blocklist configuration. N/A
  • enabled
  • Boolean Flag indicating if Face Blocklist lookup should be performed. Defaults to false. true or false
  • rejectEnabled
  • Boolean Flag indicating if any Blocklist matches should trigger a rejection of the enrollment. Defaults to false. true or false
  • faceVelocity
  • Object DIS - Face Velocity configuration. N/A
  • enabled
  • Boolean Flag indicating if Face Velocity search-and-enroll should be performed. Defaults to false. true or false
  • rejectEnabled
  • Boolean Flag indicating if qualifying velocity matches should trigger a rejection of the enrollment. Defaults to false. true or false
  • minMatches
  • Integer The minimum number of qualifying DIS matches required to trigger a rejection. A value is required if rejectEnabled is true. Value must be between 1 and 100.
  • lookBackPeriodDays
  • Integer The number of days which confines the qualifying matches detected by Face Velocity. Defaults to the MiPass data retention duration. 32-bit Integer
  • injectionAttackDetection
  • Object A list of biometric types enabled for injection attack detection to be performed on. selfieImages, voiceFeatures

    MiPass - Enroll Response

    "ENROLLED" Response Example

    HTTP/1.1 201 Created
    Content-Type: application/json
    Mitek-Request-Id: 5b55449e-bec3-4cff-b2d2-a8e6e4a3af24
    Mitek-Server-Processing-Time: 4021
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "enrollmentId": "32609347-d962-4ec9-9984-5597d7b4c842",
      "requestId": "5b55449e-bec3-4cff-b2d2-a8e6e4a3af24",
      "enrollmentStatus": "ENROLLED",
      "details": {
        "faceProcessing": {
          "status": "SUCCESSFUL",
          "dataExpiration": "2025-02-13T17:23:44Z"
        },
        "voiceProcessing": {
          "status": "SUCCESSFUL",
          "dataExpiration": "2025-02-13T17:23:44Z"
        }
      }
    }
    

    "ENROLLED" Response Example with Face Velocity and Face Blocklist Matches

    HTTP/1.1 201 Created
    Content-Type: application/json
    Mitek-Request-Id: 5b55449e-bec3-4cff-b2d2-a8e6e4a3af24
    Mitek-Server-Processing-Time: 4021
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "enrollmentId": "32609347-d962-4ec9-9984-5597d7b4c842",
      "requestId": "5b55449e-bec3-4cff-b2d2-a8e6e4a3af24",
      "enrollmentStatus": "ENROLLED",
      "details": {
        "faceProcessing": {
          "status": "SUCCESSFUL",
          "dataExpiration": "2025-02-13T17:23:44Z",
          "faceBlocklist": {
            "status": "SUCCESSFUL",
            "matches": [
              {
                "itemId": "be3e68e9-284e-44da-9e0a-a88797ad5d8e",
                "blockEnrollmentId": "10491320-86ff-404b-93c5-68dcb4418762",
                "createdAt": "2022-11-28T12:40:31.8733761Z"
              }
            ],
          },
          "faceVelocity": {
            "status": "SUCCESSFUL",
            "matches": [
              {
                "enrollmentId": "2c6faa24-0276-466b-9fb8-eefcec06303f",
                "createdAt": "2023-11-02T15:14:14.075928Z",
                "expiresAt": "2026-10-18T15:14:14.075928Z"
              }
            ]
          }
        }
      },
      "configuration": {
        "faceBlocklist": {
          "enabled": true,
          "rejectEnabled": false
        },
        "faceVelocity": {
          "enabled": true,
          "rejectEnabled": false
        }
      }
    }
    

    "UPDATED" Response Example

    HTTP/1.1 201 Created
    Content-Type: application/json
    Mitek-Request-Id: 5b55449e-bec3-4cff-b2d2-a8e6e4a3af24
    Mitek-Server-Processing-Time: 4021
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "enrollmentId": "32609347-d962-4ec9-9984-5597d7b4c842",
      "requestId": "5b55449e-bec3-4cff-b2d2-a8e6e4a3af24",
      "enrollmentStatus": "UPDATED",
      "details": {
        "faceProcessing": {
          "status": "SUCCESSFUL",
          "dataExpiration": "2026-01-27T11:57:03Z"
        },
        "voiceProcessing": {
          "status": "SUCCESSFUL",
          "dataExpiration": "2026-01-27T11:57:03Z"
        }
      }
    }
    

    "FAILED" Response Example

    HTTP/1.1 201 Created
    Content-Type: application/json
    Mitek-Request-Id: 5b55449e-bec3-4cff-b2d2-a8e6e4a3af24
    Mitek-Server-Processing-Time: 4021
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "requestId": "5b55449e-bec3-4cff-b2d2-a8e6e4a3af24",
      "enrollmentStatus": "FAILED",
      "details": {
        "faceProcessing": {
          "status": "FAILED",
          "reasons": ["FACE_TOO_CLOSE"]
        },
        "voiceProcessing": {
          "status": "FAILED",
          "reasons": ["VOICE_NOT_DETECTED"]
        }
      }
    }
    

    "FAILED" Response Example with Face Velocity and Face Blocklist Matches

    HTTP/1.1 201 Created
    Content-Type: application/json
    Mitek-Request-Id: 5b55449e-bec3-4cff-b2d2-a8e6e4a3af24
    Mitek-Server-Processing-Time: 4021
    
    {
      "requestId": "5b55449e-bec3-4cff-b2d2-a8e6e4a3af24",
      "enrollmentStatus": "FAILED",
      "details": {
        "faceProcessing": {
          "status": "FAILED",
          "reasons": [
            "FACE_BLOCKLIST",
            "FACE_VELOCITY"
          ],
          "faceBlocklist": {
            "status": "SUCCESSFUL",
            "matches": [
              {
                "itemId": "be3e68e9-284e-44da-9e0a-a88797ad5d8e",
                "blockEnrollmentId": "10491320-86ff-404b-93c5-68dcb4418762",
                "createdAt": "2022-11-28T12:40:31.8733761Z"
              }
            ]
          },
          "faceVelocity": {
            "status": "SUCCESSFUL",
            "matches": [
              {
                "enrollmentId": "2c6faa24-0276-466b-9fb8-eefcec06303f",
                "createdAt": "2023-11-02T15:14:14.075928Z",
                "expiresAt": "2026-10-18T15:14:14.075928Z"
              }
            ]
          }
        }
      },
      "configuration": {
        "faceBlocklist": {
          "enabled": true,
          "rejectEnabled": true
        },
        "faceVelocity": {
          "enabled": true,
          "rejectEnabled": true,
          "minMatches": 1,
          "lookBackPeriodDays": 365
        }
      }
    }
    

    "FAILED" Response Example with Injection Attack Detection

    HTTP/1.1 201 Created
    Content-Type: application/json
    Mitek-Request-Id: 5b55449e-bec3-4cff-b2d2-a8e6e4a3af24
    Mitek-Server-Processing-Time: 4021
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "requestId": "5b55449e-bec3-4cff-b2d2-a8e6e4a3af24",
      "enrollmentStatus": "FAILED",
      "details": {
        "faceProcessing": {
          "status": "FAILED",
          "reasons": ["INJECTION_ATTACK_DETECTED"]
        },
        "voiceProcessing": {
          "status": "FAILED",
          "reasons": ["MISSING_ENCRYPTED_PAYLOAD"]
        }
      },
      "configuration": {
        "injectionAttackDetection": ["selfieImages", "voiceFeatures"]
      }
    }
    

    Returned Fields

    Name Type Description Restrictions
    customerReferenceId String A value submitted with the original request that is returned in the response. N/A
    enrollmentId String Unique identifier for the enrollment. Used in verify, update, or delete operations. UUID
    requestId String The unique identifier that Mitek Systems has assigned to this transaction. UUID
    enrollmentStatus String Status of the enrollment operation. ENROLLED or UPDATED or FAILED
    details Object Details of processing outcomes for the enrollment operation. N/A
  • faceProcessing
  • Object Contains details regarding processing of faces. N/A
  • status
  • String Status of face processing. SUCCESSFUL or FAILED
  • reasons
  • String (array) Reasons for face processing failure. N/A
  • dataExpiration
  • String The expiration timestamp for the enrolled face data. RFC 3339 Timestamp
  • faceBlocklist
  • Object Contains details regarding DIS - Face Blocklist if enabled. N/A
  • status
  • String Status of the DIS - Face Blocklist operation. SUCCESSFUL or FAILED
  • matches
  • Object (array) An array of blocklist matches is returned when the given selfie image is detected on the face blocklist. N/A
  • itemId
  • String The unique identifier associated with this matching blocklist item. UUID
  • blockEnrollmentId
  • String Enrollment ID of an existing MiPass Enrollment used to create this blocklist item. UUID
  • createdAt
  • String The timestamp for when this item was created. RFC 3339 Timestamp
  • faceVelocity
  • Object Contains details regarding DIS - Face Velocity if enabled. N/A
  • status
  • String Status of the DIS - Face Velocity operation. SUCCESSFUL or FAILED
  • matches
  • Object (array) When the same face has been submitted in prior enrollments, those matching enrollments are listed in this array. N/A
  • enrollmentId
  • String Enrollment ID of a previous MiPass Enrollment with a matching face. UUID
  • createdAt
  • String The timestamp for when this enrollment took place. RFC 3339 Timestamp
  • expiresAt
  • String The timestamp for when this enrollment expires. RFC 3339 Timestamp
  • voiceProcessing
  • Object Contains details regarding processing of voices. N/A
  • status
  • String Status of voice processing. SUCCESSFUL or FAILED
  • reasons
  • String (array) Reasons for voice processing failure. N/A
  • dataExpiration
  • String The expiration timestamp for the enrolled voice data. RFC 3339 Timestamp
    configuration Object Configuration options. N/A
  • faceBlocklist
  • Object DIS - Face Blocklist configuration. N/A
  • enabled
  • Boolean Flag indicating if Face Blocklist lookup was performed. true or false
  • rejectEnabled
  • Boolean Flag indicating if any Blocklist matches should trigger a rejection of the enrollment. true or false
  • faceVelocity
  • Object DIS - Face Velocity configuration. N/A
  • enabled
  • Boolean Flag indicating if Face Velocity search-and-enroll was performed. true or false
  • rejectEnabled
  • Boolean Flag indicating if qualifying velocity matches should trigger a rejection of the enrollment. true or false
  • minMatches
  • Integer The minimum number of qualifying DIS matches required to trigger a rejection. Value must be between 1 and 100.
  • lookBackPeriodDays
  • Integer The number of days which confines the qualifying matches detected by Face Velocity. 32-bit Integer
  • injectionAttackDetection
  • Object A list of biometric types on which injection attack detection was performed as requested. selfieImages, voiceFeatures

    MiPass - Enroll Error Responses

    400 Response Example

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    
    {
      "message": "Customer reference id should not exceed 500 characters."
    }
    
    OR
    
    {
      "message": "No voice features or selfie images provided in enrollment request."
    }
    

    401 Response Example

    HTTP/1.1 401 Unauthorized
    Content-Type: application/json
    
    {
      "message": "Authorization has been denied for this request."
    }
    

    403 Forbidden

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    
    {
      "message": "You do not have the correct permissions to perform MiPass Enrollment."
    }
    

    415 Response Example

    HTTP/1.1 415 Unsupported Media Type
    Content-Type: application/json
    
    {
      "message": "The request entity's media type '...' is not supported for this resource."
    }
    

    500 Response Example

    HTTP/1.1 500 Internal Server Error
    Content-Type: application/json
    
    {
      "message": "There was a technical problem processing your request. Please try again."
    }
    

    Standard HTTP REST-based response codes and messages are used to indicate success or failure for a request.

    Returned Fields

    Name Type Description Restrictions
    message String A message describing the error. None

    All "Bad Request" Error Messages

    Message
    No voice features or selfie images provided in enrollment request.
    Image data not provided in selfie image.
    Voice data not provided in voice feature.
    Illegal base64 data at input byte 4.
    The given Enrollment ID does not exist. If this is a new Enrollment, the Enrollment ID should be omitted.
    Invalid MiPass Enrollment request format - a minimum of 3 voice features are required to enroll voice.
    No selfie image provided to perform Duplicate Identity Scan (DIS) check.
    Invalid MiPass Enrollment request format - user origin data not provided or is invalid.
    Invalid MiPass Enrollment request format - user origin ISO 3166-1 alpha-3 country code is missing.
    Invalid MiPass Enrollment request format - user origin ISO 3166-1 alpha-3 country code is invalid.
    Invalid MiPass Enrollment request format - user origin ISO 3166-2 state code is required when country code is USA.
    Invalid MiPass Enrollment request format - user origin ISO 3166-2 state code is required when country code is CAN.
    Invalid MiPass Enrollment request format - user origin ISO 3166-2 state code is invalid.
    Invalid MiPass Enrollment request format - DIS Face Velocity is enabled with rejection but minimum matches configuration is missing.
    DIS - Face Blocklist is not enabled on your account. Please contact support to resolve.
    DIS - Face Velocity is not enabled on your account. Please contact support to resolve.
    There is an error with your MiPass configuration. Please contact support to resolve.
    Invalid configuration value provided for Injection Attack Detection; allowed values are: [selfieImages, voiceFeatures].
    Injection Attack Detection is not enabled on your account. Please contact support to resolve.

    Enroll Processing Reasons

    Face Processing Reasons

    Reason Description User Action
    FACE_TOO_CLOSE Face is too close to the camera to accurately detect features. Move face back from the camera so all edges are completely visible.
    FACE_NOT_DETECTED Face was not detected in the image. Ensure face is clearly visible and unobstructed.
    FACE_TOO_SMALL Face is not large enough to accurately detect features. Move face closer to the camera and ensure all edges are completely visible.
    FACE_ANGLE_TOO_LARGE Face is not directly facing the camera. Ensure face is pointed straight at the camera and not rotated in any direction.
    FAILED_TO_READ_IMAGE There was an error reading the image file. Ensure raw image bytes are saved and not modified in any way. Make sure an accepted image format is used.
    FAILED_QUALITY_CHECK Image does not meet our quality standards. Ensure image is taken in a location with sufficient lighting and meets our minimum requirements.
    TOO_MANY_FACES More than one face was detected in the image. Ensure only one face is present in the image.
    FACE_CROPPED A full face cannot be detected. Ensure the full face is visible and not obstructed in any way.
    FACE_FAILED_LIVENESS Face failed liveness check. Indicates a fraudulent transaction.
    FACE_DEEPFAKE_DETECTED Face failed deepfake detection check. Indicates a fraudulent transaction.
    FACE_VELOCITY_SEARCH_ERROR Face velocity search error occurred. Retry the transaction.
    FACE_VELOCITY_ENROLL_ERROR Face velocity enroll error occurred. Retry the transaction.
    FACE_BLOCKLIST_SEARCH_ERROR Face blocklist search error occurred. Retry the transaction.
    USER_ORIGIN_NOT_SUPPORTED The end-user’s country and/or subdivision is not supported by the Face Velocity or Face Blocklist features. You may disable the Face Velocity and Face Blocklist features and resubmit. If you require either of these checks, then the end-user is not eligible to enroll.
    FACE_BLOCKLIST Face Blocklist with reject was enabled and matches triggered rejection. Indicates a fraudulent transaction.
    FACE_VELOCITY Face Velocity with reject was enabled and matches triggered rejection. Indicates a fraudulent transaction.
    INJECTION_ATTACK_DETECTED Selfie image was injected. Indicates a fraudulent transaction.
    MISSING_ENCRYPTED_PAYLOAD The required encrypted payload associated with the image was not submitted in the service request. Indicates a fraudulent transaction.

    Voice Processing Reasons

    Reason Description User Action
    VOICE_NOT_DETECTED Unable to detect a voice in the recording. Submit a clear recording with a voice present.
    VOICE_FILE_INVALID There was an error reading the voice file. Ensure raw voice recording bytes are saved and not modified in any way. Make sure an accepted voice recording format is used.
    VOICE_FAILED_LIVENESS Voice failed liveness check. Indicates a fraudulent transaction.
    VOICE_TOO_NOISY Audio is too noisy. Ask user to repeat the recording in quieter conditions.
    VOICE_TOO_SMALL_SPEECH_TOTAL_LENGTH Total speech length in the audio is too small. Ask user to repeat the given phrase more slowly.
    DIFFERENT_VOICES_DETECTED There were different voices detected in the voice files. Ask user to repeat enrollment phrases and ensure no other voices can be heard while speaking.
    INJECTION_ATTACK_DETECTED Voice feature was injected. Indicates a fraudulent transaction.
    MISSING_ENCRYPTED_PAYLOAD The required encrypted payload associated with the voice feature was not submitted in the service request. Indicates a fraudulent transaction.

    MiPass - Verify

    The verify endpoint is used for biometric authentication of an individual’s face and/or voice against a previously-enrolled sample. There are two components to the authentication of each biometric: comparison against the enrolled reference data, and liveness checks on the new sample(s). When authenticating a face and voice simultaneously, the top-level verificationStatus will return the lesser of the two individual biometric judgments. For example, status values of ‘Authentic’ and ‘Undetermined’ will result in a top-level verificationStatus of ‘Undetermined’.

    Note: references to nonexistent biometric data will result in a status of ‘Undetermined’. Therefore, overall authentication cannot succeed even if a second biometric is successfully matched and judged to be live.

    MiPass - Verify Request

    Request Example

    POST /identity/biometric/v3/verify HTTP/1.1
    Content-Type: application/json
    Authorization: Bearer $OAUTH_TOKEN
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "enrollmentId": "32609347-d962-4ec9-9984-5597d7b4c842",
      "voiceFeature": {
        "data": "BASE64 ENCODED VOICE RECORDING"
      },
      "selfieImage": {
        "data": "BASE64 ENCODED IMAGE"
      }
    }
    

    Request Example with Mibi

    POST /identity/biometric/v3/verify HTTP/1.1
    Content-Type: application/json
    Authorization: Bearer $OAUTH_TOKEN
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "enrollmentId": "32609347-d962-4ec9-9984-5597d7b4c842",
      "voiceFeature": {
        "data": "BASE64 ENCODED VOICE RECORDING",
        "mibi": "BASE64 ENCODED MIBI JSON STRING"
      },
      "selfieImage": {
        "data": "BASE64 ENCODED IMAGE"
      }
    }
    

    Request Example with Injection Attack Detection

    POST /identity/biometric/v3/verify HTTP/1.1
    Content-Type: application/json
    Authorization: Bearer $OAUTH_TOKEN
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "enrollmentId": "32609347-d962-4ec9-9984-5597d7b4c842",
      "voiceFeature": {
        "data": "BASE64 ENCODED VOICE RECORDING",
        "encryptedPayload": "BASE64 ENCODED ENCRYPTED PAYLOAD"
      },
      "selfieImage": {
        "data": "BASE64 ENCODED IMAGE"
        "encryptedPayload": "BASE64 ENCODED ENCRYPTED PAYLOAD"
      },
      "configuration": {
        "injectionAttackDetection": ["selfieImage", "voiceFeature"]
      }
    }
    

    Run in Postman

    URL

    POST /identity/biometric/v3/verify

    Required Fields

    An enrollment can be verified with a face, a voice, or both. At least one of voiceFeatures or selfieImages must be present in the request.

    Name Type Description Restrictions
    enrollmentId String Mitek provided unique identifier from a previous enrollment. UUID
    voiceFeature Object Voice recording to verify. N/A
  • data
  • String Base64-encoded WAV, WebM, or MP4 file containing voice recording. N/A
  • mibi
  • String [OPTIONAL] Base64-encoded JSON object containing session analytics data for the voice recording. Only applicable to MiSnap WebSDK capture events. N/A
  • encryptedPayload
  • String A base64-encoded string containing an encrypted real-time security payload generated by Mitek’s MiSnap Capture SDKs v.5.5.0 and newer. This field is only required if voiceFeature is enabled in the Injection Attack Detection object in the request configuration. N/A
    selfieImage Object Selfie image to verify. N/A
  • data
  • String Base64-encoded selfie image file. N/A
  • encryptedPayload
  • String A base64-encoded string containing an encrypted real-time security payload generated by Mitek’s MiSnap Capture SDKs v.5.4.0 and newer. This field is only required if selfieImage is enabled in the Injection Attack Detection object in the request configuration. N/A

    Optional Fields

    Name Type Description Restrictions
    customerReferenceId String Customer provided identifier that will be returned within the body of the response. 500 characters limit
    configuration Object Configuration Options. N/A
  • injectionAttackDetection
  • Object A list of biometric types enabled for injection attack detection to be performed on. selfieImage, voiceFeature

    MiPass - Verify Response

    "AUTHENTIC" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Request-Id: 5b55449e-bec3-4cff-b2d2-a8e6e4a3af24
    Mitek-Server-Processing-Time: 4021
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "enrollmentId": "32609347-d962-4ec9-9984-5597d7b4c842",
      "requestId": "5b55449e-bec3-4cff-b2d2-a8e6e4a3af24",
      "verificationStatus": "AUTHENTIC",
      "details": {
        "faceVerify": {
          "status": "AUTHENTIC",
          "dataExpiration": "2025-02-13T17:23:44Z"
        },
        "voiceVerify": {
          "status": "AUTHENTIC",
          "dataExpiration": "2025-02-13T17:23:44Z"
        }
      }
    }
    

    "FRAUDULENT" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Request-Id: 5b55449e-bec3-4cff-b2d2-a8e6e4a3af24
    Mitek-Server-Processing-Time: 4021
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "enrollmentId": "32609347-d962-4ec9-9984-5597d7b4c842",
      "requestId": "5b55449e-bec3-4cff-b2d2-a8e6e4a3af24",
      "verificationStatus": "FRAUDULENT",
      "details": {
        "faceVerify": {
          "status": "FRAUDULENT",
          "reasons": ["FACE_FAILED_LIVENESS"]
        },
        "voiceVerify": {
          "status": "FRAUDULENT",
          "reasons": ["VOICE_FAILED_COMPARE"]
        }
      }
    }
    

    "UNDETERMINED" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Request-Id: 5b55449e-bec3-4cff-b2d2-a8e6e4a3af24
    Mitek-Server-Processing-Time: 4021
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "enrollmentId": "32609347-d962-4ec9-9984-5597d7b4c842",
      "requestId": "5b55449e-bec3-4cff-b2d2-a8e6e4a3af24",
      "verificationStatus": "UNDETERMINED",
      "details": {
        "faceVerify": {
          "status": "UNDETERMINED",
          "reasons": ["FAILED_QUALITY_CHECK", "FACE_NOT_DETECTED"]
        },
        "voiceVerify": {
          "status": "AUTHENTIC"
        }
      }
    }
    

    "FRAUDULENT" Response Example with Injection Attack Detection

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Request-Id: 5b55449e-bec3-4cff-b2d2-a8e6e4a3af24
    Mitek-Server-Processing-Time: 4021
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "enrollmentId": "32609347-d962-4ec9-9984-5597d7b4c842",
      "requestId": "5b55449e-bec3-4cff-b2d2-a8e6e4a3af24",
      "verificationStatus": "FRAUDULENT",
      "details": {
        "faceVerify": {
          "status": "FRAUDULENT",
          "reasons": ["MISSING_ENCRYPYED_PAYLOAD"]
        },
        "voiceVerify": {
          "status": "FRAUDULENT",
          "reasons": ["INJECTION_ATTACK_DETECTED"]
        }
      },
      "configuration": {
        "injectionAttackDetection": ["selfieImage", "voiceFeature"]
      }
    }
    

    "UNDETERMINED" Response Example with Injection Attack Detection

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Request-Id: 5b55449e-bec3-4cff-b2d2-a8e6e4a3af24
    Mitek-Server-Processing-Time: 4021
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "enrollmentId": "32609347-d962-4ec9-9984-5597d7b4c842",
      "requestId": "5b55449e-bec3-4cff-b2d2-a8e6e4a3af24",
      "verificationStatus": "UNDETERMINED",
      "details": {
        "faceVerify": {
          "status": "UNDETERMINED",
          "reasons": ["FACE_NOT_DETECTED"]
        },
        "voiceVerify": {
          "status": "AUTHENTIC"
        }
      },
      "configuration": {
        "injectionAttackDetection": ["selfieImage", "voiceFeature"]
      }
    }
    

    Returned Fields

    Name Type Description Restrictions
    customerReferenceId String A value submitted with the original request that is returned in the response. N/A
    enrollmentId String Unique identifier for the enrollment. Used in verify, update, or delete operations. UUID
    requestId String The unique identifier that Mitek Systems has assigned to this transaction. UUID
    verificationStatus String Overall status of the verify operation. AUTHENTIC or FRAUDULENT or UNDETERMINED
    details Object Details of processing outcomes for the verify operation. N/A
  • faceVerify
  • Object Contains details regarding face verification. N/A
  • status
  • String Status of face verification. AUTHENTIC or FRAUDULENT or UNDETERMINED
  • reasons
  • String (array) Reasons for face verification failure. N/A
  • dataExpiration
  • String The expiration timestamp for the enrolled face data. RFC 3339 Timestamp
  • voiceVerify
  • Object Contains details regarding voice verification. N/A
  • status
  • String Status of voice verification. AUTHENTIC or FRAUDULENT or UNDETERMINED
  • reasons
  • String (array) Reasons for voice verification failure. N/A
  • dataExpiration
  • String The expiration timestamp for the enrolled voice data. RFC 3339 Timestamp
    configuration Object Configuration options. N/A
  • injectionAttackDetection
  • Object A list of biometric types on which injection attack detection was performed as requested. selfieImage, voiceFeature

    MiPass - Verify Error Responses

    400 Response Example

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    
    {
      "message": "Customer reference id should not exceed 500 characters."
    }
    
    OR
    
    {
      "message": "No enrollment id provided in the request."
    }
    

    401 Response Example

    HTTP/1.1 401 Unauthorized
    Content-Type: application/json
    
    {
      "message": "Authorization has been denied for this request."
    }
    

    403 Forbidden

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    
    {
      "message": "You do not have the correct permissions to perform MiPass Verify."
    }
    

    415 Response Example

    HTTP/1.1 415 Unsupported Media Type
    Content-Type: application/json
    
    {
      "message": "The request entity's media type '...' is not supported for this resource."
    }
    

    500 Response Example

    HTTP/1.1 500 Internal Server Error
    Content-Type: application/json
    
    {
      "message": "There was a technical problem processing your request. Please try again."
    }
    

    Standard HTTP REST-based response codes and messages are used to indicate success or failure for a request.

    Returned Fields

    Name Type Description Restrictions
    message String A message describing the error. None

    All "Bad Request" Error Messages

    Message
    No enrollment id provided in the request.
    No voice feature or selfie image provided in MiPass Verify request.
    Image data not provided in selfie image.
    Voice data not provided in voice feature.
    Illegal base64 data at input byte 4.
    The given Enrollment ID does not exist or is invalid.
    The Enrolled Face is no longer valid. Enrollment needs to be updated before running Verify operation.
    The Enrolled Voice is no longer valid. Enrollment needs to be updated before running Verify operation.
    Invalid configuration value provided for Injection Attack Detection; allowed values are: [selfieImages, voiceFeatures].
    Injection Attack Detection is not enabled on your account. Please contact support to resolve.

    Verify Processing Reasons

    Face Processing Reasons

    Reason Description User Action
    FACE_TOO_CLOSE Face is too close to the camera to accurately detect features. Move face back from the camera so all edges are completely visible.
    FACE_NOT_DETECTED Face was not detected in the image. Ensure face is clearly visible and unobstructed.
    FACE_TOO_SMALL Face is not large enough to accurately detect features. Move face closer to the camera and ensure all edges are completely visible.
    FACE_ANGLE_TOO_LARGE Face is not directly facing the camera. Ensure face is pointed straight at the camera and not rotated in any direction.
    FAILED_TO_READ_IMAGE There was an error reading the image file. Ensure raw image bytes are saved and not modified in any way. Make sure an accepted image format is used.
    FAILED_QUALITY_CHECK Image does not meet our quality standards. Ensure image is taken in a location with sufficient lighting and meets our minimum requirements.
    TOO_MANY_FACES More than one face was detected in the image. Ensure only one face is present in the image.
    FACE_CROPPED A full face cannot be detected. Ensure the full face is visible and not obstructed in any way.
    FACE_NOT_ENROLLED Face has not been previously enrolled. Ensure a face has been previously enrolled before attempting this operation.
    FACE_FAILED_LIVENESS Face failed liveness check. Indicates a fraudulent transaction.
    FACE_DEEPFAKE_DETECTED Face failed deepfake detection check. Indicates a fraudulent transaction.
    FACE_FAILED_COMPARE Face did not match with enrolled face. Indicates a fraudulent transaction.
    FACE_DATA_EXPIRED The previously enrolled face data has expired. Update the enrollment before attempting this operation.
    INJECTION_ATTACK_DETECTED Selfie image was injected. Indicates a fraudulent transaction.
    MISSING_ENCRYPTED_PAYLOAD The required encrypted payload associated with the image was not submitted in the service request. Indicates a fraudulent transaction.
    INCOMPATIBLE_FACE_TEMPLATE_VERSION The previously enrolled face data has an incompatible face template version.

    Voice Processing Reasons

    Reason Description User Action
    VOICE_NOT_DETECTED Unable to detect a voice in the recording. Submit a clear recording with a voice present.
    VOICE_NOT_ENROLLED Voice has not been previously enrolled. Ensure a voice has been previously enrolled before attempting this operation.
    VOICE_FILE_INVALID There was an error reading the voice file. Ensure raw voice recording bytes are saved and not modified in any way. Make sure an accepted voice recording format is used.
    VOICE_FAILED_LIVENESS Voice failed liveness check. Indicates a fraudulent transaction.
    VOICE_FAILED_COMPARE Voice did not match with enrolled voice. Indicates a fraudulent transaction.
    VOICE_DATA_EXPIRED The previously enrolled voice data has expired. Update the enrollment before attempting this operation.
    VOICE_TOO_NOISY Audio is too noisy. Ask user to repeat the recording in quieter conditions.
    VOICE_TOO_SMALL_SPEECH_TOTAL_LENGTH Total speech length in the audio is too small. Ask user to repeat the given phrase more slowly.
    INJECTION_ATTACK_DETECTED Voice feature was injected. Indicates a fraudulent transaction.
    MISSING_ENCRYPTED_PAYLOAD The required encrypted payload associated with the voice feature was not submitted in the service request. Indicates a fraudulent transaction.
    INCOMPATIBLE_VOICE_TEMPLATE_VERSION The previously enrolled voice data has an incompatible voice template version.

    MiPass - Delete

    A DELETE request to the enroll endpoint will flag an enrollment record as permanently deleted and immediately delete the associated biometric data.

    MiPass - Delete Request

    Request Example

    DELETE /identity/biometric/v3/enroll/32609347-d962-4ec9-9984-5597d7b4c842?customerReferenceId=e759256b-46c0-475a-97eb-fe1c0a18a3bc HTTP/1.1
    Authorization: Bearer $OAUTH_TOKEN
    

    Run in Postman

    URL

    DELETE /identity/biometric/v3/enroll/{enrollmentId}?customerReferenceId={customerReferenceId}

    Required Fields

    Name Type Description Restrictions
    enrollmentId String Mitek provided unique identifier from a previous enrollment. UUID

    Optional Fields

    Name Type Description Restrictions
    customerReferenceId String Customer provided identifier that will be returned within the body of the response. 500 characters limit

    Biometric Auth - Delete Response

    Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Request-Id: 5b55449e-bec3-4cff-b2d2-a8e6e4a3af24
    Mitek-Server-Processing-Time: 4021
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "enrollmentId": "32609347-d962-4ec9-9984-5597d7b4c842",
      "requestId": "5b55449e-bec3-4cff-b2d2-a8e6e4a3af24"
    }
    

    Returned Fields

    Name Type Description Restrictions
    customerReferenceId String A value submitted with the original request that is returned in the response. N/A
    enrollmentId String Unique identifier for the enrollment. Used in verify, update, or delete operations. UUID
    requestId String The unique identifier that Mitek Systems has assigned to this transaction. UUID

    MiPass - Delete Error Responses

    400 Response Example

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    
    {
      "message": "Customer reference id should not exceed 500 characters."
    }
    
    OR
    
    {
      "message": "No enrollment id provided in the request."
    }
    

    401 Response Example

    HTTP/1.1 401 Unauthorized
    Content-Type: application/json
    
    {
      "message": "Authorization has been denied for this request."
    }
    

    403 Forbidden

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    
    {
      "message": "You do not have the correct permissions to delete a MiPass Enrollment."
    }
    

    404 Not Found

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
      "message": "The given Enrollment ID does not exist or has already been deleted."
    }
    

    415 Response Example

    HTTP/1.1 415 Unsupported Media Type
    Content-Type: application/json
    
    {
      "message": "The request entity's media type '...' is not supported for this resource."
    }
    

    500 Response Example

    HTTP/1.1 500 Internal Server Error
    Content-Type: application/json
    
    {
      "message": "There was a technical problem processing your request. Please try again."
    }
    

    Standard HTTP REST-based response codes and messages are used to indicate success or failure for a request.

    Returned Fields

    Name Type Description Restrictions
    message String A message describing the error. None

    MiPass - Check Quality

    The Check Quality endpoint is used to evaluate the quality of the voice recording and determine if it meets the reasonable criteria for biometric enrollment or verification.

    MiPass - Check Quality Request

    Request Example

    POST /identity/biometric/v3/check-quality HTTP/1.1
    Content-Type: application/json
    Authorization: Bearer $OAUTH_TOKEN
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "transactionType": "ENROLL",
      "voiceFeature": {
        "data": "BASE64 ENCODED VOICE RECORDING"
      }
    }
    

    Request Example with Mibi

    POST /identity/biometric/v3/check-quality HTTP/1.1
    Content-Type: application/json
    Authorization: Bearer $OAUTH_TOKEN
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "transactionType": "ENROLL",
      "voiceFeature": {
        "data": "BASE64 ENCODED VOICE RECORDING",
        "mibi": "BASE64 ENCODED MIBI JSON STRING"
      }
    }
    

    Run in Postman

    URL

    POST /identity/biometric/v3/check-quality

    Required Fields

    Name Type Description Restrictions
    transactionType String The transaction type for which the voice recording will be used. ENROLL or VERIFY
    voiceFeature Object Voice recording to check quality. N/A
  • data
  • String Base64-encoded WAV, WebM, or MP4 file containing voice recording. N/A
  • mibi
  • String [OPTIONAL] Base64-encoded JSON object containing session analytics data for the voice recording. Only applicable to MiSnap WebSDK capture events. N/A

    Optional Fields

    Name Type Description Restrictions
    customerReferenceId String Customer provided identifier that will be returned within the body of the response. 500 characters limit

    MiPass - Check Quality Response

    "PASS" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Request-Id: 5b55449e-bec3-4cff-b2d2-a8e6e4a3af24
    Mitek-Server-Processing-Time: 4021
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "requestId": "5b55449e-bec3-4cff-b2d2-a8e6e4a3af24",
      "transactionType": "ENROLL",
      "qualityResult": {
        "status": "PASS"
      }
    }
    

    "FAIL" Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Request-Id: 5b55449e-bec3-4cff-b2d2-a8e6e4a3af24
    Mitek-Server-Processing-Time: 4021
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "requestId": "5b55449e-bec3-4cff-b2d2-a8e6e4a3af24",
      "transactionType": "ENROLL",
      "qualityResult": {
        "status": "FAIL",
        "reasons": [
            "VOICE_TOO_NOISY",
            "VOICE_TOO_SMALL_SPEECH_TOTAL_LENGTH"
        ]
      }
    }
    

    Returned Fields

    Name Type Description Restrictions
    customerReferenceId String A value submitted with the original request that is returned in the response. N/A
    requestId String The unique identifier that Mitek Systems has assigned to this transaction. UUID
    transactionType String A value submitted with the original request that is returned in the response. ENROLL or VERIFY
    qualityResult Object Details of processing outcomes for the check quality operation. N/A
  • status
  • String Status of check quality operation. PASS or FAIL
  • reasons
  • String (array) Reasons for check quality failure. N/A

    MiPass - Check Quality Error Responses

    400 Response Example

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    
    {
      "message": "Customer reference id should not exceed 500 characters."
    }
    
    OR
    
    {
      "message": "Transaction type is required; allowed values are ENROLL or VERIFY."
    }
    
    OR
    
    {
      "message": "Voice data not provided in voice feature."
    }
    

    401 Response Example

    HTTP/1.1 401 Unauthorized
    Content-Type: application/json
    
    {
      "message": "Authorization has been denied for this request."
    }
    

    403 Forbidden

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    
    {
      "message": "You do not have the correct permissions to perform MiPass Check Quality."
    }
    

    415 Response Example

    HTTP/1.1 415 Unsupported Media Type
    Content-Type: application/json
    
    {
      "message": "The request entity's media type '...' is not supported for this resource."
    }
    

    500 Response Example

    HTTP/1.1 500 Internal Server Error
    Content-Type: application/json
    
    {
      "message": "There was a technical problem processing your request. Please try again."
    }
    

    Standard HTTP REST-based response codes and messages are used to indicate success or failure for a request.

    Returned Fields

    Name Type Description Restrictions
    message String A message describing the error. None

    Check Quality Processing Reasons

    Voice Processing Reasons

    Reason Description User Action
    VOICE_FILE_INVALID There was an error reading the voice file. Ensure raw voice recording bytes are saved and not modified in any way. Make sure an accepted voice recording format is used.
    VOICE_TOO_NOISY Audio is too noisy. Ask user to repeat the recording in quieter conditions.
    VOICE_TOO_SMALL_SPEECH_TOTAL_LENGTH Total speech length in the audio is too small. Ask user to repeat the given phrase more slowly.

    Face Blocklist (MiPass) - Create Item

    The Create Item endpoint enables the addition of new faces to the blocklist. An Enrollment ID of an existing MiPass Enrollment which contains the selfie image to be blocked is required.

    Face Blocklist (MiPass) - Create Item Request

    Request Example - New Face Blocklist Item Using Enrollment ID

    POST /identity/faceblocklist/v3/items HTTP/1.1
    Content-Type: application/json
    Authorization: Bearer $OAUTH_TOKEN
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "blockEnrollmentId": "de545132-2942-4df0-b89e-d87bd447ac60"
    }
    

    Run in Postman

    URL

    POST /identity/faceblocklist/v3/items

    Required Fields

    A Face Blocklist item can be created with an Enrollment ID of a MiPass Enrollment.

    Name Type Description Restrictions
    blockEnrollmentId string Enrollment ID of an existing MiPass Enrollment. The selfie image used in the referenced Enrollment will be added to the blocklist. UUID

    Optional Fields

    Name Type Description Restrictions
    customerReferenceId string Customer provided identifier that will be returned within the body of the response. 500 characters limit

    Face Blocklist (MiPass) - Create Item Response

    "Successful" Response Example

    HTTP/1.1 201 Created
    Content-Type: application/json
    Mitek-Request-Id: 5b55449e-bec3-4cff-b2d2-a8e6e4a3af24
    Mitek-Server-Processing-Time: 4021
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "requestId": "5b55449e-bec3-4cff-b2d2-a8e6e4a3af24",
      "status": "Successful",
      "item": {
        "itemId": "c45c8b05-fa95-4331-89fa-91f7732fdd21",
        "blockEnrollmentId": "de545132-2942-4df0-b89e-d87bd447ac60",
        "createdAt": "2022-02-13T17:23:44Z"
      }
    }
    

    "Failed" Response Example

    HTTP/1.1 201 Created
    Content-Type: application/json
    Mitek-Request-Id: 5b55449e-bec3-4cff-b2d2-a8e6e4a3af24
    Mitek-Server-Processing-Time: 4021
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "requestId": "5b55449e-bec3-4cff-b2d2-a8e6e4a3af24",
      "status": "Failed",
      "reasons": ["ENROLLMENT_NOT_FOUND"]
    }
    

    Returned Fields

    Name Type Description Restrictions
    customerReferenceId string A value submitted with the original request that is returned in the response. N/A
    requestId string The unique identifier that Mitek Systems has assigned to this transaction. UUID
    status string Status of the create operation.

    Successful

    Failed

    reasons string (array) Reasons for create failure. N/A
    item object Details of created item. N/A
  • itemId
  • string The unique identifier associated with this item. UUID
  • blockEnrollmentId
  • string Enrollment ID of an existing MiPass Enrollment used to create this item. UUID
  • createdAt
  • string The timestamp for when this item was created. RFC 3339 Timestamp

    Face Blocklist (MiPass) - Create Item Error Responses

    400 Response Example

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    
    {
      "message": "Customer reference id should not exceed 500 characters."
    }
    
    OR
    
    {
      "message": "Invalid FaceBlocklist Create Request Format - [... details ...]"
    }
    
    OR
    
    {
      "message": "Tenant has reached the gallery enrollment limit. Please reach out to customer support to increase the limit."
    }
    

    401 Response Example

    HTTP/1.1 401 Unauthorized
    Content-Type: application/json
    
    {
      "message": "Authorization has been denied for this request."
    }
    

    403 Forbidden

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    
    {
      "message": "You do not have the correct permissions to create a Face Blocklist item."
    }
    

    415 Response Example

    HTTP/1.1 415 Unsupported Media Type
    Content-Type: application/json
    
    {
      "message": "The request entity's media type '...' is not supported for this resource."
    }
    

    500 Response Example

    HTTP/1.1 500 Internal Server Error
    Content-Type: application/json
    
    {
      "message": "There was a technical problem processing your request. Please try again."
    }
    

    Standard HTTP REST-based response codes and messages are used to indicate success or failure for a request.

    Returned Fields

    Name Type Description Restrictions
    message String A message describing the error. None

    Create Item - Processing Reasons

    Processing Reasons

    Reason Description User Action
    ENROLLMENT_NOT_FOUND Referenced enrollment was not found. Ensure enrollment ID of referenced enrollment is valid.
    ENROLLMENT_NO_SELFIE Referenced enrollment does not contain a selfie image. Referenced enrollment must have a selfie image to add to the blocklist.
    USER_ORIGIN_UNAVAILABLE Referenced enrollment does not contain a country and/or subdivision. The enrollment is not eligible to be added to the blocklist.
    USER_ORIGIN_NOT_SUPPORTED Referenced enrollment has country and/or subdivision that is not supported by the Face Blocklist feature. The enrollment is not eligible to be added to the blocklist.

    Face Blocklist (MiPass) - Get Item

    The Get Item endpoint receives a single blocklist item ID and responds with all associated metadata for the item.

    Face Blocklist (MiPass) - Get Item Request

    Request Example

    GET /identity/faceblocklist/v3/items/b6db77ab-b5d4-47e9-b978-0c4277a7af03?customerReferenceId=e759256b-46c0-475a-97eb-fe1c0a18a3bc HTTP/1.1
    Authorization: Bearer $OAUTH_TOKEN
    

    Run in Postman

    URL

    GET /identity/faceblocklist/v3/items/{itemId}?customerReferenceId={customerReferenceId}

    Required Fields

    Name Type Description Restrictions
    itemId string Mitek provided unique identifier for an existing item. UUID

    Optional Fields

    Name Type Description Restrictions
    customerReferenceId string Customer provided identifier that will be returned within the body of the response. 500 characters limit

    Face Blocklist (MiPass) - Get Item Response

    Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Request-Id: 5b55449e-bec3-4cff-b2d2-a8e6e4a3af24
    Mitek-Server-Processing-Time: 4021
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "requestId": "5b55449e-bec3-4cff-b2d2-a8e6e4a3af24",
      "item": {
        "itemId": "b6db77ab-b5d4-47e9-b978-0c4277a7af03",
        "blockEnrollmentId": "274a9688-98f6-4b04-9ad9-48dca53522eb",
        "createdAt": "2022-02-13T17:23:44Z"
      }
    }
    

    Returned Fields

    Name Type Description Restrictions
    customerReferenceId string A value submitted with the original request that is returned in the response. N/A
    requestId string The unique identifier that Mitek Systems has assigned to this transaction. UUID
    item object Details of retrieved item. N/A
  • itemId
  • string The unique identifier associated with this item. UUID
  • blockEnrollmentId
  • string Enrollment ID of the MiPass Enrollment used to create this item. UUID
  • createdAt
  • string The timestamp for when this item was created. RFC 3339 Timestamp

    Face Blocklist (MiPass) - Get Item Error Responses

    400 Response Example

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    
    {
      "message": "Customer reference id should not exceed 500 characters."
    }
    
    OR
    
    {
      "message": "Invalid FaceBlocklist GetItem Request Format - [... details ...]"
    }
    

    401 Response Example

    HTTP/1.1 401 Unauthorized
    Content-Type: application/json
    
    {
      "message": "Authorization has been denied for this request."
    }
    

    403 Forbidden

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    
    {
      "message": "You do not have the correct permissions to retrieve a Face Blocklist item."
    }
    

    404 Not Found

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
      "message": "The given Item ID does not exist or is invalid."
    }
    

    415 Response Example

    HTTP/1.1 415 Unsupported Media Type
    Content-Type: application/json
    
    {
      "message": "The request entity's media type '...' is not supported for this resource."
    }
    

    500 Response Example

    HTTP/1.1 500 Internal Server Error
    Content-Type: application/json
    
    {
      "message": "There was a technical problem processing your request. Please try again."
    }
    

    Standard HTTP REST-based response codes and messages are used to indicate success or failure for a request.

    Returned Fields

    Name Type Description Restrictions
    message String A message describing the error. None

    Face Blocklist (MiPass) - Get Items

    The Get Items endpoint returns a list of existing blocklist metadata associated to the tenant, sorted by item ID. The response is limited to the first N records with subsequent pages called using cursor-based pagination.

    Face Blocklist (MiPass) - Get Items Request

    Request Example

    GET /identity/faceblocklist/v3/items?customerReferenceId=e759256b-46c0-475a-97eb-fe1c0a18a3bc&cursor=b6db77ab-b5d4-47e9-b978-0c4277a7af03&limit=50 HTTP/1.1
    Authorization: Bearer $OAUTH_TOKEN
    

    Run in Postman

    URL

    GET /identity/faceblocklist/v3/items?customerReferenceId={customerReferenceId}&cursor={cursor}&limit={limit}

    Optional Fields

    Name Type Description Restrictions
    customerReferenceId string Customer provided identifier that will be returned within the body of the response. 500 characters limit
    cursor string Paging field that specifies where retrieval should start from. This value comes from a Get Items response. UUID
    limit integer Paging field that specifies the number of items to return in the response. If limit is not specified, the result set is limited to the first 1MB of data. int32

    Face Blocklist (MiPass) - Get Items Response

    Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Request-Id: 5b55449e-bec3-4cff-b2d2-a8e6e4a3af24
    Mitek-Server-Processing-Time: 4021
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "requestId": "5b55449e-bec3-4cff-b2d2-a8e6e4a3af24",
      "items": [
        {
          "itemId": "b6db77ab-b5d4-47e9-b978-0c4277a7af03",
          "blockEnrollmentId": "09a1c618-7114-488f-b7a6-ca0a93a92a21",
          "createdAt": "2022-02-13T17:23:44Z"
        },
        {
          "itemId": "c45c8b05-fa95-4331-89fa-91f7732fdd21",
          "blockEnrollmentId": "de545132-2942-4df0-b89e-d87bd447ac60",
          "createdAt": "2022-03-23T13:23:12Z"
        },
        {
          "itemId": "087ddea4-a2df-4b0c-b8fb-f7865d827cbc",
          "blockEnrollmentId": "274a9688-98f6-4b04-9ad9-48dca53522eb",
          "createdAt": "2022-04-07T06:23:17Z"
        }
      ],
      "paging": {
        "cursor": "f168549f-c29b-4f09-bb69-973c09815640",
        "limit": 50
      }
    }
    

    Returned Fields

    Name Type Description Restrictions
    customerReferenceId string A value submitted with the original request that is returned in the response. N/A
    requestId string The unique identifier that Mitek Systems has assigned to this transaction. UUID
    items object (array) Array of items in blocklist. N/A
  • item
  • object Details of retrieved item. N/A
  • itemId
  • string The unique identifier associated with this item. UUID
  • blockEnrollmentId
  • string Enrollment ID of the MiPass Enrollment used to create this item. UUID
  • createdAt
  • string The timestamp for when this item was created. RFC 3339 Timestamp
    paging object Paging details to be used in the next retrieval. N/A
  • cursor
  • string Paging field that specifies where the next retrieval should start from. UUID
  • limit
  • integer Paging field that specifies the number of items returned in the response. int32

    Face Blocklist (MiPass) - Get Items Error Responses

    400 Response Example

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    
    {
      "message": "Customer reference id should not exceed 500 characters."
    }
    
    OR
    
    {
      "message": "Invalid FaceBlocklist GetItems Request Format - [... details ...]"
    }
    

    401 Response Example

    HTTP/1.1 401 Unauthorized
    Content-Type: application/json
    
    {
      "message": "Authorization has been denied for this request."
    }
    

    403 Forbidden

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    
    {
      "message": "You do not have the correct permissions to retrieve Face Blocklist items."
    }
    

    415 Response Example

    HTTP/1.1 415 Unsupported Media Type
    Content-Type: application/json
    
    {
      "message": "The request entity's media type '...' is not supported for this resource."
    }
    

    500 Response Example

    HTTP/1.1 500 Internal Server Error
    Content-Type: application/json
    
    {
      "message": "There was a technical problem processing your request. Please try again."
    }
    

    Standard HTTP REST-based response codes and messages are used to indicate success or failure for a request.

    Returned Fields

    Name Type Description Restrictions
    message String A message describing the error. None

    Face Blocklist (MiPass) - Delete Item

    The Delete Item endpoint enables the deletion of a single face image from the blocklist. Upon success the face image is immediately and permanently deleted, and no further MiPass enrollment transactions may be compared with that blocklist item.

    Face Blocklist (MiPass) - Delete Item Request

    Request Example

    DELETE /identity/faceblocklist/v3/items/89034a0e-5908-45bd-9627-6d133c8def3d?customerReferenceId=e759256b-46c0-475a-97eb-fe1c0a18a3bc HTTP/1.1
    Authorization: Bearer $OAUTH_TOKEN
    

    Run in Postman

    URL

    DELETE /identity/faceblocklist/v3/items/{itemId}?customerReferenceId={customerReferenceId}

    Required Fields

    Name Type Description Restrictions
    itemId string Mitek provided unique identifier for an existing item. UUID

    Optional Fields

    Name Type Description Restrictions
    customerReferenceId string Customer provided identifier that will be returned within the body of the response. 500 characters limit

    Face Blocklist (MiPass) - Delete Item Response

    Response Example

    HTTP/1.1 200 OK
    Content-Type: application/json
    Mitek-Request-Id: 5b55449e-bec3-4cff-b2d2-a8e6e4a3af24
    Mitek-Server-Processing-Time: 4021
    
    {
      "customerReferenceId": "e759256b-46c0-475a-97eb-fe1c0a18a3bc",
      "itemId": "89034a0e-5908-45bd-9627-6d133c8def3d",
      "requestId": "5b55449e-bec3-4cff-b2d2-a8e6e4a3af24"
    }
    

    Returned Fields

    Name Type Description Restrictions
    customerReferenceId string A value submitted with the original request that is returned in the response. N/A
    itemId string Unique identifier for the item that was deleted. UUID
    requestId string The unique identifier that Mitek Systems has assigned to this transaction. UUID

    Face Blocklist (MiPass) - Delete Item Error Responses

    400 Response Example

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    
    {
      "message": "Customer reference id should not exceed 500 characters."
    }
    
    OR
    
    {
      "message": "Invalid Biometric Delete Request Format - [... details ...]"
    }
    

    401 Response Example

    HTTP/1.1 401 Unauthorized
    Content-Type: application/json
    
    {
      "message": "Authorization has been denied for this request."
    }
    

    403 Forbidden

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    
    {
      "message": "You do not have the correct permissions to delete a Face Blocklist item."
    }
    

    404 Not Found

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
      "message": "The given Item ID does not exist or has already been deleted."
    }
    

    415 Response Example

    HTTP/1.1 415 Unsupported Media Type
    Content-Type: application/json
    
    {
      "message": "The request entity's media type '...' is not supported for this resource."
    }
    

    500 Response Example

    HTTP/1.1 500 Internal Server Error
    Content-Type: application/json
    
    {
      "message": "There was a technical problem processing your request. Please try again."
    }
    

    Standard HTTP REST-based response codes and messages are used to indicate success or failure for a request.

    Returned Fields

    Name Type Description Restrictions
    message String A message describing the error. None