API Documentation

The full reference for every endpoint is below. Base URL https://emergencyapi.com/api/v1. All/api/v1/* endpoints require an API key (Bearer), except /status and/attribution. New here? The Quick Start gets you a first incident in 30 seconds.

Prefer to try it live? Open the interactive playground. Machine-readable: OpenAPI spec, Markdown reference.

GET /incidents

List all current incidents

Returns a GeoJSON FeatureCollection of all current emergency incidents, with support for filtering, pagination, and bounding box queries.

Parameters

NameInRequiredTypeDescription
statequerynostringComma-separated state codes (e.g. nsw,vic,qld)
eventTypequerynostringComma-separated event types (bushfire, burn_off, fire_ban, structure_fire, vehicle_fire, grass_fire, hazmat, rescue, flood, storm, tree_down, cyclone, earthquake, extreme_heat, vehicle_accident, medical, alarm, other)
categoryquerynostringComma-separated event categories. Groups related event types (e.g. fire includes bushfire, structure_fire, grass_fire, vehicle_fire). burn_off is its own category (planned). See /api/v1/schema for the full mapping.
featureTypequerynostringComma-separated feature types. Defaults to 'incident' (point incidents only), so boundary polygons never appear unless requested. Request them explicitly: incident_area, warning_area, fire_ban_area. See /api/v1/schema.
severityquerynostringCAP-AU severity levels (Extreme, Severe, Moderate, Minor, Unknown)
urgencyquerynostringCAP-AU urgency levels (Immediate, Expected, Future, Past, Unknown)
certaintyquerynostringCAP-AU certainty levels (Observed, Likely, Possible, Unlikely, Unknown)
warningLevelquerynostringAustralian Warning System levels
statusquerynostringIncident status filter
agencyquerynostringSource agency filter
bboxquerynostringBounding box: minLon,minLat,maxLon,maxLat
limitquerynointegerResults per page (default 100, max 500)
afterquerynostringCursor for pagination (from meta.next_cursor)
formatquerynostringResponse format. CSV includes columns: id, state, agency, feed_id, title, event_type, status, warning_level, severity, urgency, certainty, lng, lat, address, suburb, lga, location_state, reported_at, updated_at, fetched_at, is_retracted, retracted_at, retraction_reason. cap-atom returns a standards-validated CAP Atom feed (each entry inlines a CAP-AU alert in <content>; incidents retracted in the last 7 days appear as Cancel messages). cap-au is the deprecated legacy <alerts> wrapper, kept for backward compatibility; new consumers should use cap-atom.
include_retractedquerynobooleanInclude retracted incidents (default false). Retracted incidents are marked when upstream feeds stop publishing them.

Responses

StatusDescription
200A GeoJSON FeatureCollection of incidents
429Rate limit exceeded

Example request

cURL
curl "https://emergencyapi.com/api/v1/incidents?state=nsw%2Cvic&eventType=bushfire%2Cflood" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example response

JSON
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "id": "nsw-rfs-1234567",
      "geometry": {
        "type": "Point",
        "coordinates": [
          150.604,
          -33.883
        ]
      },
      "properties": {
        "source": {
          "state": "nsw",
          "agency": "RFS",
          "feedId": "1234567"
        },
        "title": "Bush Fire - Warragamba",
        "eventType": "bushfire",
        "status": "active",
        "warningLevel": "watch_and_act",
        "severity": "Severe",
        "urgency": "Expected",
        "certainty": "Observed",
        "location": {
          "address": "Warragamba Dam Rd, Warragamba NSW",
          "suburb": "Warragamba",
          "state": "NSW",
          "latitude": -33.883,
          "longitude": 150.604
        },
        "details": {
          "description": "Bush fire burning in a south-easterly direction"
        },
        "timestamps": {
          "reported": "2026-04-07T14:30:00+10:00",
          "updated": "2026-04-07T16:45:00+10:00",
          "fetched": "2026-04-07T16:46:12+10:00"
        },
        "retraction": {
          "retracted": true,
          "retractedAt": "2026-04-07T18:00:00+10:00",
          "reason": "upstream_removed"
        }
      }
    }
  ],
  "meta": {
    "total_count": 245,
    "has_more": true,
    "next_cursor": "cursor_xyz789",
    "generatedAt": "2026-04-07T16:46:12+10:00"
  },
  "links": {
    "self": "/v1/incidents?limit=100",
    "next": "/v1/incidents?limit=100&after=cursor_xyz789"
  },
  "attribution": "https://emergencyapi.com/api/v1/attribution"
}
GET /incidents/{id}

