Skip to main content

Overview

This page explains every public field returned by the Prontiq Address API. It is written for developers implementing the API, analysts interpreting address and boundary data, and stakeholders who need to understand what each field means in plain English.
This page documents the current public contract generated from packages/docs/openapi.json. It does not document private account APIs or internal search, billing, or storage fields.

How to read this page

Each field entry starts with a plain-English description, then moves into type, nullability, source classification, and gotchas. Source classification uses four labels:

Quick reference

How G-NAF powers the API

G-NAF means Geocoded National Address File. It is Australia’s national address dataset, maintained by Geoscape and built from address information supplied by state, territory, and Commonwealth contributors. Prontiq uses G-NAF as the address corpus behind autocomplete, validation, enrichment, reverse geocoding, and locality lookup. Prontiq adds a public API layer on top of that source data: authenticated endpoints, match-quality scoring, simplified response shapes, debug diagnostics, and generated SDKs. Prontiq match fields describe how well a returned address matched the submitted request. G-NAF fields describe the address record itself.
Geoscape publishes G-NAF updates on a regular release cycle. Address metadata, geocodes, and boundary values can change across source data releases without the public id changing.
prontiqMatchScore and prontiqMatchQuality are Prontiq match-quality fields. confidence is G-NAF source-record metadata on full address documents. Autocomplete suggestions do not expose confidence or score, and Validate does not expose top-level confidence.

Autocomplete

Returns compact suggestions with display fields and Prontiq match quality.

Validate

Returns the best matching full address document plus Prontiq match quality.

Enrich

Resolves a known id into the full public address document.

Reverse geocode

Finds nearby address documents and returns distance_m.

Postcode lookup

Returns localities and address counts for a four-digit postcode.

Suburb lookup

Returns postcodes, bounds, and address counts for a locality.

Field reference

