Citizenship Certificate
curl --request POST \
--url https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-citizenship-certificate-passthrough \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"familyName": "Smith",
"dob": "15-03-1990",
"stockNumber": "123456789",
"acquisitionDate": "15-01-2020"
}
'import requests
url = "https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-citizenship-certificate-passthrough"
payload = {
"familyName": "Smith",
"dob": "15-03-1990",
"stockNumber": "123456789",
"acquisitionDate": "15-01-2020"
}
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({
familyName: 'Smith',
dob: '15-03-1990',
stockNumber: '123456789',
acquisitionDate: '15-01-2020'
})
};
fetch('https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-citizenship-certificate-passthrough', 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/australia-citizenship-certificate-passthrough",
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([
'familyName' => 'Smith',
'dob' => '15-03-1990',
'stockNumber' => '123456789',
'acquisitionDate' => '15-01-2020'
]),
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/australia-citizenship-certificate-passthrough"
payload := strings.NewReader("{\n \"familyName\": \"Smith\",\n \"dob\": \"15-03-1990\",\n \"stockNumber\": \"123456789\",\n \"acquisitionDate\": \"15-01-2020\"\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/australia-citizenship-certificate-passthrough")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"familyName\": \"Smith\",\n \"dob\": \"15-03-1990\",\n \"stockNumber\": \"123456789\",\n \"acquisitionDate\": \"15-01-2020\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-citizenship-certificate-passthrough")
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 \"familyName\": \"Smith\",\n \"dob\": \"15-03-1990\",\n \"stockNumber\": \"123456789\",\n \"acquisitionDate\": \"15-01-2020\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Australia Citizenship Certificate processed successfully",
"data": {
"isValid": true
},
"verificationStatus": "VERIFIED",
"verificationStatusCode": 3,
"transactionId": "79b6f81c-fc48-42ce-b907-763129b0957e",
"verificationType": "australia_citizenship_certificate",
"metadata": {
"yourRef": "testCase-9002"
},
"createdAt": "2026-08-27 02:49:30+0000"
}Australia DVS
Citizenship Certificate
Verify an Australian Citizenship Certificate by submitting the required citizenship certificate details to the Australian Document Verification Service (DVS).
POST
/
api
/
v3
/
verifications
/
australia-citizenship-certificate-passthrough
Citizenship Certificate
curl --request POST \
--url https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-citizenship-certificate-passthrough \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"familyName": "Smith",
"dob": "15-03-1990",
"stockNumber": "123456789",
"acquisitionDate": "15-01-2020"
}
'import requests
url = "https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-citizenship-certificate-passthrough"
payload = {
"familyName": "Smith",
"dob": "15-03-1990",
"stockNumber": "123456789",
"acquisitionDate": "15-01-2020"
}
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({
familyName: 'Smith',
dob: '15-03-1990',
stockNumber: '123456789',
acquisitionDate: '15-01-2020'
})
};
fetch('https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-citizenship-certificate-passthrough', 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/australia-citizenship-certificate-passthrough",
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([
'familyName' => 'Smith',
'dob' => '15-03-1990',
'stockNumber' => '123456789',
'acquisitionDate' => '15-01-2020'
]),
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/australia-citizenship-certificate-passthrough"
payload := strings.NewReader("{\n \"familyName\": \"Smith\",\n \"dob\": \"15-03-1990\",\n \"stockNumber\": \"123456789\",\n \"acquisitionDate\": \"15-01-2020\"\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/australia-citizenship-certificate-passthrough")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"familyName\": \"Smith\",\n \"dob\": \"15-03-1990\",\n \"stockNumber\": \"123456789\",\n \"acquisitionDate\": \"15-01-2020\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-citizenship-certificate-passthrough")
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 \"familyName\": \"Smith\",\n \"dob\": \"15-03-1990\",\n \"stockNumber\": \"123456789\",\n \"acquisitionDate\": \"15-01-2020\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Australia Citizenship Certificate processed successfully",
"data": {
"isValid": true
},
"verificationStatus": "VERIFIED",
"verificationStatusCode": 3,
"transactionId": "79b6f81c-fc48-42ce-b907-763129b0957e",
"verificationType": "australia_citizenship_certificate",
"metadata": {
"yourRef": "testCase-9002"
},
"createdAt": "2026-08-27 02:49:30+0000"
}Verify an Australian citizenship certificate against the Department of Home Affairs record.
Submit the certificate identifiers alongside the holder’s name and date of birth. DVS confirms whether a citizenship record matches. It does not return the date or basis on which citizenship was granted.
Reading the result
Checkdata.isValid to determine whether the submitted details match the issuing agency’s records. A no-match still returns HTTP 200 with success: true — see Introduction to Australia DVS for how to interpret verificationStatus.
Sandbox test data
Citizenship Certificate sandbox payloads
Copy-paste payloads for every outcome.
Authorizations
Use your API token as a Bearer token in the Authorization header.
Headers
Example:
"Bearer {your_api_token}"
Body
application/json
Family name on the certificate.
Date of birth in DD-MM-YYYY format.
Example:
"15-03-1990"
Certificate stock number.
Date citizenship was acquired in DD-MM-YYYY format.
Example:
"15-01-2020"
Given name(s) on the certificate.
Optional key-value pairs echoed back in the response.
Response
Request processed. Check data.isValid and verificationStatus to determine the outcome.
Show child attributes
Show child attributes
Available options:
VERIFIED, REJECTED 3 = Verified, 1 = Rejected.
Example:
"australia_citizenship_certificate"

