post https://api.sumsub.com/resources/applicants//ekyc/submit
Overview
Use this method to initiate a Non-Doc Verification based on the provided applicant data.
Request examples
The following are request examples sorted by the Alpha-3 country code.
curl -X POST \
  'https://api.sumsub.com/resources/applicants/631f268442d8290001e1eee9/ekyc/submit' \
  -H 'Content-Type: application/json' \
  -d '{
      "idDoc": {
         "country": "ARG",
         "idDocType": "ID_CARD",
         "number": <dni>,
         "gender": <M/F>
      }
   }'
curl -X POST \
  'https://api.sumsub.com/resources/applicants/631f268442d8290001e1eee9/ekyc/submit' \
  -H 'Content-Type: application/json' \
  -d '{
      "info": {
         "country": "BRA", 
         "tin": <cpf>
      }
   }'
curl -X POST \
  'https://api.sumsub.com/resources/applicants/631f268442d8290001e1eee9/ekyc/submit' \
  -H 'Content-Type: application/json' \
  -d '{
        "idDoc": {
            "country": "DNK", 
            "idDocType": "OTHER",
        }
    }'
curl -X POST \
  'https://api.sumsub.com/resources/applicants/67f5207a4f0eef791bd7341e/ekyc/submit' \
  -H 'Content-Type: application/json' \
  -d '{
      "idDoc": {
         "country": "FRA", 
         "idDocType": "OTHER"
      }
   }'
curl -X POST \
  'https://api.sumsub.com/resources/applicants/631f268442d8290001e1eee9/ekyc/submit' \
  -H 'Content-Type: application/json' \
  -d '{
      "idDoc": {
         "country": "GBR", 
         "idDocType": "OTHER"
      }
   }'
curl -X POST \ 
  'https://api.sumsub.com/resources/applicants/631f268442d8290001e1eee9/ekyc/submit' \ 
  -H 'Content-Type: application/json' \ 
  -d '{ 
      "idDoc": { 
         "country": "GBR", 
         "idDocType": "OTHER", 
         "number": <Share Code>, // E.g. "BZ1 T8C 5NC" 
         "dob": <YYYY-MM-DD> 
      } 
   }'
curl -X POST \
  'https://api.sumsub.com/resources/applicants/631f268442d8290001e1eee9/ekyc/submit' \
  -H 'Content-Type: application/json' \
  -d '{
      "info": {
         "country": "IDN",
         "tin": <NIK>,
         "firstName": <Full name>,
         "dob": <YYYY-MM-DD> 
      }
   }'
// Verification basis: Digilocker
curl -X POST \
  'https://api.sumsub.com/resources/applicants/631f268442d8290001e1eee9/ekyc/submit' \
  -H 'Content-Type: application/json' \
  -d '{
      "idDoc": {
         "country": "IND", 
         "idDocType": "OTHER"
      }
   }'
// Verification basis: NID
curl -X POST \
  'https://api.sumsub.com/resources/applicants/631f268442d8290001e1eee9/ekyc/submit' \
  -H 'Content-Type: application/json' \
  -d '{
      "idDoc": {
         "country": "KEN", 
         "idDocType": "ID_CARD", 
         "number": <National ID>
      }
   }'
  
// Verification basis: Passport
curl -X POST \
  'https://api.sumsub.com/resources/applicants/631f268442d8290001e1eee9/ekyc/submit' \
  -H 'Content-Type: application/json' \
  -d '{
      "idDoc": {
         "country": "KEN", 
         "idDocType": "PASSPORT" 
         "number": <Passport number>
      }
   }'
curl -X POST \
  'https://api.sumsub.com/resources/applicants/631f268442d8290001e1eee9/ekyc/submit' \
  -H 'Content-Type: application/json' \
  -d '{
      "idDoc": {
         "country": "MEX",
         "idDocType": "ID_CARD",
         "number": <CURP>
      }
   }'
// Verification basis: BVN
curl -X POST \
  'https://api.sumsub.com/resources/applicants/631f268442d8290001e1eee9/ekyc/submit' \
  -H 'Content-Type: application/json' \
  -d '{
      "info": {
         "country": "NGA", 
         "tin": <bvn>
      }
   }'
  
// Verification basis: NIN
curl -X POST \
  'https://api.sumsub.com/resources/applicants/631f268442d8290001e1eee9/ekyc/submit' \
  -H 'Content-Type: application/json' \
  -d '{
      "idDoc": {
         "country": "NGA", 
         "idDocType": "ID_CARD", 
         "number": <NIN>
      }
   }'
// Verification basis: Driver’s License
curl -X POST \
  'https://api.sumsub.com/resources/applicants/631f268442d8290001e1eee9/ekyc/submit' \
  -H 'Content-Type: application/json' \
  -d '{
      "idDoc": {
         "country": "NGA", 
         "idDocType": "DRIVERS" 
         "number": <Driver License number>
      }
   }'
curl -X POST \
  'https://api.sumsub.com/resources/applicants/631f268442d8290001e1eee9/ekyc/submit' \
  -H 'Content-Type: application/json' \
  -d '{
      "idDoc": {
         "country": "NLD",
         "idDocType": "OTHER",
         "firstName": "John",
         "lastName": "Doe"
      }
   }'