Get a single incident

Returns a single incident as a GeoJSON Feature.

Parameters

NameInRequiredTypeDescription
idpathyesstringIncident ID (e.g. nsw-rfs-1234567)
formatquerynostringResponse format. Default geojson returns a GeoJSON Feature. cap-au returns the incident as a single standards-valid CAP-AU <alert> document (Content-Type application/cap+xml), validated against the OASIS CAP 1.2 schema and the CAP-AU Profile v3.0.

Responses

StatusDescription
200A GeoJSON Feature, or a CAP-AU alert document when format=cap-au
404Incident not found

Example request

cURL
curl "https://emergencyapi.com/api/v1/incidents/{id}" \
  -H "Authorization: Bearer YOUR_API_KEY"
GET /incidents/nearby

Find incidents near a location

Returns incidents within a radius (km) of a given lat/lng coordinate, sorted by distance.

Parameters

NameInRequiredTypeDescription
latqueryyesnumberLatitude
lngqueryyesnumberLongitude
radiusqueryyesnumberRadius in kilometres (max 500)
limitquerynointeger
statequerynostring
eventTypequerynostring
severityquerynostring
eventCategoryquerynostring
urgencyquerynostring
certaintyquerynostring
warningLevelquerynostring
agencyquerynostring
statusquerynostringComma-separated incident statuses (active, contained, controlled, safe, completed). Defaults to all.
include_retractedquerynobooleanSet true to include retracted incidents. Default false; retracted incidents are hidden, matching /incidents.

Responses

StatusDescription
200Nearby incidents as GeoJSON FeatureCollection
400Missing or invalid parameters

Example request

cURL
curl "https://emergencyapi.com/api/v1/incidents/nearby?lat=-33.87&lng=151.21" \
  -H "Authorization: Bearer YOUR_API_KEY"
GET /incidents/snapshot

Audit trail snapshot

Returns the incidents that were active at a specific point in time. Recent datetimes are reconstructed from live and lifecycle data. Datetimes before 2026-04-08 are reconstructed from the historical archive (4.8M+ records) and are gated by the same tier lookback as /incidents/history (free has no archive access; Starter 1 year, Developer and Business 5 years, Pro and Enterprise unlimited). Archive (pre-2026-04-08) snapshots require a state filter, and meta.source indicates whether the result came from "live" or "archive".

Parameters

NameInRequiredTypeDescription
datetimequeryyesstringISO 8601 datetime to query (cannot be in the future)
statequerynostringFilter by state code. Required for archive (pre-2026-04-08) snapshots.
event_typequerynostringFilter by event type
limitquerynointegerMax results (default 500)

Responses

StatusDescription
200Incidents active at the requested datetime
400Missing or invalid datetime, or an archive (pre-2026-04-08) snapshot requested without the required state filter
403Archive access requires a paid plan, or the datetime predates your tier's lookback window

Example request

cURL
curl "https://emergencyapi.com/api/v1/incidents/snapshot?datetime=2026-04-20T14%3A30%3A00%2B09%3A30&state=sa" \
  -H "Authorization: Bearer YOUR_API_KEY"
GET /incidents/history

Historical incident data (paid tier)

Returns historical emergency incidents from the 4.8M+ record archive (1840-2026). Free tier is blocked. Starter tier limited to 1 year lookback, Developer and Business to 5 years, Pro and Enterprise unlimited.

