Passport
curl --request POST \
--url https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-passport-passthrough \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"familyName": "Smith",
"givenName": "Jordan",
"dob": "15-03-1990",
"gender": "M",
"travelDocumentNumber": "PA1234567"
}
'import requests
url = "https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-passport-passthrough"
payload = {
"familyName": "Smith",
"givenName": "Jordan",
"dob": "15-03-1990",
"gender": "M",
"travelDocumentNumber": "PA1234567"
}
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',
givenName: 'Jordan',
dob: '15-03-1990',
gender: 'M',
travelDocumentNumber: 'PA1234567'
})
};
fetch('https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-passport-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-passport-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',
'givenName' => 'Jordan',
'dob' => '15-03-1990',
'gender' => 'M',
'travelDocumentNumber' => 'PA1234567'
]),
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-passport-passthrough"
payload := strings.NewReader("{\n \"familyName\": \"Smith\",\n \"givenName\": \"Jordan\",\n \"dob\": \"15-03-1990\",\n \"gender\": \"M\",\n \"travelDocumentNumber\": \"PA1234567\"\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-passport-passthrough")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"familyName\": \"Smith\",\n \"givenName\": \"Jordan\",\n \"dob\": \"15-03-1990\",\n \"gender\": \"M\",\n \"travelDocumentNumber\": \"PA1234567\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-passport-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 \"givenName\": \"Jordan\",\n \"dob\": \"15-03-1990\",\n \"gender\": \"M\",\n \"travelDocumentNumber\": \"PA1234567\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Australia Passport processed successfully",
"data": {
"isValid": true
},
"verificationStatus": "VERIFIED",
"verificationStatusCode": 3,
"transactionId": "79b6f81c-fc48-42ce-b907-763129b0957e",
"verificationType": "australia_passport",
"metadata": {
"yourRef": "testCase-9002"
},
"createdAt": "2026-08-27 02:49:30+0000"
}
Australia DVS
Passport
Verify an Australian Passport by submitting the required passport details to the Australian Document Verification Service (DVS).
POST
/
api
/
v3
/
verifications
/
australia-passport-passthrough
Passport
curl --request POST \
--url https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-passport-passthrough \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"familyName": "Smith",
"givenName": "Jordan",
"dob": "15-03-1990",
"gender": "M",
"travelDocumentNumber": "PA1234567"
}
'import requests
url = "https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-passport-passthrough"
payload = {
"familyName": "Smith",
"givenName": "Jordan",
"dob": "15-03-1990",
"gender": "M",
"travelDocumentNumber": "PA1234567"
}
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',
givenName: 'Jordan',
dob: '15-03-1990',
gender: 'M',
travelDocumentNumber: 'PA1234567'
})
};
fetch('https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-passport-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-passport-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',
'givenName' => 'Jordan',
'dob' => '15-03-1990',
'gender' => 'M',
'travelDocumentNumber' => 'PA1234567'
]),
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-passport-passthrough"
payload := strings.NewReader("{\n \"familyName\": \"Smith\",\n \"givenName\": \"Jordan\",\n \"dob\": \"15-03-1990\",\n \"gender\": \"M\",\n \"travelDocumentNumber\": \"PA1234567\"\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-passport-passthrough")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"familyName\": \"Smith\",\n \"givenName\": \"Jordan\",\n \"dob\": \"15-03-1990\",\n \"gender\": \"M\",\n \"travelDocumentNumber\": \"PA1234567\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-passport-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 \"givenName\": \"Jordan\",\n \"dob\": \"15-03-1990\",\n \"gender\": \"M\",\n \"travelDocumentNumber\": \"PA1234567\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Australia Passport processed successfully",
"data": {
"isValid": true
},
"verificationStatus": "VERIFIED",
"verificationStatusCode": 3,
"transactionId": "79b6f81c-fc48-42ce-b907-763129b0957e",
"verificationType": "australia_passport",
"metadata": {
"yourRef": "testCase-9002"
},
"createdAt": "2026-08-27 02:49:30+0000"
}
Verify an Australian passport against the Department of Foreign Affairs and Trade (DFAT) record held for that travel document.
Submit the passport holder’s name, date of birth, gender, and travel document number. DVS confirms whether those details match the issuing record. It does not return the passport’s contents or its expiry status — only whether the submitted details match.
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
Passport 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 as shown on the passport.
Given name(s) as shown on the passport.
Date of birth in DD-MM-YYYY format.
Example:
"15-03-1990"
Gender as shown on the passport (M or F).
Example:
"M"
Passport number.
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_passport"

