> ## Documentation Index
> Fetch the complete documentation index at: https://docs.idmetagroup.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction to Australia DVS

> Overview of the Australia DVS passthrough APIs and how to interpret their results.

## Overview

The Australian Government's Document Verification Service (DVS) verifies key Government issued documents. As an approved Gateway Service Provider (GSP), you can access the DVS within IDmeta.

The Australia DVS APIs are **standalone, passthrough endpoints** that call DVS directly. Unlike the rest of the IDmeta API, they are not part of a trust flow — there is no `trustValidationId`, no session, and no processing pipeline. You call the endpoint with the document details in the request body, and DVS checks whether that document is genuine.

<Note>
  No data is stored on our end. Each request is a stateless, one-off check — there is no history to retrieve afterwards, no verification record created, and no way to look up a previous request once the response has been returned.
</Note>

## Authentication

Every Australia DVS endpoint requires an API key in the `x-api-key` header:

```
x-api-key: {your_api_key}
```

To request your API key, please email [verify@idmetagroup.com](mailto:verify@idmetagroup.com).

## How it works

1. **Submit the document details** for the relevant document type (for example, `FamilyName`, `BirthDate`, `TravelDocumentNumber` for a passport) as the JSON request body.
2. **DVS checks the submitted details** against the issuing agency's records.
3. **The response tells you if the document is valid or not** — there is no separate "processing" state to poll; the result is returned in the same request/response cycle.

## Reading the response

Every Australia DVS endpoint returns HTTP `200` whether the document is valid or not. Check the `VerificationResultCode` field to determine the outcome:

| `VerificationResultCode` | Meaning                                                           |
| ------------------------ | ----------------------------------------------------------------- |
| `1`                      | Valid — the submitted details match the issuing agency's records. |
| `2`                      | Invalid — one or more submitted details did not match.            |

When `VerificationResultCode` is `2`, the response also includes an `Errors` array. Each entry identifies exactly which submitted field failed to match:

```json theme={null}
{
  "ActivityId": "5a1626e0-272f-4a64-b085-1068a877701d",
  "Errors": [
    {
      "Field": "BirthDate",
      "Message": "Date of birth does not match.",
      "Source": "Issuer"
    }
  ],
  "OriginatingAgencyCode": "IDM001",
  "VerificationRequestNumber": "VI-01-01",
  "VerificationResultCode": 2
}
```

A successful match returns the same envelope without the `Errors` array:

```json theme={null}
{
  "ActivityId": "5a1626e0-272f-4a64-b085-1068a877701d",
  "OriginatingAgencyCode": "IDM001",
  "VerificationRequestNumber": "VI-01-01",
  "VerificationResultCode": 1
}
```