curl -X POST \
  'https://api.sumsub.com/resources/applicants/631f268442d8290001e1eee9/ekyc/submit' \
  -H 'Content-Type: application/json' \
  -d '{
        "idDoc": {
            "country": "NOR", 
            "idDocType": "OTHER",
        }
    }'
curl -X POST \
  'https://api.sumsub.com/resources/applicants/631f268442d8290001e1eee9/ekyc/submit' \
  -H 'Content-Type: application/json' \
  -d '{
      "idDoc": {
         "country": "SAU",
         "idDocType": "OTHER",
         "number": <National ID number>,
         "additionalNumber": <Proof number>
      }
   }'
// Verification basis: Passport or ID card number 
curl -X POST \
  'https://api.sumsub.com/resources/applicants/631f268442d8290001e1eee9/ekyc/submit' \
  -H 'Content-Type: application/json' \
  -d '{ 
      "idDoc": {
      "country": "UZB",
      "idDocType": "ID_CARD",
      "number": <ID or Passport number>, // E.g. AA1234567
      "firstName": <First Name>,
      "middleName": <Middle Name>, // Optional.
      "lastName": <Last Name>,
      "dob": <YYYY-MM-DD>
      } 
   }'
// Verification basis: PINFL (Personal Identification Number of an Individual)
curl -X POST \
  'https://api.sumsub.com/resources/applicants/631f268442d8290001e1eee9/ekyc/submit' \
  -H 'Content-Type: application/json' \
  -d '{ 
      "info": {
      "country": "UZB",
      "tin": <PINFL>, // E.g. 12345678901234
      "firstName": <First Name>,
      "middleName": <Middle Name>, // Optional.
      "lastName": <Last Name>,
      "dob": <YYYY-MM-DD>
      } 
   }'
curl -X POST \
  'https://api.sumsub.com/resources/applicants/631f268442d8290001e1eee9/ekyc/submit' \
  -H 'Content-Type: application/json' \
  -d '{
      "idDoc": {
         "country": "VNM", 
         "idDocType": "DRIVERS" 
         "number": <Driver License number>,
         "dob": <YYYY-MM-DD>
      }
   }'
curl -X POST \
  'https://api.sumsub.com/resources/applicants/631f268442d8290001e1eee9/ekyc/submit' \
  -H 'Content-Type: application/json' \
  -d '{
      "idDoc": {
         "country": "ZAF", 
         "idDocType": "ID_CARD" 
         "number": <National ID>
      }
   }'
Response explained
The following table describes the response structure.
| Name | Type | Optional | Description | 
|---|---|---|---|
| status | String | No | Verification status: 
 | 
| confirmationType | String | Yes | Confirmation type: 
 | 
| confirmationId | String | Yes | Confirmation ID. | 
| confirmationStatus | String | Yes | Confirmation flow status. | 
| otpConfirmation | Object | Yes | OTP confirmation details if confirmationTypeisotp. | 
| oauthConfirmation | Object | Yes | oAuth confirmation details if confirmationTypeisoAuth. | 
Note
Access to the applicant data from some providers needs to be confirmed by the applicant. In that case,
statuswill be set toconfirmationRequiredandconfirmationStatustocreated. The confirmation type will be provided in theconfirmationTypefield. For details on how to confirm submission, see this article.
otpConfirmation attributes
otpConfirmation attributes| Name | Type | Description | 
|---|---|---|
| codeLength | Number | The OTP code length. | 
oAuthConfirmation attributes
oAuthConfirmation attributes| Name | Type | Description | 
|---|---|---|
| url | String | An external auth URL where applicant should be directed to pass authentication. | 
| redirectUrl | String | The final URL address where the auth page will be redirected after the applicant finishes the journey. | 
Mind the following:
- Applicants should be redirected to the
urlwhere they can authenticate the external source. At the end of the auth journey, applicants will be redirected to thecompleteUrlconsisting ofredirectUrlenriched withqueryParamswith the auth result.- If
urlwas opened in the child window,postMessage: {type: "ekycOauth", completeUrl: "<completeUrl>"}will be sent.- Several redirects can be performed during the auth flow. To detect the completion of the journey, redirect to the
redirectUrlor subscribe topostMessages.- To complete the Non-Doc oAuth flow, pass the final full url as
completeUrlto confirm the applicant data.
Response examples
Provided data is valid and no confirmation is required
{
  "status" : "completed"
}
Provided data is valid and OTP confirmation is required
{
    "status": "confirmationRequired",
    "confirmationId": "bzaPxnCpyxEqs0sJKASXxZIk",
    "confirmationStatus": "created",
    "confirmationType": "otp",
    "otpConfirmation": {
        "codeLength": "6",
    }
}
Provided data is valid and authentication through external services is required
{
  "status" : "confirmationRequired",
  "confirmationType" : "oAuth",
  "confirmationId" : "wXhl47RZeJfoOSTmUFT9j5On",
  "confirmationStatus" : "created",
  "oauthConfirmation" : {
    "url" : "https://ext.auth.service.com/oidc/authorize?param1=value1¶m2=value2",
    "redirectUrl" : "https://api.sumsub.com/resources/ekyc/redirect"
  }
}