Estimated reading time: 15-20 minutes
What will you learn from this guide?
This manual will teach you how to use the Life Verification system (Liveness) JAAKwith. Livenessyou will be able to confirm that the person interacted with your system is real and physically present, preventing attacks from suplanting his or her identity with photos, videos or masks. You will also learn how to monitor and analyse the results of these checks.
No prior technical knowledge required - just follow the steps.
Before Start - Checks list
Be sure to have these data ready:
- API Key (Token Bearer): Your valid authentication key provided by JAAK. It's essential to get our services.
- Video to analyze: A short video of the person's face, ideally in Base64.
- Basic knowledge of APIs REST: familiarity with how HTTP (POST, GET) applications are made and JSON responses are processed.
Contents Index
| Section | What will you learn |
|---|---|
| 1. What's Verification Liveness? | Understanding the purpose and scope of the product Liveness. |
| 2. Key Functionality | To know the main skills and benefits of the system. |
| 3. Integration with API | A guide to how to conduct life checks. |
| 4. Monitoring of Events | How to consult statistics and details of life monitoring processes. |
| 5. Common Problem Resolution | To identify and solve the most common mistakes. |
| 6. Do you need help? | When and how to contact our support team. |
| 7. Glossary of terms | Definitions of key terms related to Liveness. |
1. What's Verification Liveness?
The Life Verification system (Liveness) JAAK It's a biometric technology that determines if a person in an image or video is physically present and living in real time, rather than being a fake representation as a photo, preengraving video, or mask.
That process is crucial to:
- Prevent fraud: Prevent criminals from using stolen or false identities to gain access to services.
- Ensure authenticity: To confirm that the person performing an action is a living entity and not a suplantation.
- Compliance with regulations: To help companies comply with "Know Your Customer" regulations (KYC) and "Anti Money Willing" (AML).
2. Key functionality
Our product Liveness offers the following main capabilities:
- Advanced Life Detection: He analyzes videos to identify signs of real life and differentiate between a living person and an attack of suplanting (e.g. photos, videos, masks).
- Trust score (Score): It provides a numerical value (0-100) that indicates the probability that the person will be real.
- Best Fame Extraction (
bestFrame): It identifies and returns the best quality image of the video face, useful for later analysis or facial comparison. - Record of events: Keep a complete history of each life check, including processing time and result.
- Specific Error Codes: It offers detailed code to quickly diagnose problems such as non-processing videos or life-detection faults.
3. Integration with API
Interaction with the system Liveness It's made through calls to our API.
3.1 Life Verification Endpoint (POST / api / v1 / liveness / verify-and-bestframe)
That's the main endpoint to conduct a life check from a video.
- Method:
POST - Base URL:
https://api.sandbox.jaak.ai/api/v1/liveness/verify-and-bestframe
Required Headers:
Authorization:Bearer TU_API_KEY_AQUI(Your authentication key)Content-Type:application/json
Application body (JSON):
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
video | string | Yes | A video of his face, encoded in Base64 format. | "dmlkZW8gZW4gYmFzZTY0IGFxdWk=" |
Successful Response (HTTP Status: 200 OK):
The answer includes a eventId and requestId for monitoring, processTime (milliseconds), score (liveness score). bestFrame contains the best photo of the video encoded at Base64. state indicates if isRealPerson It's true or false and an message associated.
Example of response:
{
"eventId": "06722190-9de7-4d1b-a9ad-1559a5ab8cb9",
"score": 85.6,
"bestFrame": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJ...",
"state": {
"isRealPerson": true,
"message": ""
}
}
3.2 Important considerations for video
- Format: Make sure the video's properly encoded at Base64.
- Content: The video should have a clear and visible face for precise detection.
- Size: The size limit for the requested body is 10MB. Larger videos can cause timeouts.
4. Monitoring of Events
The details of life monitoring events for audit, performance analysis and problem solving are available.
4.1 Event Consultation (GET / api / v1 / livelihood / event)
This endpoint allows you to filter and get a pawned list of all events of survival.
- Method:
GET - Base URL:
https://api.sandbox.jaak.ai/api/v1/liveness/event
Required Headers:
Authorization:Bearer TU_API_KEY_AQUIcompany-id: Your Company ID
Consultation parameters (Query Params):
Can you use parameters as limit (number of elements per page, 1-100), page (page number), status (success, failed, processing, rejected), action (verify-liveness), min-process-time, max-process-time, min-created-at, max-created-at.
Example: GET /api/v1/liveness/event?limit=10&page=1&status=success
4.2 Special Event Consultation (PET / api / v1 / livelihood / event /: id)
To get complete details of an individual liveness event.
- Method:
GET - Base URL:
https://api.sandbox.jaak.ai/api/v1/liveness/event/:id(where:idIt's the unique event ID in Mongolia's ObjectID format)
The answer includes status of the event, processTime, flow processing (details of each step as horizon and liveness) and the results of the survival (score, is_real).
5. Common Problem Resolution
| Problem | Description | Resolution |
|---|---|---|
| Error 401 - Unauthorized | The API Key is absent, invalid or has expired, preventing access to endpoint. | 1. Check that the Leader Authorization be in the right format: Bearer TU_API_KEY_AQUI2. Make sure that you API 3. Contact support to renew your credentials. |
| Non-Processor Video | The system cannot analyze the video sent. That can be because the video is corrupt, the format isn't supported, or a clear face isn't detected. | 1. Check that the video is correctly encoded at Base64. 2. Be sure that the video contains a clear and well-lit human face. 3. Confirm that the video format is compatible. |
| Processing Timeout | The request is cancelled as processing goes beyond the time limit (usually 30-35 seconds). That happens if the video's very big or the server's under high load. | 1. Reduce video size (10MB). 2. Implement an exponential backoff reattempt logic. 3. If the problem persists, contact support. |
| Failed 400 - Invalid Parameters | Consultation parameters (limit, page, dates) have no proper format or range. | 1. To date, use the format ISO 8601 (YYYY-MM-DDTHH:mm:ssZ). 2. limit and pageMake sure they're valid whole numbers. |
| Unfound event (404) | When viewing a specific event (/api/v1/liveness/event/:id), the system indicates that the ID does not exist or belong to your company. | 1. Check that the event's ID is correct and have valid ObjectID format with 24 hexadecimal characters. 2. Confirm that the event was created under your company account. |
| Empty Response or No Events | When using /api/v1/liveness/event, the document list (docList) is empty even though you expected results. | 1. Check the applied filters (status, action, date range) to make sure they are not too restrictive. 2. Verify that the company-id in the headers is correct. 3. Try the query without filters. |
6. Do you need some help?
Do not hesitate to contact our support team (support) if:
- The problem-solving steps do not solve your drawback after several attempts.
- You get undocumented or unexpected mistakes.
- You need special settings or assistance with advanced integrations.
- Do you have persistent performance problems or data inconsistencies.
Information to have ready while contacting support:
- Special description of the problem
- Steps you followed before the mistake
Event IDorRequest IDof failed requests (if applicable)- Screenshots of an error (if possible)
- Browser and device used (if applicable to client problems)
- Approximate time after problem
- Filters used for consultations (if applicable)
7. Glossary of terms
| Term | Definition |
|---|---|
| Liveness | Life detection technology that checks if a person in an image or video is alive and present in real time. |
| Best Frame | The photo frame with best facial quality detected, returned at Base64. |
| Score | Numeric score (0-100) indicates the confidence of the algorithm in the detection of life. |
| Threshold | Minimum threshold to be exceeded by the score for a check to be considered valid. |
| API Key | Unique authentication key that identifies and authorizes your access to our API. |
| Base64 | Codification used to represent binary data (such as videos or images) in ASCII text format. |
| Event ID | Unique identifier generated for each liveness processing, useful for traceability and audit. |
| Process Time | Total time in milliseconds that takes an application to be processed by the system. |
| Flow | Sequence of steps and validations performed while processing a liveness event. |
| Object | Unique identifier with 24 hexadecimal characters used by the MongoDB database for event IDs. |
| Horizon | Programme component JAAK that refines videos before life detection. |
Reference links
- Documentation API - POST / api / v1 / survival / verify-and-bestframe
- Documentation API - GET / api / v1 / survival / event /: id
- Documentation API - GET / api / v1 / livelihood / event
- General documentation API of JAAK
- Authentication guide with API Kys