Example responses

See What One API Call Returns

These are real responses for Woolworths Group Limited, a company you can recognise. One request, one canonical entity, joined across every free government register, with the source and date on every field. Bearer token and internal identifiers are shown as placeholders.

Validate

Check an ABN or ACN in one request.

The cheapest call: confirm an identifier is well formed before you do anything else.

Request
GET /v1/validate/88000014675
Authorization: Bearer auo_sk_live_...
Response 200 OK
{
  "identifier_type": "abn",
  "input": "88000014675",
  "normalized": "88000014675",
  "valid": true
}

A pure check-digit test. Whether the entity exists is the resolve endpoint's job.

Resolve

Turn an ABN, ACN, or name into one enriched entity.

One call checks every register and returns a single record. The response below is real: the blocks that apply to Woolworths are populated, and the ones that do not (it is not a charity, an Indigenous corporation, or a super fund) come back empty, so you can see exactly what was checked. Every value carries its source and date.

One resolve call queried these registers for this entity:

ABR identityASIC CompaniesASIC AFS licensingASIC professional registersACNC charityORIC (Indigenous corps)Super Fund LookupGLEIF (LEI)DFAT sanctionsASIC banned and disqualifiedASIC insolvency notices

populated checked, does not apply here

Request
POST /v1/resolve
Authorization: Bearer auo_sk_live_...
Content-Type: application/json

{ "abn": "88000014675" }
Response 200 OK
{
  "query": { "abn": "88000014675" },
  "candidates": [
    {
      "match_confidence": 100,
      "match_signals": { "exact_identifier": "abn" },
      "canonical": {
        "entity_name": { "value": "WOOLWORTHS GROUP LIMITED", "source": "ABR", "as_of": "2026-07-06" },
        "entity_form": { "value": "company", "source": "ABR" },
        "abn": { "value": "88000014675", "source": "ABR", "as_of": "2026-07-06" },
        "acn": { "value": "000014675", "source": "ABR" },
        "abn_status": { "value": "Active", "source": "ABR", "as_of": "2026-07-06" },
        "gst_registered": { "value": true, "source": "ABR", "as_of": "2026-07-06" },
        "entity_type": { "value": "Australian Public Company", "source": "ABR" },
        "registered_office_state": { "value": "NSW", "source": "ABR" }
      },
      "provenance_complete": true,
      "charity": { "is_registered_charity": false },
      "licensing": {
        "afs_licensee": null,
        "credit_licensee": null,
        "afs_authorised_rep": {
          "licence_number": "000237502", "status": "Ceased", "register": "ASIC_AFS_authorised_rep"
        },
        "credit_rep": null
      },
      "professional_registrations": {
        "financial_adviser": null,
        "registered_auditor": null,
        "smsf_auditor": null,
        "registered_liquidator": { "status": "not_checked", "note": "liquidator register is person-name-keyed" }
      },
      "external_ids": null,
      "superannuation": { "is_super_fund": false },
      "icn": null,
      "screening": {
        "dfat_sanctions": { "status": "no_match", "checked_as_of": "2026-07-06" },
        "asic_banned_org": { "status": "no_match", "checked_as_of": "2026-07-06" },
        "asic_banned_person": { "status": "not_applicable", "note": "entity, not natural person" },
        "external_administration": { "status": "none_active", "source": "ASIC_published_notices" },
        "bankruptcy_petition": { "status": "not_applicable", "note": "applies to individuals" },
        "austrac_reporting_entity": { "status": "not_checked" }
      }
    }
  ],
  "disclaimer": "Does NOT include directors, shareholders, or beneficial ownership; these are not available in Australian free public sources."
}

Every value carries its source and, where the register dates it, an as_of. The AFS licence, GST status, and screening blocks all arrive in the one call.

Request
POST /v1/resolve
Authorization: Bearer auo_sk_live_...
Content-Type: application/json

{ "acn": "000014675" }
Response 200 OK
{
  "query": { "acn": "000014675" },
  "candidates": [
    {
      "match_confidence": 100,
      "match_signals": { "exact_identifier": "acn" },
      "canonical": {
        "entity_name": { "value": "WOOLWORTHS GROUP LIMITED", "source": "ABR", "as_of": "2026-07-06" },
        "entity_form": { "value": "company", "source": "ABR" },
        "abn": { "value": "88000014675", "source": "ABR", "as_of": "2026-07-06" },
        "acn": { "value": "000014675", "source": "ABR" },
        "abn_status": { "value": "Active", "source": "ABR", "as_of": "2026-07-06" },
        "entity_type": { "value": "Australian Public Company", "source": "ABR" }
      },
      "provenance_complete": true,
      "screening": {
        "dfat_sanctions": { "status": "no_match", "checked_as_of": "2026-07-06" },
        "asic_banned_org": { "status": "no_match", "checked_as_of": "2026-07-06" }
      }
    }
  ],
  "disclaimer": "Does NOT include directors, shareholders, or beneficial ownership; these are not available in Australian free public sources."
}

