Philippines NDRP Check
curl --request POST \
--url https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/ndrp \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"trustValidationId": "572d5b06-f5cd-415f-9174-55d5bd2f2351",
"trustFlowId": 483,
"fullName": "Juan Santos Dela Cruz"
}
'import requests
url = "https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/ndrp"
payload = {
"trustValidationId": "572d5b06-f5cd-415f-9174-55d5bd2f2351",
"trustFlowId": 483,
"fullName": "Juan Santos Dela Cruz"
}
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({
trustValidationId: '572d5b06-f5cd-415f-9174-55d5bd2f2351',
trustFlowId: 483,
fullName: 'Juan Santos Dela Cruz'
})
};
fetch('https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/ndrp', 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/ndrp",
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([
'trustValidationId' => '572d5b06-f5cd-415f-9174-55d5bd2f2351',
'trustFlowId' => 483,
'fullName' => 'Juan Santos Dela Cruz'
]),
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/ndrp"
payload := strings.NewReader("{\n \"trustValidationId\": \"572d5b06-f5cd-415f-9174-55d5bd2f2351\",\n \"trustFlowId\": 483,\n \"fullName\": \"Juan Santos Dela Cruz\"\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/ndrp")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"trustValidationId\": \"572d5b06-f5cd-415f-9174-55d5bd2f2351\",\n \"trustFlowId\": 483,\n \"fullName\": \"Juan Santos Dela Cruz\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/ndrp")
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 \"trustValidationId\": \"572d5b06-f5cd-415f-9174-55d5bd2f2351\",\n \"trustFlowId\": 483,\n \"fullName\": \"Juan Santos Dela Cruz\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Philippines NDRP check processed successfully",
"data": {
"isRestricted": false,
"totalNumberOfRecords": 0,
"numberOfGelRecords": 0,
"numberOfGuestRecords": 0,
"numberOfGovtRecords": 0,
"records": []
},
"verificationStatus": "VERIFIED",
"verificationStatusCode": 3,
"trustFlowId": 483,
"trustValidationId": "572d5b06-f5cd-415f-9174-55d5bd2f2351",
"verificationType": "philippines_ndrp",
"metadata": null,
"createdAt": "2026-09-29 08:12:13+0000"
}Philippines
Philippines NDRP Check
Search PAGCOR’s National Database for Restricted Personalities by full name.
POST
/
api
/
v3
/
verifications
/
philippines
/
ndrp
Philippines NDRP Check
curl --request POST \
--url https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/ndrp \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"trustValidationId": "572d5b06-f5cd-415f-9174-55d5bd2f2351",
"trustFlowId": 483,
"fullName": "Juan Santos Dela Cruz"
}
'import requests
url = "https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/ndrp"
payload = {
"trustValidationId": "572d5b06-f5cd-415f-9174-55d5bd2f2351",
"trustFlowId": 483,
"fullName": "Juan Santos Dela Cruz"
}
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({
trustValidationId: '572d5b06-f5cd-415f-9174-55d5bd2f2351',
trustFlowId: 483,
fullName: 'Juan Santos Dela Cruz'
})
};
fetch('https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/ndrp', 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/ndrp",
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([
'trustValidationId' => '572d5b06-f5cd-415f-9174-55d5bd2f2351',
'trustFlowId' => 483,
'fullName' => 'Juan Santos Dela Cruz'
]),
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/ndrp"
payload := strings.NewReader("{\n \"trustValidationId\": \"572d5b06-f5cd-415f-9174-55d5bd2f2351\",\n \"trustFlowId\": 483,\n \"fullName\": \"Juan Santos Dela Cruz\"\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/ndrp")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"trustValidationId\": \"572d5b06-f5cd-415f-9174-55d5bd2f2351\",\n \"trustFlowId\": 483,\n \"fullName\": \"Juan Santos Dela Cruz\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/philippines/ndrp")
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 \"trustValidationId\": \"572d5b06-f5cd-415f-9174-55d5bd2f2351\",\n \"trustFlowId\": 483,\n \"fullName\": \"Juan Santos Dela Cruz\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Philippines NDRP check processed successfully",
"data": {
"isRestricted": false,
"totalNumberOfRecords": 0,
"numberOfGelRecords": 0,
"numberOfGuestRecords": 0,
"numberOfGovtRecords": 0,
"records": []
},
"verificationStatus": "VERIFIED",
"verificationStatusCode": 3,
"trustFlowId": 483,
"trustValidationId": "572d5b06-f5cd-415f-9174-55d5bd2f2351",
"verificationType": "philippines_ndrp",
"metadata": null,
"createdAt": "2026-09-29 08:12:13+0000"
}Overview
Search PAGCOR’s National Database for Restricted Personalities (NDRP) by full name to find out whether a person appears on a restricted list. NDRP matches on name only. If you provide a date of birth, IDmeta compares it with birthdates returned by NDRP to confirm a match. The date of birth is never sent to NDRP.Endpoint
POST /api/v3/verifications/philippines/ndrp
Content-Type: application/json
Authentication
Send your API token in theAuthorization: Bearer {your_api_token} header. Your company must have the Philippines NDRP plan enabled. See Introduction to the API for how to create a token.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
trustValidationId | string | Yes | ID of the trust validation (verification session) this check belongs to. |
trustFlowId | integer | Yes | ID of the trust flow (template). |
fullName | string | Yes | Full name to search. 2 to 255 characters. Extra spaces are collapsed. |
dateOfBirth | string | No | Date in YYYY-MM-DD format. Used only to confirm a match against returned records. |
{
"trustValidationId": "572d5b06-f5cd-415f-9174-55d5bd2f2351",
"trustFlowId": 483,
"fullName": "Juan Santos Dela Cruz",
"dateOfBirth": "1985-04-12"
}
Verification status rules
| Outcome | verificationStatus | verificationStatusCode |
|---|---|---|
| No records found | VERIFIED | 3 |
Records found and one has exactly the supplied dateOfBirth | REJECTED | 1 |
| Records found, no birthdate match (default) | REVIEW_NEEDED | 2 |
| Records found, no birthdate match, and the trust flow’s NDRP Restricted match action setting is Rejected | REJECTED | 1 |
| NDRP could not be reached or returned an error | FAILED | 6 |
REVIEW_NEEDED exists because NDRP matches on name alone. A reviewer should compare the birthdate and photo before deciding whether the record belongs to the person being checked.
Responses
Every verification response hassuccess, message, data, verificationStatus, verificationStatusCode, trustFlowId, trustValidationId, verificationType, metadata, and createdAt. metadata contains the trust validation’s metadata or null. createdAt is UTC in YYYY-MM-DD HH:MM:SS+0000 format.
When data is an object, it contains these fields:
| Field | Type | Description |
|---|---|---|
isRestricted | boolean | true when NDRP returned at least one record. |
totalNumberOfRecords | integer | Total matching records. |
numberOfGelRecords | integer | Matching records from the GEL list. |
numberOfGuestRecords | integer | Matching records from the Guest list. |
numberOfGovtRecords | integer | Matching records from the Government list. |
records | array | Matching records. Each record has firstName, middleName, lastName, birthdate, source, and photoPath. birthdate and photoPath are null when NDRP has no value. |
200 OK — no match (VERIFIED)
{
"success": true,
"message": "Philippines NDRP check processed successfully",
"data": {
"isRestricted": false,
"totalNumberOfRecords": 0,
"numberOfGelRecords": 0,
"numberOfGuestRecords": 0,
"numberOfGovtRecords": 0,
"records": []
},
"verificationStatus": "VERIFIED",
"verificationStatusCode": 3,
"trustFlowId": 483,
"trustValidationId": "572d5b06-f5cd-415f-9174-55d5bd2f2351",
"verificationType": "philippines_ndrp",
"metadata": null,
"createdAt": "2026-09-29 08:12:13+0000"
}
200 OK — possible match (REVIEW_NEEDED)
{
"success": true,
"message": "Philippines NDRP check processed successfully",
"data": {
"isRestricted": true,
"totalNumberOfRecords": 1,
"numberOfGelRecords": 1,
"numberOfGuestRecords": 0,
"numberOfGovtRecords": 0,
"records": [
{
"firstName": "JUAN",
"middleName": "SANTOS",
"lastName": "DELA CRUZ",
"birthdate": null,
"source": "<NDRP list name>",
"photoPath": null
}
]
},
"verificationStatus": "REVIEW_NEEDED",
"verificationStatusCode": 2,
"trustFlowId": 483,
"trustValidationId": "572d5b06-f5cd-415f-9174-55d5bd2f2351",
"verificationType": "philippines_ndrp",
"metadata": null,
"createdAt": "2026-09-29 08:12:13+0000"
}
dateOfBirth, the same response shape has verificationStatus set to REJECTED and verificationStatusCode set to 1.
200 OK — NDRP unavailable (FAILED)
This failure still returns HTTP 200, with success: false and data: null. The call is not charged. Retry later.
{
"success": false,
"message": "Government site down",
"data": null,
"verificationStatus": "FAILED",
"verificationStatusCode": 6,
"trustFlowId": 483,
"trustValidationId": "572d5b06-f5cd-415f-9174-55d5bd2f2351",
"verificationType": "philippines_ndrp",
"metadata": null,
"createdAt": "2026-09-29 08:12:13+0000"
}
400 Bad Request — validation failed
message is the first validation error. errors lists every field that failed.
{
"success": false,
"message": "The full name field is required.",
"errors": {
"fullName": ["The full name field is required."]
},
"createdAt": "2026-09-29 08:12:13+0000"
}
The trust validation id field is required.The trust flow id field must be an integer.The full name field must be at least 2 characters.The date of birth field must match the format Y-m-d.
500 Internal Server Error — unexpected server error
The call is not charged.{
"success": false,
"message": "Internal Server Error",
"createdAt": "2026-09-29 08:12:13+0000"
}
Other error codes
| Code | When | Body |
|---|---|---|
401 | Missing or invalid API token | {"success": false, "message": "Unauthorized", "createdAt": "..."} |
402 | Not enough credits | {"success": false, "error_code": "INSUFFICIENT_CREDIT", "message": "...", "plan": "philippines_ndrp", "createdAt": "..."} |
403 | Company does not have the Philippines NDRP plan | {"success": false, "message": "Forbidden", "createdAt": "..."} |
404 | trustValidationId not found for this company | {"success": false, "message": "Trust Validation Not Found", "errors": {"trustValidation": "Trust Validation Not Found"}, "createdAt": "..."} |
Authorizations
Use Bearer {your_api_token} in the Authorization header.
Body
application/json
ID of the trust validation (verification session) this check belongs to.
ID of the trust flow (template).
Full name to search. Extra spaces are collapsed.
Required string length:
2 - 255Date in YYYY-MM-DD format. Only used to confirm a match against returned records.
Response
The check completed, or NDRP was unavailable. Inspect success and verificationStatus.
Show child attributes
Show child attributes
Available options:
VERIFIED, REJECTED, REVIEW_NEEDED, FAILED Available options:
1, 2, 3, 6 Available options:
philippines_ndrp UTC, YYYY-MM-DD HH:MM:SS+0000.

