Immigration Card (ImmiCard)
curl --request POST \
--url https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-immigration-passthrough \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"familyName": "Smith",
"givenName": "Jordan",
"dob": "15-03-1990",
"immiCardNumber": "ABC1234567890"
}
'import requests
url = "https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-immigration-passthrough"
payload = {
"familyName": "Smith",
"givenName": "Jordan",
"dob": "15-03-1990",
"immiCardNumber": "ABC1234567890"
}
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',
immiCardNumber: 'ABC1234567890'
})
};
fetch('https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-immigration-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-immigration-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',
'immiCardNumber' => 'ABC1234567890'
]),
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-immigration-passthrough"
payload := strings.NewReader("{\n \"familyName\": \"Smith\",\n \"givenName\": \"Jordan\",\n \"dob\": \"15-03-1990\",\n \"immiCardNumber\": \"ABC1234567890\"\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-immigration-passthrough")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"familyName\": \"Smith\",\n \"givenName\": \"Jordan\",\n \"dob\": \"15-03-1990\",\n \"immiCardNumber\": \"ABC1234567890\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-immigration-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 \"immiCardNumber\": \"ABC1234567890\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Australia Immigration Card processed successfully",
"data": {
"isValid": true
},
"verificationStatus": "VERIFIED",
"verificationStatusCode": 3,
"transactionId": "79b6f81c-fc48-42ce-b907-763129b0957e",
"verificationType": "australia_immigration",
"metadata": {
"yourRef": "testCase-9002"
},
"createdAt": "2026-08-27 02:49:30+0000"
}Australia DVS
Immigration Card (ImmiCard)
Verify an Australian Immigration Card (ImmiCard) by submitting the required immigration card details to the Australian Document Verification Service (DVS).
POST
/
api
/
v3
/
verifications
/
australia-immigration-passthrough
Immigration Card (ImmiCard)
curl --request POST \
--url https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-immigration-passthrough \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"familyName": "Smith",
"givenName": "Jordan",
"dob": "15-03-1990",
"immiCardNumber": "ABC1234567890"
}
'import requests
url = "https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-immigration-passthrough"
payload = {
"familyName": "Smith",
"givenName": "Jordan",
"dob": "15-03-1990",
"immiCardNumber": "ABC1234567890"
}
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',
immiCardNumber: 'ABC1234567890'
})
};
fetch('https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-immigration-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-immigration-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',
'immiCardNumber' => 'ABC1234567890'
]),
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-immigration-passthrough"
payload := strings.NewReader("{\n \"familyName\": \"Smith\",\n \"givenName\": \"Jordan\",\n \"dob\": \"15-03-1990\",\n \"immiCardNumber\": \"ABC1234567890\"\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-immigration-passthrough")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"familyName\": \"Smith\",\n \"givenName\": \"Jordan\",\n \"dob\": \"15-03-1990\",\n \"immiCardNumber\": \"ABC1234567890\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{environment-subdomain}.idmetagroup.com/api/v3/verifications/australia-immigration-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 \"immiCardNumber\": \"ABC1234567890\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Australia Immigration Card processed successfully",
"data": {
"isValid": true
},
"verificationStatus": "VERIFIED",
"verificationStatusCode": 3,
"transactionId": "79b6f81c-fc48-42ce-b907-763129b0957e",
"verificationType": "australia_immigration",
"metadata": {
"yourRef": "testCase-9002"
},
"createdAt": "2026-08-27 02:49:30+0000"
}Verify an Australian ImmiCard against the Department of Home Affairs record.
An ImmiCard is issued to non-citizens who need evidence of identity but hold no passport. Submit the ImmiCard number alongside the holder’s name and date of birth.
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
Immigration Card 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
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_immigration"