id
string
required
Unique G-NAF persistent identifier for an address record.Store id as an opaque string. Do not parse state, locality, or record meaning out of it. Pass it to Enrich when you need the full address document after a user selects a suggestion.
addressLabel
string | null
Display-ready street address line.Use this as the street-address line in forms and confirmation screens. It usually contains the street number, street name, and unit or building text when the source record provides those details.
sourceDataRelease
string | null
Source data release or version used to produce the enriched address record.This identifies the source data release behind the enriched record when available. It is not the Prontiq API version.
addressRole
"PRIMARY" | "SECONDARY" | null
Parent or child address role for an enriched address record.PRIMARY generally means a parent or building-level address. SECONDARY generally means a child, unit, or subaddress record.
localityName
string | null
Official suburb or locality name for the address.Locality names should be displayed as returned. Do not assume user input casing or aliases are the canonical form.
state
string | null
Australian state or territory code.Allowed response values are NSW, VIC, QLD, SA, WA, TAS, NT, and ACT. Query filters are case-insensitive, but responses normalize state codes to uppercase.
postcode
string | null
Four-digit Australian postcode.Store postcodes as strings. Some Australian postcodes can begin with 0, and integer coercion loses leading zeroes.
prontiqMatchScore
integer
required
Numeric score that estimates how well the returned address matched the submitted request.The score is an integer from 0 to 100. Use it for thresholds, ranking, and analytics. It is not G-NAF record quality, deliverability, or geocode precision.
prontiqMatchQuality
"high" | "medium" | "low" | "none"
required
Human-readable match-quality bucket derived from prontiqMatchScore.Use this when a simple branch is clearer than tuning numeric thresholds.
The API has two separate quality concepts. Prontiq match quality describes the submitted request. G-NAF confidence describes the source address record.
confidence
integer | null
G-NAF source-record confidence metadata for a full address document.confidence describes how many upstream contributor datasets support the address record. It does not describe how well the user’s submitted text matched the record.
Autocomplete suggestions do not include G-NAF confidence. Validate uses top-level prontiqMatchScore and prontiqMatchQuality for request match quality, while match.confidence remains source-record metadata.
geocode.latitude
number<double>
required
Latitude of the address geocode in WGS84 decimal degrees.
geocode.longitude
number<double>
required
Longitude of the address geocode in WGS84 decimal degrees.
geocode.type
string | null
Source geocoding method or level, when available.
geocode.reliability
integer | null
G-NAF geocode precision code, where lower numbers are more precise.
Lower is better. A smaller geocode.reliability number indicates a more precise coordinate. This is separate from address match quality and separate from G-NAF confidence.
The public contract allows integer values from 0 to 6. Treat the value as source precision metadata and link to Geoscape’s official documentation when your workflow needs the full reliability-code model.
location.lat / location.lon
number<double>
Compact map point for the same address location.Use location when your integration wants a simple { lat, lon } shape. Use geocode when you also need source precision and geocoding method metadata.
boundaries.lga
NamedArea | null
Local Government Area for council-level reporting and segmentation.
boundaries.stateElectorate
NamedArea | null
State electoral district associated with the address location.
boundaries.commonwealthElectorate
NamedArea | null
Federal electoral division associated with the address location.
boundaries.meshBlock
MeshBlock | null
Australian Bureau of Statistics Mesh Block and optional land-use category.
boundaries.sa2 / sa3 / sa4 / gccsa
NamedArea | null
ABS statistical geography used for reporting from local areas up to capital-city regions.ASGS source hierarchy: Mesh Block -> SA1 -> SA2 -> SA3 -> SA4 -> GCCSA. Boundary fields are optional because coverage varies by source record and release.
boundaries.sa1
string | null
ABS Statistical Area Level 1 code associated with an enriched address when available.SA1 is useful for downstream statistical joins, including socio-economic and small-area analytics.
boundaries.ward
object | null
Council ward associated with an enriched address when available.
Enrich returns additional fields when they are present in the source address record. Coverage varies by address and geography.
components
AddressComponents
Structured address parts for integrations that need more than addressLabel.Common child fields include components.addressSiteName, components.buildingName, components.flatType, components.flatNumber, components.levelType, components.levelNumber, components.lotNumber, components.streetNumberFirst, components.streetNumberLast, components.streetName, components.streetType, and components.streetSuffix.
Parcel or legal-property reference when available for the address.Coverage varies. Store it as a string and do not parse state or property meaning out of the value.
allGeocodes
array<AllGeocode>
Additional geocodes associated with the address.Each item has allGeocodes[].latitude, allGeocodes[].longitude, optional allGeocodes[].type, and optional allGeocodes[].reliability.
locality
LocalityContext
Locality context for the enriched address.Public child fields are locality.id, locality.classification, locality.neighbours, and locality.aliases.
street
StreetContext
Street-level context for the enriched address.Public child fields are street.id, street.classification, and street.aliases.
aliases
array<AddressAlias>
Alternative address labels associated with the enriched address.Each item may include aliases[].id, aliases[].addressLabel, and aliases[].type.
secondaries
array<SecondaryAddress>
Secondary or child address records associated with the enriched address.Each item may include secondaries[].id and secondaries[].addressLabel.
suggestions
array
required
Ordered compact address candidates returned by Autocomplete.Each item is an address suggestion with display fields and Prontiq match quality. Suggestions are intentionally compact; call Enrich after a user selects a suggestion when you need full address metadata. Autocomplete total equals the number of suggestions returned, not an exhaustive count of every possible match.
match
AddressDocument | null
required
Best matching full address document returned by Validate.match is null when the submitted address cannot be resolved to a usable record. Even when match is present, use prontiqMatchScore and prontiqMatchQuality to decide whether the match is strong enough for your workflow.
results
array
required
Address result list returned by Reverse geocode.Each item is a full address document plus distance_m. Reverse geocode also includes total, which reports how many records were found inside the requested radius.
distance_m
number<double>
Distance from the reverse-geocode coordinate to an address result, in metres.distance_m appears only on Reverse geocode results. It is a proximity measure, not match quality.
address_count
integer
required
Number of address records in a lookup grouping.address_count appears in postcode and suburb lookup responses. It is dataset cardinality, not credits, quota, billing usage, or rate limiting.
localities
array
required
Locality summaries returned by postcode lookup.Each item includes name, optional state, and address_count.
postcodes
array<string>
required
Postcodes associated with a suburb or locality lookup result.Postcodes remain strings for the same reason as postcode: preserving leading zeroes is part of the public contract.
suburb
string
required
Canonical suburb or locality name returned by suburb lookup.This is the matched locality name for the lookup response. Display it as returned rather than preserving the caller’s input casing.
bounds
GeoBounds
Approximate bounding box for a suburb or locality when available.bounds.top_left and bounds.bottom_right use snake_case field names for v1 wire compatibility.
total
integer
required
Response count summary. In Autocomplete, total is the number of suggestions returned in that response. In Reverse geocode, total is the number of address records found inside the requested radius.
debug
DebugInfo
Optional diagnostics returned only when debug=true is supplied.Debug output is for support and troubleshooting. Default responses do not include a debug object.
debug.scoringVersion
string
required
Version identifier for the diagnostic scoring model.Use this only to interpret debug diagnostics. It is not a release version for the public API.
debug.queryMode
"autocomplete" | "validate" | "enrich" | "reverse" | "lookup"
required
Address operation mode that produced the debug payload.This helps support distinguish diagnostics from suggestion, validation, enrichment, reverse-geocode, and lookup flows.
debug.matchedComponents
object
Optional component-level match diagnostics.Values classify how submitted address components matched the returned record. Possible values are exact, prefix, fuzzy, and none.
debug.scoreCaps
array<string>
Optional list of match-score caps applied by the scorer.Score caps explain why a result was limited to a lower public prontiqMatchScore, such as an explicit postcode or state mismatch.
debug.searchScore
number<double>
Optional internal search relevance diagnostic.This field may be absent even when debug=true. Do not store it, sort by it, or use it for business decisions.
error
AddressErrorResponse
required
Standard API error envelope returned when a request cannot be completed.Branch on error.code, display or log error.message, and include error.request_id when contacting support.
error.code
AddressErrorCode
required
Stable machine-readable error code.Use error.code for branching. Do not parse error.message.
error.message
string
required
Human-readable error message.Messages are for display and support context. They are not a stable enum.
error.status
integer
required
HTTP status code mirrored inside the error envelope.This should match the HTTP response status.
error.details
object
Optional structured error details.The shape depends on error.code. Treat it as optional context rather than a required schema for every error.
error.request_id
string
required
Request identifier for support and debugging.This field is intentionally snake_case in the v1 error envelope. Include it when contacting support about a failed request.