Parameters

NameInRequiredTypeDescription
statequerynostringComma-separated state codes
eventTypequerynostringComma-separated event types
afterquerynostringStart of date range (ISO 8601, inclusive). Tier-limited.
beforequerynostringEnd of date range (ISO 8601, exclusive). Defaults to now.
limitquerynointegerMax results per page (1-500, default 100)

Responses

StatusDescription
200Historical incidents matching filters
403Free tier blocked or depth limit exceeded

Example request

cURL
curl "https://emergencyapi.com/api/v1/incidents/history?state=wa%2Csa&eventType=bushfire%2Cflood" \
  -H "Authorization: Bearer YOUR_API_KEY"
GET /states

Feed health by state

Returns the status of each state feed, including last poll time, health, and incident count.

Responses

StatusDescription
200Feed status for all states

Example request

cURL
curl "https://emergencyapi.com/api/v1/states" \
  -H "Authorization: Bearer YOUR_API_KEY"
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. Built for Medicare disaster telehealth checks.

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
403The account lacks the declarations entitlement (enterprise-only, manually negotiated)
429Rate limit exceeded

Example request

cURL
curl "https://emergencyapi.com/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; some ABS codes aggregate multiple administrative areas (for example Unincorporated NSW covers both Far West and Lord Howe Island).

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
403The account lacks the declarations entitlement (enterprise-only, manually negotiated)
429Rate limit exceeded

Example request

cURL
curl "https://emergencyapi.com/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
limitquerynointeger
cursorquerynostringOpaque pagination cursor from links.next.

Responses

StatusDescription
200A page of declaration records
400Invalid active_on date, status, limit, or cursor
401Missing or invalid API key
403The account lacks the declarations entitlement (enterprise-only, manually negotiated)
429Rate limit exceeded

Example request

cURL
curl "https://emergencyapi.com/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
403The account lacks the declarations entitlement (enterprise-only, manually negotiated)
404No declaration found for the AGRN
429Rate limit exceeded

Example request

cURL
curl "https://emergencyapi.com/api/v1/declarations/agrn/1284" \
  -H "Authorization: Bearer YOUR_API_KEY"
GET /status

API health check

Returns API health, version, uptime, and a summary of feed statuses.

Responses

StatusDescription
200API health status

Example request

cURL
curl "https://emergencyapi.com/api/v1/status"
GET /attribution

Data source attributions

Returns attribution information for all data sources, including licence details. Required for CC BY compliance.

Responses

StatusDescription
200Attribution data for all sources

Example request

cURL
curl "https://emergencyapi.com/api/v1/attribution"
GET /events

List clustered events (incident intelligence)

Returns spatially clustered emergency events as a GeoJSON FeatureCollection. Events group related incidents using PostGIS ST_ClusterDBSCAN spatial clustering. Each event has a boundary polygon, centroid, affected suburbs, contributing agencies, and auto-generated title and summary. Only active events are returned by default.

Parameters

NameInRequiredTypeDescription
limitquerynointegerMaximum events to return (default 50, max 200)
statequerynostringComma-separated state codes to filter by (e.g. nsw,vic). Uses array overlap matching.
eventTypequerynostringComma-separated event types (e.g. bushfire,flood)
severityquerynostringComma-separated max severity levels
warningLevelquerynostringComma-separated max warning levels

Responses

StatusDescription
200A GeoJSON FeatureCollection of clustered events
401Missing or invalid API key
429Rate limit exceeded

Example request

cURL
curl "https://emergencyapi.com/api/v1/events?state=nsw%2Cvic&eventType=bushfire%2Cflood" \
  -H "Authorization: Bearer YOUR_API_KEY"
GET /events/{id}

Get a single event with optional linked incidents

Returns a single clustered event by ID. Use `include_incidents=true` to also retrieve all incidents that belong to this event cluster.

Parameters

NameInRequiredTypeDescription
idpathyesstringEvent UUID
include_incidentsquerynobooleanInclude linked incidents in the response

