PH Philsys Tier 1 (QR Scan)
curl --request POST \
--url https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/philsys-check-tier-1 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"qr_data": "{your scanned PhilSys QR value}",
"face_liveness_session_id": "{liveness session id retrieved from the IDmeta Liveness SDK}",
"trustFlowId": 0,
"trustValidationId": "{your_created_trust_validation_id}"
}
'import requests
url = "https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/philsys-check-tier-1"
payload = {
"qr_data": "{your scanned PhilSys QR value}",
"face_liveness_session_id": "{liveness session id retrieved from the IDmeta Liveness SDK}",
"trustFlowId": 0,
"trustValidationId": "{your_created_trust_validation_id}"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
qr_data: '{your scanned PhilSys QR value}',
face_liveness_session_id: '{liveness session id retrieved from the IDmeta Liveness SDK}',
trustFlowId: 0,
trustValidationId: '{your_created_trust_validation_id}'
})
};
fetch('https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/philsys-check-tier-1', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/philsys-check-tier-1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'qr_data' => '{your scanned PhilSys QR value}',
'face_liveness_session_id' => '{liveness session id retrieved from the IDmeta Liveness SDK}',
'trustFlowId' => 0,
'trustValidationId' => '{your_created_trust_validation_id}'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/philsys-check-tier-1"
payload := strings.NewReader("{\n \"qr_data\": \"{your scanned PhilSys QR value}\",\n \"face_liveness_session_id\": \"{liveness session id retrieved from the IDmeta Liveness SDK}\",\n \"trustFlowId\": 0,\n \"trustValidationId\": \"{your_created_trust_validation_id}\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/philsys-check-tier-1")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"qr_data\": \"{your scanned PhilSys QR value}\",\n \"face_liveness_session_id\": \"{liveness session id retrieved from the IDmeta Liveness SDK}\",\n \"trustFlowId\": 0,\n \"trustValidationId\": \"{your_created_trust_validation_id}\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/philsys-check-tier-1")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"qr_data\": \"{your scanned PhilSys QR value}\",\n \"face_liveness_session_id\": \"{liveness session id retrieved from the IDmeta Liveness SDK}\",\n \"trustFlowId\": 0,\n \"trustValidationId\": \"{your_created_trust_validation_id}\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "PhilSys Tier 1 Check processed successfully",
"data": {
"isValid": true,
"fullName": "JUAN DELA CRUZ"
},
"verificationStatus": "VERIFIED",
"verificationStatusCode": 3,
"trustFlowId": 0,
"trustValidationId": "9af6e3d7-09c8-489e-806e-d1e67a45a3e3",
"verificationType": "philsys_check_tier_1",
"metadata": null
}Philsys Check Tier 1
PH Philsys Tier 1 (QR Scan)
Verify Philippine PhilSys records using QR scan data. A successful combination of PhilSys QR data and face will return the full name of the person.
POST
/
api
/
v3
/
verifications
/
philippines
/
philsys-check-tier-1
PH Philsys Tier 1 (QR Scan)
curl --request POST \
--url https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/philsys-check-tier-1 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"qr_data": "{your scanned PhilSys QR value}",
"face_liveness_session_id": "{liveness session id retrieved from the IDmeta Liveness SDK}",
"trustFlowId": 0,
"trustValidationId": "{your_created_trust_validation_id}"
}
'import requests
url = "https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/philsys-check-tier-1"
payload = {
"qr_data": "{your scanned PhilSys QR value}",
"face_liveness_session_id": "{liveness session id retrieved from the IDmeta Liveness SDK}",
"trustFlowId": 0,
"trustValidationId": "{your_created_trust_validation_id}"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
qr_data: '{your scanned PhilSys QR value}',
face_liveness_session_id: '{liveness session id retrieved from the IDmeta Liveness SDK}',
trustFlowId: 0,
trustValidationId: '{your_created_trust_validation_id}'
})
};
fetch('https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/philsys-check-tier-1', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/philsys-check-tier-1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'qr_data' => '{your scanned PhilSys QR value}',
'face_liveness_session_id' => '{liveness session id retrieved from the IDmeta Liveness SDK}',
'trustFlowId' => 0,
'trustValidationId' => '{your_created_trust_validation_id}'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/philsys-check-tier-1"
payload := strings.NewReader("{\n \"qr_data\": \"{your scanned PhilSys QR value}\",\n \"face_liveness_session_id\": \"{liveness session id retrieved from the IDmeta Liveness SDK}\",\n \"trustFlowId\": 0,\n \"trustValidationId\": \"{your_created_trust_validation_id}\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/philsys-check-tier-1")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"qr_data\": \"{your scanned PhilSys QR value}\",\n \"face_liveness_session_id\": \"{liveness session id retrieved from the IDmeta Liveness SDK}\",\n \"trustFlowId\": 0,\n \"trustValidationId\": \"{your_created_trust_validation_id}\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/philsys-check-tier-1")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"qr_data\": \"{your scanned PhilSys QR value}\",\n \"face_liveness_session_id\": \"{liveness session id retrieved from the IDmeta Liveness SDK}\",\n \"trustFlowId\": 0,\n \"trustValidationId\": \"{your_created_trust_validation_id}\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "PhilSys Tier 1 Check processed successfully",
"data": {
"isValid": true,
"fullName": "JUAN DELA CRUZ"
},
"verificationStatus": "VERIFIED",
"verificationStatusCode": 3,
"trustFlowId": 0,
"trustValidationId": "9af6e3d7-09c8-489e-806e-d1e67a45a3e3",
"verificationType": "philsys_check_tier_1",
"metadata": null
}Looking to integrate Philsys Check via API?
PhilSys Check is a two-step process: capture face liveness, then call the
verification API. Follow our integration guide for setup and workflow details.
Authorizations
Use Bearer {your_api_token} in the Authorization header.
Body
application/json
PhilSys QR value for verification.
Liveness session ID retrieved from the IDmeta Liveness SDK.
Identifier of the TrustFlow used for this verification.
Unique ID of the Trust Validation being verified.
Response
PhilSys QR and face-liveness check processed successfully
Show child attributes
Show child attributes
Trust flow ID (numeric or echoed identifier).
Timestamp when the verification result was created.

