API reference

Disaster declarations

Which local government areas sit inside a declared disaster area, by postcode, point or AGRN. Base URL https://dataquoll.io/api/v1.

GET/declarations/postcode/{postcode}

Disaster declaration status for a postcode

Returns the declaration STATUS for a postcode: declared, partial, activation_only, not_declared, uncertain, or unknown_postcode, with per-LGA detail and official source links. Reports declared-area status only; the billing/eligibility decision rests with the practitioner.

Parameters

NameInRequiredTypeDescription
postcodepathYesstring
as_atqueryNostringPoint-in-time check (YYYY-MM-DD). Defaults to today.
include_expiredqueryNobooleanInclude expired records in the per-LGA lists. Never changes matchStatus.
instrument_typequeryNostringTrim the returned record lists to one instrument type. Never changes matchStatus.
suburbqueryNostringOptional suburb/locality name (ABS SAL) to narrow the result to the local government areas that suburb falls in, within this postcode only. Matching is exact after normalisation; there is no fuzzy matching. An unmatched suburb never fails the lookup: the full-postcode result is returned with narrowing.applied=false, a reason, and the postcode's known suburbs. Narrowing can legitimately change matchStatus (for example partial to declared); a suburb that itself spans two LGAs stays partial, and a bare name that denotes suburbs on both sides of a border (Mingoola in 4380) matches all of them.

Responses

StatusDescription
200Declaration status (including unknown_postcode for an absent postcode)
400Malformed postcode or as_at
401Missing or invalid API key. While pay per request is on, a request with no Authorization header gets 402 instead.
402Pay per request: no key was sent, so the answer is a price. The WWW-Authenticate header carries an MPP Payment challenge; pay it and send the request again with Authorization: Payment. Also sent, with a fresh price, when a payment fails its checks or its price has expired. Only while pay per request is on; otherwise a request without a key gets 401.
403The declarations API is not on this account (it comes with the Organisation licence)
429Rate limit exceeded
Request
curl "https://dataquoll.io/api/v1/declarations/postcode/4380?suburb=Stanthorpe" \
  -H "Authorization: Bearer YOUR_API_KEY"
POST/declarations/point

Disaster declaration status for an exact point

Returns the declaration STATUS for the local government area containing a lat/lng point, resolved against ABS LGA 2022 (ASGS Edition 3) boundary polygons at full resolution. POST with a JSON body is used deliberately so coordinates never appear in URLs or request logs; the request is read-only and safe to retry. Coordinates are never stored, logged, or echoed back, and the response is Cache-Control: no-store. Reports declared-area status only; the billing decision rests with the practitioner. A point outside every Australian LGA returns unknown_location. A point exactly on a shared LGA boundary returns every covering area with onBoundary=true. LGA matching is at ABS code level. ABS gives each state one catch-all code for land outside councils, which joins separate places (Unincorporated NSW is the Far West, Lord Howe Island and parts of Sydney Harbour). Where we hold part boundaries (NSW and Victoria), the matched LGA carries the part the point is in as area, and records placed in another part are left out; a record we hold against a whole catch-all, because the source's name for it matches no part we can place, carries scope part_not_stated and, where it differs from the ABS name, the source's own name in publishedFor.

Responses

StatusDescription
200Declaration status for the covering LGA (including unknown_location when no LGA covers the point)
400Invalid body, lat, lng, or as_at. Error detail never repeats submitted values.
401Missing or invalid API key. While pay per request is on, a request with no Authorization header gets 402 instead.
402Pay per request: no key was sent, so the answer is a price. The WWW-Authenticate header carries an MPP Payment challenge; pay it and send the request again with Authorization: Payment. Also sent, with a fresh price, when a payment fails its checks or its price has expired. Only while pay per request is on; otherwise a request without a key gets 401.
403The declarations API is not on this account (it comes with the Organisation licence)
429Rate limit exceeded
Request
curl "https://dataquoll.io/api/v1/declarations/point" \
  -H "Authorization: Bearer YOUR_API_KEY"
GET/declarations

List/filter declarations

Browse and historically report on declaration records. Filters and keyset (cursor) pagination. Record status is derived at query time.

Parameters

NameInRequiredTypeDescription
jurisdictionqueryNostring
statusqueryNostring
instrument_typequeryNostring
disaster_typequeryNostring
active_onqueryNostring
limitqueryNointegerRecords fetched per page, 1 to 500. Status is derived after the fetch, so a page can hold fewer records than limit, or none, while links.next is still set. Follow links.next until it is null.
cursorqueryNostringOpaque pagination cursor. Follow links.next, which is this request with only the cursor changed. A cursor marks a position, not a query: if you send one yourself, send the same filters and limit as the request that returned it, or you page a different listing.

Responses

StatusDescription
200A page of declaration records
400Invalid active_on date, status, limit, or cursor
401Missing or invalid API key. While pay per request is on, a request with no Authorization header gets 402 instead.
402Pay per request: no key was sent, so the answer is a price. The WWW-Authenticate header carries an MPP Payment challenge; pay it and send the request again with Authorization: Payment. Also sent, with a fresh price, when a payment fails its checks or its price has expired. Only while pay per request is on; otherwise a request without a key gets 401.
403The declarations API is not on this account (it comes with the Organisation licence)
429Rate limit exceeded
Request
curl "https://dataquoll.io/api/v1/declarations" \
  -H "Authorization: Bearer YOUR_API_KEY"
GET/declarations/agrn/{agrn}

One disaster event by AGRN (across sources)

The declaration/activation for an Australian Government Reference Number, merged across sources with the full affected-LGA list.

Parameters

NameInRequiredTypeDescription
agrnpathYesstring

Responses

StatusDescription
200The merged declaration record
400Malformed AGRN (must be numeric)
401Missing or invalid API key. While pay per request is on, a request with no Authorization header gets 402 instead.
402Pay per request: no key was sent, so the answer is a price. The WWW-Authenticate header carries an MPP Payment challenge; pay it and send the request again with Authorization: Payment. Also sent, with a fresh price, when a payment fails its checks or its price has expired. Only while pay per request is on; otherwise a request without a key gets 401.
403The declarations API is not on this account (it comes with the Organisation licence)
404No declaration found for the AGRN
429Rate limit exceeded
Request
curl "https://dataquoll.io/api/v1/declarations/agrn/1284" \
  -H "Authorization: Bearer YOUR_API_KEY"