Responses

StatusDescription
200A single event as a GeoJSON Feature
401Missing or invalid API key
404Event not found

Example request

cURL
curl "https://emergencyapi.com/api/v1/events/{id}" \
  -H "Authorization: Bearer YOUR_API_KEY"
GET /schema

API schema and valid enum values

Returns all valid enum values for event types, categories, states, warning levels, and other filterable fields. Use this to discover what values are accepted by filter parameters. No authentication required.

Responses

StatusDescription
200All valid enum values and category mappings

Example request

cURL
curl "https://emergencyapi.com/api/v1/schema" \
  -H "Authorization: Bearer YOUR_API_KEY"
GET /gauges

River gauge stations with live flood status

Returns river gauge stations with their latest water level, the Bureau of Meteorology flood classification thresholds for each gauge, and a derived floodClass (below_minor, minor, moderate, major, or unclassified) computed from the latest reading against the published thresholds. Readings are in metres relative to each gauge's local datum. readingStatus flags stale data (bom-kiwis sourced stations are a 1-2 day archive, stale horizon 72 hours; telemetry sources 24 hours). Status reporting, not flood prediction.

Parameters

NameInRequiredTypeDescription
statequerynostringLowercase state code (nsw, vic, qld, sa, wa, tas, nt, act)
floodClassquerynostringFilter to gauges at or above this class (>= semantics: minor matches moderate and major too)
lgaquerynostringABS LGA code (the same LGA_2022 vocabulary as the declarations API)
sourcequerynostringPolling source (hydstra-nsw, hydstra-vic, hydstra-qld, aquarius-sa, aquarius-tas, aquarius-nt, bom-kiwis)
bboxquerynostringBounding box minLng,minLat,maxLng,maxLat (within Australia)
limitquerynointegerMax results per page (1-500, default 100)
cursorquerynostringPagination cursor from meta.nextCursor

Responses

StatusDescription
200Gauge stations with latest readings and flood status
401Missing or invalid API key

Example request

cURL
curl "https://emergencyapi.com/api/v1/gauges?state=nsw&lga=17750" \
  -H "Authorization: Bearer YOUR_API_KEY"
GET /gauges/{id}

One gauge with a 6-hour recent window

Returns a single gauge station plus its trailing 6 hours of raw readings (enough to see the current trend). Deeper history is the tier-gated /gauges/{id}/readings endpoint.

Parameters

NameInRequiredTypeDescription
idpathyesstringGauge id from /gauges (e.g. hydstra-nsw-410001)

Responses

StatusDescription
200The gauge and its recent readings
404No active gauge with that id

Example request

cURL
curl "https://emergencyapi.com/api/v1/gauges/{id}" \
  -H "Authorization: Bearer YOUR_API_KEY"
GET /gauges/{id}/readings

Gauge reading history (paid tier)

Historical water level readings for one gauge. Free tier is blocked (the free surface is current readings on /gauges and the 6-hour window on /gauges/{id}). Starter tier limited to 1 year lookback, Developer and Business to 5 years, Pro and Enterprise unlimited. Retention ladder: raw 30 days, hourly rollups 90 days, daily forever — plus full-resolution raw inside flood-event windows kept forever. interval=auto picks the finest granularity available for the requested window.

Parameters

NameInRequiredTypeDescription
idpathyesstring
afterquerynostringStart of range (ISO 8601, inclusive). Tier-limited.
beforequerynostringEnd of range (ISO 8601, exclusive). Defaults to now.
intervalquerynostringraw, hourly, daily, or auto (default)
abovequerynostringOnly readings at/above this published flood classification for the gauge
limitquerynointeger
cursorquerynostringPagination cursor from meta.nextCursor (ISO timestamp keyset)

Responses

StatusDescription
200Readings for the gauge, newest first
403Free tier blocked or depth limit exceeded

Example request

cURL
curl "https://emergencyapi.com/api/v1/gauges/{id}/readings" \
  -H "Authorization: Bearer YOUR_API_KEY"
