curl --request POST \
--url https://{environment-subdomain}.idmetagroup.com/api/v2/verification/dukcapilfull \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"date_of_birth": "1990-01-01",
"gender": "<string>",
"name": "<string>",
"nik": "<string>",
"template_id": "{your_trust_flow_id}",
"verification_id": "{your_created_verification_id}"
}
'import requests
url = "https://{environment-subdomain}.idmetagroup.com/api/v2/verification/dukcapilfull"
payload = {
"date_of_birth": "1990-01-01",
"gender": "<string>",
"name": "<string>",
"nik": "<string>",
"template_id": "{your_trust_flow_id}",
"verification_id": "{your_created_verification_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({
date_of_birth: '1990-01-01',
gender: '<string>',
name: '<string>',
nik: '<string>',
template_id: '{your_trust_flow_id}',
verification_id: '{your_created_verification_id}'
})
};
fetch('https://{environment-subdomain}.idmetagroup.com/api/v2/verification/dukcapilfull', 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/v2/verification/dukcapilfull",
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([
'date_of_birth' => '1990-01-01',
'gender' => '<string>',
'name' => '<string>',
'nik' => '<string>',
'template_id' => '{your_trust_flow_id}',
'verification_id' => '{your_created_verification_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/v2/verification/dukcapilfull"
payload := strings.NewReader("{\n \"date_of_birth\": \"1990-01-01\",\n \"gender\": \"<string>\",\n \"name\": \"<string>\",\n \"nik\": \"<string>\",\n \"template_id\": \"{your_trust_flow_id}\",\n \"verification_id\": \"{your_created_verification_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/v2/verification/dukcapilfull")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"date_of_birth\": \"1990-01-01\",\n \"gender\": \"<string>\",\n \"name\": \"<string>\",\n \"nik\": \"<string>\",\n \"template_id\": \"{your_trust_flow_id}\",\n \"verification_id\": \"{your_created_verification_id}\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{environment-subdomain}.idmetagroup.com/api/v2/verification/dukcapilfull")
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 \"date_of_birth\": \"1990-01-01\",\n \"gender\": \"<string>\",\n \"name\": \"<string>\",\n \"nik\": \"<string>\",\n \"template_id\": \"{your_trust_flow_id}\",\n \"verification_id\": \"{your_created_verification_id}\"\n}"
response = http.request(request)
puts response.read_body{
"status": "VERIFIED",
"message": "OK",
"result": {
"success": true,
"message": "Berhasil",
"data": {
"nik": true,
"name": true,
"date_of_birth": true,
"selfie_image_percentage": "99.8",
"liveness_result": null,
"liveness_fail_message": "",
"no_kk": null,
"mother_maiden_name": null,
"place_of_birth": true,
"address": true,
"gender": true,
"marital_status": true,
"job_type": true,
"province": true,
"city": true,
"district": true,
"subdistrict": true,
"rt": true,
"rw": true,
"uuid": "76367de2-1b77-4eb7-9bc3-3263b62ebf2f",
"url": "",
"reason_code": "0",
"error_message": null
}
},
"risk_rating": "LOW",
"api_request_status": 1
}Dukcapil Data Full
Verify Indonesia Dukcapil data with full details.
curl --request POST \
--url https://{environment-subdomain}.idmetagroup.com/api/v2/verification/dukcapilfull \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"date_of_birth": "1990-01-01",
"gender": "<string>",
"name": "<string>",
"nik": "<string>",
"template_id": "{your_trust_flow_id}",
"verification_id": "{your_created_verification_id}"
}
'import requests
url = "https://{environment-subdomain}.idmetagroup.com/api/v2/verification/dukcapilfull"
payload = {
"date_of_birth": "1990-01-01",
"gender": "<string>",
"name": "<string>",
"nik": "<string>",
"template_id": "{your_trust_flow_id}",
"verification_id": "{your_created_verification_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({
date_of_birth: '1990-01-01',
gender: '<string>',
name: '<string>',
nik: '<string>',
template_id: '{your_trust_flow_id}',
verification_id: '{your_created_verification_id}'
})
};
fetch('https://{environment-subdomain}.idmetagroup.com/api/v2/verification/dukcapilfull', 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/v2/verification/dukcapilfull",
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([
'date_of_birth' => '1990-01-01',
'gender' => '<string>',
'name' => '<string>',
'nik' => '<string>',
'template_id' => '{your_trust_flow_id}',
'verification_id' => '{your_created_verification_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/v2/verification/dukcapilfull"
payload := strings.NewReader("{\n \"date_of_birth\": \"1990-01-01\",\n \"gender\": \"<string>\",\n \"name\": \"<string>\",\n \"nik\": \"<string>\",\n \"template_id\": \"{your_trust_flow_id}\",\n \"verification_id\": \"{your_created_verification_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/v2/verification/dukcapilfull")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"date_of_birth\": \"1990-01-01\",\n \"gender\": \"<string>\",\n \"name\": \"<string>\",\n \"nik\": \"<string>\",\n \"template_id\": \"{your_trust_flow_id}\",\n \"verification_id\": \"{your_created_verification_id}\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{environment-subdomain}.idmetagroup.com/api/v2/verification/dukcapilfull")
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 \"date_of_birth\": \"1990-01-01\",\n \"gender\": \"<string>\",\n \"name\": \"<string>\",\n \"nik\": \"<string>\",\n \"template_id\": \"{your_trust_flow_id}\",\n \"verification_id\": \"{your_created_verification_id}\"\n}"
response = http.request(request)
puts response.read_body{
"status": "VERIFIED",
"message": "OK",
"result": {
"success": true,
"message": "Berhasil",
"data": {
"nik": true,
"name": true,
"date_of_birth": true,
"selfie_image_percentage": "99.8",
"liveness_result": null,
"liveness_fail_message": "",
"no_kk": null,
"mother_maiden_name": null,
"place_of_birth": true,
"address": true,
"gender": true,
"marital_status": true,
"job_type": true,
"province": true,
"city": true,
"district": true,
"subdistrict": true,
"rt": true,
"rw": true,
"uuid": "76367de2-1b77-4eb7-9bc3-3263b62ebf2f",
"url": "",
"reason_code": "0",
"error_message": null
}
},
"risk_rating": "LOW",
"api_request_status": 1
}Authorizations
Use Bearer {your_api_token} in the Authorization header.
Body
Date of birth of the individual.
Gender of the individual (for example, Male or Female).
Full name of the individual to be verified.
Indonesian National Identity Number (Nomor Induk Kependudukan).
Identifier used to categorize or group requests for tracking or reporting.
A unique ID used to identify your verification request.
Residential address of the individual.
City of residence.
District or municipality.
Occupation or type of job.
Marital status (for example, Single, Married, Divorced).
Mother's maiden name.
Family card number (Nomor Kartu Keluarga).
Place of birth of the individual.
Province of residence.
Neighborhood unit (Rukun Tetangga).
Community unit (Rukun Warga).
Subdistrict or village.
Base64-encoded selfie image.
Response
Dukcapil data full verified successfully