Fields not present in default responses

Alias, canonical values, and storage

Prontiq returns canonical address values from the public contract. Users may type aliases, partial street names, or mixed-case locality names, but integrations should store the returned id and display the returned address fields rather than attempting to preserve the submitted text as the canonical record. Store id, postcode, and boundary codes as strings. Treat optional nested objects defensively: geocode, location, boundaries, and individual boundary fields can be absent or null depending on source coverage.

Freshness and lifecycle

Address source data and boundary data change across official releases. A stored id is the right key to keep, but the document behind that key can gain, lose, or update metadata over time. If your product relies on current boundaries, geocodes, or source metadata, re-enrich stored IDs on a regular release cadence. An ID that no longer resolves returns a NOT_FOUND error from Enrich. Handle that as stale source data rather than as a user input error.

Semantic origin table

The repo verifies the public field names, types, examples, and source classifications below. It does not encode exact upstream G-NAF table and column lineage for every field, so this page does not invent table-column precision that cannot be checked from source.

Implementation checklist

1

Store stable identifiers as strings

Store id, postcode, Mesh Block codes, ABS area codes, and electorate codes as strings. Enrich-only values such as legalParcelId, sourceDataRelease, boundaries.sa1, aliases, and secondary IDs should also be stored as strings when your workflow needs them.
2

Use Prontiq fields for match decisions

Use prontiqMatchScore and prontiqMatchQuality for accept, confirm, or reject workflows.
3

Treat G-NAF confidence as provenance

confidence tells you about source-record support. It is not request match quality.
4

Remember reliability is inverted

Lower geocode.reliability values indicate more precise geocodes.
5

Keep debug out of product logic

debug.searchScore is optional, unstable, and diagnostic only.
6

Preserve v1 snake_case fields

Keep distance_m, address_count, top_left, bottom_right, and error.request_id exactly as documented.
7

Treat optional nested objects defensively

geocode, location, boundaries, and individual boundary fields can be absent or null.
8

Use Enrich after selection

Autocomplete is a compact suggestion flow. Call Enrich with the selected id when your application needs coordinates and boundary data.
9

Re-enrich stored IDs periodically

Boundary and geocode metadata can change across source data releases even when the address id remains stable.
10

Handle stale IDs explicitly

A NOT_FOUND response from Enrich means the stored id no longer resolves in the current public corpus.

External references