GET /gauges/summary

Flood status counts by state or LGA

Counts of gauges at or above minor/moderate/major flood classification, grouped by state or LGA, plus the full list of at-or-above-minor stations (capped at 500). STALE GUARD: only readings within the staleness horizon enter class counts — a days-old reading above minor is counted as stale, never as a current flood signal.

Parameters

NameInRequiredTypeDescription
groupByquerynostringstate (default) or lga (requires the state parameter)
statequerynostring

Responses

StatusDescription
200Flood status summary

Example request

cURL
curl "https://emergencyapi.com/api/v1/gauges/summary?state=sa" \
  -H "Authorization: Bearer YOUR_API_KEY"
Schemas

Response object fields. The per-incident details object is agency-specific and varies by feed; the full per-feed breakdown is in the incident details fields guide.

IncidentFeature

FieldTypeDescription
type"Feature"
idstring
geometryobject
geometry.typestringOne of: Point, Polygon, MultiPolygon.
geometry.coordinatesoneOf
propertiesobject
properties.sourceobject
properties.source.statestring
properties.source.agencystring
properties.source.feedIdstring
properties.titlestring
properties.eventTypestringOne of: bushfire, burn_off, fire_ban, structure_fire, vehicle_fire, grass_fire, hazmat, rescue, flood, storm, tree_down, cyclone, earthquake, extreme_heat, vehicle_accident, medical, alarm, other.
properties.eventCategorystringGroups related event types. See /api/v1/schema for the full mapping. One of: fire, weather, rescue, hazmat, medical, alarm, planned, earth, hazard, other.
properties.featureTypestringPoint incident or boundary polygon. Defaults to 'incident'; list endpoints return only incidents unless ?featureType= is supplied. One of: incident, incident_area, warning_area, fire_ban_area.
properties.statusstringOne of: active, contained, controlled, safe, completed.
properties.warningLevelstringOne of: advice, watch_and_act, emergency_warning, none.
properties.severitystringOne of: Extreme, Severe, Moderate, Minor, Unknown.
properties.urgencystringOne of: Immediate, Expected, Future, Past, Unknown.
properties.certaintystringOne of: Observed, Likely, Possible, Unlikely, Unknown.
properties.locationobject
properties.location.addressstring
properties.location.suburbstring
properties.location.statestring
properties.location.lgastring
properties.location.latitudenumberCentroid latitude (extracted from geometry)
properties.location.longitudenumberCentroid longitude (extracted from geometry)
properties.location.precisionstringCoordinate precision. 'exact' = authoritative point from the source feed. 'postcode' or 'lga' = approximate centroid backfilled for historical archive rows that logged no point. Absent when no coordinates are available (geometry is null). One of: exact, postcode, lga.
properties.detailsobjectAgency-specific incident metadata, passed through from the source feed. OPTIONAL and varies by feed AND by incident (it is not standardised across agencies, and some feeds carry none). Render whatever keys are present rather than expecting a fixed set. The properties below are the common ones; the full per-feed breakdown (every field, its type and meaning) is documented at https://emergencyapi.com/guides/incident-details-fields
properties.details.descriptionstringSource detail text; structure varies by feed (NSW RFS alert block, a place name, raw pager text, etc.).
properties.details.resourcesintegerCount of resources (crews/appliances/units) assigned or responding.
properties.details.aircraftintegerCount of aircraft assigned (SA CFS/MFS).
properties.details.decoded_unitsstring[]Decoded responding unit names (SA pager feeds).
properties.details.alarm_level_descriptionstringAlarm/warning level label (SA pager feeds).
properties.details.priority_descriptionstringCase priority label (SA Ambulance pager).
properties.details.sizestringIncident size label, e.g. Small/Medium/Large (VIC OSOM).
properties.details.cad_idstringCAD dispatch identifier (e.g. WA DFES 6-digit number)
properties.details.source_idstringUpstream agency record ID
properties.details.source_urlstringDeep link to the incident on the source agency website
properties.timestampsobject
properties.timestamps.reportedstring
properties.timestamps.updatedstring
properties.timestamps.fetchedstring
properties.archiveobjectEM-DAT / historical enrichment. Present only on deep-archive snapshot results (meta.source = archive). Each field appears only when populated.
properties.archive.eventStartDatestring
properties.archive.eventEndDatestring
properties.archive.magnitudenumber
properties.archive.magnitudeScalestring
properties.archive.impactDeathsinteger
properties.archive.impactAffectedinteger
properties.archive.impactEconomicnumber
properties.archive.glideNumberstringGLIDE disaster identifier

