ID Verification

Get Started with ID Verification

To perform the Actions ID Validation and Return Personal Info you must set "job_type": 5

The ID Verification endpoint always uses Job Type 5. Any other “job_types” sent to the ID Verification endpoint will be rejected. You can learn more about Job Types here.

Requests to the ID API can be made using our SmileIdentity Core Libraries available in Java, Ruby, and Javascript. If your server language does not match any of these, then you may utilize an HTTP POST request instead, as outlined below.

post
Verify an ID Number

https://testapi.smileidentity.com/v1/id_verification
This endpoint allows you to verify an ID Number and retrieve a person's personal information
Request
Response
Request
Body Parameters
partner_id
required
string
A unique number assigned to your account. can be found here with your API key https://test-smileid.herokuapp.com/api-key
sec_key
required
string
The outgoing signature to authenticate the request from you to Smile Identity. You can find information on how to calculate this parameter here: https://docs.smileidentity.com/further-reading/api-access
timestamp
required
number
The outgoing signature was calculated using a timestamp. That timestamp is included in the request body here.
country
required
string
https://docs.smileidentity.com /general/supported-id-types
id_type
required
string
https://docs.smileidentity.com /general/supported-id-types
id_number
required
string
https://docs.smileidentity.com/general/supported-id-types/id-number-regex-examples
first_name
required
string
First Name
middle_name
required
string
Other Name
dob
optional
string
Date of Birth
phone_number
optional
string
Phone Number
partner_params
required
object
partner_params is of type JSON that contains the JSON object below. See: https://docs.smileidentity.com/ further-reading/partner-parameters
{ job_type
required
integer
The type of job you as the partner wants to perform. In this case (as seen above) this will be set to 5
job_id
required
string
A value generated on your side so you can track jobs on your end. This value can be any string. It can follow your own identifier convention
user_id }
required
string
A value generated on your side so you can track the users from your end. This value can be any string. It can follow your own identifier convention
Response
200: OK
{
"JSONVersion":"1.0.0",
"SmileJobID":"0000000001",
"PartnerParams":{
"user_id":"T6yzdOezucdsPrY0QG9LYNDGOrC",
"job_id":"FS1kd1dd15JUpd87gTBDapvFxv0",
"job_type":5
},
"ResultType":"ID Verification",
"ResultText":"ID Number Validated",
"ResultCode":"1012",
"IsFinalResult":"true",
"Actions":{
"Verify_ID_Number":"Verified",
"Return_Personal_Info":"Returned"
},
"Country":"NG",
"IDType":"PASSPORT",
"IDNumber":"A0987654",
"ExpirationDate":"2017-10-28",
"FullName":"John Doe",
"DOB":"1980-08-21",
"Photo":<BASE64 STRING>,
"sec_key":<SEC KEY STRING>,
"timestamp":1570698930193
}

Possible Results for Actions used in ID API

Action JSON key name

JSON Possible Values

Verify_ID_Number

Verified, Not Verified, Issuer Unavailable, N/A

Return_Personal_Info

Returned, Not Returned, N/A

Example JSON Body

{
"partner_id": "023",
"timestamp": 1556307484476,
"sec_key": "KeRTJu67ENWM8K/IFPxSxR1wswT4vkBFA+PY50OwOpGC1W4je/2FAVGTXl1whya4ZBz3OhH/uVhT0FM8ZuL/Xmc1m4bRus/oSQHvYHpu4R4tGQikUdRCHu5Vm/kCvLCbLX3Ds3vsvVrSpgL0znBCO2RjZgF3KfIsFr5c+kNheAY=|5c3e787bf807910e1b333d372ea57f85a28aa5a160ff60af562ed4815f503717",
"country": "NG",
"id_type": "PASSPORT",
"id_number": "A00000000",
"first_name": "Jane",
"middle_name": "Anne",
"last_name": "Doe",
"phone_number": "1234567890",
"dob": "1980-05-04",
"partner_params": {
"job_id": "3ba0e15e-1a56-4799-a94d-b0e084f50256",
"user_id": "4cb0f26-2b567-5800-b05e-c0f095g6036",
"job_type": 5
}
}

For more information please see: ID Best Practices