Stationworks developers
Stationworks Permits API

AgencyStatus

​Agency · required
​Verdict · required

The board's "Can I have a fire today?" answer.

​required

Null when the district has no current season window.

fireDanger
​string | null · enum · required

New values may be added; treat an unknown value as unknown. Null when no fire-danger level is set.

Enum values:
low
moderate
high
very_high
extreme
​Status[] · required
​Permit[] · required
​required

Current air quality near the district, from AirNow. Null when AirNow has no usable reading, or is unreachable.

​required

Current wind, weather, and fire alerts near the district, from the National Weather Service. Null when NWS has no usable reading.

generatedAt
​string · date-time · required

When this response was built, not when a state last changed.

Agency

id
​string · uuid · required
name
​string · required
url
​string · uri · required

The district's own domain when it has one; the shared host otherwise.

Verdict

The board's "Can I have a fire today?" answer.
value
​string · enum · required

New values may be added; treat an unknown value as unknown.

Enum values:
open
open_limited
restricted
closed
unknown
label
​string · required

Display text. May change; consumers must not match on it.

Season

start
​string · date · required
end
​string · date · required

Status

Answers "can I burn this?" for one row on the board.
id
​string · uuid · required
label
​string · required
state
​string · enum · required

New values may be added; treat an unknown value as unknown.

Enum values:
open
closed
restricted
kind
​string · enum · required

New values may be added; treat an unknown value as unknown. informational rows carry heading; permit rows carry permitId.

Enum values:
permit
informational
heading
​string | null · required

An informational row's display heading. Null on a permit row.

description
​string | null · required

What the row covers, in the district's own words.

stateReason
​string | null · required

Why this status is in its state, when the district set it by hand.

rulesMarkdown
​string | null · required

The district's full rules, as CommonMark. Render as CommonMark and sanitize the result.

​required

Set on a row that follows an outside authority; null on a row set by hand.

linkUrl
​string | null · uri · required

The district's own "read more" link, separate from source.url.

permitId
​string | null · uuid · required

The linked permit's id, for a permit-kind row. Null on an informational row, or when the link is retired.

StatusSource

url
​string | null · uri · required

The authority's readable page.

says
​string | null · required

The authority's own words, quoted.

staleSince
​string | null · date-time · required

Set only while the source has stopped answering.

Permit

Answers "what can I buy?".
id
​string · uuid · required
name
​string · required
description
​string | null · required
rulesMarkdown
​string | null · required

The district's full rules, as CommonMark. Render as CommonMark and sanitize the result.

​Price · required

What the buyer pays before any sales tax.

​Validity · required
requiresApproval
​boolean · required

Whether the district must sign off before an issued permit is valid.

onSale
​boolean · required
offSaleNote
​string | null · required

The district's own sentence for why sales are paused. Null only when the district hasn't set one.

statusId
​string | null · uuid · required

The linked status row's id, if this permit type has one. A permit can be on sale while its linked status is closed.

buyUrl
​string · uri · required

Price

What the buyer pays before any sales tax.
amountCents
​integer · required
currency
​string · required

ISO currency code.

Validity

kind
​string · enum · required

New values may be added; treat an unknown value as unknown.

Enum values:
season
project
start
​string | null · date · required

Set only when kind is season.

end
​string | null · date · required

Set only when kind is season.

maxDays
​integer | null · required

Set only when kind is project and the district set a limit.

AirQuality

A reading from AirNow's nearest monitor to the district's boundary centroid.
station
​string · required

AirNow's reporting-area name for the answering monitor.

pm25Aqi
​integer · required

PM2.5 Air Quality Index.

category
​string · required

AirNow's PM2.5 category name.

categoryNumber
​integer · required

AirNow's PM2.5 category number.

observedAt
​string · date-time · required

When AirNow made this observation, in UTC.

linkUrl
​string · uri · required

AirNow's own page for this reporting area.

ozoneAqi
​integer | null · required

Ozone Air Quality Index. Independently null when the monitor reports no ozone reading.

pm10Aqi
​integer | null · required

PM10 Air Quality Index. Independently null when the monitor reports no PM10 reading.

FireWeather

A reading from the National Weather Service for the district's boundary centroid.
windMph
​integer | null · required

Sustained surface wind speed.

windGustMph
​integer | null · required

Surface wind gust speed.

windDirectionDeg
​integer | null · required

The direction the wind blows FROM, in degrees.

windDirectionCardinal
​string | null · required

The same direction, as a 16-point compass label.

tempF
​integer | null · required
dewpointF
​integer | null · required
relativeHumidityPct
​integer | null · required
twentyFootWindMph
​integer | null · required

The 20-foot wind — the fire service's standard reference height. Rides alongside windMph, not in place of it.

twentyFootWindDirectionDeg
​integer | null · required
twentyFootWindDirectionCardinal
​string | null · required
mixingHeightFt
​integer | null · required

Smoke mixing height.

transportWindMph
​integer | null · required

Smoke transport wind speed.

sunrise
​string | null · date-time · required

For the district's centroid, in the location's own local offset.

sunset
​string | null · date-time · required

For the district's centroid, in the location's own local offset.

​required

The active Red Flag Warning or Fire Weather Watch for the district, if any. A Red Flag Warning always wins over a Fire Weather Watch at the same point.

​Advisory[] · required

Other active NWS alerts bearing on a burn decision, in NWS's own order. Never includes a Red Flag Warning or Fire Weather Watch.

RedFlagWarning

headline
​string · required
expires
​string · date-time · required

Advisory

event
​string · required

The NWS event name.

headline
​string · required
expires
​string · date-time · required

Error

​object · required