Multiple KYC Verification

The KYC Verification API allows you to verify multiple types of legal documents, including national identity cards, passports, and driving licenses

Base URL

sdk.faceki.com

Multiple KYC Verification End Point API

https://sdk.faceki.com/kycverify/api/kycverify/multi-kyc-verification

HTTP Method: POST

Authentication: Bearer Token

Parameters:

  • selfie_image (mandatory)

  • id_front_image (mandatory)

  • id_back_image (mandatory)

  • dl_front_image (optional)

  • dl_back_image (optional)

  • pp_front_image (optional)

  • pp_back_image (optional)

Description:

The KYC Verification API Multiple Document allows for the verification of multiple identity documents, including national ID, passport, and driving license. The API uses the HTTP POST method, and authentication is performed using a Bearer Token.

In order to perform verification, the API requires the following mandatory parameters: selfie_image, id_front_image, and id_back_image. These images should be in a supported format, and should meet the quality standards specified in the API documentation.

Optionally, the API also allows for the inclusion of images for the front and back of a driving license (dl_front_image and dl_back_image), as well as images for the front and back of a passport (pp_front_image and pp_back_image).

Upon successful verification, the API will return an application/json response containing the results of the verification process.

Note that additional fees may apply for the verification of multiple documents. Please refer to the pricing section of the API documentation for more information.

Steps for multiple KYC verification:

  1. Generate a Bearer Token by making a POST request to /getToken API endpoint.

  2. Set the Authorization type to "Bearer Token" in the request header using the token obtained in step 1.

  3. In the body of the request, add the following parameters:

  • Selfie_image (mandatory)

  • id_front_image (mandatory)

  • id_back_image (mandatory)

  • dl_front_image (optional)

  • dl_back_image (optional)

  • pp_front_image (optional)

  • pp_back_image (optional)

  1. Send the request to the API.

  2. The API will verify the identity documents and perform various security checks and face matching.

  3. The response will be in JSON format and will contain the verification results.

POST https://sdk.faceki.com/kycverify/api/kycverify/multi-kyc-verification

Headers

Request Body

