> ## 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.

# Enrich

> Return the richest public address document for a known G-NAF address `id` returned by Autocomplete, Validate, or Reverse geocode. Use this after a user selects an address when you need structured components, geocodes, boundaries, locality and street context, aliases, secondaries, and source-record metadata.

Use Enrich after Autocomplete or Validate returns a G-NAF address ID and you
need geocode, location, boundary, electorate, mesh block, or ABS geography
fields.

For field interpretation and SDK examples, see the
[Enrich guide](/guides/address/enrich).


## OpenAPI

````yaml GET /v1/address/enrich
openapi: 3.1.0
info:
  title: Prontiq API
  version: 2.0.0
  license:
    name: Proprietary
    url: https://prontiq.dev
  description: >-
    Prontiq provides authenticated APIs for Australian address search,
    validation, enrichment, reverse geocoding, and locality lookup. Authenticate
    public data requests with `X-Api-Key`. Successful Address API calls may
    include rate-limit and credit-usage headers. Errors use a stable `{ error: {
    code, message, status, request_id } }` envelope; `request_id` is
    intentionally snake_case for v1 compatibility.
servers:
  - url: https://api.prontiq.dev
    description: Production API
security: []
tags:
  - name: Address
    description: >-
      Australian address autocomplete, validation, enrichment, reverse
      geocoding, postcode lookup, and suburb lookup.