IncidentCollection

FieldTypeDescription
type"FeatureCollection"
featuresIncidentFeature[]
metaobject
meta.total_countinteger
meta.has_moreboolean
meta.next_cursorstring
meta.generatedAtstring
linksobject
links.selfstring
links.nextstring
attributionstring

EventFeature

FieldTypeDescription
type"Feature"
idstring
geometryobjectBoundary polygon (convex hull of cluster) or centroid point
geometry.typestringOne of: Polygon, Point.
geometry.coordinatesoneOf
propertiesobject
properties.titlestring
properties.incidentCountinteger
properties.affectedSuburbsstring[]
properties.affectedStatesstring[]
properties.agenciesstring[]
properties.eventTypesstring[]
properties.maxSeveritystringOne of: Extreme, Severe, Moderate, Minor, Unknown.
properties.maxWarningLevelstringOne of: advice, watch_and_act, emergency_warning, none.
properties.estimatedHectaresnumber
properties.summarystring
properties.firstDetectedAtstring
properties.lastUpdatedAtstring
properties.isActiveboolean

EventCollection

FieldTypeDescription
type"FeatureCollection"
featuresEventFeature[]
metaobject
meta.totalEventsinteger
meta.generatedAtstring
attributionstring

ProblemDetails

RFC 9457 Problem Details

FieldTypeDescription
typestring
titlestring
statusinteger
detailstring
instancestring

DeclarationRecord

FieldTypeDescription
agrnstring
titlestring
instrumentTypestringOne of: state_natural_disaster_declaration, drfa_activation_agrn, state_of_disaster_emergency_powers.
jurisdictionstring
disasterTypesstring[]
startDatestring
endDatestring
statusstringOne of: active, expired, unknown.
sourcestringDisplay name of the highest-precedence reporting source
sourcesstring[]Every government source reporting this AGRN+instrument for this LGA. Multiple entries = multiple sources corroborate it.
sourceUrlstring
sourcePublishedAtstring

PostcodeDeclarationRecord

MatchedLga

FieldTypeDescription
lgaCodestring
lgaNamestring
populationSharenumberShare of the postcode's population in this LGA (ABS correspondence). Always the postcode-level share, even when the response is narrowed by suburb (never renormalised). null for point lookups, where population share is not a meaningful concept.
declarationStatusstringOne of: declared, uncertain, activation_only, not_declared.
declarationsPostcodeDeclarationRecord[]

SuburbNarrowing

Present on postcode responses only when the suburb parameter was supplied.

FieldTypeDescription
requestedstringThe trimmed caller input (up to 100 characters)
appliedboolean
methodstringHow suburb-to-LGA membership was derived. spatial_derivation = area-weighted intersection of ABS SAL 2021 and LGA 2022 boundary polygons (the current source; ABS publishes no SAL 2021 to LGA 2022 correspondence); abs_sal_lga_correspondence = a published ABS population-weighted correspondence, if one is adopted later. One of: spatial_derivation, abs_sal_lga_correspondence.
matchedSuburbsobject[]The ABS SAL suburb(s) the input matched within this postcode. More than one entry means the bare name denotes multiple suburbs (their LGA sets are unioned).
reasonstringPresent only when applied is false One of: suburb_not_found_in_postcode, suburb_lgas_outside_postcode, unknown_postcode.
knownSuburbsstring[]Present only when applied is false and the postcode is known — the postcode's suburb names

