curl -X POST \
"https://verilock.io/api/v1/sessions/ses_a1b2c3d4-e5f6-7890-abcd-ef1234567890/selfie" \
-H "Authorization: Bearer qi_live_your_api_key_here" \
-H "Accept: application/json" \
-F "image=@/path/to/selfie.jpg"
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://verilock.io/api/v1/sessions/ses_a1b2c3d4-.../selfie',
[
'headers' => [
'Authorization' => 'Bearer qi_live_your_api_key_here',
'Accept' => 'application/json',
],
'multipart' => [
[
'name' => 'image',
'contents' => fopen('/path/to/selfie.jpg', 'r'),
],
],
]
);
{
"id": "sel_d4e5f6a7-b8c9-0123-def4-567890abcdef",
"session_id": "ses_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "uploaded",
"file": "selfie.jpg",
"created_at": "2026-03-15T10:37:45Z"
}
KYC Verification
Upload Selfie
Upload a selfie image of the applicant for face matching and liveness verification.
POST
/
sessions
/
{id}
/
selfie
curl -X POST \
"https://verilock.io/api/v1/sessions/ses_a1b2c3d4-e5f6-7890-abcd-ef1234567890/selfie" \
-H "Authorization: Bearer qi_live_your_api_key_here" \
-H "Accept: application/json" \
-F "image=@/path/to/selfie.jpg"
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://verilock.io/api/v1/sessions/ses_a1b2c3d4-.../selfie',
[
'headers' => [
'Authorization' => 'Bearer qi_live_your_api_key_here',
'Accept' => 'application/json',
],
'multipart' => [
[
'name' => 'image',
'contents' => fopen('/path/to/selfie.jpg', 'r'),
],
],
]
);
{
"id": "sel_d4e5f6a7-b8c9-0123-def4-567890abcdef",
"session_id": "ses_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "uploaded",
"file": "selfie.jpg",
"created_at": "2026-03-15T10:37:45Z"
}
Multipart form data — This endpoint accepts
multipart/form-data. The selfie should be a clear, well-lit photo of the applicant’s face.Path Parameters
The session ID
Form Parameters
Selfie image file (JPEG or PNG; max 10 MB)
curl -X POST \
"https://verilock.io/api/v1/sessions/ses_a1b2c3d4-e5f6-7890-abcd-ef1234567890/selfie" \
-H "Authorization: Bearer qi_live_your_api_key_here" \
-H "Accept: application/json" \
-F "image=@/path/to/selfie.jpg"
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://verilock.io/api/v1/sessions/ses_a1b2c3d4-.../selfie',
[
'headers' => [
'Authorization' => 'Bearer qi_live_your_api_key_here',
'Accept' => 'application/json',
],
'multipart' => [
[
'name' => 'image',
'contents' => fopen('/path/to/selfie.jpg', 'r'),
],
],
]
);
{
"id": "sel_d4e5f6a7-b8c9-0123-def4-567890abcdef",
"session_id": "ses_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "uploaded",
"file": "selfie.jpg",
"created_at": "2026-03-15T10:37:45Z"
}
⌘I

