ID Verification via API
Checkin.com offers an API that can be used to verify documents without implementing the SDK. This means you are responsible for collecting all documents and sending them to the Checkin.com API to be scanned.
Applications are created one at a time (one for each request) and the result from the application can either be fetched via another endpoint of the API, or be received via webhooks.
The API currently supports four different services
- Data Extraction: Partner collects IDs and sends them via API.
- FaceMatching: Partner collects a selfie of the user to be matched with the portrait image from the document. The portrait can either be provided as part of a document (if document verification service is used), or sent separately.
- AML: Partner sends first and last name, together with date of birth to trigger a PEP/Sanction lookup.
- POA: The partner collects the proof-of-address document to verify and compare it with the provided user data.
These services can be used one-by-one or in combination with one another.
Creating an application
Applications are created via a POST
call and each successful POST
results in one created application in your backoffice.
Authentication is done with your API-key, which is available in your backoffice.
In the JSON payload, you specify which service(s) to use.
The endpoint is available at https://[yourEnv].getid.ee/api/v1/application
Example payload
{
"metadata": {
"externalId": "dse31-sla05-wte93", // your internal unique identifier. Can be used to Fetch data.
"labels": { //A set of arbitrary key-value pairs. The maximum amount of keys is 30.
"property1": "string",
"property2": "string"
}
},
"verificationTypes":[ //The list of checks requested
"data-extraction"
],
"application":{
"fields":[ //Profile data if need to compare with ID Document
{
"contentType":"string",
"category":"First name",
"content":"Willeke Liselotte"
},
{
"contentType":"string",
"category":"Last name",
"content":"DE Bruijn"
},
{
"contentType":"string",
"category":"Date of birth",
"content":"1965-03-10"
}
],
"documents":[
{
"issuingCountry":"ag", // Document country
"documentType":"id-card", // "passport", "id-card", "driving-licence", "residence-permit", "voter-card", "tax-card", "address-card", "domestic-passport", "unknown"
"files":[
{
"kind": "front", // passport - single-page / "id-card", "driving-licence", "residence-permit" - front and back
"mediaType": "image/jpeg", //Both JPEG and PNG images are acceptable. // for PDF "image/pdf"
"uri": "https://[yourEnv].getid.ee/files/proxy/images/17f70.....jpeg?t=168....442" //An image encoded to a base64 string. // for PDF files "data:application/pdf;base64,dasdSWDA...."
},
{
"kind": "back", // is the back side of a two-sided document
"mediaType": "image/jpeg",
"uri": "https://[yourEnv].getid.ee/files/proxy/images/fb133......jpeg?t=1683796112029&s=4fb...b247"
}
]
}
]
}
}
Response
A successful POST
will result in a 200
together with the ID of the application. This ID is used to retrieve the final results.
{
"id": "66bded8f69af229bceb654d5",
"responseCode": 200
}
If your API-key is wrong, you will get 401
back.
If something is wrong with the payload, you will get 400
back.
Retrieving the results
See Verification Results for details on how to fetch the results.
Updated 6 days ago