PostcodeDeclarationResult

FieldTypeDescription
postcodestring
matchStatusstringOne of: declared, partial, not_declared, uncertain, activation_only, unknown_postcode.
matchStatusReasonstringPresent when matchStatus is uncertain or activation_only
matchedLgasMatchedLga[]
narrowingSuburbNarrowing
asAtstringDate the status was evaluated against; the requested as_at value or today (AEST) when omitted
dataLastUpdatedstring
staleboolean
disclaimerstring
attributionstring

PointLookupRequest

FieldTypeDescription
latnumber
lngnumber
as_atstringPoint-in-time check (YYYY-MM-DD). Defaults to today.
include_expiredbooleanInclude expired records in the per-LGA lists. Never changes matchStatus.
instrument_typestringTrim the returned record lists to one instrument type. Never changes matchStatus. One of: state_natural_disaster_declaration, drfa_activation_agrn, state_of_disaster_emergency_powers.

PointDeclarationResult

FieldTypeDescription
matchStatusstringOne of: declared, partial, not_declared, uncertain, activation_only, unknown_location.
matchStatusReasonstringPresent when matchStatus is uncertain or activation_only
matchedLgasMatchedLga[]Normally one area. Two areas only when the point lies exactly on a shared boundary (onBoundary=true); partial is then possible and means the covering areas have different statuses.
onBoundarybooleanPresent (true) only when the point lies on a shared LGA boundary and more than one area is returned.
boundaryEditionstringABS boundary edition the point was resolved against. Informative, not an enum — it changes with ASGS edition refreshes. LGA matching is at ABS code level; point-in-polygon cannot be more precise than the code.
asAtstringDate the status was evaluated against; the requested as_at value or today (AEST) when omitted
dataLastUpdatedstring
staleboolean
disclaimerstring
attributionstring

DeclarationListItem

DeclarationList

FieldTypeDescription
declarationsDeclarationListItem[]
dataLastUpdatedstring
staleboolean
disclaimerstring
linksobject
links.nextstring
attributionstring

DeclarationDetail

FieldTypeDescription
agrnstring
titlestring
instrumentTypestring
jurisdictionstring
disasterTypesstring[]
startDatestring
endDatestring
statusstringOne of: active, expired, unknown.
sourcestring
sourcePublishedAtstring
sourceUrlstring
contributingSourcesobject[]
affectedLgasobject[]
dataLastUpdatedstring
staleboolean
disclaimerstring
attributionstring

Gauge

A river gauge station with its latest reading and derived flood status. Readings are metres relative to the gauge's local datum, not sea level.

FieldTypeDescription
idstring
namestring
riverstring
statestring
agencystring
sourcestring
awrcStationNostring
coordinatesobject
coordinates.latnumber
coordinates.lngnumber
lgaobject
lga.codestring
lga.namestring
latestobject
latest.valuenumber
latest.observedAtstring
latest.qualitystring
readingStatusstringOne of: live, stale.
floodClassstringDerived at read time from the latest reading vs the published BoM thresholds; never stored as judgement. One of: below_minor, minor, moderate, major, unclassified.
thresholdsobject
thresholds.minornumber
thresholds.moderatenumber
thresholds.majornumber
thresholds.unitstring
thresholds.sourcestring
thresholds.versionstring
thresholds.fetchedAtstring
datumobject
datum.gaugeZeroMnumber
datum.datumstring

GaugeReading

A raw reading (observedAt/value/quality) or an aggregated bucket (bucket/min/max/mean/nObs), depending on the interval.

FieldTypeDescription
observedAtstring
valuenumber
qualitystring
bucketstring
minnumber
maxnumber
meannumber
nObsinteger

GaugeCollection

FieldTypeDescription
gaugesGauge[]
metaobject
meta.countinteger
meta.hasMoreboolean
meta.nextCursorstring
meta.generatedAtstring
disclaimerstring
attributionstring