Custom Document
curl --request POST \
--url https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/custom-document \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"trustFlowId": 0,
"trustValidationId": "{your_trust_validation_id}"
}
'import requests
url = "https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/custom-document"
payload = {
"trustFlowId": 0,
"trustValidationId": "{your_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({trustFlowId: 0, trustValidationId: '{your_trust_validation_id}'})
};
fetch('https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/custom-document', 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/custom-document",
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([
'trustFlowId' => 0,
'trustValidationId' => '{your_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/custom-document"
payload := strings.NewReader("{\n \"trustFlowId\": 0,\n \"trustValidationId\": \"{your_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/custom-document")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"trustFlowId\": 0,\n \"trustValidationId\": \"{your_trust_validation_id}\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/custom-document")
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 \"trustFlowId\": 0,\n \"trustValidationId\": \"{your_trust_validation_id}\"\n}"
response = http.request(request)
puts response.read_body{
"status": true,
"message": "OK",
"result": {
"formData": {
"name": "Michael Reyes",
"idnumber": "ASIC764839201",
"address": "45 Bonifacio St, Pasay City, Metro Manila, Philippines",
"birthdate": "26-02-2003",
"gender": "Male",
"date_of_issue": "22-07-2025"
}
}
}Customize
Custom Document
Supplement facial verification by authenticating custom documents.
POST
/
api
/
v3
/
verifications
/
custom-document
Custom Document
curl --request POST \
--url https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/custom-document \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"trustFlowId": 0,
"trustValidationId": "{your_trust_validation_id}"
}
'import requests
url = "https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/custom-document"
payload = {
"trustFlowId": 0,
"trustValidationId": "{your_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({trustFlowId: 0, trustValidationId: '{your_trust_validation_id}'})
};
fetch('https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/custom-document', 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/custom-document",
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([
'trustFlowId' => 0,
'trustValidationId' => '{your_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/custom-document"
payload := strings.NewReader("{\n \"trustFlowId\": 0,\n \"trustValidationId\": \"{your_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/custom-document")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"trustFlowId\": 0,\n \"trustValidationId\": \"{your_trust_validation_id}\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/custom-document")
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 \"trustFlowId\": 0,\n \"trustValidationId\": \"{your_trust_validation_id}\"\n}"
response = http.request(request)
puts response.read_body{
"status": true,
"message": "OK",
"result": {
"formData": {
"name": "Michael Reyes",
"idnumber": "ASIC764839201",
"address": "45 Bonifacio St, Pasay City, Metro Manila, Philippines",
"birthdate": "26-02-2003",
"gender": "Male",
"date_of_issue": "22-07-2025"
}
}
}Authorizations
Use Bearer {your_api_token} in the Authorization header.
Body
application/json
Trust flow identifier used to categorize or group requests for tracking or reporting.
Trust validation identifier for the verification request.
Uploaded document file encoded as Base64 string (for example, data:image/png;base64,...).