{
  "data": {
    "requestId": "b4b205b3-236f-42c7-b2f8-59c4c4bc6a0d",
    "ppKycData": {
      "responseCode": 0,
      "data": {
        "verification": {
          "passed": true,
          "result": {
            "face": true,
            "notexpired": true
          }
        },
        "face": {
          "isIdentical": true,
          "confidence": 0.9999440002441407
        },
        "confidence": {
          "backSideId": 0.876,
          "issuerOrg_full": 0.901,
          "issuerOrg_iso2": 0.812,
          "issuerOrg_iso3": 0.765,
          "document": 0.654,
          "documentName": 0.876,
          "documentNumber": 0.901,
          "documentSide": 0.812,
          "documentType": 0.987,
          "face": 0.765,
          "face0": 0.654,
          "firstName": 0.876,
          "fullName": 0.901,
          "internalId": 0.812,
          "lastName": 0.987,
          "middleName": 0.765,
          "nationality_full": 0.654,
          "reverseId": 0.876,
          "signature": 0.901,
          "signature0": 0.812
        },
        "result": {
          "backSideId": "8886",
          "issuerOrg_full": "Random Country",
          "issuerOrg_iso2": "RC",
          "issuerOrg_iso3": "RCO",
          "document": "",
          "documentName": "Passport",
          "documentNumber": "987654321",
          "documentSide": "FRONT",
          "documentType": "P",
          "face": "",
          "face0": "",
          "firstName": "Jane",
          "fullName": "Jane Smith",
          "internalId": "789",
          "lastName": "Smith",
          "middleName": "Random Middle",
          "nationality_full": "Random Nationality",
          "reverseId": "8886",
          "signature": "",
          "signature0": ""
        },
        "authentication": {
          "breakdown": {
            "recapture_check": {
              "passed": true
            },
            "data_visibility": {
              "passed": true
            },
            "image_quality": {
              "passed": true
            },
            "feature_referencing": {
              "passed": true
            },
            "exif_check": {
              "passed": true
            },
            "publicity_check": {
              "passed": true
            },
            "text_analysis": {
              "passed": true
            },
            "biometric_analysis": {
              "passed": true
            },
            "security_feature_check": {
              "passed": true
            }
          },
          "warning": []
        },
        "aml": [],
        "responseID": "a4606f4097ec4898b8216d918bfc6cac",
        "images": {
          "doc_front_image": "https://example.com/doc_front.jpg",
          "doc_back_image": "",
          "selfie_image": "https://example.com/selfie.jpg"
        }
      }
    },
    "dlKycData": {
      "responseCode": 0,
      "data": {
        "verification": {
          "passed": false,
          "result": {
            "face": true,
            "notexpired": true
          }
        },
        "face": {
          "isIdentical": true,
          "confidence": 0.9999440002441407
        },
        "confidence": {
          "backSideId": 1,
          "issuerOrg_full": 1,
          "issuerOrg_iso2": 1,
          "issuerOrg_iso3": 1,
          "document": 0.9222802519798279,
          "documentName": 1,
          "documentNumber": 0.992,
          "documentSide": 1,
          "documentType": 1,
          "face": 0.9468276304459636,
          "face0": 190.1085205078125,
          "firstName": 0.959,
          "fullName": 0.959,
          "internalId": 1,
          "lastName": 0.968,
          "middleName": 0.985,
          "nationality_full": 0.991,
          "reverseId": 1,
          "signature": 0.2879074811935425,
          "signature0": 0.2879074811935425
        },
        "result": {
          "backSideId": "8886",
          "issuerOrg_full": "Bahrain",
          "issuerOrg_iso2": "BH",
          "issuerOrg_iso3": "BHR",
          "document": "",
          "documentName": "Driving License",
          "documentNumber": "970343809",
          "documentSide": "FRONT",
          "documentType": "D",
          "face": "",
          "face0": "",
          "firstName": "John",
          "fullName": "John Doe",
          "internalId": "437",
          "lastName": "Doe",
          "middleName": "Random Middle",
          "nationality_full": "Random Nationality",
          "reverseId": "8886",
          "signature": "",
          "signature0": ""
        },
        "authentication": {
          "breakdown": {
            "recapture_check": {
              "passed": true
            },
            "data_visibility": {
              "passed": true
            },
            "image_quality": {
              "passed": true
            },
            "feature_referencing": {
              "passed": true
            },
            "exif_check": {
              "passed": true
            },
            "publicity_check": {
              "passed": true
            },
            "text_analysis": {
              "passed": true
            },
            "biometric_analysis": {
              "passed": true
            },
            "security_feature_check": {
              "passed": true
            }
          },
          "warning": [
            "Invalid Document Type"
          ]
        },
        "aml": [],
        "responseID": "e472cedeffc148789bbc9c9be3535477",
        "images": {
          "doc_front_image": "https://example.com/doc_front.jpg",
          "doc_back_image": "https://example.com/doc_back.jpg",
          "selfie_image": "https://example.com/selfie.jpg"
        }
      }
    },
    "idKycData": {
      "responseCode": 0,
      "data": {
        "verification": {
          "passed": true,
          "result": {
            "face": true,
            "notexpired": true
          }
        },
        "face": {
          "isIdentical": true,
          "confidence": 0.9999440002441407
        },
        "confidence": {
          "backSideId": 1,
          "issuerOrg_full": 1,
          "issuerOrg_iso2": 1,
          "issuerOrg_iso3": 1,
          "document": 0.9222802519798279,
          "documentName": 1,
          "documentNumber": 0.992,
          "documentSide": 1,
          "documentType": 1,
          "face": 0.9468276304459636,
          "face0": 190.1085205078125,
          "firstName": 0.959,
          "fullName": 0.959,
          "internalId": 1,
          "lastName": 0.968,
          "middleName": 0.985,
          "nationality_full": 0.991,
          "reverseId": 1,
          "signature": 0.2879074811935425,
          "signature0": 0.2879074811935425
        },
        "result": {
          "backSideId": "8886",
          "issuerOrg_full": "Bahrain",
          "issuerOrg_iso2": "BH",
          "issuerOrg_iso3": "BHR",
          "document": "",
          "documentName": "Identity Card",
          "documentNumber": "970343809",
          "documentSide": "FRONT",
          "documentType": "I",
          "face": "",
          "face0": "",
          "firstName": "Alice",
          "fullName": "Alice Johnson",
          "internalId": "437",
          "lastName": "Johnson",
          "middleName": "Random Middle",
          "nationality_full": "Random Nationality",
          "reverseId": "8886",
          "signature": "",
          "signature0": ""
        },
        "authentication": {
          "breakdown": {
            "recapture_check": {
              "passed": true
            },
            "data_visibility": {
              "passed": true
            },
            "image_quality": {
              "passed": true
            },
            "feature_referencing": {
              "passed": true
            },
            "exif_check": {
              "passed": true
            },
            "publicity_check": {
              "passed": true
            },
            "text_analysis": {
              "passed": true
            },
            "biometric_analysis": {
              "passed": true
            },
            "security_feature_check": {
              "passed": true
            }
          },
          "warning": []
        },
        "aml": [],
        "responseID": "1b4c7a3a316e43c38073ea3708ccf18b",
        "images": {
          "doc_front_image": "https://example.com/doc_front.jpg",
          "doc_back_image": "https://example.com/doc_back.jpg",
          "selfie_image": "https://example.com/selfie.jpg"
        }
      }
    }
  },
  "responseCode": 0
}

You must make all your requests to the API over HTTPS and TLS 1.2, with Server Name Indication enabled. Any requests made over HTTP will fail.

Responses return JSON with a consistent structure, except downloads.

// Content-Type: application/json

Error Code

    INTERNAL_SYSTEM_ERROR = 1000,
    SUCCESS = 0,
    NO_RULES_FOR_COMPANY = 7001,
    NEED_REQUIRED_IMAGES = 8001,
    DOCUMENT_VERIFY_FAILED = 8002,
    PLEASE_TRY_AGAIN = 8003,
    FACE_CROPPED = 8004,
    FACE_TOO_CLOSED = 8005,
    FACE_NOT_FOUND = 8006,
    FACE_CLOSED_TO_BORDER = 8007,
    FACE_TOO_SMALL = 8008,
    POOR_LIGHT = 8009,
    ID_VERIFY_FAIL = 8010,
    DL_VERIFY_FAIL = 8011,
    PASSPORT_VERIFY_FAIL = 8012,
    DATA_NOT_FOUND = 8013,
    INVALID_VERIFICATION_LINK = 8014,
    VERIFICATION_LINK_EXPIRED = 8015,
    FAIL_TO_GENERATE_LINK = 8016,
    KYC_VERIFICATION_LIMIT_REACHED = 8017,
    SELFIE_MULTIPLE_FACES = 8018,
    FACE_BLURR = 8019

Last updated