Resolve from a company number and the ABN comes back with it. The ACN to ABN link holds only for a company acting in its own right, so the API derives it from the register, never by assumption.

Request
POST /v1/resolve
Authorization: Bearer auo_sk_live_...
Content-Type: application/json

{ "name": "Woolworths Group" }
Response 200 OK
{
  "query": { "name": "Woolworths Group", "state": null, "postcode": null },
  "candidates": [
    {
      "match_confidence": 70,
      "match_signals": { "name_similarity": 1, "status_active": true, "former_name_match": false },
      "canonical": {
        "entity_name": { "value": "WOOLWORTHS GROUP LIMITED", "source": "ABR" },
        "abn": { "value": "88000014675", "source": "ABR" },
        "acn": { "value": "000014675", "source": "ABR" }
      }
    },
    {
      "match_confidence": 56,
      "match_signals": { "name_similarity": 0.928, "status_active": false, "former_name_match": false },
      "canonical": {
        "entity_name": { "value": "WOOLWORTHS GROUP PAYMENTS PTY LIMITED", "source": "ABR" },
        "abn": { "value": "44646516001", "source": "ABR" }
      }
    },
    {
      "match_confidence": 45,
      "match_signals": { "name_similarity": 0.918, "former_name_match": true },
      "canonical": {
        "entity_name": { "value": "FOOD FOR GOOD FOUNDATION PTY LTD", "source": "ABR" },
        "abn": { "value": "29002885547", "source": "ABR" }
      }
    }
  ],
  "disclaimer": "Verification and enrichment layer. Does NOT include directors, shareholders, or beneficial ownership; these are not available in Australian free public sources."
}

A name lookup is advisory: candidates are ranked by confidence (capped below an identifier-verified match), and a former-name hit is flagged. Verify the winner by its ABN before you act on it.

Screen

Screen against the sanctions and banned registers.

A dedicated call for watchlist screening. The verdict is never "cleared".

Request
POST /v1/screen
Authorization: Bearer auo_sk_live_...
Content-Type: application/json

{ "name": "Woolworths Group Limited" }
Response 200 OK
{
  "query": { "name": "Woolworths Group Limited", "dob": null, "pob": null },
  "overall": "no_match",
  "checked_as_of": "2026-07-06",
  "sources": {
    "dfat_sanctions": { "status": "no_match" },
    "asic_banned_person": { "status": "no_match" },
    "asic_banned_org": { "status": "no_match" }
  },
  "disclaimer": "No match found as of the checked date is not a clearance. Possible matches require human review. Screening covers DFAT sanctions and ASIC banned persons and organisations only; it does not confirm identity."
}

"No match found" is not a clearance. The result is review or no_match, never pass or fail, and the disclaimer says so in the response.

Watch

Subscribe to changes and get a signed webhook.

Register an entity once. A deregistration, name change, or new red flag arrives as an HMAC-signed POST to your endpoint.

Request
POST /v1/watch
Authorization: Bearer auo_sk_live_...
Content-Type: application/json

{
  "events": ["deregistration", "name_change"],
  "webhook_url": "https://your-app.example/hooks/auo",
  "entities": ["88000014675"]
}
Response 201 Created
{
  "subscription": {
    "id": "wsub_...",
    "env": "live",
    "events": ["deregistration", "name_change"],
    "webhook_url": "https://your-app.example/hooks/auo",
    "status": "active",
    "entities": [ { "identifier": "88000014675", "id_type": "abn" } ],
    "created_at": "2026-07-06T12:06:23Z"
  },
  "secret": "whsec_..."
}

The signing secret is returned exactly once, here. Store it now: the list and get endpoints never return it again.

Sources joined

One call, every free Australian government register.

The response is assembled from these sources. If a value is asserted, it came from one of them, and its provenance tells you which. Full detail is in the data sources reference.

Identity and core

  • Australian Business Register (ABR)
  • ASIC Companies
  • ASIC Business Names
  • GLEIF (LEI) and its free cross-walk

Enrichment

  • ACNC charity register
  • ORIC (Indigenous corporations)
  • Super Fund Lookup
  • ASIC AFS and credit licensing
  • ASIC professional registers (advisers, auditors, SMSF auditors)

Screening and monitoring

  • DFAT Consolidated Sanctions List
  • ASIC banned and disqualified
  • ASIC insolvency notices
Why the shape matters

Provenance is the point, not an add-on.

Each field in canonical is an object, not a bare value: the value, the source register it came from, and the as_of date it was read. When two registers disagree, the conflict is flagged, not silently resolved. That audit trail is what a compliance file needs.