paths:
  /v1/address/enrich:
    get:
      tags:
        - Address
      summary: Enrich an address by ID
      description: >-
        Return the richest public address document for a known G-NAF address
        `id` returned by Autocomplete, Validate, or Reverse geocode. Use this
        after a user selects an address when you need structured components,
        geocodes, boundaries, locality and street context, aliases, secondaries,
        and source-record metadata.
      operationId: enrichAddress
      parameters:
        - schema:
            type: string
            minLength: 1
            description: >-
              G-NAF address document ID. Paste an id value returned from
              Autocomplete or Validate.
            example: GAQLD156786950
          required: true
          description: >-
            G-NAF address document ID. Paste an id value returned from
            Autocomplete or Validate.
          name: id
          in: query
        - schema:
            $ref: '#/components/schemas/AddressDebugQuery'
          required: false
          description: >-
            Optional diagnostic flag. Send exactly `true` or `false`. Invalid
            values are rejected; debug diagnostics are for support only and must
            not be used for business decisions.
          name: debug
          in: query
      responses:
        '200':
          description: Full enriched public address document for the requested `id`.
          headers:
            X-Request-Id:
              description: Unique request identifier for support and debugging.
              schema:
                type: string
            X-RateLimit-Product:
              description: >-
                API family whose monthly credit counter was updated, for example
                `address`.
              schema:
                type: string
            X-RateLimit-Reset:
              description: ISO timestamp when the current credit window resets.
              schema:
                type: string
                format: date-time
            X-RateLimit-Limit:
              description: >-
                Configured included-credit threshold for keys with a monthly
                quota. Present for hard-cap and soft-overage plans; omitted for
                PAYG or uncapped plans.
              schema:
                type: integer
                minimum: 0
            X-RateLimit-Remaining:
              description: >-
                Included credits remaining in the current window, floored at
                zero. Present for hard-cap and soft-overage plans; omitted for
                PAYG or uncapped plans.
              schema:
                type: integer
                minimum: 0
            X-RateLimit-Over:
              description: >-
                `true` when the request succeeded as soft-overage after included
                credits were exceeded.
              schema:
                type: string
                enum:
                  - 'true'
            X-Payment-Overdue:
              description: >-
                Indicates whether the account currently has an overdue billing
                state. Request handling still follows the active plan
                enforcement policy.
              schema:
                type: string
                enum:
                  - 'true'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrichAddressResponse'
              example:
                id: GAQLD156786950
                addressLabel: 9 ENDEAVOUR COURT
                localityName: LAMMERMOOR
                state: QLD
                postcode: '4703'
                confidence: 2
                geocode:
                  latitude: -23.1601
                  longitude: 150.7596
                  type: PROPERTY CENTROID
                  reliability: 2
                location:
                  lat: -23.1601
                  lon: 150.7596
                boundaries:
                  lga:
                    name: Glen Eira
                    code: lga9bd137c30d17
                  stateElectorate:
                    name: Keppel
                  commonwealthElectorate:
                    name: Capricornia
                  meshBlock:
                    code: '30000000000'
                    category: Residential
                  sa2:
                    name: Yeppoon
                    code: '308011188'
                  sa3:
                    name: Rockhampton
                    code: '30801'
                  sa4:
                    name: Central Queensland
                    code: '308'
                  ward:
                    name: Bambra Ward
                  sa1: '20802117831'
                sourceDataRelease: '2026.04'
                addressRole: SECONDARY
                legalParcelId: 14\PS349838
                components:
                  flatType: FLAT
                  flatNumber: '14'
                  streetNumberFirst: '5'
                  streetName: DUKE
                  streetType: STREET
                allGeocodes:
                  - latitude: -37.89180933
                    longitude: 145.01510717
                    type: FRONTAGE CENTRE SETBACK
                    reliability: 2
                  - latitude: -37.89180905
                    longitude: 145.01490263
                    type: PROPERTY CENTROID
                    reliability: 2
                locality:
                  id: loc1b5a0e70afd4
                  classification: GAZETTED LOCALITY
                  neighbours:
                    - ELSTERNWICK
                    - GARDENVALE
                    - ORMOND
                  aliases: []
                street:
                  id: VIC1953679
                  classification: CONFIRMED
                  aliases: []
                aliases:
                  - id: MA13517230
                    addressLabel: SHOP 1 GROUND 1 MCNAB AVENUE
                    type: SYNONYM
                secondaries:
                  - id: GAVIC425495838
                    addressLabel: SHOP 1 1 MCNAB AVENUE
        '400':
          description: >-
            The request query string is missing a required parameter or contains
            a value outside the documented format.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressErrorResponse'
              example:
                error:
                  code: INVALID_PARAMETERS
                  message: Invalid query parameters
                  status: 400
                  request_id: req_01HZX7A8J5K9P4R2QW3E6T7Y8Z
                  details:
                    q:
                      - Required
        '401':
          description: The request did not include a valid `X-Api-Key` header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressErrorResponse'
              example:
                error:
                  code: MISSING_API_KEY
                  message: Missing X-Api-Key header
                  status: 401
                  request_id: req_01HZX7A8J5K9P4R2QW3E6T7Y8Z
        '403':
          description: >-
            The API key is valid, but the account plan does not include the
            Address API product.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressErrorResponse'
              example:
                error:
                  code: PRODUCT_NOT_ALLOWED
                  message: Product not included in your plan
                  status: 403
                  request_id: req_01HZX7A8J5K9P4R2QW3E6T7Y8Z
        '404':
          description: The supplied `id` does not resolve to a current address document.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressErrorResponse'
              example:
                error:
                  code: NOT_FOUND
                  message: 'Address not found: F_GAVIC999000002'
                  status: 404
                  request_id: req_01HZX7A8J5K9P4R2QW3E6T7Y8Z
        '429':
          description: >-
            The request exceeded burst rate limits or the account's available
            Address API quota.
          headers:
            Retry-After:
              description: >-
                Seconds to wait before retrying when error.code is RATE_LIMITED.
                Quota exhaustion responses may omit this header.
              schema:
                type: integer
                minimum: 1
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressErrorResponse'
              example:
                error:
                  code: RATE_LIMITED
                  message: Rate limit exceeded
                  status: 429
                  request_id: req_01HZX7A8J5K9P4R2QW3E6T7Y8Z
        '500':
          description: >-
            The API could not complete the request because of an unexpected
            server-side failure.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressErrorResponse'
              example:
                error:
                  code: INTERNAL_ERROR
                  message: Internal server error
                  status: 500
                  request_id: req_01HZX7A8J5K9P4R2QW3E6T7Y8Z
      security:
        - ApiKeyAuth: []
