changedOutput schema / (root)
Previous value: -{
- "properties": {
- "available": {
- "anyOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ],
- "description": "`false` on no-data responses. Omitted on success — branch on `data !== null` if you want a single discriminator.",
- "title": "Available"
- },
- "data": {
- "anyOf": [
- {
- "additionalProperties": true,
- "description": "Satellite-detected construction activity per mesh block + rollup.",
- "example": {
- "area_level": "suburb",
- "area_name": "Belmont North",
- "mesh_blocks": [
- {
- "construction_score": 0.0849,
- "mb_code": "10436570000",
- "ndbi_2019": -0.148,
- "ndbi_2023": -0.1056,
- "ndbi_change": 0.0423,
- "ndvi_change": -0.0426
- }
- ],
- "summary": {
- "active_mb_count": 3,
- "avg_construction_score": -0.0456,
- "avg_ndbi_change": -0.02,
- "mb_count": 66
- }
- },
- "properties": {
- "area_level": {
- "description": "Always 'suburb'.",
- "title": "Area Level",
- "type": "string"
- },
- "area_name": {
- "description": "Suburb (SAL) name.",
- "title": "Area Name",
- "type": "string"
- },
- "mesh_blocks": {
- "description": "Per-mesh-block rows, highest score first.",
- "items": {
- "additionalProperties": true,
- "description": "Whether a mesh block looks like it has been built on lately, judged\nfrom satellite imagery.\n\nThe method: compare two satellite readings of the same ground, one from\n2019 and one from 2023. Hard surfaces (roofs, concrete, cleared pads)\nreflect light differently from vegetation, so more hard surface plus\nless greenery is the fingerprint of building work. Every number below is\na **dimensionless index, not a count of dwellings** — it tells you where\nsomething changed, never what or how many.\n\nTwo limits worth stating to any end user: the window is a single\n2019→2023 comparison, so this is a *presence* signal rather than a\ntimeline and it cannot date anything; and dry ground can read like bare\nconstruction ground, which is exactly why `construction_score` also\nrequires vegetation to have fallen.",
- "properties": {
- "construction_score": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "The headline 'has building happened here' indicator: how much the built-up index rose *net of* how much vegetation fell (`ndbi_change − ndvi_change`). A dimensionless signed index in roughly −1…+1, and in practice much nearer zero than that. Positive means hard surface gained while greenery was lost — the signature of construction; negative means the reverse. Rank mesh blocks by it rather than reading an absolute value, and remember it measures surface change, not dwellings built.",
- "title": "Construction Score"
- },
- "mb_code": {
- "description": "ABS mesh-block code for the small area these readings cover, as a digit string. Mesh blocks are the smallest ABS geography — roughly a block of 30–60 dwellings.",
- "title": "Mb Code",
- "type": "string"
- },
- "ndbi_2019": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "The 2019 baseline built-up reading (NDBI — Normalised Difference Built-up Index): a dimensionless ratio in −1…+1 where higher means more hard surface and lower means more vegetation or water. Given so you can see the starting point, e.g. a bare paddock vs an already dense block.",
- "title": "Ndbi 2019"
- },
- "ndbi_2023": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "The same built-up reading for 2023, on the identical −1…+1 scale. The difference against `ndbi_2019` is `ndbi_change`.",
- "title": "Ndbi 2023"
- },
- "ndbi_change": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Change in built-up surface between 2019 and 2023 — `ndbi_2023 − ndbi_2019`, so positive means more hard surface (roofs, concrete, cleared ground) at the end of the window. Dimensionless, typically a small fraction. On its own it is confounded by dry conditions, since bare dry soil also reads as built-up; `construction_score` is the de-confounded version.",
- "title": "Ndbi Change"
- },
- "ndvi_change": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Change in vegetation cover 2019→2023 (NDVI, the greenness counterpart to NDBI, also dimensionless). Negative means vegetation was lost — land cleared — which alongside a rising `ndbi_change` is the strongest sign of development. Positive means the area got greener.",
- "title": "Ndvi Change"
- }
- },
- "required": [
- "mb_code"
- ],
- "title": "ConstructionMb",
- "type": "object"
- },
- "title": "Mesh Blocks",
- "type": "array"
- },
- "summary": {
- "description": "Suburb rollup.",
- "properties": {
- "active_mb_count": {
- "description": "Mesh blocks with a positive construction score.",
- "title": "Active Mb Count",
- "type": "integer"
- },
- "avg_construction_score": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Mean construction score across mesh blocks (signed composite index, ~-1 to +1; positive = net building activity).",
- "title": "Avg Construction Score"
- },
- "avg_ndbi_change": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Mean NDBI change across mesh blocks.",
- "title": "Avg Ndbi Change"
- },
- "mb_count": {
- "description": "Mesh blocks with satellite coverage.",
- "title": "Mb Count",
- "type": "integer"
- }
- },
- "required": [
- "mb_count",
- "active_mb_count"
- ],
- "title": "ConstructionSummary",
- "type": "object"
- }
- },
- "required": [
- "area_name",
- "area_level",
- "summary",
- "mesh_blocks"
- ],
- "title": "SuburbConstructionActivity",
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "description": "The endpoint's payload, or `null` when Microburbs has no value."
- },
- "message": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "Human-readable explanation. Omitted on success.",
- "title": "Message"
- },
- "reason": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "Machine-readable slug naming the no-data condition (e.g. `no_avm_for_GANSW704074813`). Stable per endpoint. Omitted on success.",
- "title": "Reason"
- }
- },
- "title": "ApiResponse[SuburbConstructionActivity]",
- "type": "object",
- "x-fastmcp-top-level-schema": "ApiResponse_SuburbConstructionActivity_"
-}New value: +null