In addition to synchronous calls — where the customer initiates a call and is immediately redirected to the platform test and then to an available operator — LiveID+ also supports asynchronous calls.
In this mode, the customer submits their information to request a video identification, which an operator will handle at a later time (e.g., through a scheduled appointment). This is the recommended integration method as it provides better control over the call flow.
The asynchronous call flow uses two methods:
pushAsyncCall: Queues a video identification call in the system without immediately routing it to an operator.service-asyncall: Retrieves the queued call and starts the actual video identification session.
1. Your system calls POST /api/service/pushAsyncCall
→ Returns a unique ID (uId)
2. Later, the customer opens GET /app/service-asyncall?uId=<uId>
→ Redirects to compatibility test, then to an available operator
3. Your system can monitor the status via GET /api/v2/getAsyncRequestInfo?uId=<uId>
→ Returns all calls linked to the async request with their statusesEndpoint: POST /api/service/pushAsyncCall
Request Body:
| Parameter | Type | Required | Description |
|---|---|---|---|
b64Data | string (Base64) | Yes | UTF-8 Base64 encoded JSON with call configuration (see below) |
method | string | No | The method used to start the call: "start" (preferred) or "live". Default: "live" |
expire | string (date) | No | Expiration date for the call. After this date, the call is removed from the system. |
The b64Data JSON structure (before Base64 encoding):
The object must follow the same structure used by the service-start API:
{
"id_organization": "ORG_CODE",
"id_process": "process-uuid",
"json": {
"lang": "en",
"liveid_email": "john.doe@example.com",
"liveid_name": "John",
"liveid_surname": "Doe",
"liveid_servercallback": {
"url": "https://your-system.com/callback",
"otherParams": {
"custom_reference": "REF-12345"
}
},
"data": {
"fiscal_code": {
"datatype": "text",
"label": "Fiscal Code",
"value": "RSSMRA85M01H501Z"
}
}
}
}Note: Given that all data is already encoded in b64Data, the json parameter should not be Base64 encoded separately when using method=start — it is passed directly as a JSON object.
Success Response:
{
"success": true,
"uId": "unique-async-call-id"
}The returned uId is used to initiate the call later and to track its status.
Endpoint: GET /app/service-asyncall
This endpoint retrieves the queued call and redirects the customer to the video identification platform. It can be provided as a direct link to the customer (e.g., in a confirmation email).
| Parameter | Type | Required | Description |
|---|---|---|---|
uId | string | Yes | Unique ID returned by pushAsyncCall |
noDel | string | No | If "1", the async call is not removed after the link is used. Default: "0" (call is removed after page load). |
id_operator2Call | string (UUID) | No | Route call to a specific operator by ID |
email_operator2Call | string (email) | No | Route call to a specific operator by email |
extId_operator2Call | string | No | Route call to a specific operator by external ID |
Note: id_operator2Call, email_operator2Call, and extId_operator2Call are mutually exclusive.
Example link:
https://liveid.namirialtsp.com/app/service-asyncall?uId=abc123-def456Endpoint: GET /api/v2/getAsyncRequestInfo
Authentication: API Key (header apikey)
| Parameter | Type | Required | Description |
|---|---|---|---|
uId | string | Yes | Unique ID returned by pushAsyncCall |
Success Response:
{
"success": true,
"create_date": "2026-01-15T10:00:00.000Z",
"expire_date": "2026-01-20T23:59:59.000Z",
"customer_name": "John",
"customer_surname": "Doe",
"customer_email": "john.doe@example.com",
"calls": [
{
"start_date": "2026-01-15T14:30:00.000Z",
"answer_date": "2026-01-15T14:32:00.000Z",
"end_date": "2026-01-15T14:45:00.000Z",
"id": "conference-uuid",
"status": "N",
"call_status": "ACTIVE"
}
]
}The call_status field can be: WAITING, ACTIVE, EXPIRED, or CANCELLED.
Endpoint: POST /api/service/getCallInfoUID
| Parameter | Type | Required | Description |
|---|---|---|---|
uId | string | Yes | Unique ID returned by pushAsyncCall |
This returns details about the most recent call linked to the async UID. For all calls, use getAsyncRequestInfo instead.
Endpoint: DELETE /api/service/delAsyncCall
| Parameter | Type | Required | Description |
|---|---|---|---|
uId | string | Yes | Unique ID of the call to delete |
Success Response:
{
"success": true
}