components:
  schemas:
    AddressDebugQuery:
      type: string
      enum:
        - 'true'
        - 'false'
      description: >-
        Optional diagnostic flag. Send exactly `true` or `false`. Invalid values
        are rejected; debug diagnostics are for support only and must not be
        used for business decisions.
      example: 'false'
    EnrichAddressResponse:
      allOf:
        - $ref: '#/components/schemas/EnrichedAddressDocument'
        - type: object
          properties:
            debug:
              $ref: '#/components/schemas/DebugInfo'
      description: >-
        Enrich-only address document with structured components, extra geocodes,
        locality and street context, aliases, secondaries, extended boundaries,
        and optional diagnostic metadata when debug=true.
      example:
        id: GAVIC411087566
        addressLabel: FLAT 14, 5 DUKE STREET
        localityName: CAULFIELD SOUTH
        state: VIC
        postcode: '3162'
        confidence: 2
        sourceDataRelease: '2026.04'
        addressRole: SECONDARY
        legalParcelId: 14\PS349838
        components:
          flatType: FLAT
          flatNumber: '14'
          streetNumberFirst: '5'
          streetName: DUKE
          streetType: STREET
        boundaries:
          lga:
            name: Glen Eira
            code: lga9bd137c30d17
          ward:
            name: Bambra Ward
          sa1: '20802117831'
    AddressErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              $ref: '#/components/schemas/AddressErrorCode'
            message:
              type: string
              description: Human-readable error message.
              example: Invalid query parameters
            status:
              type: integer
              description: HTTP status code.
              example: 400
            request_id:
              type: string
              description: >-
                Request identifier for support and debugging. This snake_case
                field is stable in v1.
              example: req_01HZX7A8J5K9P4R2QW3E6T7Y8Z
            details:
              type: object
              additionalProperties: {}
              description: Optional structured details. Shape depends on the error code.
              example:
                q:
                  - Required
          required:
            - code
            - message
            - status
            - request_id
          description: >-
            Nested error object containing the machine code, human message, HTTP
            status, and request id.
          example:
            code: INVALID_PARAMETERS
            message: Invalid query parameters
            status: 400
            request_id: req_01HZX7A8J5K9P4R2QW3E6T7Y8Z
      required:
        - error
      description: >-
        Standard public Address API error envelope. The nested
        `error.request_id` field is intentionally snake_case in v1.
    EnrichedAddressDocument:
      allOf:
        - $ref: '#/components/schemas/AddressDocument'
        - type: object
          properties:
            boundaries:
              anyOf:
                - $ref: '#/components/schemas/EnrichedAddressBoundaries'
                - type: 'null'
            sourceDataRelease:
              anyOf:
                - type: string
                  description: >-
                    Source data release or version used to produce the enriched
                    address record when available. This is not the Prontiq API
                    version.
                  example: '2026.04'
                - type: 'null'
            addressRole:
              anyOf:
                - type: string
                  enum:
                    - PRIMARY
                    - SECONDARY
                  description: >-
                    Primary or secondary address role when available. Primary
                    records are parent or building-level addresses; secondary
                    records are child or unit-level addresses.
                  example: SECONDARY
                - type: 'null'
            components:
              $ref: '#/components/schemas/AddressComponents'
            legalParcelId:
              anyOf:
                - type: string
                  description: >-
                    Parcel or legal-property reference when available for the
                    address. Coverage varies by address and source data.
                  example: 14\PS349838
                - type: 'null'
            allGeocodes:
              type: array
              items:
                $ref: '#/components/schemas/AllGeocode'
              description: >-
                Additional geocodes associated with the address. The array
                preserves source order after invalid coordinates are removed.
              example:
                - latitude: -37.89180933
                  longitude: 145.01510717
                  type: FRONTAGE CENTRE SETBACK
                  reliability: 2
                - latitude: -37.89180905
                  longitude: 145.01490263
                  type: PROPERTY CENTROID
                  reliability: 2
            locality:
              $ref: '#/components/schemas/LocalityContext'
            street:
              $ref: '#/components/schemas/StreetContext'
            aliases:
              type: array
              items:
                $ref: '#/components/schemas/AddressAlias'
              description: Alternative address labels associated with the enriched address.
            secondaries:
              type: array
              items:
                $ref: '#/components/schemas/SecondaryAddress'
              description: >-
                Secondary or child addresses associated with the enriched
                address.
      description: >-
        Enrich-only address document with structured components, extra geocodes,
        locality and street context, aliases, secondaries, and extended
        boundaries.
      example:
        id: GAVIC411087566
        addressLabel: FLAT 14, 5 DUKE STREET
        localityName: CAULFIELD SOUTH
        state: VIC
        postcode: '3162'
        confidence: 2
        sourceDataRelease: '2026.04'
        addressRole: SECONDARY
        legalParcelId: 14\PS349838
        components:
          flatType: FLAT
          flatNumber: '14'
          streetNumberFirst: '5'
          streetName: DUKE
          streetType: STREET
        boundaries:
          lga:
            name: Glen Eira
            code: lga9bd137c30d17
          ward:
            name: Bambra Ward
          sa1: '20802117831'
    DebugInfo:
      type: object
      properties:
        scoringVersion:
          type: string
          enum:
            - address-match-v1
          description: >-
            Version of the public Prontiq match-scoring algorithm used for
            diagnostics.
          example: address-match-v1
        queryMode:
          type: string
          enum:
            - autocomplete
            - validate
            - enrich
            - reverse
            - lookup
          description: Address API operation mode that produced this diagnostic object.
          example: autocomplete
        matchedComponents:
          type: object
          additionalProperties:
            type: string
            enum:
              - exact
              - prefix
              - fuzzy
              - none
          description: >-
            Per-component match classification for diagnostics. Shape may evolve
            between scoring versions.
          example:
            streetNumber: exact
            streetName: prefix
            locality: exact
        scoreCaps:
          type: array
          items:
            type: string
          description: >-
            Diagnostic list of caps applied to the score, such as explicit
            postcode or state mismatches.
          example:
            - explicitPostcodeMismatch
        searchScore:
          type: number
          description: >-
            Internal search relevance score when available. This value is
            unstable and must not be stored, sorted by, or used for business
            decisions.
          format: double
          example: 42.1
      required:
        - scoringVersion
        - queryMode
      description: >-
        Optional diagnostic metadata returned only when `debug=true` is
        supplied. Debug values are for support and troubleshooting, not
        production decision-making.
      example:
        scoringVersion: address-match-v1
        queryMode: autocomplete
        searchScore: 42.1
    AddressErrorCode:
      type: string
      enum:
        - INVALID_API_KEY
        - MISSING_API_KEY
        - RATE_LIMITED
        - QUOTA_EXCEEDED
        - PRODUCT_NOT_ALLOWED
        - INVALID_PARAMETERS
        - NOT_FOUND
        - INTERNAL_ERROR
      description: >-
        Stable machine-readable public Address API error code. Use this value
        for branching instead of parsing the human-readable `message`.
      example: INVALID_PARAMETERS
    AddressDocument:
      type: object
      properties:
        id:
          type: string
          description: >-
            Opaque G-NAF persistent identifier for this address record. Store it
            as a string and pass it to Enrich when you need the full public
            address document.
          example: GAQLD156786950
        addressLabel:
          anyOf:
            - type: string
              description: >-
                Formatted street-address line for display and form population.
                It usually contains the street number, street name, and any unit
                or building text available in the source record.
              example: 9 ENDEAVOUR COURT
            - type: 'null'
        localityName:
          anyOf:
            - type: string
              description: Official suburb or locality name associated with the address.
              example: LAMMERMOOR
            - type: 'null'
        state:
          anyOf:
            - $ref: '#/components/schemas/AustralianStateCode'
            - type: 'null'
        postcode:
          anyOf:
            - $ref: '#/components/schemas/Postcode'
            - type: 'null'
        confidence:
          anyOf:
            - $ref: '#/components/schemas/GnafConfidence'
            - type: 'null'
        geocode:
          anyOf:
            - $ref: '#/components/schemas/Geocode'
            - type: 'null'
        location:
          anyOf:
            - $ref: '#/components/schemas/Location'
            - type: 'null'
        boundaries:
          anyOf:
            - $ref: '#/components/schemas/AddressBoundaries'
            - type: 'null'
      required:
        - id
      description: >-
        Standard public address record returned by Validate and Reverse geocode,
        and used as the base for Enrich. Optional fields may be absent or null
        when the source data does not provide that attribute.
      example:
        id: GAQLD156786950
        addressLabel: 9 ENDEAVOUR COURT
        localityName: LAMMERMOOR
        state: QLD
        postcode: '4703'
        confidence: 2
    EnrichedAddressBoundaries:
      allOf:
        - $ref: '#/components/schemas/AddressBoundaries'
        - type: object
          properties:
            sa1:
              anyOf:
                - type: string
                  description: >-
                    ABS Statistical Area Level 1 code when available. SA1 is
                    useful for downstream statistical joins such as SEIFA.
                  example: '20802117831'
                - type: 'null'
            ward:
              anyOf:
                - $ref: '#/components/schemas/Ward'
                - type: 'null'
      description: >-
        Administrative, electoral, and ABS geography returned by Enrich. This is
        a strict superset of the standard address boundary object.
      example:
        lga:
          name: Glen Eira
          code: lga9bd137c30d17
        ward:
          name: Bambra Ward
        meshBlock:
          code: '20192490000'
          category: Residential
        sa1: '20802117831'
        sa2:
          name: Caulfield - South
          code: '208021178'
    AddressComponents:
      type: object
      properties:
        addressSiteName:
          anyOf:
            - type: string
              description: >-
                Site name associated with the address when available, such as a
                shopping centre, hospital, or campus.
              example: Footscray Market
            - type: 'null'
        buildingName:
          anyOf:
            - type: string
              description: Building name associated with the address when available.
              example: Tower A
            - type: 'null'
        flatType:
          anyOf:
            - type: string
              description: >-
                Unit, flat, shop, or suite type when the address has a
                subaddress component.
              example: UNIT
            - type: 'null'
        flatNumber:
          anyOf:
            - type: string
              description: Unit, flat, shop, or suite number without the type prefix.
              example: '14'
            - type: 'null'
        levelType:
          anyOf:
            - type: string
              description: Level type when the address has a floor or level component.
              example: LEVEL
            - type: 'null'
        levelNumber:
          anyOf:
            - type: string
              description: Level or floor number without the level type prefix.
              example: '1'
            - type: 'null'
        lotNumber:
          anyOf:
            - type: string
              description: >-
                Lot number for rural, unsubdivided, or lot-based addressing when
                available.
              example: '3'
            - type: 'null'
        streetNumberFirst:
          anyOf:
            - type: string
              description: First or only street number for the address.
              example: '5'
            - type: 'null'
        streetNumberLast:
          anyOf:
            - type: string
              description: Last street number when the address is represented as a range.
              example: '9'
            - type: 'null'
        streetName:
          anyOf:
            - type: string
              description: Street name without street type or suffix.
              example: DUKE
            - type: 'null'
        streetType:
          anyOf:
            - type: string
              description: Street type in its expanded public form when available.
              example: STREET
            - type: 'null'
        streetSuffix:
          anyOf:
            - type: string
              description: Street suffix or directional suffix when available.
              example: NORTH
            - type: 'null'
      description: Structured address components when available for the enriched record.
      example:
        flatType: FLAT
        flatNumber: '14'
        streetNumberFirst: '5'
        streetName: DUKE
        streetType: STREET
    AllGeocode:
      type: object
      properties:
        latitude:
          $ref: '#/components/schemas/Coordinate'
        longitude:
          $ref: '#/components/schemas/Coordinate'
        type:
          anyOf:
            - type: string
              description: >-
                Geocode method or level for this additional geocode when
                available.
              example: FRONTAGE CENTRE SETBACK
            - type: 'null'
        reliability:
          anyOf:
            - type: number
              description: >-
                Source geocode reliability value when available. Lower values
                usually indicate more precise location evidence.
              example: 2
            - type: 'null'
      required:
        - latitude
        - longitude
      description: >-
        One geocode associated with an enriched address record. Enrich preserves
        the source order after filtering invalid coordinates.
      example:
        latitude: -37.89180933
        longitude: 145.01510717
        type: FRONTAGE CENTRE SETBACK
        reliability: 2
    LocalityContext:
      type: object
      properties:
        id:
          anyOf:
            - type: string
              description: Public locality identifier when available.
              example: loc1b5a0e70afd4
            - type: 'null'
        classification:
          anyOf:
            - type: string
              description: Locality classification label when available.
              example: GAZETTED LOCALITY
            - type: 'null'
        neighbours:
          type: array
          items:
            type: string
          description: Neighbouring locality names when available.
          example:
            - ELSTERNWICK
            - GARDENVALE
            - ORMOND
        aliases:
          type: array
          items:
            type: string
          description: Alternative locality names when available.
          example:
            - FOOTSCRAY WEST
      description: Locality context when available for the enriched address.
      example:
        id: loc1b5a0e70afd4
        classification: GAZETTED LOCALITY
        neighbours:
          - ELSTERNWICK
          - GARDENVALE
          - ORMOND
        aliases: []
    StreetContext:
      type: object
      properties:
        id:
          anyOf:
            - type: string
              description: Public street identifier when available.
              example: VIC1953679
            - type: 'null'
        classification:
          anyOf:
            - type: string
              description: Street classification or confirmation label when available.
              example: CONFIRMED
            - type: 'null'
        aliases:
          type: array
          items:
            type: string
          description: Alternative street names when available.
          example:
            - OLD DUKE STREET
      description: Street context when available for the enriched address.
      example:
        id: VIC1953679
        classification: CONFIRMED
        aliases: []
    AddressAlias:
      type: object
      properties:
        id:
          anyOf:
            - type: string
              description: >-
                Public identifier for the alternate address record when
                available.
              example: MA13517230
            - type: 'null'
        addressLabel:
          anyOf:
            - type: string
              description: Alternate display label for the address.
              example: SHOP 1 GROUND 1 MCNAB AVENUE
            - type: 'null'
        type:
          anyOf:
            - type: string
              description: Alias type label when available.
              example: SYNONYM
            - type: 'null'
      description: Alternative address label associated with the enriched address.
      example:
        id: MA13517230
        addressLabel: SHOP 1 GROUND 1 MCNAB AVENUE
        type: SYNONYM
    SecondaryAddress:
      type: object
      properties:
        id:
          anyOf:
            - type: string
              description: >-
                Public identifier for the secondary address record when
                available.
              example: GAVIC425495838
            - type: 'null'
        addressLabel:
          anyOf:
            - type: string
              description: Display label for the secondary address.
              example: SHOP 1 1 MCNAB AVENUE
            - type: 'null'
      description: Secondary or child address associated with an enriched primary address.
      example:
        id: GAVIC425495838
        addressLabel: SHOP 1 1 MCNAB AVENUE
    AustralianStateCode:
      type: string
      enum:
        - NSW
        - VIC
        - QLD
        - SA
        - WA
        - TAS
        - NT
        - ACT
      description: >-
        Uppercase Australian state or territory code returned by the Address
        API. Allowed values are `NSW` New South Wales, `VIC` Victoria, `QLD`
        Queensland, `SA` South Australia, `WA` Western Australia, `TAS`
        Tasmania, `NT` Northern Territory, and `ACT` Australian Capital
        Territory.
      example: QLD
    Postcode:
      type: string
      pattern: ^\d{4}$
      description: >-
        Four-digit Australian postcode. Store postcodes as strings; integer
        coercion can remove leading zeroes used by some Australian postcodes.
      example: '4703'
    GnafConfidence:
      type: integer
      minimum: -1
      maximum: 2
      description: >-
        G-NAF source-record confidence metadata. `-1` represents a retired
        record; `0`, `1`, and `2` indicate one, two, or three supporting
        contributor datasets. This is provenance metadata, not Prontiq match
        quality.
      example: 2
      x-field-note: >-
        This is G-NAF source-record confidence, not `prontiqMatchScore` or
        `prontiqMatchQuality`. Autocomplete suggestions do not expose this
        field.
    Geocode:
      type: object
      properties:
        latitude:
          $ref: '#/components/schemas/Coordinate'
        longitude:
          $ref: '#/components/schemas/Coordinate'
        type:
          anyOf:
            - type: string
              description: >-
                G-NAF geocoding method when supplied by the source record, such
                as a frontage, property centroid, or locality-level point.
              example: PROPERTY CENTROID
            - type: 'null'
        reliability:
          anyOf:
            - type: integer
              minimum: 0
              maximum: 6
              description: >-
                G-NAF geocode reliability code from 0 to 6, where lower values
                indicate more precise location evidence. Treat this as geocode
                precision metadata, not address match quality.
              example: 2
              x-field-note: >-
                Lower is better: a smaller reliability number indicates a more
                precise geocode.
            - type: 'null'
      required:
        - latitude
        - longitude
      description: G-NAF geocoding metadata and decimal-degree coordinates for the address.
      example:
        latitude: -23.1601
        longitude: 150.7596
        type: PROPERTY CENTROID
        reliability: 2
    Location:
      type: object
      properties:
        lat:
          $ref: '#/components/schemas/Coordinate'
        lon:
          $ref: '#/components/schemas/Coordinate'
      required:
        - lat
        - lon
      description: >-
        Compact latitude/longitude point used for proximity workflows and map
        display.
      example:
        lat: -23.1601
        lon: 150.7596
    AddressBoundaries:
      type: object
      properties:
        lga:
          anyOf:
            - $ref: '#/components/schemas/NamedArea'
            - type: 'null'
        stateElectorate:
          anyOf:
            - $ref: '#/components/schemas/NamedArea'
            - type: 'null'
        commonwealthElectorate:
          anyOf:
            - $ref: '#/components/schemas/NamedArea'
            - type: 'null'
        meshBlock:
          anyOf:
            - $ref: '#/components/schemas/MeshBlock'
            - type: 'null'
        sa2:
          anyOf:
            - $ref: '#/components/schemas/NamedArea'
            - type: 'null'
        sa3:
          anyOf:
            - $ref: '#/components/schemas/NamedArea'
            - type: 'null'
        sa4:
          anyOf:
            - $ref: '#/components/schemas/NamedArea'
            - type: 'null'
        gccsa:
          anyOf:
            - $ref: '#/components/schemas/NamedArea'
            - type: 'null'
      description: >-
        Administrative, electoral, and ABS statistical geography linked to the
        address when supplied by G-NAF and ABS source data. Boundary values can
        change between official data releases without the address `id` changing.
      example:
        lga:
          name: Livingstone Shire
        stateElectorate:
          name: Keppel
        commonwealthElectorate:
          name: Capricornia
        meshBlock:
          code: '30000000000'
          category: Residential
        sa2:
          name: Yeppoon
          code: '308011188'
        sa3:
          name: Rockhampton
          code: '30801'
        sa4:
          name: Central Queensland
          code: '308'
    Ward:
      type: object
      properties:
        name:
          anyOf:
            - type: string
              description: Council ward name when available.
              example: Bambra Ward
            - type: 'null'
      description: Council ward associated with an enriched address when available.
      example:
        name: Bambra Ward
    Coordinate:
      type: number
      description: >-
        WGS84 decimal-degree coordinate used for Australian address locations
        and reverse-geocode queries.
      format: double
      example: -23.1601
    NamedArea:
      type: object
      properties:
        name:
          type: string
          description: Official administrative, electoral, or statistical area name.
          example: Yeppoon
        code:
          anyOf:
            - type: string
              description: >-
                Official ABS, electoral, or administrative area code when
                supplied by the source dataset.
              example: '308011188'
            - type: 'null'
      required:
        - name
      description: >-
        Named administrative, electoral, or statistical area associated with an
        address.
      example:
        name: Yeppoon
        code: '308011188'
    MeshBlock:
      type: object
      properties:
        code:
          type: string
          description: >-
            ABS Mesh Block code. Mesh Blocks are the smallest Australian Bureau
            of Statistics geographic areas used to build larger statistical
            regions.
          example: '30000000000'
        category:
          anyOf:
            - type: string
              description: >-
                ABS Mesh Block land-use category when available, such as
                Residential, Commercial, Parkland, or Education.
              example: Residential
            - type: 'null'
      required:
        - code
      description: >-
        ABS Mesh Block identifier and optional land-use category for the address
        location.
      example:
        code: '30000000000'
        category: Residential
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key

````