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

# Validate

> Verify a submitted Australian address string.

Validate takes a complete free-text address and returns the best matching G-NAF
address plus Prontiq match-quality fields. Use it when a user submits an
address, when you are cleaning address data, or when you need a single best
match rather than a list of suggestions.

<Info>
  Usage is metered in credits. See the [Credits guide](/guides/credits) for response headers and
  usage behaviour.
</Info>

## When to use it

* Verify a complete address at form submission.
* Check imported address data before storing it.
* Decide whether to accept, confirm, or manually review a submitted address.

Use [Autocomplete](/guides/address/autocomplete) instead while a user is still
typing.

## Request

| Parameter | Type   | Required | Default | Description                                              |
| --------- | ------ | -------- | ------- | -------------------------------------------------------- |
| `q`       | string | Yes      | —       | Full address string to validate, 1-500 characters.       |
| `debug`   | string | No       | `false` | Optional diagnostics. Must be exactly `true` or `false`. |

## Examples

<CodeGroup>
  ```bash curl theme={null}
  curl "https://api.prontiq.dev/v1/address/validate?q=9+endeavour+court+coffin+bay+sa+5607" \
    -H "X-Api-Key: YOUR_API_KEY"
  ```

  ```typescript TypeScript SDK theme={null}
  import { Prontiq } from "@prontiq/sdk";

  const prontiq = new Prontiq({
    serverURL: "https://api.prontiq.dev",
    apiKeyAuth: process.env.PRONTIQ_API_KEY!,
  });

  const response = await prontiq.address.validateAddress("9 endeavour court coffin bay sa 5607");
  const { result } = response;

  if (result.prontiqMatchQuality === "high") {
    console.log(result.match?.addressLabel);
  }
  ```

  ```python Python SDK theme={null}
  from prontiq import Prontiq

  client = Prontiq()

  response = client.address.validate(
      q="9 endeavour court coffin bay sa 5607",
  )

  if response.prontiq_match_quality == "high":
      print(response.match.address_label if response.match else None)
  ```
</CodeGroup>

## Response

```json theme={null}
{
  "prontiqMatchScore": 92,
  "prontiqMatchQuality": "high",
  "match": {
    "id": "GASA156786950",
    "addressLabel": "9 ENDEAVOUR COURT",
    "localityName": "COFFIN BAY",
    "state": "SA",
    "postcode": "5607",
    "confidence": 2
  }
}
```

When no usable match is found, `match` is `null`, `prontiqMatchScore` is `0`,
and `prontiqMatchQuality` is `none`.

## Prontiq match quality

Validate returns two Prontiq-owned match-quality fields:

* `prontiqMatchScore`: integer from 0 to 100.
* `prontiqMatchQuality`: bucket derived from the score.

| Value    | Meaning                                  | Typical handling                            |
| -------- | ---------------------------------------- | ------------------------------------------- |
| `high`   | Strong match for the submitted address.  | Accept or pre-fill the matched address.     |
| `medium` | Partial match.                           | Show the match and ask the user to confirm. |
| `low`    | Weak match or likely component mismatch. | Ask for another address or review manually. |
| `none`   | No usable match.                         | Do not treat the address as verified.       |

The nested `match.confidence` field is numeric G-NAF source-record metadata for
the returned address record. It is not Prontiq match quality, not
deliverability, and not geocode precision. See
[Address API concepts](/guides/address/overview#prontiq-match-quality).

## Integration tips

* Treat `high` as the only match-quality level that is normally safe to auto-accept.
* Show `medium` matches to the user before storing them.
* Keep the `id` from a successful match if you later need
  [Enrich](/guides/address/enrich).
* Preserve `X-Request-Id` from error responses for support.

See the [Validate API reference](/api-reference/validate) for the generated
schema and live playground.
