Skip to main content
Glama

Microburbs Australian Property Data

Server Details

Australian property and suburb data: valuations, sales, rents, schools, risk and zoning.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.9% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

C2.8/5.0

Scored across 173 tools

Disambiguation4/5

Most tools have clearly distinct purposes with detailed descriptions, e.g., properties_basics_bed_count vs properties_basics_bath_count. However, there are bundle tools like properties_basics_all that overlap with individual basics tools, though they are explicitly priced bundles. The granularity is high, but descriptions mitigate confusion.

Naming Consistency5/5

Naming follows a consistent pattern: domain prefix (properties_, suburbs_, area_stats_, etc.) followed by entity and attribute (e.g., properties_valuation_avm, suburbs_market_median_rent). Snake_case is used throughout, and the structure is predictable, making it easy to infer tool purpose from the name.

Tool Count1/5

173 tools is far beyond typical MCP server scope. Even for a comprehensive property data API, exposing nearly every endpoint as a separate tool creates an overwhelming surface. This makes agent tool selection costly and error-prone, and the server would benefit from consolidating related endpoints into higher-level tools.

Completeness5/5

The server covers an exhaustive range of property and suburb data: basics, comparables, valuation, risks, schools, transport, demographics, development, market trends, shapes, and more. It includes granular historical series, map data, and bundles, leaving no obvious gaps in the domain.

Available Tools

173 tools
area_stats_fieldsArea Statistics · Search area-statistics fieldsA
Read-onlyIdempotent
Inspect

Discover which statistical fields exist. Free (0c). Fuzzy, token-based matching covers table topics and clean column labels as well as terse field codes. Common natural-language plurals and Census synonyms are handled, so the verbatim query=couples with children discovers the exact 2021 ABS family-composition count fields rather than substituting the broader census_family_households metric. Use the returned field code(s) with the priced /area-stats/SAL/{suburb}/values route. ~17k fields available.

Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax fields to return.
queryNoFuzzy search over ABS field names/codes, table topics and column labels (e.g. 'total population', 'couple family children', 'tenure owned outright', or 'median rent'). Omit to list.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds significant value by disclosing that it is free, uses fuzzy token-based matching, handles plurals and Census synonyms, and covers ~17k fields. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is detailed but efficient, front-loading the core purpose, then providing matching details, an example, and usage direction. Every sentence earns its place without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with no output schema, the description covers what it does, how to use results, pricing, matching nuances, and scale. An agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (both `limit` and `query` have descriptions). The description adds extra meaning by explaining that `query` performs fuzzy matching over field names/codes/topics/labels and gives concrete examples. It does not add much about `limit` but the schema covers it, so this is above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool discovers statistical fields via fuzzy search over ABS field names, codes, table topics, and column labels. It differentiates itself from the sibling `area_stats_values` by explicitly directing the agent to use returned codes with that route, making its purpose distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: it is free, used for discovery, and the returned codes feed into the priced `/area-stats/SAL/{suburb}/values` route. It also explains the fuzzy matching behavior and synonym handling, so the agent knows when to prefer this over other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

area_stats_regionsArea Statistics · List regions at a levelA
Read-onlyIdempotent
Inspect

List the regions that exist at a level — every suburb, LGA, postcode, etc. Free (0c). Use it to discover the exact region names to pass to /values.

Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax regions to return.
queryNoFilter by region name (substring, case-insensitive). Omit to list.
region_levelYesRegion level: SAL (suburb), SA1, SA2, SA3, SA4, LGA, POA, GCCSA, STE, AUS.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds useful extras: the cost signal 'Free (0c)' and the completeness claim 'every suburb, LGA, postcode, etc.' There is no contradiction, and the description does not overstate behavior beyond what a list endpoint would do.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, front-loaded with the core action, and includes the valuable /values routing. However, 'Free (0c)' and '**Free.**' are redundant, repeating the same cost information twice. The duplication keeps it from a perfect score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The combination of the description and fully-covered schema gives an agent enough to call the tool correctly. Minor gaps exist around the exact output shape and default-limit behavior, but the schema already documents limits and defaults, and the purpose is simple enough that these are not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline applies. The description adds only the contextual hint that returned names feed into /values, but it does not explain individual parameters beyond what the schema already provides. This is acceptable because region_level, limit, and query are each well-described in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb 'List' and a clear resource: regions that exist at a level, with concrete examples ('every suburb, LGA, postcode'). It is immediately distinguishable from sibling tools like area_stats_fields because the target object, regions, is explicit. The title reinforces the same purpose without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly routes the agent to use this tool to discover exact region names to pass to /values, which establishes a clear before-values workflow. It does not enumerate exclusions against other list tools like suburbs_list or lga_list, but within the area_stats family the routing is concrete and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

area_stats_valuesArea statistics for a regionA
Read-onlyIdempotent
Inspect

Statistical field values for one region. Pass fields — 1 to 5 field codes (from /fields) — to fetch.

At SAL level, mode=sa1 switches from the suburb-aggregate value to a per-SA1 breakdown — every SA1 that falls inside the suburb, each with its own values.

Price: 3¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoSAL only: 'sa1' returns values for every SA1 in the suburb, instead of the suburb aggregate.
fieldsYesComma-separated field codes (from /fields). Required, 1-5 per call.
regionYesRegion name (case-insensitive). For SA1, the SA1 code (SA1s are unnamed).
region_levelYesRegion level: SAL (suburb), SA1, SA2, SA3, SA4, LGA, POA, GCCSA, STE, AUS.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the mode=sa1 behavior (per-SA1 breakdown) and the price per call, which are useful behavioral details beyond the annotations. It doesn't contradict annotations, but it doesn't disclose error handling or rate limits either.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the purpose, and each sentence earns its place: the core function, the special mode behavior, and the price. No fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and the schema covering all parameters, the description is complete enough. It explains the key behavioral switch (mode=sa1) and includes pricing, which is relevant context. Without an output schema, the description still clarifies that it returns 'statistical field values' for a region, which is sufficient for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and all parameters have detailed descriptions (e.g., fields: 'Comma-separated field codes (from /fields). Required, 1-5 per call.'). The description repeats this constraint and the mode behavior, but adds no new parameter semantics beyond the schema. Baseline 3 is appropriate when the schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource ('statistical field values for one region') and a clear action (fetch by passing fields). It distinguishes from sibling tools like area_stats_fields and area_stats_regions, which likely list fields or regions rather than values. The name and title reinforce this.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use it: when you need statistical field values for a region. It also explains the special mode=sa1 for SAL level, giving context on a specific use case. It does not explicitly exclude alternatives or mention when not to use it, but the purpose is clear enough for an agent to select it appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

geocode_addressGeocode · Address → GNAFA
Read-onlyIdempotent
Inspect

Resolve a freeform address string to candidate G-NAF identifiers.

Use this before calling any /v1/properties/{gnaf_id}/... route — those endpoints require a GNAF in the path. Returns up to 10 candidates, ranked by Meilisearch score.

Price: 1¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesFreeform address string.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, idempotent, non-destructive behavior. The description adds valuable behavioral details: returns up to 10 candidates, ranked by Meilisearch score, and costs 1¢ per call. It does not describe error cases or the exact response payload, but the core behavior is transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is tight and well-structured: action first, then prerequisite usage context, then output characteristics and pricing. Every sentence earns its place with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, read-only lookup tool, the description combined with the schema and annotations is complete. It explains the purpose, when to use it, the candidate limit and ranking, and the cost. Nothing needed for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents the single 'address' parameter with type, example, minLength, and a description. The tool description repeats 'freeform address string' but adds no meaningful semantic detail beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb and resource: 'Resolve a freeform address string to candidate G-NAF identifiers.' It also positions the tool as a prerequisite for property routes, which helps distinguish it from the many property tools. However, it does not explicitly differentiate it from the sibling geocode_suburb tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use this before calling any /v1/properties/{gnaf_id}/... route' is an explicit, concrete usage instruction with a clear rationale: those endpoints require a GNAF in the path. It lacks an explicit when-not-to-use or mention of geocode_suburb as an alternative, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

geocode_suburbGeocode · Suburb autocompleteA
Read-onlyIdempotent
Inspect

Autocomplete a partial suburb search string against the ABS SAL list. Use this before calling /v1/suburbs/{name}/... — those endpoints require a canonical SAL name in the path.

Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesPartial suburb name.
stateNoOptional state filter (NSW, VIC, ...).

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly, idempotent, non-destructive. The description adds the free cost detail which is valuable and not in annotations. It also mentions the requirement to obtain canonical SAL names, which is behavioral context about the output's purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise, two short paragraphs plus a bold 'Free.' The key usage context is front-loaded. Every sentence adds value - the autocomplete purpose, the prerequisite note, and the free cost indicator.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an autocomplete tool with simple parameters and no output schema, the description is complete. It explains why the tool exists (for canonical names), when to use it, and the cost. Nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are well-documented. The description doesn't add much beyond that, but it reinforces the 'partial' nature of the q parameter which aligns with schema. No extra syntax needed, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it autocompletes a partial suburb search string against the ABS SAL list - specific verb and resource. It also distinguishes itself from the sibling geocode_address by focusing on suburb names. It even references the subsequent use of /v1/suburbs/{name}/... endpoints.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use: before calling /v1/suburbs/{name}/... endpoints that require canonical SAL names. Also notes it's free, implying no cost considerations. It implicitly distinguishes from geocode_address which likely handles addresses.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lga_listList LGAsA
Read-onlyIdempotent
Inspect

All Australian LGAs. Optional ?state= filter (e.g. 'NSW'). Returns {lga, state} per row. Flat cost.

Price: 3¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoFilter by state / territory (NSW, VIC, ...). Optional — ~540 LGAs nationally.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds the return shape, the flat-cost model, and the per-call price, which are genuinely useful behavioral details beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: it states the resource, the filter, the output shape, and the cost in four short pieces. Every sentence earns its place and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one optional parameter, the description is complete: it specifies the output fields, the optional filter, the closed-world scope of all Australian LGAs, and the price. Since there is no output schema, providing the row shape is essential and is done well.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the schema already explains the state parameter including examples and national count. The description mostly restates the filter behavior, so it adds no significant semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource as all Australian LGAs and the operation as returning them, with an optional state filter. 'Returns {lga, state} per row' makes the tool's output explicit, and the naming/scope distinguishes it from lga_profile and region-list siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The optional state filter gives some usage direction, but the description never says when to prefer this tool over alternatives like lga_profile, sa4_list, or suburbs_list. The intended use is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lga_profileLGA · ABS geo profileA
Read-onlyIdempotent
Inspect

LGA's parent chain — state + GCCSA. LGAs aren't strictly nested in SA4 so the upward chain stops there.

Price: 3¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
lga_nameYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that this is read-only, idempotent, and non-destructive. The description adds meaningful behavioral context beyond that: it clarifies that the hierarchy stops at state/GCCSA rather than continuing through SA4, and it discloses the per-call cost of 3 cents. It does not overpromise or contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely tight: two substantive sentences plus a pricing note. The key output scope and the important SA4 nesting caveat are front-loaded, and every clause earns its place without fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, read-only lookup tool, the description covers the essential context: what is returned, what is deliberately not returned, and the cost. There is no output schema, but the description conveys the core response shape well enough. It is slightly light on input-format guidance, but the overall tool is simple.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema only defines lga_name as a required string, and schema description coverage is 0%. The description indirectly indicates that the parameter is an LGA identifier by describing the tool as returning the LGA's parent chain, but it does not specify expected format, examples, or how names are resolved. For a single self-descriptive parameter this is adequate but not detailed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource—LGA's parent chain—and the expected output scope: state plus GCCSA, with SA4 explicitly excluded. It lacks an explicit verb like 'returns' or 'gets', so it stops just short of a fully specific statement, but it is readily distinguishable from sibling tools like lga_list or sa4_profile.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool: when an LGA's upward geographic parent chain is needed. The caveat that LGAs are not strictly nested in SA4 gives useful usage context and sets an expectation about what this tool will not provide, though it does not explicitly name alternatives or state exclusion conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mbs_listList mesh blocks in a suburbA
Read-onlyIdempotent
Inspect

Mesh-block codes inside a suburb. sal is required for now — nationwide / by-LGA / by-SA3 listings will land later when there's a story for the large payloads (a single LGA can hit a few thousand mesh blocks).

Price: 3¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
salYesRequired. Suburb (SAL) to list mesh blocks for.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnlyHint, idempotentHint, destructiveHint). The description adds valuable context: the requirement that 'sal' is currently the only supported scope, the pricing (3¢ per call), and a payload-size warning for LGAs. These go beyond the structured annotations and are useful for the agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences plus a price line. The core purpose is front-loaded, followed by a constraint and a cost note. There is no fluff or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one required param, no output schema, annotations cover safety). The description covers purpose, constraint, and price. It does not explicitly state the return format (e.g., list of codes), but that is largely inferable from the name and context. Adequate for the complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameter 'sal' is already described as a required suburb code. The description repeats this requirement without adding format, examples, or further semantics. It does not compensate for any schema gaps because there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists mesh-block codes for a given suburb, with a specific verb implied by the title and reinforced by the description. It distinguishes from siblings like mbs_profile (single mesh block) and suburbs_shapes_mesh_blocks (geometry) by noting the suburb-scoped listing and the current limitation to SAL.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives. It only mentions that other scopes (nationwide/LGA/SA3) are not yet available, which is a constraint, not a usage recommendation. There is no mention of sibling tools or conditions for selecting this one.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mbs_profileMesh Block · ABS geo profileB
Read-onlyIdempotent
Inspect

The mesh block's upward ABS chain — SA1, SA2/3/4, GCCSA, state — plus the parallel admin chain (LGA, suburb (SAL), postcode).

Price: 3¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
mb_codeYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the cost per call (3¢) which is useful, but it does not describe any other behavioral aspects such as rate limits, authentication, or error handling. Since annotations cover the main behavioral traits, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of two lines, and front-loads the main content. The inclusion of pricing is efficient and useful. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main purpose and output structure (the chains), but lacks details on parameter format, return format (codes vs names), and error behavior. Given the tool's simplicity and annotation coverage, it's adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only defines mb_code as a string with no description, and the description does not explain the expected format or content of mb_code (e.g., whether it's a numeric code, length, or example). With 0% schema coverage, the description fails to compensate, leaving the agent without guidance on how to construct a valid parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states that the tool returns the mesh block's upward ABS chain (SA1, SA2/3/4, GCCSA, state) and the parallel admin chain (LGA, suburb, postcode). This is specific about the resource (mesh block) and the output, distinguishing it from sibling profile tools like lga_profile or sa4_profile which target different geographic levels.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when a mesh block code is known and the parent geographic chains are needed, but it does not explicitly state when to use this tool over alternatives, nor does it mention any exclusions or prerequisites. Given the clear subject, it's inferred but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

meAccount · MeA
Read-onlyIdempotent
Inspect

Return key identity and the authoritative Autumn credit balance.

Free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds 'authoritative' and 'Free' as useful context, but does not describe authentication expectations, response shape, or any potential caching behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences front-load the purpose and add a cost note with no filler. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter account self-info tool, the description is nearly complete: it names the two outputs and the cost. Without an output schema, it could be more explicit about what 'key identity' includes, but the brevity is appropriate for such a simple endpoint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters jewellers, and schema description coverage is trivially 100%. The description correctly says nothing about parameters because there are none, meeting the baseline for a parameter-less tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Return') and names two concrete resources: key identity and the authoritative Autumn credit balance. This clearly distinguishes it from the data-query siblings, none of which cover account identity or credit balance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool: when an agent needs the current user's identity or authoritative credit balance. There are no plausible sibling alternatives for this purpose, so explicit exclusion is unnecessary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pingAccount · Health checkA
Read-onlyIdempotent
Inspect

Returns immediately if the API is up. No authentication required and not metered — safe to poll from a load balancer, uptime monitor, or status dashboard without affecting your usage.

Free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the tool's safety profile is known. The description adds valuable behavioral context beyond these: 'No authentication required and not metered' and 'Returns immediately.' These details inform the agent that the tool is lightweight and has no side effects, which is useful for deciding to use it in polling scenarios. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of two sentences. The core purpose is front-loaded ('Returns immediately if the API is up'), followed by two important usage constraints (no auth, not metered) and a safety note. Every sentence adds value, and there is no wasted wording. It is well-structured and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, parameterless health check, the description is complete. It covers the tool's purpose, the conditions under which it should be used (polling from monitoring systems), and its safety profile (no auth, not metered). The annotations already handle the read-only and idempotent aspects. No output schema is present, but for a health check, the return format is likely trivial and not necessary to describe. An agent has all the information needed to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the input schema is empty. Per the rubric, a zero-parameter tool receives a baseline score of 4 because there is no need for parameter documentation. The description appropriately focuses on the tool's behavior rather than parameters, which is correct for a parameterless health check.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear, specific purpose: 'Returns immediately if the API is up.' This identifies the tool as a health check, which is distinct from the many data-retrieval siblings. It names the resource (API) and the action (checking availability), so an agent can immediately understand what it does without confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context: 'safe to poll from a load balancer, uptime monitor, or status dashboard without affecting your usage.' This tells the agent when it's appropriate to call the tool (for health checks and monitoring). However, it does not explicitly mention alternatives or when not to use it, such as distinguishing from ping_head, which is a sibling that likely performs a HEAD request. Still, the intended use case is well conveyed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_amenities_nearbyProperty · Nearby amenitiesA
Read-onlyIdempotent
Inspect

Curated amenities (supermarkets, green spaces, restaurants/cafes) within radius_m of the property, bucketed and nearest-first.

Price: 10¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes
radius_mNoSearch radius in metres (100–5000, default 1000).

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, idempotent, non-destructive behavior, and the description adds useful extras: results are bucketed and nearest-first, and each call costs 10¢. That pricing disclosure is materially relevant to invocation decisions. Rate limits/auth are not mentioned, but the annotation safety profile lowers the burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two tight sentences: the first front-loads the output categories, radius, and ordering; the second states the price. There is no filler, and the backtick parameter reference is precise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter read-only lookup, this covers the output categories, radius, ordering behavior, and cost, with safety covered by annotations. It does not describe the exact return shape or clarify that gnaf_id identifies the property, so it is slightly incomplete for an agent without prior context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents radius_m fully, and the description merely reuses it as a radius filter rather than adding parameter detail. The required gnaf_id has no schema description and the description does not explain it either, so at 50% schema coverage the definition under-serves parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly names the resource—curated nearby amenities for a property—and specifies the categories and radius behavior, so an agent can tell it is an amenity lookup. It lacks an explicit verb such as 'Returns' and does not name any sibling, though the category list implicitly separates it from transport/schools nearby tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied: an agent should call this when it needs supermarkets, green spaces, or restaurants/cafes around a property. There is no explicit when-to-use/when-not-to-use guidance or alternative routing, which matters given nearby sibling tools like properties_transport_nearby and properties_schools_nearby.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_basics_allProperty · All basics — bundleD
Read-onlyIdempotent
Inspect

Price: 23¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

D1.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the bar for additional disclosure is lower; even so, the description contributes zero behavioral context beyond the price. Pricing is not a behavioral trait.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but not concise in a useful way: the single sentence is spent on price rather than tool behavior, so this is under-specification rather than well-structured completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one required parameter, no output schema, and many closely related sibling endpoints, the description is severely incomplete. Nothing in the description tells the agent what data will be returned or how this bundled call relates to the individual properties_basics_* tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not mention gnaf_id or explain what value to pass or what its format is. The parameter name is suggestive, but the description itself adds no semantic meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description text is only '**Price: 23¢ per call.**' – it never states what action the tool performs or what 'all basics' includes. The name and title hint at a bundle of basic property attributes for a G-NAF ID, but that is inference, not a stated purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance is given, and no alternatives are mentioned despite an extensive sibling set including properties_basics_bath_count, properties_basics_bed_count, properties_basics_dwelling_type, etc. An agent cannot determine whether to call this bundle or a specific basics endpoint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_basics_bath_countProperty · Bathroom countB
Read-onlyIdempotent
Inspect

Bathroom count from the latest matching listing.

Price: 5¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already disclose read-only, idempotent, and non-destructive behavior, so the description only adds 'latest matching listing' and the explicit 5¢ per-call price. It does not discuss no-match behavior, missing bathroom data, or response format, but with annotations present this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, with the primary function first and the cost isolated as a separate line. No filler, repetition, or unnecessary schema detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, read-only lookup, the main purpose and cost are covered, and there is no output schema to document. However, the missing parameter definition and absence of guidance for no-match or missing-value cases leave it minimally adequate rather than complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description never names or defines gnaf_id. The only hint is 'matching listing,' which weakly connects the required parameter to the property identifier, but format, source, and required-value semantics are left undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the exact result ('Bathroom count') and its source ('from the latest matching listing'), so an agent knows what data it returns. It relies on the title and sibling names rather than explicit wording to distinguish it from properties_basics_bed_count and similar tools, which keeps it from a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to call this tool instead of sibling tools like properties_basics_bed_count, properties_basics_dwelling_type, or properties_basics_all. The phrase 'latest matching listing' implies recency but does not state selection criteria, exclusions, or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_basics_bed_countProperty · Bedroom countB
Read-onlyIdempotent
Inspect

Bedroom count from the latest matching listing.

Price: 5¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive behavior, lowering the burden on the description. The description adds the 'latest matching listing' nuance and the per-call price, but it does not clarify behavior when no listing exists, whether null is possible, or what the return shape is.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler: the first states the result, and the second states the price. The essential information is front-loaded and every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one required parameter and no output schema, the description omits important context: what gnaf_id means, what the returned value looks like, and what happens if no matching listing exists. It is minimally usable but leaves ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for gnaf_id, and the description does not explain that this parameter identifies the property. While the parameter name is suggestive, no format, source, or example is provided, so the description fails to compensate for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the result is a 'bedroom count from the latest matching listing', which clearly identifies the resource (property) and field (bed count). However, it does not explicitly differentiate itself from sibling tools like properties_basics_bath_count or properties_basics_all.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus the many related property basics tools. The description implies a simple single-field lookup but provides no exclusions, prerequisites, or alternative selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_basics_dwelling_typeProperty · Dwelling typeC
Read-onlyIdempotent
Inspect

Dwelling type (house, unit, townhouse, ...).

Price: 5¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the price (5¢ per call) and examples of possible values, which are useful behavioral context. However, it does not describe error behavior, what happens if gnaf_id is invalid, or the return format beyond examples. Since annotations carry the safety burden, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences, one for the purpose and one for the price. It is front-loaded with the main purpose and contains no fluff. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only lookup with no output schema, the description is mostly sufficient: it states the purpose and gives examples. However, it omits usage guidance (when to use vs siblings) and does not describe the return structure or any error conditions. Given the tool's simplicity and the annotations covering safety, it is adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has a single required parameter gnaf_id with no description (schema coverage 0%). The tool description does not explain what gnaf_id is or how to obtain it. The name 'gnaf_id' suggests a geocoded national address identifier, but the description provides no guidance on its format or source. The description adds no meaning to the parameter beyond the parameter name itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the dwelling type (house, unit, townhouse, etc.) for a property. It is specific about the resource and the value domain, but does not differentiate it from sibling tools like properties_basics_all which might also return this field. The verb is implied (returns) and the resource is a property via gnaf_id.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus the many siblings such as properties_basics_all, properties_basics_bed_count, etc. The description does not mention any alternatives or conditions for selection. An agent would have to infer from the name that this is a specific attribute lookup.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_basics_land_area_sqmProperty · Land area (sqm)B
Read-onlyIdempotent
Inspect

Parcel land area in square metres from the cadastral feed.

Price: 3¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already communicate read-only, idempotent, and non-destructive behavior, so the description only needs to add context beyond that. It adds the cadastral-feed source and the per-call price, but does not disclose response shape or failure modes. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, each with a distinct purpose: state what the tool returns and where the data comes from, then disclose the cost. There is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, read-only, well-annotated tool, this is nearly complete: the schema supplies the required input, the description states the output unit and source, and annotations cover safety. The main missing piece is explicit parameter semantics, but the overall complexity is low.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter gnaf_id has no schema description (0% coverage), and the description does not explain what a GNAF ID is, what format it takes, or how to obtain one. The description adds no parameter-level meaning beyond the schema's name and type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource ('parcel land area'), the unit ('square metres'), and the data source ('cadastral feed'), which distinguishes it from sibling basic-property tools like bed count or dwelling type. It lacks an explicit verb, but the noun-phrase form is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool instead of properties_basics_all or properties_valuation_land_values, and no mention of how to obtain a gnaf_id or what prerequisites exist. The agent must infer usage context entirely from the name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_basics_parking_countProperty · Parking-space countC
Read-onlyIdempotent
Inspect

Parking-space count from the latest matching listing.

Price: 5¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds useful context beyond the annotations: it specifies the data source ('latest matching listing') and the cost ('5¢ per call'). However, the annotations already cover read-only, idempotent, and non-destructive hints, so the description's added behavioral info is limited to the listing lookup nuance and pricing. It does not disclose potential error conditions or response format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—one line plus the price—with no fluff. It front-loads the core purpose. However, it is arguably too terse to be fully useful; the brevity is appropriate but comes at the cost of missing essential details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (single parameter, no output schema), the description is incomplete. It does not clarify what gnaf_id refers to, what 'latest matching listing' means, or what the return value looks like (e.g., an integer count). Without an output schema, these gaps leave the agent guessing about the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero description coverage for the sole parameter gnaf_id, and the description does not explain what this identifier is or how it is used. For a single-parameter tool, the description should at least indicate that gnaf_id identifies the property; it fails to compensate for the schema's lack of detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a parking-space count from the latest matching listing, specifying the resource (property) and the attribute (parking count). It does not explicitly differentiate from sibling tools like properties_basics_bath_count or bed_count, but the naming convention and the 'latest matching listing' qualifier make the intent reasonably clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as properties_basics_all or the other per-attribute basics tools. The description does not mention conditions or exclusions, leaving the agent to infer usage context from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_comparables_allProperty · All comparables — bundleD
Read-onlyIdempotent
Inspect

Price: 74¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, but the description adds no behavioral information. It does not mention that it is read-only, nor does it disclose any operational characteristics such as response format or rate limits. The pricing note is not behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short but not concisely informative; it is a pricing string with no functional content. It is under-specified rather than concise, providing no structure or front-loaded useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that likely returns a bundle of comparable property data, the description is completely inadequate. There is no explanation of output, required parameter, or intended use case. Given the complexity implied by the name and sibling tools, the description leaves an agent without any guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter (gnaf_id) with no description, and schema coverage is 0%. The description does not explain what gnaf_id represents or how it should be provided. It adds zero meaning beyond the raw type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is only a pricing note ('Price: 74¢ per call.') and does not state what the tool does. The name hints at 'All comparables — bundle', but the description provides no verb, resource, or scope. It fails to distinguish from siblings like properties_comparables_cma_comp_set.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. There is no mention of when to call it, what inputs are expected, or any exclusions. The pricing note gives no usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_comparables_cma_comp_setProperty · CMA comparable setC
Read-onlyIdempotent
Inspect

Top comparable sales used to triangulate the subject property's value.

Price: 60¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the cost per call (60¢) and clarifies the output is a top comparable set, which is useful but does not disclose return format, pagination, or any limitations beyond what annotations imply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and front-loaded with the core purpose, followed by a useful pricing note. No unnecessary words are present, though the extreme brevity leaves out important operational context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with no output schema, the description should at least clarify what data is returned and what gnaf_id refers to. It only states 'top comparable sales' and a price, leaving an agent to guess about response structure, parameter semantics, and how this compares to related tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain gnaf_id or how it relates to the subject property. The phrase 'subject property's value' weakly implies gnaf_id identifies that property, but the description does not compensate for the lack of parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool returns top comparable sales used to triangulate the subject property's value, which identifies both the resource (comparable sales) and the purpose (valuation triangulation). It is clear enough to distinguish from sibling tools like properties_comparables_all by 'top comparable sales', though it does not explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus sibling tools such as properties_comparables_all, properties_comparables_cma_single_comp, or properties_comparables_recent_sales_nearby. The phrase 'used to triangulate... value' implies a use case, but no explicit context, exclusions, or alternative routing is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_comparables_cma_single_compProperty · CMA — single best comparableB
Read-onlyIdempotent
Inspect

Single best comparable from the CMA set (highest dist_score).

Price: 10¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the selection criterion 'highest dist_score' and the pricing detail, which go beyond the annotations that already declare readOnlyHint, idempotentHint, and destructiveHint. However, it does not disclose what happens if no comparable exists, error behavior, or the exact structure of the returned comparable. The annotations cover safety, but the behavioral context is sparse.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise—one sentence and a pricing note. It gets to the point without wasted words. It is front-loaded with the core purpose. However, it is so brief that it omits essential parameter and usage details, which slightly detracts from its effectiveness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter and no output schema, the description should explain what 'comparable' means, what dist_score is, and what the return value looks like. It only says 'single best comparable' without elaboration. The annotations cover read-only and idempotency, but the description leaves significant gaps for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description does not explain the gnaf_id parameter at all. Schema description coverage is 0%, and the description fails to compensate by describing what gnaf_id represents or how it is used. The agent is left to infer that it identifies the property, but this is not stated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it returns the single best comparable from the CMA set, selected by highest dist_score. This clearly distinguishes it from siblings like properties_comparables_all (all comparables) and properties_comparables_cma_comp_set (the set). The purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus the alternative comparable tools. The name implies it is for the single best comparable, but the description does not explicitly say 'use this when you need only the best' or contrast with the all/set variants. No exclusion criteria or context is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_comparables_recent_sales_nearbyProperty · Recent sales within a radiusC
Read-onlyIdempotent
Inspect

Recent comparable sales in a small radius around the subject parcel.

Price: 4¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish a read-only, idempotent, non-destructive operation. The description adds pricing transparency (4¢ per call) but does not disclose radius size, result count, default ordering, or empty-result behavior. With annotations covering safety, this is adequate but thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded: first sentence states the data returned, second states the cost. No filler is present, though it is terse enough that key details are omitted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description should explain what a call actually returns, but it only says 'recent comparable sales' without clarifying fields, radius size, sorting, or limits. Given 80+ siblings, the lack of routing context also hurts completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides only a gnaf_id string with 0% coverage, and the description does not explain what gnaf_id is, where to obtain it, or how it maps to the 'subject parcel'. The phrase 'subject parcel' is an implicit tie, but it does not add meaningful parameter guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states that the tool returns recent comparable sales within a small radius of the subject parcel, which is a clear resource and scope. It does not explicitly name sibling alternatives or use a verb like 'returns', so it misses the top score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to prefer this tool over sibling comparables tools such as properties_comparables_all or properties_comparables_cma_comp_set. The phrase 'small radius' implies a use case, but no conditions, exclusions, or alternatives are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_context_mesh_blocksProperty · Mesh blocks — 1 km buffer statsB
Read-onlyIdempotent
Inspect

Mesh-block polygons within 1 km of the property (GeoJSON), each with avg annual growth, investor counts, modal street and median sold price.

Price: 30¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
geojsonNoWhen false, geometry is dropped — every Feature keeps its per-mesh-block stats but its `geometry` is null. Use it for the stats surface without the polygons (default true — response unchanged).
gnaf_idYes

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, idempotent, and non-destructive behavior, so the description does not need to repeat that. It adds useful behavioral context beyond annotations: the 30¢ per-call cost, the GeoJSON output format, and the 1 km buffer scope with per-mesh-block stats. It does not contradict any annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two dense sentences with no filler. The primary output and its stats are front-loaded, and the price is cleanly separated at the end. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read-only tool, the description covers the output format, scope, and cost, and lists the included stats. However, the required gnaf_id remains undocumented, and there is no nod to when this fits among the many related property-context siblings. With no output schema, slightly more structural or usage context would be needed to be fully self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%: geojson is well documented in the schema, but the required gnaf_id has no schema description and the description does not explain its format or role beyond the word 'property'. The description adds essentially no parameter meaning beyond what the schema already provides for geojson.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the resource and scope precisely: GeoJSON mesh-block polygons within a 1 km buffer of the property, with the accompanying per-block statistics. This is enough to distinguish it from related shape/stat tools such as suburbs_shapes_mesh_blocks and mbs_list. It lacks an explicit verb like 'returns' or 'lists', but the deliverable is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus the many nearby sibling tools, such as properties_context_nearby_for_sale, properties_surroundings_properties, or suburbs_shapes_mesh_blocks. The only operational note is the price, which does not help an agent choose among alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_context_nearby_for_saleProperty · Nearby for-sale listingsA
Read-onlyIdempotent
Inspect

Currently for-sale listings within radius_km of the property (newest first, max 30) with AVM and rent-yield comparison.

Price: 20¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes
radius_kmNoSearch radius in km (0.1-5).

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context: results are newest first, capped at 30, and include AVM and rent-yield comparison. It also discloses the price (20¢ per call), which is a meaningful operational detail beyond annotations. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences plus a pricing note. It front-loads the core purpose, then adds the key constraints (newest first, max 30, AVM/rent-yield comparison) and pricing. Every sentence earns its place; no filler or repetition of schema details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with annotations covering safety and idempotency, the description is largely complete. It states the result ordering, cap, and included comparisons. The main gap is that gnaf_id is not explained, and there is no output schema, so the agent doesn't know the exact return shape. However, the description's mention of AVM and rent-yield comparison gives a reasonable sense of the output. A 4 is fair.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%: radius_km has a description, but gnaf_id has none. The description adds meaning by explaining that radius_km is the search radius and that results are limited to 30, but it doesn't explain what gnaf_id is or how to obtain it. Since the schema covers half the parameters and the description partially compensates, a 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: returns currently for-sale listings within a radius of the property, with AVM and rent-yield comparison. It distinguishes itself from sibling tools like properties_comparables_recent_sales_nearby and suburbs_listings_for_sale by focusing on nearby for-sale listings around a specific property with AVM/rent-yield comparison. However, it doesn't explicitly name a sibling alternative, so it doesn't fully earn a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context: when you need for-sale listings near a property with AVM and rent-yield comparison. It does not explicitly state when to use this vs alternatives like properties_comparables_recent_sales_nearby or properties_sale_history. The radius_km parameter and 'newest first, max 30' provide some context, but no explicit exclusions or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_context_street_bedroom_seriesProperty · Bedroom-band price seriesC
Read-onlyIdempotent
Inspect

The subject's bedroom band (bed count from listing history) and the suburb's 10-year price series for that band.

Price: 15¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds the cost of 15¢ per call and clarifies the bedroom band comes from listing history. These are useful but do not go beyond the safety profile already handled by annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: one sentence describing the data content and a separate bolded cost line. Every word earns its place, and the cost is clearly separated. No redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter and no output schema, the description conveys the core return content (bedroom band and 10-year price series) and the per-call cost. However, it omits practical information such as how to obtain a valid gnaf_id and what exactly the price series contains (e.g., median, annual), so it is minimally adequate rather than complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must explain the single parameter, gnaf_id, but it does not. It only refers to 'the subject', never explicitly mapping that to the gnaf_id input or describing its format. The name alone is insufficient for an agent unfamiliar with the domain.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies a distinct data resource: the subject property's bedroom band and the suburb's 10-year price series for that band. It clearly differentiates from siblings like properties_basics_bed_count or properties_sale_history, though it lacks an explicit verb such as 'returns' or 'provides'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool instead of alternatives. There are no conditions, exclusions, or references to sibling tools, leaving the agent to infer usage solely from the name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_development_allProperty · All planning — bundleD
Read-onlyIdempotent
Inspect

Price: 8¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint, idempotentHint, and destructiveHint, but the description adds no behavioral context beyond the price. It does not contradict annotations, but it contributes nothing about data scope, return format, or edge cases. The description fails to disclose any meaningful behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short, but this is under-specification, not conciseness. The single sentence about pricing does not earn its place as a substitute for a functional description. It omits essential information and is not front-loaded with purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that bundles all planning data for a property, with one required parameter and no output schema, the description is completely inadequate. An agent cannot determine what data is returned, how to interpret the result, or when to use it. The description leaves all critical context missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not explain the gnaf_id parameter at all. The name hints at a GNAF identifier, but the description provides no clarification of its format, semantics, or required value. The parameter is left entirely undefined.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description contains only the price ('**Price: 8¢ per call.**') and provides no statement of what the tool does. The name and title hint at a planning bundle, but the description itself does not define the verb, resource, or scope. It fails to distinguish from many related planning tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus the numerous sibling tools such as properties_development_zoning_code or properties_development_zoning_overlays. No context, alternatives, or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_development_zoning_codeProperty · Primary zoning codeB
Read-onlyIdempotent
Inspect

Primary zoning at the property's point — code (R2, B4, ...) when the council ships one, plus the human-readable name and the broader category.

Price: 3¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering safety behavior. The description adds useful context by noting the code is returned only 'when the council ships one,' implying possible absence, and enumerates the returned fields. However, it does not describe what happens when the council does not provide a code, or any rate-limit/auth behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is two sparse sentences: it states the output, the caveat, and the price with no filler. Every sentence earns its place and the most important identifying information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, read-only, idempotent tool, the description covers the primary output, the conditional absence, and the price. Still, it omits any explanation of gnaf_id and the empty/missing-data behavior, so an agent must infer identifier semantics from the name alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the undocumented gnaf_id parameter. It only says 'at the property's point' and never explains what a GNAF ID is, its expected format, or how to obtain it. The bare parameter name leaves too much to inference.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool's output: the primary zoning code at the property's point, along with the human-readable name and the broader category. It distinguishes from overlay-focused siblings through the word 'primary' and the listed return fields, but it has no explicit verb and does not name a sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool over properties_development_zoning_overlays or properties_development_all. The 'primary' wording implies this is the base zoning result, but there are no explicit when-to-use or when-not-to-use instructions, nor any prerequisites for obtaining gnaf_id.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_development_zoning_overlaysProperty · Development overlays at this pointB
Read-onlyIdempotent
Inspect

Development overlays intersecting the property's parcel.

Price: 5¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the tool is safe and idempotent. The description adds the cost note and the spatial scope (intersecting the parcel). However, it does not disclose the structure of the returned overlays or whether multiple overlays are returned. Given annotations, a score of 3 is reasonable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: the first clearly states what the tool does, and the second gives the pricing. It is front-loaded with the key information and has no wasteful content. This is an example of effective conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple: one parameter, no output schema, and clear annotations. The description provides minimal but sufficient context for a simple lookup. However, it lacks guidance on what the output will contain (e.g., list of overlay names), which could be important for the agent to know if it needs further processing. It is adequate but not rich.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has only the 'gnaf_id' parameter with 0% description coverage Rosetta Stone. The description does not explain what 'gnaf_id' is or how to obtain it, but the tool's name and context suggest it is a property identifier. Since there is only one parameter and it is likely common across sibling tools, the schema's type definition is minimal. The description could add 'the property's G-NAF identifier' but does not. Baseline 3 is okay.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool returns development overlays that intersect a property's parcel, which is clear enough. However, it does not explain what 'development overlays' are or how they differ from the sibling tool 'properties_development_zoning_code' and 'properties_development_all'. The purpose is clear but lacks sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives like 'properties_development_zoning_code' or 'properties_development_all'. It only mentions that it requires a 'gnaf_id' implicitly through the schema, but does not direct the agent to alternative tools for zoning codes or broader development data. This is a significant gap for a tool in a large family.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_history_allProperty · All sale + rent history — bundleD
Read-onlyIdempotent
Inspect

Price: 80¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

D1.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds one behavioral/operational detail: the call costs 80¢. It does not describe response behavior, scope, or bundle composition, but there is no contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short sentence, but it is under-specified rather than genuinely concise. It spends its only sentence on pricing while omitting the core purpose, making the structure unhelpful for tool selection.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only one-parameter tool with no output schema, the definition omits what the tool returns, what 'bundle' includes, and how it differs from the separate sale/rent history tools. The title hints at the purpose, but the description is far from complete enough for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single required parameter gnaf_id has 0% schema description coverage, and the description provides no meaning, format, or usage guidance for it. The agent is left with only the parameter name and type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description contains only 'Price: 80¢ per call.' and never states what the tool does. The purpose must be inferred from the title and name, and there is no verb/resource statement to distinguish it from sibling history tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives like properties_sale_history or properties_rent_history. The price-only text provides no selection criteria, exclusions, or context for choosing the bundle.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_neighboursProperty · NeighboursA
Read-onlyIdempotent
Inspect

Adjoining-parcel neighbours, enriched with address + property type + bed/bath/garage from the latest matching listing.

Price: 30¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide read-only, idempotent, and non-destructive hints, but the description adds value by specifying the enrichment details (address, property type, bed/bath/garage) and pricing (30¢ per call), which helps the agent anticipate cost and data scope without redundant repetition.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, with two sentences. The first sentence is information-dense, stating the core function and enrichment details. The second sentence provides pricing. No wasted words, and the most critical information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description is mostly adequate but missing key context about the required parameter (GNAF ID). It does not mention the output format or any edge cases. Given the tool's simplicity, it is minimally sufficient, but more guidance on the parameter would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, meaning the parameter 'gnaf_id' is undocumented in the schema. The description does not explain what a GNAF ID is or how to obtain it. However, the description implies it is a property identifier, but it does not provide format or source guidance, so the description partially compensates but not fully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns adjoining-parcel neighbours enriched with data from the latest matching listing, using a specific identifier. It distinguishes from similar tools like 'suburbs_hero_neighbours' and 'properties_context_nearby_for_sale' by focusing on property-level neighbours with listing enrichment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives. The description does not mention when not to use it or under what conditions a different tool is preferable. The agent must infer usage from the name and description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_profileProperty · ABS geo profileA
Read-onlyIdempotent
Inspect

Resolve a GNAF to its full ABS Statistical Geography Standard hierarchy (Mesh Block → SA1 → SA2 → SA3 → SA4 → GCCSA → State) plus the parallel admin chain (LGA, suburb (SAL), postcode). Call this once to get every ABS key the rest of the data layers index on.

Price: 3¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds valuable operational context: the price per call (3¢) and the scope of the response (full hierarchy and admin chain), which go beyond the annotations. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus a price note, with the primary function front-loaded. There is no redundancy or filler; every word earns its place. The price is clearly highlighted at the end, making it easy for the agent to notice.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity (one parameter, read-only, no output schema), the description covers the core purpose, the scope of the return (hierarchy and admin chain), and cost. It does not detail the exact output fields or error handling, but for a profile tool that returns a known set of ABS keys, this is likely adequate. The mention of 'every ABS key' provides sufficient context for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has only gnaf_id with 0% description coverage, so the description must compensate. The phrase 'Resolve a GNAF' explicitly indicates that gnaf_id is a GNAF identifier, adding meaning beyond the bare schema. While it does not specify the format or origin of the GNAF, for a single required parameter this is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (resolve) and resource (GNAF) with a clear outcome: the full ABS Statistical Geography Standard hierarchy and parallel admin chain. It distinguishes from siblings like geocode_address by focusing on the comprehensive geo-profile rather than a single geocoding result. The phrase 'Call this once to get every ABS key' reinforces its purpose as the one-stop tool for ABS keys.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies usage: use it when you need the full ABS hierarchy for a given GNAF. The explicit 'Call this once' suggests it is the primary method for that need, but it does not name specific alternatives or state when not to use it. This is clear context but lacks explicit exclusions, so a 4 is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_rent_historyProperty · Rental listing historyB
Read-onlyIdempotent
Inspect

All For Rent records, most-recent first.

Price: 30¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds scope ('All For Rent records'), sort order, and price, but does not disclose pagination behavior, response size, or any access limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, with the core behavior front-loaded in the first sentence and the pricing clearly separated. There is no filler or redundant restatement of the name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one required parameter and no output schema, the missing parameter semantics and lack of sibling differentiation leave real gaps. An agent could call it, but correctly interpreting gnaf_id and choosing this over properties_rent_history_latest requires guesswork.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description never explains what gnaf_id means, what format it should take, or how it maps to the property. The parameter name hints at a geographic identifier, but the agent receives no explicit semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear resource ('All For Rent records') and an ordering ('most-recent first'), which distinguishes it from a single-latest record endpoint. It doesn't explicitly name the sibling alternative, but the scope is specific enough to understand the tool's function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus closely related siblings like properties_rent_history_latest, properties_sale_history, or properties_history_all. The intended selection criteria are only implied by the name and title.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_rent_history_latestProperty · Most-recent rent observationC
Read-onlyIdempotent
Inspect

Most-recent For Rent record.

Price: 10¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the description need not repeat safety. It does add a crucial behavioral detail: 'Price: 10¢ per call,' which is useful cost information. However, it does not describe the response format or whether the record includes all fields or just rent amount, leaving some behavioral transparency gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of a single clear sentence plus pricing. It is front-loaded with the core purpose. However, it is so minimal that it borders on under-specification rather than efficient conciseness, though the structure itself is clean.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description should clarify what the response contains, but it does not. It also fails to explain the parameter or any edge cases (e.g., what happens if no rent history exists). The tool is simple but the description leaves too much to the agent's inference, especially with no parameter documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, gnaf_id, has 0% schema description coverage. The description does not explain what gnaf_id is, how to obtain it, or any format details. Since the schema provides no help and the description adds nothing, the parameter semantics are essentially undocumented, making this a critical gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Most-recent For Rent record,' which clearly identifies the operation: returning the latest rent record for a property. Combined with the title, it distinguishes itself from properties_rent_history (full history) and properties_sale_history_latest (sales version). The verb is implied but the resource is explicit enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus properties_rent_history or other property history tools. It does not state that this is for the single most recent observation, nor does it mention alternatives. The usage is implied by the name but not explicitly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_risks_allAll property risk overlays — bundleB
Read-onlyIdempotent
Inspect

Every property-level risk overlay in one call. Flat 30¢ — may grow without increasing the bundle price as new overlays are added.

With ?geojson=true each risk that has a polygon overlay also carries its 1km-radius-clipped geojson FeatureCollection + geojson_meta.

Price: 48¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
geojsonNoWhen true, add a `geojson` FeatureCollection of the hazard polygons clipped to a 1km-radius circle around the property, plus `geojson_meta` (default false — response unchanged).
gnaf_idYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish the operation as read-only, idempotent, and non-destructive, so the description only needs to add non-obvious behavior. It does explain the geojson=true behavior, including the 1km-radius clipping and the inclusion of geojson_meta. However, it contains a contradictory pricing statement ( 'Flat 30¢' vs '**Price: 48¢ per call.**' ), which undermines its reliability as a behavioral/contractual disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, but the pricing information is presented twice and with conflicting values: first 'Flat 30¢' and later '**Price: 48¢ per call.**'. This redundancy and inconsistency suggests a lack of careful editing and reduces the clarity of an otherwise brief definition. The core behavioral information is front-loaded, but the price contradiction is a structural flaw.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter endpoint with read-only/idempotent annotations, the description covers the primary behavior (all risk overlays in one call) and explains the optional geojson enhancement. It does not describe the default response payload or how the various risk overlays are presented, but the lack of an output schema makes a more verbose contract description desirable. The pricing mistake is a minor gap in an otherwise complete definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides a full description of the geojson parameter, and the description essentially restates that behavior without adding new meaning. The required gnaf_id parameter is not described in the schema or in the description, leaving the caller to infer it is a property identifier. With 50% schema coverage boundaries, the description should have clarified gnaf_id, but it does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The phrase 'Every property-level risk overlay in one call' clearly indicates that this tool returns all risk overlays for a property in a single request. The title 'bundle' and the presence of individual risk sibling tools help distinguish it from single-overlay endpoints. It lacks an explicit verb like 'retrieve', but the usage context is unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description emphasizes that this is a bundle of all property risk overlays, implying it should be used when a caller wants all overlays at once rather than calling individual overlay endpoints like properties_risks_bushfire. However, it does not explicitly state when to prefer this over the individual tools, nor does it mention any limitations or when those alternatives would be better. The 'may grow' note hints at long-term stability of the offering but offers no direct comparison.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_risks_bushfireProperty · Bushfire-prone overlayA
Read-onlyIdempotent
Inspect

Bushfire-prone-area overlays within 1 km. Read on_property — a returned row means "found nearby", not "this property is in a bushfire zone".

Price: 15¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
geojsonNoWhen true, add a `geojson` FeatureCollection of the hazard polygons clipped to a 1km-radius circle around the property, plus `geojson_meta` (default false — response unchanged).
gnaf_idYes

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds genuinely new behavioral context: the 1 km radius, the crucial 'found nearby ≠ on-property' semantics, and the 15¢ cost per call — none of which are in the structured data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus a bolded price line. The core function is front-loaded, and every clause earns its place — the semantic clarification and price are both high-value, non-redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with one required parameter and no output schema, the description covers the essential ground: the search radius, the misinterpretation risk, and the cost. It doesn't enumerate the full response shape, but the single most dangerous semantic trap is explicitly disclosed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%: the required `gnaf_id` is undocumented in both the schema and the description, which fails to compensate for that gap. The 1 km radius mention adds little value since the schema's geojson parameter already states the 1km-radius clipping behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: bushfire-prone-area overlays within 1 km of a property. The title and scope differentiate it from the suburb-level suburbs_risks_bushfire and the other properties_risks_* hazard tools, though it never explicitly names a sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

When to use the tool is implied by the property-scoped 1 km framing, but there is no explicit when-to-use or when-not-to-use guidance and no alternative tool is named. The `on_property` clarification is about interpreting results, not about selecting between competing tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_risks_environmentProperty · Environmental-risk overlayC
Read-onlyIdempotent
Inspect

Environmental-risk overlay (contamination, salinity, ...).

Price: 3¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds a useful price signal and names the risk categories returned, but does not disclose output format, geometry type, or any other runtime behavior beyond what annotations imply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core purpose, followed by the price. There is no filler or repetition of annotations, and every sentence earns its place, though the content is thin.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description should at least hint at what the overlay contains or returns; it only gives examples without explaining the response shape or how detailed the risk data is. The one required parameter is not explained, and there is no routing guidance among the many sibling risk tools, leaving the definition incomplete for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not mention gnaf_id at all. Since the schema provides no explanation and the description does not compensate, an agent gets no help understanding what identifier to supply or how it relates to the property.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource as an environmental-risk overlay and gives concrete examples (contamination, salinity), which distinguishes it from sibling risk tools like bushfire, flood, or erosion. It lacks an explicit verb such as 'get' or 'return', but the noun-phrase style still communicates the tool's subject well.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives like properties_risks_all, properties_risks_bushfire, or properties_risks_flood. The subject matter is implied, but there are no explicit when-to-use, when-not-to-use, or alternative-routing instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_risks_erosionProperty · Erosion overlayA
Read-onlyIdempotent
Inspect

Coastal / soil erosion overlays within 1 km. Read on_property — a returned row means "found nearby", not "this property is eroding".

Price: 3¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
geojsonNoWhen true, add a `geojson` FeatureCollection of the hazard polygons clipped to a 1km-radius circle around the property, plus `geojson_meta` (default false — response unchanged).
gnaf_idYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds value beyond annotations by clarifying the spatial semantics of a returned row, preventing a likely misinterpretation of the result. It also discloses the per-call price, which is helpful operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise: two sentences that front-load the core purpose, then add the critical result-interpretation caveat and pricing. Every sentence earns its place, with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only lookup with one required parameterid and a boolean option, the description covers the core purpose, spatial scope, result semantics, and cost. It does not describe the full response shape, but there is no output schema and the `on_property` mention gives enough signal about what to expect. The main minor gap is parameter semantics for `gnaf_id`.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%: the `geojson` parameter is well documented in the schema, but `gnaf_id` has no description beyond its name. The tool description does not compensate for this gap—it does not explain that `gnaf_id` identifies the property or specify the expected identifier format. The 'within 1 km' mention adds spatial context but not parameter-level semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (coastal/soil erosion overlays) and a precise spatial scope ('within 1 km'), with a verb 'Read' that makes the operation clear. It does not explicitly differentiate itself from sibling risk tools like properties_risks_flood, but the erosion-specific subject matter makes its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear interpretive guidance on reading the `on_property` result, warning that a returned row means 'found nearby' rather than 'this property is eroding.' This is strong usage context, though it does not explicitly state when to choose this tool over alternatives such as properties_risks_all or properties_risks_flood.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_risks_floodProperty · Flood overlayA
Read-onlyIdempotent
Inspect

Modelled flood overlays within 1 km. Read on_property — a returned row means "found nearby", not "this property floods".

Price: 10¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
geojsonNoWhen true, add a `geojson` FeatureCollection of the hazard polygons clipped to a 1km-radius circle around the property, plus `geojson_meta` (default false — response unchanged).
gnaf_idYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only and idempotent behavior. The description adds meaningful behavioral context: results are modelled, limited to 1 km, the non-intuitive on_property semantics, and the 10¢ per call cost. This goes beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus a price callout. The core purpose is front-loaded, followed by the critical interpretation caveat and cost. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, strong annotations, and helpful geojson schema, the description is nearly complete. It covers purpose, proximity semantics, and cost. It does not describe the full response shape beyond on_property, and there is no output schema, so a small gap remains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents the geojson parameter well, including its clipping radius. The tool description reinforces the 1 km scope but does not explain gnaf_id or add parameter-level meaning beyond the schema. With 50% schema coverage, the description partially compensates but not fully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool provides: modelled flood overlays within 1 km. The resource and scope are specific. However, it does not explicitly differentiate from close siblings like properties_risks_historical_flood or properties_risks_all, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage is implied from the purpose, and the description gives an important interpretation caveat ('a returned row means found nearby, not this property floods'). However, it does not say when to prefer this tool over alternative flood/risk tools, nor does it provide explicit exclusions or alternative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_risks_heritageProperty · Heritage overlayA
Read-onlyIdempotent
Inspect

Heritage-listing overlays within 1 km. Read on_property — a returned row means "found nearby", not "this property is heritage-listed".

Price: 3¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
geojsonNoWhen true, add a `geojson` FeatureCollection of the hazard polygons clipped to a 1km-radius circle around the property, plus `geojson_meta` (default false — response unchanged).
gnaf_idYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: the 'found nearby' vs 'is heritage-listed' distinction, the 1 km radius, and the pricing note (3¢ per call). It doesn't describe pagination or response format, but the key behavioral nuance is disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with zero waste. The critical semantic clarification ('found nearby', not 'heritage-listed') is front-loaded, followed by the radius scope and pricing. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with 2 parameters and no output schema, the description covers the essential context: what it returns, the radius, the semantic caveat, and cost. It doesn't describe the response structure, but with no output schema and a simple boolean geojson parameter, the description is largely complete. A minor gap is not explaining what fields appear in a returned row.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%: the geojson parameter is well-documented in the schema, but gnaf_id has no description. The description doesn't add meaning for gnaf_id beyond the schema. The 'within 1 km' context helps interpret the geojson clipping behavior, but the description doesn't compensate for the undocumented gnaf_id parameter. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Heritage-listing overlays within 1 km' and clarifies the key semantic distinction that a returned row means 'found nearby', not 'this property is heritage-listed'. This clearly distinguishes it from sibling tools like properties_risks_all or properties_development_zoning_overlays.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to use the tool: when you need heritage-listing overlays within 1 km of a property. It doesn't explicitly name alternatives or exclusions, but the 'within 1 km' scope and the 'found nearby' clarification imply the use case. It could be improved by explicitly contrasting with a sibling like properties_risks_all or suburbs_risks_heritage_share.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_risks_historical_floodProperty · Historical-flood overlayA
Read-onlyIdempotent
Inspect

Recorded historical flood extents within 1 km. Read on_property — a returned row means "found nearby", not "this property flooded".

Price: 3¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly, idempotent, and non-destructive behavior. The description adds valuable non-obvious semantics: a returned row means 'found nearby', not that the property itself flooded, and it discloses the 3¢ per-call cost. This goes beyond the structured annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence earns its place: the data scope, the critical interpretation warning, and the price. It is short, front-loaded, and free of filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, read-only tool, the description is largely complete: it states the data returned, the key misinterpretation risk, and cost. It could be more complete by describing the output structure and when to use the sibling flood tool, but the essential calling context is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not explain the gnaf_id parameter, its format, or how it identifies the property. The mention of on_property relates to output, not input, so the description fails to compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns recorded historical flood extents within 1 km, with a specific resource and scope. It does not explicitly name or differentiate the sibling properties_risks_flood, but the 'historical-flood overlay' title and 'within 1 km' scope make the purpose reasonably distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the use case: query historical flood extents for a property via gnaf_id. It provides no explicit when-to-use guidance or alternatives, such as pointing to properties_risks_flood for current flood risk, but the context is enough to infer the basic scenario.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_risks_hv_power_lineProperty · High-voltage power-line overlayC
Read-onlyIdempotent
Inspect

High-voltage power-line easement near the parcel.

Price: 2¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds the price and a vague 'near the parcel' but does not disclose what the tool returns (e.g., a boolean, a distance, or a detailed report). Without an output schema, this lack of behavioral detail is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, using two sentences to state the purpose and price. It is front-loaded with the core function and includes the cost, which is useful. However, it is so brief that it sacrifices essential detail; this is conciseness but not necessarily effective communication.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description is minimal but insufficient. It does not clarify the output type, does not differentiate from the numerous sibling risk tools, and does not provide any usage context beyond the bare statement. An agent would struggle to know exactly what data it receives or how to interpret it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero description coverage, and the tool description does not explain the 'gnaf_id' parameter at all. The parameter name is somewhat self-explanatory (an identifier), but the description offers no guidance on format, source, or required values, leaving the agent to infer.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the resource ('high-voltage power-line easement') and implies a proximity check ('near the parcel'), which is clear enough to distinguish from other risk tools like bushfire or flood. However, it lacks an explicit verb (e.g., 'returns', 'checks') and does not specify the nature of the result (boolean, distance, etc.), so it's slightly vague but still informative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool instead of the many sibling risk tools (e.g., properties_risks_all, properties_risks_bushfire, or the suburb-level suburbs_risks_hv_power_lines). The description only mentions the price and a general statement, providing no context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_risks_landslideProperty · Landslide overlayA
Read-onlyIdempotent
Inspect

Landslide-risk overlays within 1 km. Read on_property — a returned row means "found nearby", not "this property is at landslide risk".

Price: 3¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
geojsonNoWhen true, add a `geojson` FeatureCollection of the hazard polygons clipped to a 1km-radius circle around the property, plus `geojson_meta` (default false — response unchanged).
gnaf_idYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is known. The description adds the important behavioral nuance about the meaning of returned rows and the price per call, which are not covered by annotations. This exceeds the baseline for a read-only tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences plus a price note, with the core purpose and interpretation warning front-loaded. Every sentence adds value and there is no fluff. It is an excellent model of concise, high-signal writing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two parameters and no output schema, the description covers the essential meaning and interpretation. It omits details about the geojson parameter's output format, but that is documented in the schema. The absence of an explicit usage-vs-alternatives note is a minor gap, so a 4 is appropriate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50% (geojson described, gnaf_id not). The description does not mention or elaborate on any input parameters, leaving gnaf_id unexplained. With half the parameters undocumented in the schema and no guidance in the description, the agent lacks semantic understanding of the required identifier.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides landslide-risk overlays within a 1 km radius and explicitly distinguishes the meaning of a returned row ('found nearby') from an actual property risk. This is a specific verb-resource pairing and directly addresses the most common misinterpretation, making it stand out from sibling risk tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides crucial context on how to interpret results (a row means nearby, not at risk) and the 1 km scope. However, it does not explicitly advise when to choose this tool over alternatives like properties_risks_all or other risk-specific tools; that is left to the name and sibling context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_risks_mobile_black_spotProperty · Mobile black-spot overlayB
Read-onlyIdempotent
Inspect

Mobile-coverage black-spot overlay near the parcel.

Price: 2¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly, idempotent, and non-destructive behavior, so the description doesn't need to restate those. It adds the price constraint ('2¢ per call') and the 'near the parcel' spatial context, both useful beyond the annotations. However, it does not disclose what the overlay contains (geometry, list, boolean) or behavior when no black spot exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences, one for purpose and one for price, with no redundant phrases. The core function is front-loaded and every word earns its place. This is a model of minimal, purposeful writing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and only a 12-word description, an agent lacks details about the response structure, the meaning of gnaf_id, and when to choose this over properties_risks_all. The price note is helpful, but the overall context is thin for a tool in a large family of risk overlays.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for gnaf_id, and the description does not define gnaf_id. The only hint is 'near the parcel', which implies the identifier refers to a parcel but does not explain its format or provenance. This is insufficient compensation for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Mobile-coverage black-spot overlay near the parcel' clearly identifies the resource (mobile black-spot overlay) and its scope (near the parcel). It is readily distinguishable from sibling risk tools like properties_risks_flood or properties_risks_bushfire because it names a unique subject. However, it lacks an explicit verb such as 'retrieves' or 'returns', so it reads as a noun phrase rather than an action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like properties_risks_all or other risk overlays. The description does not state whether this is a standalone risk check or part of a broader risk assessment, nor does it mention exclusions. An agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_risks_public_housingProperty · Public-housing overlayC
Read-onlyIdempotent
Inspect

Public-housing concentration overlay near the parcel.

Price: 4¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds the cost ('4¢ per call') which is extra transparency beyond annotations. However, it does not describe the output format or any side effects, but given annotations cover safety, this is a minimal but valid addition.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely brief and to the point, with no wasted words. It front-loads the core function and adds the cost note. It is appropriately sized for the simplicity of the tool, though it could have added a bit more context without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given one parameter, no output schema, and annotations that cover the safety profile, the description is still incomplete. It does not explain what 'overlay' means in terms of the response, nor does it clarify the gnaf_id parameter. An agent would need to infer or look elsewhere. The description is not sufficient for confident invocation without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema lists one required parameter, gnaf_id, but has zero description coverage. The description does not explain gnaf_id or its expected format. The tool name implies it's a parcel identifier, but that inference is not explicit in the description. With 0% schema coverage, the description should compensate but fails to do so.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool's function: providing a public-housing concentration overlay for a specific parcel. The phrase 'near the parcel' indicates the scope and the resource is explicit. It distinguishes from siblings like properties_surroundings_public_housing by being risk-related, though not fully explicit. The verb is implied but context makes it clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus the many sibling tools (e.g., properties_risks_all, properties_risks_environment, properties_surroundings_public_housing). No conditions or alternatives are mentioned, leaving the agent to infer based on naming.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_sale_historyProperty · Sale & for-sale historyC
Read-onlyIdempotent
Inspect

All Sold + For Sale records, most-recent first.

Price: 30¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnlyHint, idempotentHint, destructiveHint). The description adds ordering (most-recent first) and the price per call, which are useful. However, it doesn't describe output format, pagination, or other behavioral traits. Given annotations handle safety, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two short sentences. The primary function is front-loaded, and the cost is clearly stated. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter and no output schema, the description is minimal. It fails to explain what gnaf_id is, what the response looks like, or how it differs from similar tools. The annotations cover safety, but the description lacks essential context for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single parameter gnaf_id. The description does not mention this parameter at all, adding no meaning beyond the bare schema. The agent must infer that gnaf_id is a property identifier, which is not stated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns all Sold and For Sale records, most-recent first, identifying the resource and scope. It doesn't explicitly differentiate from similar siblings like properties_history_all or properties_sale_history_latest, so it's not a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. Siblings such as properties_history_all, properties_sale_history_latest, and properties_rent_history exist, but the description offers no selection criteria or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_sale_history_latestProperty · Most-recent sale recordC
Read-onlyIdempotent
Inspect

Most-recent Sold or For Sale record.

Price: 10¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the detail that the record could be 'Sold or For Sale,' which clarifies the data status, but it does not describe return format, pagination, or other behavioral traits. The price is a cost note, not behavioral. Minimal added value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences, with the purpose front-loaded and the price as an additional note. It is extremely concise and to the point, with no fluff or redundant phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a single parameter and no output schema, but the description does not explain the parameter, the return structure, or any caveats. It is minimal and assumes prior knowledge of gnaf_id. For a tool with zero schema coverage, this is inadequate for an agent to call it correctly without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage and the description does not mention gnaf_id at all. Since the schema provides no meaning, the description should explain the parameter, but it doesn't. The agent is left without any semantic guidance for the required parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Most-recent Sold or For Sale record,' which clearly indicates the tool returns the latest sale record for a property. It distinguishes from siblings like properties_sale_history (full history) and properties_rent_history_latest (rent) by the 'Sold or For Sale' and 'Most-recent' phrasing, though it doesn't explicitly mention 'property' or the input identifier.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention that this is for quick access to the latest sale as opposed to full history, nor does it reference sibling tools or any context that would help an agent choose it over similar offerings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_schools_allProperty · All schools — bundleD
Read-onlyIdempotent
Inspect

Price: 105¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

D1.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the description's job is to add context beyond that. It only discloses the 105¢ per-call price and says nothing about response contents, aggregation behavior, or failure modes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is short and front-loaded, but this is under-specification rather than appropriate conciseness. A functional one-sentence tool description is missing, so the only sentence does not meaningfully help an agent understand or invoke the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one parameter, no output schema, and no functional description, the definition is inadequate for correct invocation. It lacks purpose, parameter guidance, and any relation to the large sibling tool group, making it effectively unusable beyond knowing a cost.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one required parameter, gnaf_id, with no description, and schema description coverage is 0%. The description does not mention gnaf_id or its expected format, so it provides no compensation for the absent schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description contains only 'Price: 105¢ per call.' and states no function. The title 'Property · All schools — bundle' echoes the tool name and hints at aggregated school data, but there is no verb or explicit resource behavior, and no differentiation from properties_schools_nearby or properties_schools_ranking.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. The description does not say when to call this bundle versus the many sibling school tools, so an agent has no basis for selecting it over alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_schools_nearbyProperty · Nearby schoolsB
Read-onlyIdempotent
Inspect

Schools within ~5km of the property, with rank + student counts.

Price: 5¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnly, idempotent, and non-destructive hints. The description adds value beyond them with the ~5km approximation and the 5¢ per-call cost, but it does not disclose response behavior, edge cases, or any additional operational constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise: two short sentences, with purpose and scope first and pricing separated into its own line. Every element earns its place with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read-only endpoint, it covers the returned content and cost adequately. However, the unexplained gnaf_id parameter and lack of any input-format guidance leave a meaningful gap that the agent must infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter, gnaf_id, has 0% schema description coverage, and the description only obliquely refers to 'the property' without explicitly explaining what gnaf_id is or its expected format. The description does not compensate for the missing schema detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear resource (schools near a property) with scope (~5km) and included data (rank, student counts). It is easily distinguishable from siblings like properties_schools_all and properties_schools_ranking, though it lacks an explicit verb.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to choose this tool over related siblings such as properties_schools_all, properties_schools_ranking, or suburbs_schools_nearby. There are no exclusions, prerequisites, or alternative routing cues.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_schools_rankingProperty · Local school rankingB
Read-onlyIdempotent
Inspect

Schools within ~5km of the property, ranked by NAPLAN / socioeconomic score.

Price: 100¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description does not need to repeat safety information. However, it does add useful context about the data being ranked by NAPLAN/socioeconomic score, which is not inferred from the name alone. It does not disclose potential variability in the number of schools returned or any limits, which could be relevant for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences, and the key purpose is front-loaded. The pricing note is a separate line, which is clear but could be considered extraneous for functional description, yet it is important for decision-making. The structure is efficient and avoids redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description is fairly complete, but it lacks details on the output format, such as whether it returns a list of school names, scores, or both. The ranking methodology is mentioned but not elaborated, which may be acceptable for a simple tool, but an agent might need more to fully utilize the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the parameter gnaf_id is not explained in the schema. The description also does not explicitly explain what gnaf_id is or how to obtain it, placing the burden on the agent to infer from naming conventions. Since there is only one parameter, the description should at least clarify its role, but it does not add meaning beyond the parameter name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that it returns schools within ~5km of the property ranked by NAPLAN/socioeconomic score, which distinguishes it from broader school tools like properties_schools_all and properties_schools_nearby. It uses a specific verb 'ranked' and a clear resource, making the purpose easy to understand. However, it could be more explicit about how it differs from nearby schools or catchment tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when a ranking of nearby schools by performance is needed, but it does not provide explicit guidance on when to use this tool versus alternatives like properties_schools_nearby or suburbs_schools_catchment. There is no mention of exclusions or specific scenarios, so the guidance is only implicit based on the description's focus on ranking.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_street_profileStreet profile — this property's street vs its suburbA
Read-onlyIdempotent
Inspect

The property's own street: current median price, 2/4/8-year price forecasts, realised growth, sale/rental turnover, renter share and houses/units on the street — plus the suburb-wide medians to judge it against and the street's rank on 4-year forecast growth.

404s when the street has no forecast row rather than falling back to suburb-wide figures, which would answer a different question.

Price: 20¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: the 404 behavior when no forecast row exists, and the pricing (20¢ per call). It also clarifies the semantic scope (street vs suburb comparison), which is beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: the first sentence lists the key metrics, the second clarifies the 404 behavior, and the third states pricing. Every sentence earns its place with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only tool with no output schema, the description covers the core semantics, the error behavior, and the cost. The only gap is that it doesn't describe the return format or structure, but with no output schema and a simple parameter, this is acceptable. The 404 disclosure is particularly valuable for an agent deciding whether to call this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden. The description implies the gnaf_id identifies the property whose street is profiled, but it doesn't explicitly explain what gnaf_id is or what format it should take. The description adds context about what the parameter is used for (the property's street), but the parameter itself is undocumented in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (the property's street), a clear verb (profile), and enumerates the exact metrics returned (median price, forecasts, growth, turnover, renter share, houses/units, suburb-wide medians, rank). It also distinguishes itself from suburb-wide tools by explicitly framing the comparison against the suburb.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly states what the tool does and implicitly when to use it (when you need street-level vs suburb-wide data). It names the alternative concept (suburb-wide figures) and explicitly says the tool does NOT fall back to suburb-wide data, which helps an agent avoid using it for a different question. However, it doesn't name a specific sibling tool as the alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_surroundings_listing_history_signalsProperty · Surrounding listing-history signals (200 m)B
Read-onlyIdempotent
Inspect

Latest sold/rent dates and likely-owner-status signal per nearby property.

Price: 20¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the per-property granularity and the price, but it does not disclose behavior for missing data, invalid gnaf_id values, or how the 'likely-owner-status' signal is expressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences: the first front-loads the core output, and the second gives the price. Both sentences earn their place, with no filler or repetition of annotation details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool with no output schema, the description provides enough intent-level clarity to attempt a call, but it leaves out the response structure, interpretation of the owner-status signal, and the radius context beyond the title. Additional detail about the 200 m scope or expected output shape would make it complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides only a required gnaf_id string with no description, and the description never mentions gnaf_id or explains how to obtain it. With 0% schema description coverage, the tool description should compensate for the parameter semantics, and it does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the output content: latest sold/rent dates and likely-owner-status signal per nearby property. This is clear enough to infer the operation, though it lacks an explicit verb like 'returns' or 'lists' and does not differentiate itself from overlapping sibling tools such as properties_neighbours or properties_surroundings_properties.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives. There are many nearby property-related sibling tools, but the description only explains what the tool returns and its price, never when it should be preferred or avoided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_surroundings_parcelsProperty · Surrounding cadastral parcels (200 m)B
Read-onlyIdempotent
Inspect

Cadastral parcel polygons (GeoJSON) for properties around the subject.

Price: 25¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds value by specifying the output format (GeoJSON) and the cost (25¢ per call), which are not in the annotations. However, it does not disclose behavior such as error handling, empty results, or the exact meaning of 'around the subject' beyond the title's 200 m radius.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, with two short sentences. The primary purpose is front-loaded ('Cadastral parcel polygons...'), and the cost is secondary. There is no filler or redundancy, making it highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter and no output schema, the description is incomplete. It fails to explain the gnaf_id parameter, which is critical given zero schema coverage. It also omits the 200 m radius (though present in the title) and any information about error responses or empty results. The tool is simple, but the missing parameter documentation leaves an agent uncertain about how to construct a valid call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the single required parameter gnaf_id. It does not explain what gnaf_id is (e.g., a G-NAF identifier) or how it should be formatted. The only hint is the phrase 'for properties around the subject,' which implies gnaf_id identifies the subject property, but this is not explicit. The description adds minimal meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns 'Cadastral parcel polygons (GeoJSON) for properties around the subject.' This is a specific resource (cadastral parcels) and output format (GeoJSON), distinguishing it from siblings like properties_surroundings_properties or properties_surroundings_tenure. The title adds the 200 m radius, further clarifying scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives. The description does not mention any exclusions, alternatives, or conditions (e.g., 'use this when you need parcel boundaries' or 'for property details use properties_surroundings_properties'). Usage must be inferred from the name and description, but no direct comparison is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_surroundings_propertiesProperty · Surrounding properties (200 m)A
Read-onlyIdempotent
Inspect

Every GNAF property within 200 m of the subject, with lat/lng and mesh block.

Price: 15¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is safe. The description adds the cost per call (15¢), which is useful, and the fixed 200-meter radius. However, it doesn't disclose any potential pagination limits, whether results are sorted, or if the call can fail without a valid GNAF ID. With annotations covering safety, the description's addition is moderate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of one sentence for the core function and one for pricing. It is front-loaded with the essential information and has no filler words. Every word earns its place, making it highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter read-only tool, the description suffices to understand the purpose but lacks details on input format (e.g., GNAF ID specification) and output structure (since no output schema exists). An agent might need to infer these from naming conventions or rely on trial, but the tool's simplicity mitigates the risk. It is complete enough for basic usage but not fully self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate for the single parameter 'gnaf_id'. It does not explain what format the GNAF ID should take or where to obtain it, which is a gap. However, the parameter name is self-explanatory for a domain-aware agent, and the description's context of 'subject' property implies it is the identifier of the target property. This is marginal improvement over the schema, earning a baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns GNAF properties within 200 meters of a given property, including lat/lng and mesh block data. It uses a specific verb ('surrounding properties') and resource, and is distinguished from sibling tools like 'properties_neighbours' by the explicit distance filter and data attributes, though it doesn't name a specific alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description conveys its primary use case (spatial proximity analysis) and implies when to use it (when nearby GNAF properties are needed), but it does not explicitly state when not to use it or suggest alternatives such as 'properties_neighbours' or 'properties_surroundings_parcels'. The context is clear enough for an agent to infer, but lacks explicit routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_surroundings_public_housingProperty · Surrounding public-housing flags (200 m)B
Read-onlyIdempotent
Inspect

Properties around the subject flagged by the public-housing classifier.

Price: 15¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds contextual scope ('around the subject' and 'public-housing classifier') and the price, but does not explain what a 'flag' means, how results are structured, or any quirks of the classifier. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded: the first sentence states the core function, and the second adds the price. Every word earns its place, with no filler or repetition of annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, read-only lookup with strong annotations, the core is present: what it returns (surrounding public-housing flags) and the subject identifier. However, the output is not described and no output schema exists, so an agent is left uncertain about the response shape or what 'flagged' means in practice.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain gnaf_id or its expected format. The phrase 'around the subject' vaguely implies gnaf_id identifies the property, but the agent must infer this. There is no compensation for the absent schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear resource and action: properties around the subject flagged by the public-housing classifier. The title adds the 200 m radius, which further clarifies scope. However, it does not explicitly distinguish the tool from siblings like properties_risks_public_housing or suburbs_shapes_public_housing_sa1.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. The description does not say when to prefer this tool over related siblings, nor does it mention exclusions or prerequisites. The only non-descriptive addition is pricing, which does not help with tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_surroundings_tenureProperty · Surrounding tenure mix (200 m)B
Read-onlyIdempotent
Inspect

ABS Census 2021 tenure shares for each mesh block around the subject.

Price: 15¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety and side effects. The description adds the data source (ABS Census 2021) and granularity (each mesh block), which is useful, but it does not disclose return shape, tenure categories, or any quirks. This is adequate given the strong annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: one sentence states the data product and granularity, and a second sentence gives the price. Information is front-loaded and no words are wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only tool, the description provides the essential context: what data, what geography, and price. However, there is no output schema, and the description does not enumerate the tenure categories or the exact output format, leaving some ambiguity for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single required parameter, gnaf_id, with 0% schema description coverage. The description never explains that gnaf_id identifies the subject property or how it should be formatted. The parameter name is somewhat self-explanatory, but the description adds no semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource: ABS Census 2021 tenure shares for each mesh block around the subject, with the 200 m scope in the title. It distinguishes from suburb-level tenure tools by specifying mesh-block granularity, though it lacks an explicit verb and does not name a sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as properties_context_mesh_blocks or suburbs_demographics_tenure. There are no prerequisites, exclusions, or context about which property identifier is expected. Only the price is mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_transport_nearbyProperty · Nearest transport by modeB
Read-onlyIdempotent
Inspect

Nearest train / tram / bus / ferry stop to the property, per mode, with distance. Widen radius_m for the nearest station beyond 1km.

Price: 5¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes
radius_mNoSearch radius in metres (100–5000, default 1000).

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is clear. The description adds the cost (5¢ per call) and a practical radius-widening tip, which is useful context. It does not describe output format or pagination, but the annotation coverage lowers the bar.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, each with a distinct purpose: stating the core function, providing a parameter tip, and giving pricing. The description is front-loaded with the main purpose and contains zero fluff. Excellent economy of words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter read-only tool with rich annotations, the description covers the essential behavior and cost. It is missing explicit usage guidance vs siblings like properties_amenities_nearby, and it does not mention distance units or output shape. Overall adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents radius_m fully (range and default), and the description adds a useful tip for when to widen it. However, the required gnaf_id has no schema description and the tool description does not clarify what it is or how to obtain it, leaving a significant gap for an agent trying to invoke the tool correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('nearest') and resource ('train / tram / bus / ferry stop') and clarifies output ('per mode, with distance'). It distinguishes from siblings like properties_amenities_nearby or properties_schools_nearby by the transport resource. However, it doesn't explicitly name any sibling alternative, which is a minor gap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to choose this tool over its many siblings. The only usage hint is about widening radius_m for distances beyond 1km, which is a parameter tip rather than tool-selection advice. There is no mention of when not to use it or what alternatives exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_valuation_agent_quotingProperty · Agent quoting accuracyA
Read-onlyIdempotent
Inspect

Quoting accuracy of the property's current listing agency — cohort, median guide-vs-sold deviation, underquote rate and its 5 most-recent tracked sales. Only while the property is listed for sale with a tracked agency.

Price: 50¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive. The description adds the cost (50¢ per call) and the condition that the property must be listed with a tracked agency, which implies potential failure or empty response otherwise. This is additional behavioral context not covered by annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences plus a price line, front-loading the purpose and listing the output metrics. No wasted words. Efficiently structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with one parameter and no output schema, the description gives a good overview of what it returns and when it works, but it lacks explanation of the gnaf_id parameter. It also doesn't mention any error cases or response format details. Given the tool's simplicity, it is reasonably complete but could be better.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has only gnaf_id with no description, and the description does not explain what gnaf_id is or its format. With 0% schema coverage, the description should compensate but doesn't. It only mentions the condition, not the parameter itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool reports the quoting accuracy of the property's current listing agency, listing specific metrics (cohort, median guide-vs-sold deviation, underquote rate, and 5 most-recent sales). It also includes a condition (only while listed), which distinguishes it from other valuation tools that focus on AVM, land values, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides a clear precondition: only while the property is listed for sale with a tracked agency. However, it does not explicitly compare with alternatives like properties_valuation_avm or properties_valuation_all, so it leaves it to the agent to infer when this is the right tool. It gives context but no explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_valuation_allProperty · All valuation outputs — bundleC
Read-onlyIdempotent
Inspect

Price: 10¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent already knows this is a safe read operation. The description adds only the pricing detail (10¢ per call), which is useful but minimal. It does not disclose the response size, potential for large payloads, or that all valuation outputs are included.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (one phrase), but it is not misleading; it is minimal yet honest. However, it fails to provide essential functional information, so the conciseness is a tradeoff for completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool returns a comprehensive bundle of valuation outputs, the description is incomplete. An agent needs to know what data is included, the parameter format, and any constraints. With no output schema, the description should explain the return value, but it only states the price.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has only one parameter, gnaf_id, with no description and 0% schema coverage. The tool description does not explain what gnaf_id is (likely a G-NAF identifier for a property) or how to obtain it. Since schema coverage is 0%, the description needed to clarify the parameter, but it does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The title and tool name indicate a bundle of valuation outputs, but the description only states the price, not what the tool actually does. It does not mention that it returns all valuation data for a property. An agent can infer it aggregates valuation outputs, but it is not explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs. the individual valuation tools (e.g., properties_valuation_avm) or other sibling tools. The description does not mention that it is a cost-effective bundle for comprehensive valuation data, and no exclusions or alternatives are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_valuation_avmProperty · AVM — automated valuationB
Read-onlyIdempotent
Inspect

Microburbs ML AVM for a single GNAF — point estimate, 80% range, plus a confidence score (0–100) derived from the interval width.

Price: 10¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering safety. The description adds valuable context: the cost (10¢ per call) and the nature of the output (point estimate, range, confidence score). This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: one sentence plus a bolded price note. It front-loads the core purpose and includes the price as a separate line, making it easy to scan. Every element adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides the key output elements (point estimate, range, confidence score) but omits details like units (presumably currency), how to interpret the range or confidence, and any error handling or edge cases. Since there is no output schema, more explicit return structure would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no description for the single parameter gnaf_id (0% coverage). The description only says 'for a single GNAF' but does not explain what a GNAF is, its format, or how to obtain it. This is insufficient for an agent to correctly construct the parameter without prior knowledge.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: providing an automated valuation (AVM) for a single property identified by a GNAF ID, returning a point estimate, an 80% range, and a confidence score. It distinguishes itself from other valuation tools (e.g., agent_quoting, land_values) by being the ML-based AVM, though it doesn't explicitly contrast with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus the many sibling valuation tools (e.g., properties_valuation_agent_quoting, properties_valuation_value_series). The agent must infer from the name and description alone, with no explicit conditions or alternatives mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_valuation_land_valuesProperty · Council land values — 5-year seriesB
Read-onlyIdempotent
Inspect

Council land valuations for the parcel — val_2021..val_2025 series with YoY change and $/sqm, plus lot area and zoning description.

Price: 15¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the agent knows this is a safe, read-only, deterministic call. The description adds value by listing the exact data fields (YoY change, $/sqm, lot area, zoning) and the series years, which is useful. However, it does not disclose any potential limitations, such as data availability for all years or whether the query returns empty results for certain parcels, but the annotations cover the safety profile adequately.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, with two sentences. The first sentence lists the key data fields and the series name, which is immediately informative. The second sentence adds the pricing cue, which is relevant for cost-sensitive agents. No redundancy or filler. It is front-loaded with the essential data content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a simple, single-parameter read-only tool. The description, combined with annotationsainer, is adequate for an agent to understand what the tool returns and that it is safe to call. The main gap is the lack of guidance on how to interpret gnaf_id (e.g., where to get it) and whether the series always has all five years. Given the tool's simplicity and the output schema absence, a 3 is reasonable, but it could be improved with a note on data completeness or a hint to use geocoding tools to obtain gnaf_id.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has only one parameter (gnaf_id) with no description (coverage 0%). The description does not explicitly define what gnaf_id is or how to obtain it, but the parameter name is self-explanatory as a geographic identifier. Given that there is only one parameter and it is required, the description could have clarified that it is a unique parcel identifier, but the context of the tool makes it inferable. Thus, the description partially compensates but not fully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns council land valuations for a specific parcel, with a 5-year series (val_2021..val_2025) including YoY change, $/sqm, lot area, and zoning. It identifies the resource (council land values) and the specific data fields. However, it does not explicitly distinguish itself from similar valuation tools like properties_valuation_value_series or properties_valuation_all, though the focus on land values is specific enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives. It does not mention when to prefer this over properties_valuation_all or properties_valuation_value_series, nor does it state any prerequisites (e.g., needing a gnaf_id from geocoding). The only context is the price, which is not a usage guideline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_valuation_negative_gearingProperty · Negative-gearing statA
Read-onlyIdempotent
Inspect

Negative-gearing stat at the finest available level: per-property cashflow scenarios (80% + 105% LVR), falling back to mesh-block then suburb investor-exposure.

Price: 20¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds valuable behavioral context beyond the annotations: the fallback hierarchy from per-property to mesh-block to suburb investor-exposure, the specific LVR scenarios, and the per-call price. Since annotations already declare read-only, idempotent, non-destructive behavior, the description enriches rather than repeats them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two tight sentences: the first front-loads the core purpose and granularity, the second adds the crucial fallback behavior and price. No filler or redundant wording is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only tool without an output schema, the description provides the main operational context: property-level cashflow scenarios, fallback behavior, and cost. It does not enumerate exact output fields, but the stated data semantics are enough for an agent to invoke the tool appropriately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no descriptions, and the description only indirectly explains the single gnaf_id parameter as identifying a property via 'per-property'. This is a minimal but real semantic contribution. It does not specify the identifier format or how to obtain a valid GNAF ID, which would have compensated more fully for the 0% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as a negative-gearing stat, scoped to a single property with per-property cashflow scenarios at 80% and 105% LVR. It distinguishes itself from the many valuation and property siblings by its specific subject matter and granularity fallback. Although it lacks an imperative verb, the title and description combine to make the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when the caller needs negative-gearing data at the finest available granularity, but it does not explicitly state when to choose this over alternatives like properties_valuation_all or other valuation tools. It provides useful granularity context but no exclusions or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

properties_valuation_value_seriesProperty · AVM value over timeA
Read-onlyIdempotent
Inspect

Modelled property value over time (monthly for the last year, annual before that). Houses only — units have no series.

Price: 30¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
gnaf_idYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds useful behavioral context: the data frequency (monthly for the last year, annual before that) and the house-only restriction. It doesn't disclose return format or pagination, but for a read-only series endpoint with annotations covering safety, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with zero waste. The core purpose and temporal granularity are front-loaded, the house-only restriction is stated, and the pricing note is a single compact line. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only tool with annotations covering safety, the description is mostly complete. It tells the agent what the tool returns (modelled value over time), the frequency, and the house-only restriction. However, it doesn't mention what the response looks like (no output schema exists) or how to handle the 'no series' case for units, which could leave an agent uncertain about error handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden for the single parameter, gnaf_id. The description does not explain what gnaf_id is or how to obtain it, but the parameter name itself is fairly self-explanatory (a G-NAF identifier). With only one parameter and a clear name, the baseline is 3; the description adds no additional semantic detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource ('modelled property value over time') with a clear verb ('modelled'), and adds temporal granularity (monthly for the last year, annual before that). It distinguishes itself from sibling valuation tools by noting 'Houses only — units have no series', which helps differentiate it from properties_valuation_avm and properties_valuation_all. However, it doesn't explicitly name a sibling alternative, so it falls just short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context on when the tool applies: it is for houses only, and units are excluded. This is an explicit exclusion that helps an agent avoid calling it for units. It doesn't name alternative tools for units or other valuation series, but the exclusion is strong enough to guide basic routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sa4_listList SA4sA
Read-onlyIdempotent
Inspect

All Australian SA4s. Optional ?state= filter. Returns {sa4, state} per row. Flat cost.

Price: 3¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoFilter by state / territory. Optional — ~110 SA4s nationally.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds valuable behavioral details: the return format '{sa4, state}' per row, the flat cost (3¢ per call), and the optional state filter. These go beyond annotations without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences plus a cost line, with no fluff. It front-loads the core purpose, then the filter, return format, and cost. Every sentence earns its place, making it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one optional parameter and no output schema, the description covers everything needed: what it does, the filter, the return shape, and cost. Annotations cover safety. Nothing essential is missing for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the 'state' parameter, so the schema already documents it. The description adds the note '~110 SA4s nationally,' which provides a sense of scale but doesn't significantly enhance parameter semantics beyond what the schema offers. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'All Australian SA4s.' It specifies the resource (SA4s), the action (list), and the scope (all national SA4s). It distinguishes from siblings like sa4_profile by being a list operation, and from lga_list and suburbs_list by focusing on SA4s specifically.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: it's for listing all SA4s, with an optional state filter. It doesn't explicitly mention alternatives or when-not-to-use, but the purpose is unambiguous. Given the many sibling tools, a brief pointer to when to use this vs sa4_profile would improve, but the current context is sufficient for an agent to decide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sa4_profileSA4 · ABS geo profileC
Read-onlyIdempotent
Inspect

SA4's parent chain — GCCSA + state.

Price: 3¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
sa4_nameYes

TDQS

C2.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds the price (3¢ per call) and a hint about the output structure (GCCSA + state), which provides some behavioral context beyond annotations. However, it doesn't explain edge cases, failure modes, or the exact return format, so it's only marginally more transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (one sentence plus price), which is concise. However, the main statement is vague and not front-loaded with the most important information (what the tool does). The price is useful but the core function is unclear, so it doesn't earn its place effectively.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool (one param, no output schema), the description should at least clarify the return value and usage. It mentions the output includes GCCSA and state, but doesn't explain the format or that it's a profile lookup. Without an output schema, the description must cover this, and it falls short. It's incomplete for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description must compensate for the single parameter sa4_name. It does not explain what sa4_name means, its format (e.g., name vs code), or provide examples. The description only mentions 'SA4' generically, which doesn't clarify the parameter's expected value. This is a significant gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'SA4's parent chain — GCCSA + state' hints at the resource but lacks a clear verb or explicit statement of what the tool does. It doesn't say 'returns' or 'gets' the parent chain, leaving the action implicit. It does distinguish from some siblings by mentioning the geographic hierarchy, but it's too vague for an agent to know it's a lookup/profile operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives like lga_profile, mbs_profile, or suburbs_profile. It doesn't state that it's for SA4-level geography or mention any conditions. The presence of sibling profile tools without any differentiation makes the usage context unclear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_crime_breakdownSuburb · Crime — breakdown by typeA
Read-onlyIdempotent
Inspect

Per-crime-type rates (predicted incidents per 100,000 residents per year) for the suburb vs national medians.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering safety. The description adds that incidents are 'predicted' and normalized per 100,000 residents per year, which is valuable context about data nature and units. This goes beyond annotations and is accurate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly worded sentence. It front-loads the key output (per-crime-type rates) and the comparison to national medians, with no filler. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description conveys the core purpose and units but omits details like which crime types are included, how results are formatted, or any limitations. It is minimally adequate but could be more complete for an agent to fully anticipate the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter, suburb_name, with zero description coverage. The tool description does not explain or add meaning to this parameter. Since schema coverage is 0%, the description should compensate but doesn't, leaving the agent to rely on the parameter name alone. This is insufficient for full clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides per-crime-type rates (predicted incidents per 100,000 residents per year) for a suburb compared to national medians. It specifies the verb and resource, and the mention of 'per-crime-type' and 'vs national medians' differentiates it from siblings like suburbs_crime_summary or suburbs_crime_by_mesh_block.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (when you need a breakdown by crime type) but does not explicitly mention alternatives or exclusions. It lacks guidance like 'use this instead of suburbs_crime_summary when you need per-type rates.' Usage context is implied but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_crime_by_mesh_blockSuburb · Crime — rate per mesh blockB
Read-onlyIdempotent
Inspect

Total crime rate for every mesh block in the suburb, keyed by ABS mesh-block code. Values are predicted incidents per 100,000 residents per year (see the payload's unit / definition keys).

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already signal a safe read-only, idempotent operation. The description adds useful behavioral context beyond that: values are predicted incidents per 100,000 residents per year and are keyed by ABS mesh-block code, which tells the agent what the returned data means.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler; the core result is first, then the keying and unit details. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read-only tool with no output schema, the description covers the result shape, the keying, and the units so an agent can interpret the response. It does not discuss edge cases such as missing mesh blocks, but overall it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description must compensate for the single suburb_name parameter, but it only refers to 'the suburb' without explaining accepted formats, case sensitivity, or how the name maps to ABS mesh blocks. The parameter's semantics are mostly left to inference from its name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states exactly what the tool returns — total crime rate per mesh block for a suburb, keyed by ABS mesh-block code — which is specific and distinct from suburb-level crime tools like suburbs_crime_summary. However, it does not explicitly name those siblings or contrast itself, so it stops short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to choose this tool over suburbs_crime_breakdown or suburbs_crime_summary. The mesh-block granularity is implied by the description, but there is no explicit when/when-not statement or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_crime_summaryCrime — suburb vs national benchmarkB
Read-onlyIdempotent
Inspect

Suburb and national total-crime medians (predicted incidents per 100,000 residents per year) with a vs-national verdict.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, covering safety. The description adds useful context about units (predicted incidents per 100,000) and the verdict aspect, which is beyond annotations. It doesn't discuss rate limits or auth, but with annotations covering the safety profile, this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, front-loaded with the core output (medians and verdict) and units. There is zero waste and every phrase adds information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool with no output schema, the description conveys the essential data returned. However, it omits how the verdict is derived or what 'vs-national' entails, and it doesn't clarify the expected format of suburb_name. Given the abundance of similar siblings, the lack of usage guidance also leaves completeness slightly lacking.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does not mention the suburb_name parameter at all—no format, constraints, or examples. The parameter name is self-explanatory, but the description adds no semantic value beyond what the property name implies, failing to offset the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool provides suburb and national total-crime medians with a vs-national verdict. This is a specific resource and metric, and it distinguishes from siblings like suburbs_crime_breakdown (which likely breaks down by crime type) and suburbs_crime_by_mesh_block (mesh block level). It lacks an explicit verb like 'returns' but is clear enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus the many crime-related siblings. It doesn't mention alternatives, prerequisites, or exclusions. The title hints at the benchmark focus but the description itself provides no routing information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_demographics_ageSuburb · Age-bracket breakdownB
Read-onlyIdempotent
Inspect

Population by age bracket and gender.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds the specific dimensions (age bracket and gender) but doesn't disclose anything beyond that, such as whether the data is census-based, what age brackets are used, or how gender is categorized. With annotations covering the safety profile, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the key information: population by age bracket and gender. It's appropriately sized for a simple tool with one parameter. It could add a bit more context (e.g., data source or typical use), but it's not bloated or redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with one parameter and no output schema, the description is mostly adequate. It tells the agent what data it will get (age bracket and gender breakdown). However, it doesn't mention the output format, whether the data is a single aggregate or per-gender rows, or any caveats like data availability for small suburbs. Given the tool's simplicity, this is a minor gap, so 3.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the single parameter suburb_name. The description doesn't explain that suburb_name is the required input or what format it should take (e.g., 'Sydney' vs 'Sydney, NSW'). However, with only one parameter and a clear name, the schema is self-explanatory. The description adds no parameter-level detail, so baseline 3 is fair.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Population by age bracket and gender' clearly states the resource (suburb population) and the specific breakdown (age bracket and gender). It distinguishes itself from sibling tools like suburbs_demographics_all and suburbs_demographics_income by naming the exact demographic dimensions. However, it doesn't explicitly mention the suburb_name parameter or contrast with a specific sibling, so it's not a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: call this when you need age-bracket and gender population data for a suburb. It doesn't explicitly state when to use this vs alternatives like suburbs_demographics_all or suburbs_demographics_cohorts, but the title and description make the niche clear. No exclusions or alternative routing are provided, so it's a 3.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_demographics_allSuburb · Age + income — bundleD
Read-onlyIdempotent
Inspect

Age + income — bundle

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

D1.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds no behavioral context beyond the annotations (readOnlyHint, idempotentHint, destructiveHint). It does not describe what the 'bundle' entails, such as the format of the output, whether it aggregates data, or any other operational details. It neither contradicts the annotations nor supplements them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short, which is technically concise, but it under-specifies the tool's functionality. It reads as a label rather than a helpful definition, offering no structured information about the tool's purpose or behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and a very simple input schema, the description must explain what the tool returns and how to interpret it. It fails to do so, leaving the agent to guess what 'age + income bundle' means in terms of data structure, coverage, or units. The tool is a demographics bundle and clearly requires more explanation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has a single parameter, suburb_name, with 0% description coverage. The description does not mention the parameter at all, leaving the agent without any guidance on the expected format, allowed values, or how the parameter influences the result.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Age + income — bundle' indicates the tool covers age and income demographics but does not state a clear action (e.g., 'retrieves', 'returns') or describe the resource precisely. It is essentially the title restated and offers minimal differentiation from sibling tools like suburbs_demographics_age or suburbs_demographics_income beyond implying a combined result.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of scenarios where a combined bundle is preferable to calling the individual age or income tools, nor any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_demographics_ancestry_mapSuburb · Dominant ancestry per microburbA
Read-onlyIdempotent
Inspect

The dominant ancestry (and its share) in each of the suburb's microburbs, plus suburb-level ancestry shares. Pilot coverage.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the operation read-only, idempotent, and non-destructive, so the safety burden is covered. The description adds only a vague 'Pilot coverage' caveat and does not clarify what happens for unsupported suburbs or how 'dominant' is determined.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One clean sentence front-loads the core output and ends with a caveat. It contains no filler and does not redundantly restate the title or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Because there is no output schema, the description appropriately names the main return values: dominant ancestry per microburb and suburb-level shares. It could be more complete by spelling out the share format and the scope of 'Pilot coverage,' but for a simple one-parameter read-only tool the description is largely sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single required parameter, suburb_name, is self-explanatory, and the description clarifies that it identifies the suburb whose microburbs are being examined. This compensates for the 0% schema description coverage, even though no format or exact-match requirements are stated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a precise output: the dominant ancestry and its share per microburb, plus suburb-level ancestry shares. The title reinforces the resource, and the 'map' framing distinguishes it from related ancestry/list siblings such as suburbs_ethnicity_ancestry.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is for per-microburb ancestry mapping, but it does not explicitly name alternatives or state when not to use it. The 'Pilot coverage' note hints at limited availability but is too vague to help an agent route between this and similar demographics/ethnicity tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_demographics_businessSuburb · Local business mixB
Read-onlyIdempotent
Inspect

ABN industry-mix pattern (Diverse / Professional-services-heavy / Mining-exposed / Low-commercial residential) plus the POI categories unusually common in the suburb, with named examples.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, idempotent, and non-destructive behavior, so the bar is lower here. The description adds useful context by naming the ABN data source and the nature of the output, but it does not disclose limitations such as ABN data lag, coverage gaps, or behavior for unknown suburbs. It adds some value beyond annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense sentence with no filler. It front-loads the ABN industry-mix pattern and then adds the POI component, with each phrase contributing distinct information. It is appropriately sized for the tool's simple input surface.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the one-parameter input and no output schema, the description covers the main expected output components: the ABN pattern categories and unusually common POI categories with examples. It does not specify the exact response shape or how examples are presented, but for a tool of this complexity the description is largely sufficient. It would benefit from a note about what happens when the suburb cannot be found or the data is sparse.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate for the undocumented parameter, but it never mentions suburb_name or any expected format or example. The single string parameter is inferable from context, but the description itself adds no parameter-level meaning. This is a clear gap under the low-coverage rule.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource (a suburb's local business mix) and names the output components: an ABN industry-mix pattern with four possible labels, plus unusually common POI categories with named examples. This differentiates it from sibling demographics tools like age, income, and voting. It lacks an explicit verb such as 'returns', but the output-oriented phrasing is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not state when to prefer this tool over any sibling, nor does it mention preconditions like needing a valid suburb_name or checking suburbs_list first. It does not offer alternatives or exclusions, leaving usage context entirely implicit. This is a thin area for an API with many closely related suburb tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_demographics_cohortsSuburb · Regional & neighbour cohort ranksB
Read-onlyIdempotent
Inspect

How the suburb ranks inside its SA4 region and against its touching neighbours on renter share, welfare dependency, overseas-born parents and public housing.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful context about comparison scope and metrics, but does not disclose return format, rank ordering, or how ranks are computed. It adds some value beyond annotations but not extensive behavioral detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence with no filler. It front-loads the core action ('How the suburb ranks') and immediately specifies the comparison groups and metrics. Every word contributes to understanding the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only tool, the description is mostly adequate: it tells the agent what suburb to pass and what question the tool answers. However, without an output schema, the description does not explain what the returned ranking data looks like, which is a notable completeness gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description only implicitly references 'the suburb' without explaining the expected format of suburb_name. It does not provide examples, case-sensitivity guidance, or clarity on what forms of suburb names are accepted. The single string parameter is simple, but the description does not compensate for the missing schema-level documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool does: it ranks a suburb within its SA4 region and against touching neighbours on four specific metrics (renter share, welfare dependency, overseas-born parents, public housing). This distinguishes it from the many other demographics sibling tools. It lacks an imperative verb like 'Get' or 'Returns', but the purpose is still explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides enough context to infer when to use the tool: when a suburb's cohort-related ranking relative to its region or neighbours is needed. However, it gives no explicit when-not-to-use guidance or references to alternative sibling tools, which would be valuable given the large sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_demographics_cultural_integrationSuburb · Cultural-integration scoreA
Read-onlyIdempotent
Inspect

Suburb cultural-integration composite (0-100) with national percentile and tier, plus the per-microburb scores behind it.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this tool read-only, idempotent, and non-destructive, so the safety profile is covered. The description adds useful behavioral context by enumerating exactly what is returned: the composite score, national percentile and tier, and the underlying per-microburb scores. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one tight sentence that front-loads the core resource and immediately states the output structure. Every clause adds information: the 0-100 scale, percentile/tier, and the per-microburb detail. There is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly enumerates the returned fields and scale, so an agent knows what to expect. For a single-parameter read-only lookup, this is nearly complete. It could optionally clarify edge cases like unknown suburbs or data availability, but those are minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden of explaining parameters, but it does not. The single parameter suburb_name is self-describing, yet there is no guidance on accepted formats (e.g., 'Sydney' vs 'Sydney, NSW') or how it maps to results. The description adds no meaning beyond the schema property name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool's subject—a suburb cultural-integration composite with a 0-100 score, national percentile, tier, and per-microburb components. This uniquely distinguishes it from sibling demographics and ethnicity tools by topic. It lacks an explicit retrieval verb, but the resource and output characteristics are unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied through the tool name and title: if the user wants a cultural-integration score for a suburb, this is the tool. However, it does not explicitly state when to prefer this over related siblings like suburbs_demographics_all or suburbs_ethnicity_all, nor does it describe any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_demographics_incomeSuburb · Income-bracket breakdownB
Read-onlyIdempotent
Inspect

Household income breakdown by bracket.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), so the description need not repeat that. However, it adds no additional behavioral context, such as response format, granularity, or any rate limits. It does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no fluff or redundant wording. It is appropriately sized for a simple tool with one parameter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and zero parameter documentation, the description is inadequate. It does not specify what the income brackets are, how they are presented (e.g., counts, percentages), or how to construct a valid suburb_name. An agent would need to consult other tools or guess.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero description coverage for suburb_name, and the tool description does not explain the expected format (e.g., full suburb name, code, or how to obtain a valid value). With 0% schema coverage, the description must compensate, but it does not mention the parameter at all.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb-resource: 'Household income breakdown by bracket.' It clearly differentiates from the sibling suburbs_demographics_income_map by using 'breakdown' rather than map, and the name reinforces the demographic focus.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives like suburbs_demographics_all or suburbs_demographics_income_map. It does not mention any selection criteria or exclusions, leaving the agent to infer based on the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_demographics_income_mapSuburb · Income per microburbA
Read-onlyIdempotent
Inspect

Median weekly household income for every microburb in the suburb, plus the suburb median, national percentile and highest/lowest pockets.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the read-only, idempotent, and non-destructive profile, so the description doesn't need to restate safety. It adds useful output content, such as the national percentile and extreme pockets, but does not disclose response format, data source, or any operational details. This is adequate but not rich behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, front-loaded with the primary metric, followed by the supplementary statistics. There is no filler or repetition, and every phrase earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one simple required parameter, no output schema, and read-only annotations, the description conveys enough return content for an agent to call the tool and interpret results. Minor gaps such as exact map/table structure or response format prevent a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single required string parameter with no schema description, and the phrase 'in the suburb' lightly confirms that suburb_name is the lookup value. The parameter is fairly self-explanatory, but because schema coverage is 0%, the description only partially compensates and provides no guidance on valid suburb name formats.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool returns: median weekly household income for every microburb, plus the suburb median, national percentile, and highest/lowest pockets. The 'microburb' granularity and 'pockets' wording distinguish it from the adjacent suburbs_demographics_income tool. It lacks a 5 only because it doesn't explicitly contrast itself with that sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool: whenever microburb-level household income data is needed. It offers no explicit when-not-to-use guidance and names no alternative tool, so an agent must infer the right context from the metric and the title.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_demographics_population_historySuburb · Total population, history & projectionA
Read-onlyIdempotent
Inspect

Total suburb population is current_population (ABS Census 2021), alongside suburb census points (2011/2016/2021) and the LGA's yearly population series with a 10-year modelled projection tail. Use this route for questions such as "what is the total population of Clarkson?

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly/idempotent/non-destructive behavior, and the description adds the data provenance (ABS Census 2021), timepoints (2011/2016/2021), and the LGA projection series. This gives the agent a good sense of what kind of response to expect without needing an output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two focused sentences front-load the data contents and then give a concrete usage example. There is no filler or repetition of the schema/annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity one-parameter read tool with no output schema, the description conveys the essential response contents, sources, and the kind of question it answers. It does not spell out every output field, but the naming and data description make the return shape predictable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides only a bare suburb_name string with 0% description coverage, so the description must carry the meaning. The example 'total population of Clarkson' makes it clear the parameter is the suburb to look up and that the returned figure is the total population, which is sufficient for a single obvious parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the route's resource (suburb population) and its exact contents: current_population from ABS Census 2021, census points for 2011/2016/2021, and an LGA yearly series with a projection tail. This clearly identifies what the tool returns, though it does not explicitly contrast it with sibling demographics routes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a concrete example question ('what is the total population of Clarkson?') and says 'Use this route for' such questions, providing clear guidance on when to invoke it. It stops short of naming alternatives or exclusion conditions, but for a single-purpose census tool this is effective.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_demographics_private_schoolSuburb · Private-school studentsB
Read-onlyIdempotent
Inspect

Share of residents attending Catholic / Independent schools — suburb rollup plus the per-microburb shares behind it.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description does not need to restate those. The description adds the behavior of returning both a suburb rollup and per-microburb shares, which is useful and goes beyond the annotations. It could disclose more about the response format, but given the annotations cover the safety profile, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with a hyphenated supplementary detail. Every word earns its place, and the key point is front-loaded. No wasted words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description is reasonably complete in stating what it does, but it lacks details on the exact structure of the returned data (e.g., whether it's a JSON object with nested fields for the suburb and microburb shares). Given the complexity is low, a 3 is appropriate, as it is adequate but could inform the agent about the return format to enhance usability.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. The description defines suburb_name by implying it is the suburb for which the demographics are requested, but it does not specify expected format (e.g., full name vs. abbreviation) or any constraints. Since there is only one parameter alerting the agent to it is essential, but the description provides minimal additional semantics beyond what the name suggests.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool returns the share of residents attending Catholic/Independent schools for a suburb, which is clear. However, it does not distinguish it from other demographics tools like suburbs_demographics_all or the schools-related tools (e.g., suburbs_schools_all), so an agent may not know when to prefer this specific tool over its siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for suburb demographics queries related to private school attendance, but it does not explicitly provide when-to-use guidance or alternatives. It does include the scope (suburb rollup plus per-microburb shares), which gives some context, but no exclusions or comparisons with siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_demographics_single_parentsSuburb · Single-parent familiesB
Read-onlyIdempotent
Inspect

Single-parent-family share for the suburb against the pinned national median, with the associated capital-growth impact.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds context about the 'pinned national median' and 'capital-growth impact', which gives some behavioral nuance. However, it does not disclose how 'capital-growth impact' is measured or what the response format looks like, leaving some behavioral ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly worded sentence that states the core metric and comparison in one line. Every word contributes to the purpose, and it is immediately readable. There is no padding, repetition, or unnecessary qualification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description must clarify what the caller receives. It explains the metric conceptually but does not specify whether the result is a numeric percentage, a comparison category, or a structured object. The term 'capital-growth impact' is also undefined, leaving agents uncertain about the output semantics and how to interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description carries full responsibility for explaining the parameter. It confirms the tool operates per suburb but does not clarify expected formats, case sensitivity, or how suburb_name should be specified. The parameter name is self-explanatory, but the description adds no additional semantic value beyond what the schema field name already suggests.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the metric: single-parent-family share for a suburb, compared against the national median, plus a capital-growth impact measure. It distinguishes this tool from demographic siblings by naming the specific family-structure metric. However, it lacks an explicit verb like 'returns' or 'computes', which makes it slightly less direct than ideal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus other demographic or market tools. The description implies it is for single-parent-family demographics, but it does not mention alternatives such as suburbs_demographics_all or suburbs_demographics_income, nor does it state when this specific metric is preferable. An agent would have to infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_demographics_tenureSuburb · Owner-occupation and housing tenure ratesA
Read-onlyIdempotent
Inspect

Explicit total owner-occupation rate plus owned-outright / mortgaged / renting / public-housing shares — a suburb rollup and the per-microburb downscaled Census shares. owner_occupied_pct is the requested headline; it equals owned outright plus mortgaged and is null if either is absent. census_year makes the 2021 reference period explicit.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, non-destructive, and idempotent behavior, so the description only needs to add meaningful detail. It does so by explaining the owner_occupied_pct formula, its null condition when either component is absent, and the census_year reference period.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences each earn their place: first scopes the metrics, second defines the headline field and null behavior, third clarifies the census reference year. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only tool, the description covers the main fields, the relationship between them, and the data vintage. It does not detail the output shape for the per-microburb component, but that is a minor gap given the lack of an output schema and the clarity of the stated metrics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description carries full responsibility for parameter meaning. It implies the suburb context via 'suburb rollup,' and the single suburb_name parameter is self-explanatory from the tool name, but the description never directly confirms what value should be passed or any constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource (owner-occupation and housing tenure rates for suburbs) and a clear set of included metrics: total owner-occupation rate plus owned-outright, mortgaged, renting, and public-housing shares. It separates this tool from sibling demographics tools by focusing precisely on tenure rather than age, income, crime, or other suburb topics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes it obvious that the tool should be used when tenure/owner-occupation data is needed, but it does not explicitly state when to prefer this over alternatives or when not to use it. Siblings like suburbs_demographics_all or properties_surroundings_tenure exist, yet no routing guidance or exclusions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_demographics_underclass_dragSuburb · Underclass dragB
Read-onlyIdempotent
Inspect

Welfare-dependency and public-housing shares with the suburb's underclass tier (High / Mid / Low) and the capital-growth impact associated with that tier. Regional and neighbour ranks for the same two metrics are served by /demographics/cohorts.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds content-level context about tier categories and capital-growth impact but discloses no output shape, units, or missing-data behavior. Given the strong annotation coverage, the modest additional behavioral disclosure is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with no filler; the first presents the core output and the second routes to a sibling tool. The slash notation is slightly cryptic, but the overall structure is efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one simple parameter and no output schema, the description should clarify what the caller receives; it lists the relevant metrics but not their structure, units, or formatting. It gives enough topical context for a caller with a known suburb name, though behavior for unknown or invalid suburbs is left unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not specify format, case sensitivity, or accepted values for `suburb_name`. The parameter name is self-explanatory, so heavy compensation is not required, but the description adds no semantic meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description enumerates the returned concepts: welfare-dependency share, public-housing share, the suburb's underclass tier (High/Mid/Low), and the associated capital-growth impact. It distinguishes this tool from the sibling cohorts tool by explicitly excluding regional and neighbour ranks. It lacks a direct verb like 'returns,' but the resource and scope are clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly names `/demographics/cohorts` as the tool that serves regional and neighbour ranks for the same two metrics, giving an alternative for a common variation. It does not discuss when to prefer this over other demographics or market tools, but the metric-specific routing is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_demographics_unemploymentSuburb · Unemployment rateB
Read-onlyIdempotent
Inspect

Labour-force-weighted unemployment rate for the suburb against the pinned national median, plus the per-microburb shares behind it.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds context about the metric being labour-force-weighted and the comparison to a pinned national median, plus per-microburb shares. It doesn't disclose return format, pagination, or data source limitations, but for a read-only stats tool this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that packs in the metric, the comparison baseline, and the breakdown structure. It's front-loaded with the key metric and doesn't waste words. Minor deduction for the slightly awkward line break and the term 'microburb' which may need definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read-only tool, the description covers the core purpose and the output's conceptual content (rate vs median, per-microburb shares). However, it doesn't explain what 'microburb' means, how the national median is pinned, or what the response structure looks like. Given no output schema, a bit more detail on return values would help.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the single parameter suburb_name. The description implies the parameter is the suburb to query, but it doesn't explicitly state the expected format (e.g., full name vs. short name) or provide examples. With only one parameter, the baseline is 4, but the lack of any parameter guidance reduces it to 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific metric (labour-force-weighted unemployment rate) and the resource (suburb), and mentions the comparison to a pinned national median. It distinguishes itself from other suburbs_demographics_* tools by focusing on unemployment, though it doesn't explicitly name a sibling alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving unemployment data for a suburb, and the context of comparing against a national median is clear. However, it doesn't explicitly state when to use this tool versus other demographics tools (e.g., suburbs_demographics_income or suburbs_demographics_all), nor does it mention any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_demographics_votingSuburb · Projected voting profileB
Read-onlyIdempotent
Inspect

Projected first-preference shares per party, aggregated across the suburb's microburbs (booth-derived model — not an actual vote).

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds value with the caveat that the data is a 'booth-derived model — not an actual vote', which is a genuinely useful disclosure that the figures are projected estimates. However, it does not describe return format or error behavior, though the simple nature of the tool lowers the burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single 23-word sentence with the core output front-loaded ('Projected first-preference shares per party') and zero filler. Every phrase earns its place, including the model caveat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple — one parameter, no output schema, no nested objects — and the description conveys the output type, aggregation basis, and model nature. But it omits which parties are included, the output format, and any usage context relative to sibling demographics tools. Adequate for the low complexity, yet with notable gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate for the single parameter. It references 'suburb' consistent with the parameter name suburb_name, but gives no details on expected format, exact-match requirements, or how the suburb maps to microburbs. With 0% coverage and no format guidance, the description does not fully compensate for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific output — 'Projected first-preference shares per party' — aggregated across the suburb's microburbs, and clarifies it is a booth-derived model, not actual votes. This clearly identifies the tool's function and its topic (voting) is unique among the large set of demographics siblings. It doesn't explicitly name a sibling it differs from, but the subject matter is distinctive enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus the many other demographics tools (age, income, tenure, unemployment). The 'not an actual vote' caveat is behavioral rather than usage guidance, and no alternatives or exclusion conditions are mentioned. An agent must infer when projected voting profile is the right choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_development_allSuburb · DA count + DA list — bundleD
Read-onlyIdempotent
Inspect

DA count + DA list — bundle

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

D1.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. However, the description adds no behavioral context: it does not mention what data is returned, whether it is a combined response or two separate results, or any pagination/format details. The bar is lower because of annotations, but the description still fails to add any beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short (four words) but this is under-specification, not concise efficiency. Like the 'Process' example, it carries no substantive information and cannot adequately describe the tool's purpose or behavior. The sentence structure is technically clean but fails to communicate meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and minimal description, the tool is incomplete. The agent cannot know what 'DA' means (presumably development applications), what the response looks like, or why this bundle differs from calling the individual count/list tools. The sibling tool names provide some context, but the description itself leaves critical gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description provides no explanation of the 'suburb_name' parameter. Although the parameter's name is self-explanatory, the description must compensate for the missing schema documentation and does not. The agent gets no help understanding required formats, expectations, or the relationship of this parameter to the bundled data.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description is essentially a restatement of the title: 'DA count + DA list — bundle' adds no verb or explicit resource beyond the title's 'Suburb · DA count + DA list — bundle'. It is a tautology that relies entirely on the name and title for meaning, so an agent cannot determine what the tool actually does without external context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The sibling list includes suburbs_development_da_count and suburbs_development_da_list, and the 'bundle' in the name implies combining both, but the description never states that this tool is for retrieving both together or when that is preferable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_development_applicationsSuburb · Development applicationsB
Read-onlyIdempotent
Inspect

Recent development applications (up to 100, newest first) with category counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral details beyond that: the limit of 100 results, ordering (newest first), and inclusion of category counts. It does not contradict annotations and provides context on data scope and structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence that front-loads the core purpose and key constraints (up to 100, newest first, category counts). There is no fluff or redundancy, and every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with one parameter and no output schema, the description is minimally adequate. It mentions the limit, ordering, and category counts but does not describe the response structure or any error conditions. Given the lack of output schema, more detail on the return format would improve completeness, but the core information for calling is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the undocumented parameter. It does not explicitly explain what suburb_name is or its expected format. Although the tool name makes it obvious, the description provides no direct parameter semantics, leaving the agent to infer that it takes a suburb name. This is a gap given the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns recent development applications with a limit of 100, newest first, and includes category counts. It specifies the verb (implicitly 'get') and resource, but does not explicitly contrast with sibling tools like suburbs_development_da_list or suburbs_development_da_count, so it's clear but lacks explicit differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as suburbs_development_da_list or suburbs_development_da_count. The description only states what it returns without mentioning prerequisites, exclusions, or alternative use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_development_building_controlsSuburb · Building controls — height & FSRB
Read-onlyIdempotent
Inspect

Height-of-building and floor-space-ratio control polygons with band summaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering safety. The description adds a small behavioral detail ('band summaries') but does not explain what 'control polygons' implies about the output format or whether it returns geometry. It is not contradictory, so a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, compact sentence with zero filler. It is front-loaded with the core subject and avoids redundancy, making it efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with only one parameter and no output schema, the description is minimal but not fully complete. It lacks details on what 'band summaries' contain, whether the output is a map or tabular data, and any constraints on the suburb_name value. It is adequate for a simple query but leaves gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not mention the suburb_name parameter at all. While the parameter name is self-explanatory, the tool does not clarify expected format (e.g., exact name vs. code) or that it is a required input. This leaves the agent to infer.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource: height-of-building and floor-space-ratio control polygons with band summaries. It distinguishes from siblings like zoning_map by specifying the exact metrics, though it lacks an explicit verb like 'retrieve' or 'list'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus the many other suburbs_development_* alternatives. It does not mention that it requires a suburb_name or that it is for a specific suburb, nor does it contrast with zoning_map or development_all.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_development_construction_activitySuburb · Construction activity per mesh blockB
Read-onlyIdempotent
Inspect

Satellite-detected construction change per mesh block plus a suburb rollup.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the data is satellite-detected and includes a suburb rollup, which is useful context, but it does not disclose operational traits like data freshness or limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single 10-word sentence that front-loads the key attributes ('satellite-detected construction change per mesh block') before adding the rollup. Every word earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description gives only a high-level output shape (mesh block detail plus suburb rollup). It leaves ambiguous what 'construction change' measures, the time period covered, and the exact fields in the rollup, which an agent may need to interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the bare 'suburb_name' string parameter. It only implies the parameter selects the suburb for the rollup and does not specify accepted formats or examples, though the parameter name is self-explanatory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the resource ('construction change'), the detection method ('satellite-detected'), and the granularity ('per mesh block plus a suburb rollup'). This makes it distinguishable from sibling development tools that draw on council applications or zoning data, though it lacks an explicit verb like 'list' or 'get'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus the many sibling development tools such as suburbs_development_applications or suburbs_development_all. The description only states the output, leaving the agent to infer the use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_development_council_intelligenceSuburb · Council intelligence signalsA
Read-onlyIdempotent
Inspect

Council capex / project-pipeline signals extracted from the LGA's meeting minutes — each with stage, dollar value, location and time horizon — plus a rollup of the total pipeline in dollars.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this read-only, idempotent, and non-destructive. The description adds useful behavioral context by stating the output consists of extracted 'signals' from meeting minutes plus a rolled-up pipeline total, signaling analytical/derived output rather than raw documents. Freshness or interpretation caveats are not covered, but the safety profile is already annotated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense, front-loaded sentence that leads with the core deliverable, then expands into signal fields and the dollar rollup. No filler, repeated title content, or unnecessary clauses; every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description still provides enough output detail: per-signal stage, dollar value, location, and time horizon, plus the total pipeline in dollars. The single required input is discoverable from the schema, though the description does not explicitly state that the suburb maps to the containing LGA or describe the exact response structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only required parameter is suburb_name, and the schema provides no description. The tool description does not directly explain this parameter, but the name, title, and suburb-scoped wording make the expected value fairly obvious. It adds no format guidance or examples, making it adequate but not especially helpful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific resource — council capex/project-pipeline signals — and identifies the source (LGA meeting minutes), the core fields (stage, dollar value, location, time horizon), and a dollar rollup. This clearly distinguishes it from sibling suburb development tools focused on applications, construction activity, council rates, or zoning.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when it is relevant: questions about council capital expenditure or project pipelines derived from meeting minutes. However, it never explicitly states a use condition, excludes adjacent cases such as DA tracking or rates, or names an alternative tool, so routing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_development_council_ratesSuburb · Average council ratesB
Read-onlyIdempotent
Inspect

Average annual residential council rate for the suburb's LGA.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no behavioral context beyond its core function—no mention of data freshness, aggregation method, or potential quirks. It is consistent with annotations but does not enhance transparency beyond what structured data already provides.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence with no redundancy. It states the core function clearly and front-loads the metric. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description is minimally adequate. It tells the agent what the tool returns (average rate) and the input (suburb). However, it omits details like currency, units, or how the LGA is derived from the suburb, which could be inferred but are not stated. Given the low complexity, this is borderline acceptable but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not mention the parameter at all. While the single parameter 'suburb_name' is self-explanatory from its name and the tool's context, the description does not clarify expected format, validity constraints, or whether it should be a full name or an abbreviation. With low schema coverage, the description should compensate but fails to do so.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific metric (average annual residential council rate) for a specific resource (the suburb's LGA). It is distinct from the many sibling tools, which focus on different metrics like median prices, crime, or demographics. The verb 'average' and the resource 'council rate' make the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. With over 100 siblings, many of which also return suburb-level data, an agent receives no routing cues. The description implies usage but does not explicitly state when it is appropriate or when another tool (e.g., suburbs_market_strata_levies) would be better.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_development_da_countSuburb · Recent DA countA
Read-onlyIdempotent
Inspect

Count of recent development applications in the suburb.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the temporal scope 'recent' and clarifies the return is a count, which is useful context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with no redundant words. It front-loads the core action and object, making it easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description is largely sufficient. It specifies the subject (development applications) and scope (suburb), and the 'count' implies the return type. The only missing detail is the definition of 'recent,' but this is a minor gap given the low complexity and strong annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero description coverage for the single parameter suburb_name, and the tool description only repeats 'in the suburb' without adding format, examples, or constraints. The parameter name is self-explanatory, but the description does not compensate for the missing schema details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool counts development applications in a suburb, which is a specific verb-resource pair. It distinguishes itself from siblings like suburbs_development_da_list (which likely returns a list) and suburbs_development_applications (which may list applications). The term 'count' implies a numeric result, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its many siblings, such as suburbs_development_da_list or suburbs_development_applications. It does not mention alternatives or conditions for selection, leaving the agent to infer from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_development_da_listSuburb · Recent DA listC
Read-onlyIdempotent
Inspect

Recent development applications lodged in the suburb.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds that the tool returns recent development applications, but does not disclose details like timeframe, sorting, or pagination. With annotations covering safety, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words. It is front-loaded with the key action. However, it is so brief that it may be under-specified, but that is a completeness issue, not a conciseness one.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and no parameter documentation, the description should at least mention the nature of the returned data. It only implies a list, but does not clarify what 'recent' means, any limits, or how the data is structured. This is inadequate for an agent to know what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no description for 'suburb_name' and the tool description does not explain it either. However, the parameter name is self-explanatory. Minimal value is added beyond the schema, which has 0% coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action (list recent development applications) and scope (in the suburb). It is clear and unambiguous, but it does not differentiate from the sibling tool 'suburbs_development_applications', which may overlap. The name itself adds 'DA list' and 'recent', giving some specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description only states what it does, without mentioning conditions, exclusions, or which sibling tools might be more appropriate for different scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_development_densitySuburb · Dwelling & population densityB
Read-onlyIdempotent
Inspect

Dwellings and people per km², plus the land area and counts behind them.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds useful context about output composition (per km² values plus land area and counts), but it does not describe return structure, units beyond km², or any edge-case behavior. With annotations covering the main behavioral traits, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one concise sentence that front-loads the key metric ('Dwellings and people per km²') and then adds supporting output details. Every word contributes value; there is no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read-only tool, the description gives a reasonable high-level overview of what is returned. However, there is no output schema and no mention of the input parameter's role, validation rules, or how the result is structured, leaving some ambiguity for an agent deciding whether this tool fits the task.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no description for suburb_name, and the tool description does not clarify what values are valid, whether it supports full names or codes, or that it is the lookup key. With 0% schema description coverage, the description needed to compensate and does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource: dwelling and population density per km² for a suburb, plus the land area and counts behind the figures. It is specific about the metric but does not explicitly state a verb like 'returns' or 'gets', and it does not differentiate itself from sibling tools beyond the metric focus.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives such as suburbs_development_profile or suburbs_demographics_all. There is no explicit context, prerequisite, or exclusion stated, so an agent must infer usage entirely from the tool name and title.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_development_profileSuburb · Development profileA
Read-onlyIdempotent
Inspect

Dwelling-mix scalars — apartment share and average lot size.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that this is read-only, non-destructive, and idempotent. The description adds that the output is scalar values rather than a rich dataset, which is useful, but it does not disclose units, freshness, or any edge-case behavior. This is adequate but not particularly deep.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single tight sentence that front-loads the key term 'dwelling-mix scalars' and then names the two concrete outputs. There is no filler or repetition of schema or annotation information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool, the description names the main outputs, but it omits units for average lot size, does not define what 'apartment share' is expressed as, and provides no output-shape clues beyond 'scalars.' With no output schema and many sibling tools, a bit more context would help.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The lone parameter, suburb_name, is self-explanatory by name, and the tool title reinforces that it operates on a suburb. However, schema description coverage is 0% and the description does not compensate by explaining the expected format, spelling, or possible values, so the description itself adds little beyond the parameter name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies what this endpoint returns—dwelling-mix scalars, specifically apartment share and average lot size—which distinguishes it from the many other development endpoints. It lacks an explicit verb like 'returns' or 'provides,' so it is slightly below the strongest possible clarity level.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The use case is implied: choose this tool when you need suburb-level dwelling-mix scalars such as apartment share or average lot size. However, it does not explicitly contrast itself with siblings like suburbs_development_all or suburbs_development_density, so selection guidance is only implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_development_supplySuburb · New supply — units vs housesB
Read-onlyIdempotent
Inspect

New dwellings (last 24 months) split units vs houses per mesh block plus a rollup.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the time window (last 24 months) and the aggregation level (mesh block plus rollup), which is useful behavioral context. It doesn't mention pagination, response size, or data availability limitations, but the annotations carry the main safety burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that packs the essential information: time window, split dimension, and aggregation level. No wasted words, and the key scoping details are front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with one parameter and no output schema, the description covers the core purpose. However, the lack of parameter format guidance and the absence of any mention of what the response contains (beyond the split) leaves some gaps. The sibling list is large, but the description's specificity helps narrow down the tool's role.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the only parameter is suburb_name with no description in the schema. The tool description doesn't explain what format suburb_name should take (e.g., 'Sydney' vs 'Sydney NSW'), case sensitivity, or whether it accepts suburb IDs. With zero schema coverage and no parameter guidance in the description, the agent has to guess the expected input format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'New dwellings (last 24 months) split units vs houses per mesh block plus a rollup.' This clearly identifies what the tool does and distinguishes it from generic development tools. However, it doesn't explicitly name a sibling alternative, so it doesn't fully differentiate from similar suburbs_development_* tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context: it's for new dwelling supply data over the last 24 months, split by dwelling type and mesh block. It doesn't explicitly state when to use this vs alternatives like suburbs_development_all or suburbs_development_construction_activity, but the specific scope provides some guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_development_zoning_mapSuburb · Zoning map (polygons)B
Read-onlyIdempotent
Inspect

Zoning polygons clipped to the suburb, with per-class and parent-group area shares.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful behavioral context: output is clipped to the suburb boundary and includes area-share computations. It does not describe the geometry format, projection, or whether the result is a GeoJSON feature collection, but annotations lower the burden here.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that packs the object, scope, and computed fields with no filler. The core spatial scoping comes before the secondary area-share detail, and nothing in the sentence is redundant with the title or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, read-only spatial lookup, the description covers what the tool returns and how it is scoped. There is no output schema, so a mention of the exact response shape would be helpful, but the missing detail is minor for an agent deciding whether and how to call this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description never mentions the suburb_name parameter or how it should be supplied. The parameter name and the phrase 'clipped to the suburb' make the role inferable, but there is no guidance on accepted values, name format, or how to resolve a valid suburb identifier.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear deliverable: zoning polygons clipped to a suburb, plus per-class and parent-group area shares. It distinguishes this from property-level zoning tools like properties_development_zoning_code by explicitly scoping to the suburb. It lacks an explicit verb like 'returns', but the intent is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to choose this tool over related siblings such as suburbs_development_all, suburbs_development_density, or suburbs_shapes_*. There are no conditions, exclusions, or references to alternative tools, so an agent must infer usage from the name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_ethnicity_allSuburb · All ethnicity — bundleD
Read-onlyIdempotent
Inspect

All ethnicity — bundle

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

D1.1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds no behavioral information beyond the annotations. While annotations declare readOnlyHint=true and idempotentHint=true, the description does not explain what 'all ethnicity' contains, what fields are returned, or any limitations. For a bundle tool with no output schema, this is a severe gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief (three words), but this is under-specification, not conciseness. It lacks a sentence structure and fails to convey any actionable information, similar to the 'Process' example in the calibration guidelines.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no description of the returned bundle, the tool is completely underspecified. Given the large sibling list and granular ethnicity alternatives, the agent cannot determine what this tool provides or whether it is the right choice.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description says nothing about the 'suburb_name' parameter. It does not clarify expected format, whether it accepts full names or codes, or any constraints. The description fails entirely to compensate for the missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'All ethnicity — bundle' is a tautology that restates the title 'Suburb · All ethnicity — bundle'. It uses no verb or resource, and gives no indication of what data is returned. It does not distinguish itself from sibling tools like suburbs_ethnicity_ancestry or suburbs_ethnicity_birthplace.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus the ethnicity-specific siblings. No mention of context, exclusions, or alternative tools. The agent would have to guess whether to call this bundle or the more granular ancestry/birthplace variants.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_ethnicity_ancestrySuburb · Ancestry breakdownC
Read-onlyIdempotent
Inspect

Ancestry breakdown from the ABS census.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as read-only, idempotent, and non-destructive, so the safety profile is covered. The description adds only the ABS census provenance; it does not disclose behavioral traits like census year coverage, grouping/percentage format, or any limitations of the breakdown.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence with no filler. It is front-loaded and easy to parse, though it is brief enough that it verges on under-specification; that shortfall is better counted in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with one obvious parameter, the description is minimally viable: it identifies the resource and source, and annotations cover safety. However, there is no output schema, so the description should clarify what shape the ancestry breakdown takes and how it differs from the sibling ethnicity tools; it does not.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate for the sole required parameter, suburb_name. It never mentions the parameter, its expected format, or how to obtain valid suburb names. The schema only says 'string', which is minimal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says the tool returns an 'Ancestry breakdown from the ABS census,' which names the resource and data source. However, it largely restates the title ('Suburb · Ancestry breakdown') and does not distinguish this from nearby siblings like suburbs_ethnicity_all, suburbs_ethnicity_birthplace, or suburbs_demographics_ancestry_map.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to choose this tool over the many other ethnicity/demographics siblings. No alternatives are named, no exclusions are given, and no context such as 'use this for a focused ancestry view vs. the all-in-one ethnicity tool' is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_ethnicity_birthplaceSuburb · Country-of-birth breakdownC
Read-onlyIdempotent
Inspect

Country-of-birth breakdown from the ABS census.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the data source ('ABS census'), which is a small contextual addition. However, it says nothing about return format, pagination, or other behavioral characteristics, though the annotation coverage lowers the burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It conveys its core message efficiently and earns its place. There is no wasted wording or structural padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and minimal parameter docs, the description is too vague. 'Breakdown' is ambiguous (counts? percentages? raw numbers?). It also does not mention what inputs are needed or how results relate to the suburb_name parameter. An agent would not be fully equipped to interpret the output or confidently differentiate this from related ethnicity tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description makes no mention of the suburb_name parameter or how to specify it. The parameter name is self-explanatory, but the description fails to compensate for the missing schema documentation. Per the low-coverage rule, the description must carry this burden, and it does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource as a country-of-birth breakdown from the ABS census, which distinguishes it from sibling tools like suburbs_ethnicity_ancestry or suburbs_demographics_*. However, it uses a noun phrase rather than a verb like 'get' or 'list', so it lacks an explicit action. The resource is specific enough for an agent to infer the tool's purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. With many closely-related siblings (e.g., suburbs_ethnicity_all, suburbs_demographics_*), the description does not state a selection criterion or exclusion. The tool is effectively isolated with no usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_finder_countCount matching suburbsA
Read-onlyIdempotent
Inspect

How many suburbs match the filter, without paying per row. 5c.

Use this to size a result before searching: /search is capped at 25 rows per call, so total here tells you how many offset pages you need.

Price: 5¢ per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoRange filter `fieldKey:min..max` (repeatable). Valid fieldKeys: medianHousePrice, grossYield, medianRent, growthForecast4yr, growth10yrCagr, growth3yrCagr, rentGrowth3yr, soldAtLossPct, daysOnMarket, vacancyRate, unitMedianPrice, unitGrossYield, unitMedianRent, unitGrowthForecast4yr, unitGrowth10yrCagr, unitGrowth3yrCagr, unitRentGrowth3yr, unitSoldAtLossPct, unitDaysOnMarket, unitVacancyRate, stockOnMarket, monthsOfInventory, landValuePerSqm, lifestyleScore, safetyScore, hipScore, affluenceScore, renters, distanceCbdKm, publicHousingPct, overseasBornPct, welfareReliancePct, unemploymentPct, singleParentsPct, familyHouseholdsPct, privateSchoolPct, medianIncomeWeekly, communityDepthIndex, premiumRenovationIndex, homeOfficeIndex, tranquilityIndex, innovationEconomyIndex, alternativeLivingIndex, investorConcentration, negativeGearingExposure, mortgageStress. Apartment/unit metrics are the `unit`-prefixed keys (unitMedianPrice, unitGrossYield, unitMedianRent, …); the unprefixed market keys are houses. Unit data only exists where a suburb has a real unit market — coverage runs ~13-54% of suburbs depending on the field, so a unit filter implicitly excludes house-only suburbs.
statesNoComma-separated states (names or abbreviations), e.g. `VIC`.
regionsNoComma-separated EXACT SA4 region names — call GET /v1/suburbs/finder/regions for the list. A metro name like `Melbourne` alone will NOT match.
property_typeNoLegacy flag: 'unit' re-points the ten unprefixed house-market keys (medianHousePrice, grossYield, ...) at their unit column. It does NOT affect the explicit `unit`-prefixed keys, which are always units. Prefer the `unit` keys — they are visible in /fields and can be mixed with house keys in one query.house

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds genuine behavioral context beyond annotations: the 5¢ per-call pricing, the fact that it does not charge per row, and how the returned total relates to offset pagination in the sibling search tool. Minor gap: the exact response shape isn't described, but the annotations carry the safety burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded: it opens with the count purpose and pricing, then gives usage guidance. The only slight waste is repeating the price ('5c.' and later '**Price: 5¢ per call.**'), and the third paragraph could have been folded in more tightly, but overall it is compact and well organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple count tool with no output schema, this is complete: it tells the agent what the tool returns conceptually ('total'), when to use it, how it relates to pagination in the search sibling, and what it costs. The rich schema descriptions cover the parameters, and annotations cover safety. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema itself provides very rich parameter documentation, especially for `filter` (range format, all valid fieldKeys, house vs unit semantics, coverage caveats). The tool description itself doesn't add parameter-level meaning beyond what the schema already provides, so the high-coverage baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'How many suburbs match the filter' — a count operation on the suburbs finder. It also distinguishes itself from the row-returning sibling by noting it counts 'without paying per row,' so an agent can tell it apart from suburbs_finder_search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use it: 'Use this to size a result before searching,' and explains the alternative's constraint ('/search is capped at 25 rows per call') and how the result maps to pagination ('total here tells you how many offset pages you need'). This is direct, actionable routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_finder_fieldsSuburb · Finder field catalogA
Read-onlyIdempotent
Inspect

Every field you can filter / sort on, with its label and unit. 0c.

Houses and units are separate keys: the unit-prefixed ones (unitMedianPrice, unitGrossYield, unitMedianRent, …) are the apartment market, the unprefixed market keys are houses, and both can be filtered in the same query. Unit fields are NOT nationally populated — they only exist where a suburb has a unit market (roughly 13-54% of suburbs depending on the field), so a suburb with no unit market simply won't match a unit filter.

Free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so safety is covered. The description adds significant context: it explains the free tier limitation ('0c') and the key behavioral quirk about unit fields not being nationally populated, which is beyond the structured fields. It gives a concrete example of the parameter naming convention. This is valuable behavioral info.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact yet information-dense, front-loading the core purpose. It uses bullet-like formatting for the unit market explanation, making it scannable. No redundant phrasing; every sentence contributes value: purpose, house/unit distinction, and national data caveat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter catalog tool with no output schema, the description fully covers what an agent needs: what the catalog contains, how fields are named, and critical data caveats. It explains the free tier and the unit market population nuance. There is no missing information for an agent to misuse this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so schema coverage is trivially 100%. The description explains the semantic meaning of parameter prefixes (unit- vs unprefixed) and the implications for filtering, which is beyond the schema. It also explains the label/unit concept. This is a strong compensation given no parameter descriptions exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a catalog of every filterable/sortable field with label and unit, distinguishing it from data-returning tools. It explicitly differentiates house vs unit markets, which is a specific and actionable resource. It is distinct from siblings like suburbs_finder_search, which likely searches suburbs, and suburbs_finder_count, which counts results.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains when to use this tool: to understand available fields for filtering/sorting in other finder tools. It implies this is a reference rather than a data tool. It does not explicitly exclude alternatives, but the nature of a catalog is clear. It also notes that unit fields are not nationally populated, which is a key usage caveat.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_finder_regionsSuburb · Finder scope regionsB
Read-onlyIdempotent
Inspect

SA4 regions grouped by state — the values accepted by states / regions on search. 0c.

Free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true absent destructive effects. The description adds the insight that it's free and provides regional groupings, but it does not elaborate on output format or limitations (e.g., completeness of state coverage).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally brief and to the point, covering the core purpose and a key benefit (free) in two sentences. No wasted words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and no output schema, the description is complete for basic use. However, it lacks details on the structure or granularity of the returned region data (e.g., count, naming conventions), which could be important for an agent planning to use it as a lookup.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parametersached to the tool, there are no schema fields to document. The description's focus on 'values accepted by states/regions' clarifies how the output can be used as input elsewhere, adding value for a no-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides SA4 regions grouped by state, serving as accepted values for `states`/`regions` on search. It distinguishes itself from broader finder tools by specifying it scopes regions, though it doesn't explicitly name a sibling alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage as a reference for filtering search queries, but it doesn't explicitly state when to use it versus alternatives like suburbs_finder_search or area_stats_regions. No clear context on prerequisites or selection criteria is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_forecast_saleSuburb · Sale-price growth forecastB
Read-onlyIdempotent
Inspect

1-year sale-price growth forecast (low / most-likely / high).

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, and non-destructive behavior, so the description's main added value is clarifying the forecast scenario outputs (low / most-likely / high). There is no contradiction with annotations, but no additional behavioral context such as data limitations, availability, or confidence interpretation is disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, succinct sentence that front-loads the core meaning and includes the key output scenarios. Every part of the sentence adds relevant information with no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only, single-parameter tool, the description covers the core purpose and expected output structure. It does not describe the response values in detail, but with no output schema, the low/most-likely/high breakdown provides reasonable completeness for an agent to understand what the tool returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage and the description does not explain the suburb_name parameter beyond the tool's title. While the parameter name is somewhat self-explanatory, the description does not clarify acceptable formats, name variations, or how the forecast applies to the provided suburb.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource: a 1-year sale-price growth forecast for a suburb, and specifies the three scenario outputs: low / most-likely / high. It is specific enough to distinguish this from many siblings, though it lacks an explicit verb and does not directly differentiate itself from nearby tools like suburbs_market_price_growth or suburbs_hero_price_growth_12mo.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternative suburb market or growth tools. The description states only what the tool returns, not the conditions for choosing it over siblings such as suburbs_market_price_growth or suburbs_street_forecasts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_hero_neighboursNeighbouring suburbsB
Read-onlyIdempotent
Inspect

Nearest neighbouring suburbs with distance in km, closest first.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description usefully adds that results include distance in km and are sorted closest first, which is relevant output behavior. There is no contradiction between the description and the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise: eight words that state the output, the unit of measurement, and the ordering. It is front-loaded with the core result and contains no filler or redundant restatement of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read-only tool, the description covers the key return characteristics: nearest suburbs, distance in km, and closest-first order. However, with no output schema, it does not specify whether all neighbours are returned, what counts as 'neighbouring', or how this differs from the similarly named suburbs_shapes_neighbours.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the suburb_name parameter at all—no format, accepted values, casing, or examples. The parameter name is self-explanatory, but the description does not compensate for the missing schema-level documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as returning nearest neighbouring suburbs and specifies the key output attributes: distance in km and closest-first ordering. It does not use an explicit verb like 'Lists' or 'Returns', and it does not explicitly contrast itself with the similar-sounding suburbs_shapes_neighbours, but the resource and output format are unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives. In particular, suburbs_shapes_neighbours and suburbs_similar are close siblings, but no differentiation or exclusion is provided. The intended use is only implied by the output description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_hero_price_growth_12moSuburb · 12-month price growthC
Read-onlyIdempotent
Inspect

12-month sale-price growth by property type (house / unit).

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the property-type breakdown, but does not disclose response format, possible empty results, or calculation methodology. Since annotations carry the safety context, a 3 is appropriate for minimal added behavioral insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the core functionality. There is no redundant wording or filler. It is efficient and to the point, earning a top score for structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description must explain what the return value looks like. It only states 'sale-price growth by property type' without specifying whether it returns a percentage, median price, or separate entries for house/unit. It also lacks details on error conditions or data availability. This leaves an agent uncertain about the exact response structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter, suburb_name, with no description (schema coverage 0%). The tool description does not add any meaning for this parameter beyond its name. It does not clarify accepted formats, expected spelling, or how the parameter maps to the output. With zero schema coverage and no compensation in the description, this dimension scores poorly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides 12-month sale-price growth broken down by property type (house/unit). This is a specific resource and verb, and it is distinct from siblings like suburbs_market_price_growth_5y by the 12-month window. However, it does not explicitly differentiate from other growth tools such as suburbs_market_price_growth, which might also cover similar metrics, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusions, alternatives, or any context for selection. Given the large number of price-growth and market tools among siblings, this is a significant omission.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_hero_summarySuburb at a glanceB
Read-onlyIdempotent
Inspect

State, SA3/SA4, postcode, population, dwellings and centroid for the suburb.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is well covered. The description adds the concrete output field set but does not disclose matching behavior, response format, units, or any additional behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one compact sentence that packs the full field list with no filler or redundancy. It is appropriately short for a simple overview tool, though adding a verb would make it slightly more grammatical.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple one-parameter schema and read-only annotations, the description gives a reasonable overview by listing the output fields. However, there is no output schema and no usage guidance, so an agent lacks clarity on the exact response shape and how this tool relates to the many other suburbs_* summary tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the required suburb_name parameter, its format, case-sensitivity, or how duplicate suburb names are handled. The property name is self-evident, but the description provides no parameter-level guidance to compensate for the missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly enumerates the fields the tool returns: State, SA3/SA4, postcode, population, dwellings, and centroid, and the title 'Suburb at a glance' reinforces an overview purpose. It lacks an explicit verb and does not explicitly distinguish itself from similar siblings like suburbs_profile or suburbs_market_all.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool instead of alternatives such as suburbs_profile, suburbs_market_all, or suburbs_finder_*. The title implies a quick overview, but no when-to-use or when-not-to-use conditions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_lifestyle_cbdSuburb · Distance to the nearest city and to the nearest capitalA
Read-onlyIdempotent
Inspect

Straight-line distance to the nearest city and to the nearest capital, in km.

Both, because they answer different questions and are often nowhere near each other: Belmont North is 14 km from Newcastle and 108 km from Sydney. nearest_city is usually what a buyer means by "how far is town".

The top-level city / distance_km fields are DEPRECATED. They still describe the CAPITAL, unchanged, so existing callers are unaffected — read capital_city or nearest_city instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive behavior, so the bar is lower. The description adds behavioral context beyond that: the distances are straight-line, expressed in km, and the top-level city/distance_km fields are deprecated but still describe the capital unchanged. This is valuable field-level transparency and does not contradict any annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose is front-loaded in the first sentence, and the following paragraphs add useful nuance and deprecation guidance. No sentence is purely filler, though the middle paragraph could be slightly tightened without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does a good job of naming the important output fields (nearest_city, capital_city, city, distance_km), their units, and their deprecation status. For a simple one-parameter read-only lookup, this is nearly complete; missing details such as the full response object shape are minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, suburb_name, is never explicitly described. The description implies its meaning through the 'Belmont North' example, but does not state what value the parameter expects, what format is accepted, or whether it is restricted to certain localities. With 0% schema description coverage, this is a clear gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence precisely identifies the resource and scope: straight-line distance to the nearest city and nearest capital in km. It also distinguishes the two conceptually different measurements and names the relevant fields, so an agent can tell this apart from lifestyle, POI, or transport tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains that nearest_city and capital_city answer different questions and gives a practical heuristic (nearest_city is usually what a buyer means). It also deprecates the old city/distance_km fields and directs callers to the correct replacement fields. It does not explicitly name a sibling tool as an alternative, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_lifestyle_landmarksSuburb · Nearest beach + hospitalB
Read-onlyIdempotent
Inspect

Nearest beach and hospital with straight-line distances (null = none within ~50 km).

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description is not required to repeat those. It adds meaningful behavioral context by specifying the straight-line distance metric and the null = none within ~50 km rule. It does not disclose response shape or data source, but it adds value beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence that front-loads the main output and appends the null-semantics rule in a parenthetical. No filler or redundant restatement of the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter lookup tool, the description conveys the output and the distance threshold, and annotations cover safety. However, with no output schema and no guidance on acceptable suburb_name formats or whether the name must match a canonical list, an agent cannot fully anticipate the response structure or valid inputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage for suburb_name, and the tool description does not mention the parameter at all. The name is self-explanatory, but because the schema provides no documentation and the description does not compensate, there is no added semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the nearest beach and hospital with straight-line distances, which is specific and distinguishes it from the many suburbs_lifestyle_* siblings. It lacks an explicit verb like 'gets' or 'returns,' but the output contract is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. The description does not mention when to prefer this tool over alternatives such as suburbs_lifestyle_pois, suburbs_lifestyle_cbd, or suburbs_lifestyle_summary, so the agent must infer applicability from the name and title alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_lifestyle_livabilitySuburb · Livability scores + regional benchmarkB
Read-onlyIdempotent
Inspect

Livability scores (0–100) per dimension, aggregated from mesh-block scores, with the SA4 benchmark.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the operation's safety profile is covered. The description adds useful behavioral context beyond annotations: scores are 0–100, aggregated from mesh-block scores, and benchmarked against SA4. It does not, however, disclose missing-data behavior, response shape, or which dimensions are included.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly written sentence that front-loads the score range and output object before the aggregation detail. It contains no filler or redundant clauses, though it does closely echo the title rather than adding substantial new structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, read-only, one-parameter lookup, the description covers the essential purpose, scale, aggregation source, and benchmark. However, there is no output schema, so the description alone must convey what an agent receives; it does not list the dimensions, explain the SA4 benchmark shape, or indicate edge cases such as unavailable data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is one required parameter, suburb_name, and the input schema provides only its type with no description. Schema description coverage is 0%, so the description should compensate, but it never mentions the parameter or its expected format. The parameter is self-explanatory from the tool and schema names, but the description adds no meaning beyond what the structured fields already show.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource (suburb livability scores) and the output semantics: 0–100 scores per dimension, aggregated from mesh-block scores, plus an SA4 benchmark. It lacks an explicit verb like 'get' or 'return', and it does not explicitly distinguish itself from sibling tools such as suburbs_lifestyle_livability_map, but the 'per dimension' and 'SA4 benchmark' details make the core purpose concrete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: call this when you want numeric livability scores for a suburb rather than a map or narrative. However, it never states when to prefer this over suburbs_lifestyle_livability_map, suburbs_lifestyle_narrative, or suburbs_lifestyle_summary, and it gives no exclusions or alternative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_lifestyle_livability_mapSuburb · Livability scores per microburbA
Read-onlyIdempotent
Inspect

All seven livability dimensions — affluence, lifestyle, hip, convenience, family, safety, tranquility — scored 0-100 for every microburb (mesh block) in the suburb, each with its human band. Averaging a dimension across the microburbs reproduces the suburb figure at /lifestyle/livability. Values only; polygons come from /shapes/mesh-blocks.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark it read-only, idempotent, and non-destructive; the description adds that the response is values-only, each dimension has a 0-100 scale and a human band, and the data is keyed per mesh block. It also clarifies the boundary with geometric endpoints, which is useful context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences, with granularity and dimensions front-loaded, then the relationships to aggregate and geometry endpoints. No filler or duplicated annotation content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given one simple parameter and no output schema, the description covers what is returned (dimensions, scale, bands, mesh-block granularity), what is not returned (polygons), and how the output relates to sibling endpoints. An agent has enough to decide whether to call it and what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is one required parameter, `suburb_name`, with 0% schema coverage, so the description needed to define acceptable values. It only says 'the suburb' and never specifies expected format, canonical names, or case sensitivity, leaving a real gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete resource — all seven livability dimensions scored 0-100 for every microburb — and explicitly distinguishes its granularity from the suburb-level `/lifestyle/livability` figure. The title reinforces the per-microburb purpose, so an agent can identify it among the many `suburbs_lifestyle_*` and `suburbs_shapes_*` siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It says values-only output and points to `/shapes/mesh-blocks` for polygons, and explains that averaging its microburb scores reproduces the aggregate `/lifestyle/livability` figure. This gives clear routing between per-microburb, suburb-level, and geometry tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_lifestyle_narrativeSuburb · Livability narrative sentencesB
Read-onlyIdempotent
Inspect

One plain-English sentence per livability dimension for the suburb.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds that the output is one sentence per livability dimension, which clarifies the response structure. However, it does not disclose potential errors, performance characteristics, or the exact set of dimensions, leaving gaps beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no filler. It front-loads the core information and is easy to parse. Every word contributes to understanding the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one parameter, no output schema), and the description gives a basic idea of the return type. However, it does not enumerate the livability dimensions or clarify the exact data structure (e.g., object vs list), which could be helpful given the absence of an output schema. It is minimally sufficient but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not compensate. The single parameter, suburb_name, is self-explanatory by name, but the description adds no format, validation, or example. For a low-coverage schema, the description should provide at least a hint about acceptable values or usage, which it does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action: provide one plain-English sentence per livability dimension for a suburb. It specifies the resource (suburb) and the output format, distinguishing it from data-heavy or map-based siblings like suburbs_lifestyle_livability. However, it does not explicitly name alternative tools or conditions for choosing this one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus its siblings. It does not mention scenarios, prerequisites, or exclusions. An agent must infer from the name and title that it returns narrative text rather than raw data, but there is no explicit direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_lifestyle_poi_impactsSuburb · Amenity price impactsC
Read-onlyIdempotent
Inspect

What the absence of petrol stations, fast food and bottle shops near sold properties was worth.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the meaning of the metric but does not disclose output format, units, or behavior on missing data. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence without extraneous words. It is front-loaded with the subject matter, but the phrasing 'was worth' is slightly awkward and could be clearer.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description must explain what the tool returns. It only defines the metric without stating the type, scale, or interpretation. For a simple one-parameter read-only tool, this is minimal but insufficient for an agent to confidently use the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. The description does not mention the 'suburb_name' parameter or any expected format, so an agent must infer from the parameter name alone. This violates the requirement that the description compensate for low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the metric being returned: the worth of absence of petrol stations, fast food, and bottle shops near sold properties. This distinguishes it from sibling tools like suburbs_lifestyle_pois, which would likely report the amenities themselves. However, it lacks an explicit verb like 'calculates' or 'returns', so it reads as a result rather than an action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as suburbs_lifestyle_pois or suburbs_market_* tools. The description does not mention prerequisites, data availability, or typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_lifestyle_poisPOIs / amenities in the suburb (pubs, cafes, gyms, schools, …)A
Read-onlyIdempotent
Inspect

Every named venue / amenity in the suburb as GeoJSON Point features, plus a per-category count.

Each point carries name, a broad category (Restaurant / Cafe, Shopping, Health, Entertainment, Sport & Fitness, Education, …) and a finer subtype (e.g. pub, bar, cafe, restaurant, gym, supermarket, school, pharmacy). This is the endpoint for "what / how many are in this suburb" and "name the pubs / cafes / gyms in X" — filter or count the features on subtype, and read real venue names from name. The top-level categories array gives the broad-category counts without walking the list.

Unpaged by default. Big suburbs are big — Sydney is ~3.7 MB of features — so pass limit/offset (or narrow with category) when you don't need them all. count and categories always describe the whole suburb, so paging never hides the totals. Flat price per call regardless of page size.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoFeatures to return (default: all).
offsetNoFeature offset — page with `limit`.
categoryNoOnly this display category (e.g. `Shopping`). Case-insensitive.
suburb_nameYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already convey read-only, idempotent, non-destructive behavior. The description adds valuable non-obvious behavioral context: unpaged by default, large payloads ('Sydney is ~3.7 MB of features'), paging semantics, and the guarantee that 'count and categories always describe the whole suburb, so paging never hides the totals.' It also discloses flat pricing per call. None of this contradicts the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately long but every sentence earns its place: purpose, data shape, use cases, size warning, paging semantics, totals guarantee, and pricing. The most important information is front-loaded in the first two sentences, and the rest is organized into clear functional sections without repetition or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema present, the description carries the full burden of explaining return values, and it does so thoroughly: GeoJSON Point features, fields `name`, `category`, `subtype`, the `categories` array, and top-level behavior around counts. It also covers the main invocation concerns (pagination, size, filtering) for a tool with two optional parameters and one required parameter. Nothing an agent needs to call and use this tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, so schema descriptions cover limit, offset, and category. The description goes further by explaining how returned `subtype` values (pub, bar, cafe, gym, etc.) should be used for filtering/counting, and that the top-level `categories` array provides counts without walking the list. It also advises narrowing with `category`. This adds meaningful guidance beyond the bare schema, though `suburb_name` is left undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a precise statement of what the tool returns: 'Every named venue / amenity in the suburb as GeoJSON Point features, plus a per-category count.' It gives concrete examples of venue types and explicitly defines the query patterns this endpoint serves ('what / how many <venue type> are in this suburb'). This clearly differentiates it from nearby sibling tools like properties_amenities_nearby or suburbs_lifestyle_landmarks by emphasizing named venues, subtype filtering, and counts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use guidance: it is 'the endpoint for' counting venues and naming pubs/cafes/gyms in a suburb, with direction to 'filter or count the features on `subtype`'. It also advises when to pass limit/offset or narrow with category for large suburbs. However, it does not explicitly mention when not to use it or name alternative sibling tools, so it stops just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_lifestyle_summarySuburb · Lifestyle summary — POIs, terrain, landmarksB
Read-onlyIdempotent
Inspect

POI category breakdown, terrain scalars, nearest train/shop and beach/hospital flags.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safe read-only nature is provided structurally. The description adds the data categories returned but not behavioral details such as how the flags are computed, whether some values can be absent, or whether the breakdown is exhaustive. No contradiction with annotations exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence that front-loads the tool's main output categories and contains no filler. Every word adds useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only summary, the description names the main output categories and is sufficient to attempt a call. But with no output schema, it leaves the response shape and types vague, and the large sibling family means an agent would benefit from clearer routing guidance. It is adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single required parameter, suburb_name, is self-explanatory by name and fits the tool's subject, so an agent can reasonably supply a suburb identifier. However, schema description coverage is 0% and the description does not add format, normalization, or accepted-value guidance, so the parameter handling relies mostly on the property name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource scope (suburb) and enumerates the exact output content: POI category breakdown, terrain scalars, and nearest train/shop and beach/hospital flags. It therefore lets an agent know what data this tool provides. However, it lacks an explicit verb such as 'returns' or 'summarizes' and does not sharply distinguish it from the nearby lifestyle siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance about when to use this tool instead of suburbs_lifestyle_pois, suburbs_lifestyle_landmarks, suburbs_lifestyle_livability, or suburbs_lifestyle_narrative. The intended usage is only implied by the listed output categories, which is weak given how many lifestyle siblings exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_listList suburbsA
Read-onlyIdempotent
Inspect

List Australian suburbs (SALs). Always returns {suburb, state} per row so SAL-name collisions across states are unambiguous.

With no filter you get the first 1000 suburbs alphabetically (browser-renderable preview). Pass any of the filters to narrow: state / lga / sa4 / sa3 / postcode / q (name search). Filters combine (AND). Flat cost regardless of how many rows come back.

Name search (q) is typo-tolerant. It tries an exact match, then substring, then a fuzzy near-miss, and returns match (exact / contains / fuzzy) and score on every row so you can see which happened.

Always tell the user which suburb you resolved to, and its state, before quoting numbers for it. A fuzzy match is a suggestion, not a confirmation — rokeby is one letter from Kokeby in Western Australia and Rokeby exists in both Tasmania and Victoria. If more than one candidate is plausible, ask rather than pick.

When q is combined with state, the state is a preference, not a filter: in-state candidates rank first, but a suburb of that name in another state is still returned rather than hidden, so a near-miss becomes "Seaview is in Victoria, not Tasmania" instead of "no data". Every other filter stays a strict AND.

Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoSuburb-name search. Matches exactly, then by substring, then by fuzzy near-miss so a typo still resolves ('devenport' -> Devonport). Each row comes back with `match` and `score` saying how it was found.
lgaNoFilter by Local Government Area name.
sa3NoFilter by SA3 name.
sa4NoFilter by SA4 name.
stateNoFilter by state / territory (e.g. NSW, VIC, 'New South Wales').
postcodeNoFilter by 4-digit postcode (POA).

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, but the description adds substantial behavioral detail: the default 1000-row alphabetical limit, typo-tolerant fuzzy matching with match/score fields, the state-as-preference behavior when combined with q, and the instruction to always inform the user of resolution. It also notes 'Free.' No contradictions exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured, front-loaded with the core behavior and return format, then progressively detailing filters, matching nuances, and user-facing guidance. Bold key terms highlight important points. Every sentence adds value; the length is justified by the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity, the description covers all essentials: default behavior, filtering semantics, matching behavior, ambiguity handling, and cost. The schema fully documents parameters, and the annotations cover read-only/idempotent traits. No gaps remain for an agent to call this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although the schema already provides full parameter descriptions (100% coverage), the description adds crucial interaction semantics: filters combine with AND, state becomes a preference (not a strict filter) when used with q, and the default limit when no filter is passed. It also explains the fuzzy matching pipeline for q, which is more than the schema offers. This significantly enriches the schema's static definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'List Australian suburbs (SALs)' – a specific verb and resource. It immediately clarifies that rows include both suburb and state to disambiguate SAL-name collisions, distinguishing it from any other suburb-related tool. No ambiguity remains about what this tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: no-filter returns a 1000-row preview, filters narrow results and combine with AND. It also instructs the agent to always disclose the resolved suburb and state, and to ask when ambiguous. However, it does not explicitly contrast this with sibling tools like suburbs_finder_search or suburbs_profile, so it stops short of full when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_listings_for_saleSuburb · Current for-sale listingsA
Read-onlyIdempotent
Inspect

Current for-sale listings in the suburb, with address, price, beds/baths and coordinates per listing.

total is the full number on the market (computed before limit), so a count is accurate even when the rows are capped. Raise limit for more listings; set verbose=true for the agent's full description text.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax listings to return (default 30, max 200). `total` always reports the full match count.
verboseNoInclude the agent's full ad-copy in `attributes.description`. Off by default — it averages ~1.5 KB per listing.
suburb_nameYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds valuable behavioral detail by explaining that 'total' is computed before 'limit' and remains accurate even when rows are capped, and clarifies the 'verbose' option. This goes beyond the annotations and helps the agent interpret results correctly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized: one sentence for purpose, one short paragraph for behavioral details. The important 'total' caveat is front-loaded in the second sentence, and everything present earns its place. No fluff or redundant phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list endpoint with no output schema, the description covers the return contents (address, price, beds/baths, coordinates), pagination behavior ('total' before 'limit'), and the 'verbose' flag. This is sufficient for an agent to call the tool effectively without needing to guess at response structure or cap semantics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67% — 'limit' and 'verbose' are well documented in the schema, and the description reinforces their usage without adding new meaning. The 'suburb_name' parameter lacks a schema description and the description does not compensate by specifying format or examples. The missing meaning is minimal because the parameter name and tool name make the intent obvious.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb+resource: 'Current for-sale listings in the suburb' with the returned fields (address, price, beds/baths, coordinates). The title reinforces this. It doesn't explicitly name sibling tools like 'suburbs_sales_recent' or 'properties_context_nearby_for_sale', but the phrase 'for-sale listings in the suburb' differentiates it well enough from those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (when you need current for-sale listings in a suburb) through its purpose statement. It provides practical advice on adjusting 'limit' and 'verbose', but it does not explicitly state when not to use it or point to alternative tools for related but different needs (e.g., sold listings or nearby properties).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_affordabilitySuburb · Affordability indexB
Read-onlyIdempotent
Inspect

Microburbs affordability index for the suburb's postcode area.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the tool read-only, idempotent, and non-destructive, so the description does not need to repeat those. It does add a small behavioral detail — that the index is scoped to the suburb's postcode area — but says nothing about the index's calculation, scale, or interpretation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler or repetition. It front-loads the core concept and avoids any unnecessary detail, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only lookup with one required parameter and no output schema, the description gives enough to call the tool, but it leaves the actual meaning and format of the affordability index unspecified. It is adequate but not complete, especially given the large sibling family where more explicit differentiation would help.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but the single parameter is named suburb_name and the description references 'suburb's postcode area', making the parameter's role reasonably clear. However, it adds no format, example values, or input constraints beyond what the property name already implies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a specific metric — the Microburbs affordability index — and the scope (suburb's postcode area). This clearly distinguishes it from sibling market tools focused on price, rent, or supply, though it does not explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus the many related suburbs_market_* and suburbs_hero_* tools. Usage must be inferred entirely from the name and terse description, with no mention of conditions, prerequisites, or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_allSuburb · Core market indicators — bundleA
Read-onlyIdempotent
Inspect

The eight headline market indicators in one call: median sale price and median rent (each with its full history), 5-year price growth, gross yield, days on market, and transaction volume.

This is a core set, not every market endpoint. The Suburb - Market family has 29 endpoints; this bundles 8 of them, priced sum-of-parts. The path is /market/all for historical reasons — it is not "all". Supply, vacancy, growth drivers, affordability, mortgage stress, investor concentration, land values, repeat sales, bedroom stats and the per-mesh-block maps are separate calls, so you only pay for what you ask for.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, and non-destructive behavior.icon The description adds meaningful behavioral context: it is priced sum-of-parts, the path is a historical misnomer, and it is not the full 'all' endpoint. This helps an agent understand pricing implications and the endpoint's true scope beyond what annotations convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the indicator list, then uses a tight second paragraph to clarify scope, pricing, and the path misnomer. Every sentence adds necessary information and nothing is redundant or verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a bundled endpoint of eight indicators with one parameter raisset, the description tells an agent what is included and what is not, and even hints at pricing. It does not describe the output structure, but without an output schema and with a straightforward list of indicators, the information provided is sufficient for selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter, suburb_name, with no description (schema coverage 0%). The description does not explain the parameter's format, required value, or semantics beyond its obvious name. Since the schema is unhelpful and the description does not compensate, this is a clear gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('bundle') and resource ('eight headline market indicators'), then enumerates them in detail: median sale price, median rent, 5-year price growth, gross yield, days on market, and transaction volume. It explicitly distinguishes itself from siblings by warning that the path is '/market/all' for historical reasons and is not 'all', which resolves ambiguity with the larger family.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context on when to use this tool: for the eight core indicators. It also states what is not included (supply, vacancy, growth drivers, etc.) and that those are separate calls, effectively serving as a when-not. It stops short of naming exact sibling tools or offering a crisp 'use this if...' framing, so it is not a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_bedroom_statsSuburb · Bedroom statsB
Read-onlyIdempotent
Inspect

House/unit price, sales volume, median bath/car/land, and stock mix per bedroom count.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the specific data dimensions (price, sales volume, median bath/car/land, stock mix) but does not disclose aggregation method, time period, or whether results are per bedroom count across all dwelling types. With annotations covering safety, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence that front-loads the key data categories. It is efficient and contains no filler, though it could be slightly more explicit about the suburb_name parameter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, single-parameter tool, the description is mostly adequate, but it lacks detail on the output structure (no output schema) and the exact meaning of 'stock mix' and 'median bath/car/land' (e.g., are these per bedroom count or overall?). Given the large sibling set and no output schema, a bit more context would help.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It names the single parameter implicitly (suburb_name) by saying 'per bedroom count' and 'per suburb' context, but it does not explain the expected format of suburb_name (e.g., 'Manly' vs 'Manly NSW'). With only one parameter, the gap is moderate, so a 3 is fair.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it reports house/unit price, sales volume, median bath/car/land, and stock mix per bedroom count for a suburb. It is clear enough to distinguish from most sibling tools, though it does not explicitly name a sibling alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for suburb-level bedroom statistics, but it does not state when to prefer this tool over alternatives like suburbs_market_all, suburbs_market_median_sale_price, or properties_basics_bed_count. No explicit when/when-not guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_built_yearSuburb · Built-year profileB
Read-onlyIdempotent
Inspect

Estimated build-year profile — suburb aggregate + per-mesh-block medians.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description does not need to restate safety. The description adds value by noting the data is 'Estimated' and providing the output granularity (aggregate and per-mesh-block medians), but it does not disclose caveats like accuracy, coverage, or how estimates are derived.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise fragment with no wasted words and the key term 'Estimated build-year profile' is front-loaded. It is efficient, though slightly too terse to serve as a complete specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only tool, the description gives enough to understand the basic output shape (suburb aggregate and per-mesh-block medians), but no output schema exists and the description does not explain return fields, units, or how mesh blocks are identified. This is adequate but leaves gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has only suburb_name with no description (0% coverage), so the description must compensate. It mentions 'suburb' but gives no format, examples, case sensitivity, or validation guidance. The parameter name is self-evident, but the description adds little semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool provides an 'Estimated build-year profile' for a suburb, specifying both 'suburb aggregate' and 'per-mesh-block medians' granularity. This clearly identifies the resource and scope, though it lacks a verb and does not explicitly distinguish it from sibling market tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It only implies usage through the resource name and description, which is insufficient among the many suburbs_market_* siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_comparable_suburbsComparable suburbsB
Read-onlyIdempotent
Inspect

Same-SA3 comparable-suburb candidates (canonical SAL names).

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so safety is covered. The description adds that outputs use canonical SAL names, which is useful, but it doesn't disclose sorting, limits, or what 'comparable' criteria mean. This adds some value beyond annotations but not rich behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short phrase with no filler. It front-loads the key distinguishing feature (SA3 comparable) and the output format note (canonical SAL names), so it is appropriately sized and structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter and no output schema, the description is too sparse. It does not clarify the input format, the meaning of 'comparable', or the number/order of results. Given the many sibling market tools, an agent would need more context to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'suburb_name' has 0% schema description coverage, and the description provides no additional meaning. The parameter name is self-explanatory, but there is no guidance on expected format (e.g., canonical name vs. common name) or examples, so the description does not compensate for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool returns comparable-suburb candidates within the same SA3 region and notes they are canonical SAL names. This is a specific resource and scope, and it differentiates from the sibling 'suburbs_similar' by the SA3 constraint, though the verb 'comparable' is nominal rather than explicit (e.g., 'list' or 'return').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool over alternatives like 'suburbs_similar' or other market tools. The SA3 mention hints at a specific use case, but no explicit when-to-use or when-not-to-use is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_days_on_marketSuburb · Median days on marketB
Read-onlyIdempotent
Inspect

Median days on market for current listings.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the scoping detail 'current listings' but does not disclose error behavior, rate limits, or response format beyond the metric itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, succinct sentence that states the metric and scope without any redundant wording. It is front-loaded and contains no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read-only tool, the description is minimal but adequate. It does not specify the return type or structure (e.g., a number, units), nor error handling, and it lacks explicit differentiation from the benchmark sibling, leaving some ambiguity for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has a single parameter 'suburb_name' with no description (0% coverage). The description does not clarify expected format, case sensitivity, or whether it expects an exact name or ID, so it adds no value beyond the schema's type definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the median days on market for current listings of a suburb. It specifies the metric and scope, distinguishing it from generic 'market' tools, though it does not explicitly differentiate from the sibling 'suburbs_market_days_on_market_benchmark'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of conditions, prerequisites, or exclusions, and no reference to the related benchmark tool or other market metrics.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_days_on_market_benchmarkSuburb · Days on market — regional benchmarkA
Read-onlyIdempotent
Inspect

Median days on market across the suburb's greater region (GCCSA) — compare with /market/days-on-market.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the scope (GCCSA) but does not disclose return format, pagination, or other behavioral details. It provides minimal extra value beyond annotations, with no contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded with the core function and includes a comparative note. There is no redundant information, and every word contributes to understanding. It is concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one param, no output schema), the description adequately conveys the core functionality. However, it does not explicitly state the output format (e.g., a single number, a series) or provide examples. While not a critical gap, it could be more explicit about what the agent should expect as a return value.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% for the single parameter 'suburb_name', and the description does not elaborate on its format or constraints. However, the parameter name is self-explanatory given the tool's purpose, so the meaning is inferred. The description adds little beyond the schema, but the gap is minor because the param is obvious.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the median days on market for the suburb's greater region (GCCSA), which distinguishes it from the suburb-level metric. It names the specific verb ('Median days on market') and resource ('suburb's greater region'), making the purpose unambiguous and distinct from siblings like suburbs_market_days_on_market.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description hints at an alternative by saying 'compare with /market/days-on-market', but it does not explicitly state when to use this tool versus the suburb-specific one. The guidance is implicit rather than explicit, lacking conditions or exclusions. It gives a directional hint but not a clear decision rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_growth_driversSuburb · Capital-growth driversA
Read-onlyIdempotent
Inspect

Per-indicator capital-growth attribution for the suburb.

Each row pairs the suburb's own value for an indicator with the capital-growth differential our matched studies attribute to it, in percentage points. Covers supply & demand pressure, market signals, environmental risks and demographic composition.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds valuable context: the output structure (rows with value and differential), the source ('our matched studies'), and the covered categories. This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise paragraphs. The first sentence front-loads the core purpose, followed by a brief explanation of the output format and coverage. Every sentence adds value without unnecessary fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with a single parameter and no output schema, the description adequately explains the output structure and content. It does not mention error handling or pagination, but those are not critical for such a simple tool. It is complete enough for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the single parameter, suburb_name. The parameter is self-evident from the tool's name and description ('for the suburb'), but the description does not explicitly state its format or any constraints. Since it is a simple string and the purpose is clear, the lack of explicit documentation is minor.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource: 'Per-indicator capital-growth attribution for the suburb.' It clearly defines the output as rows pairing the suburb's indicator value with the growth differential in percentage points, and lists the categories covered. This distinguishes it from generic market tools like suburbs_market_all or risk-specific ones like suburbs_risks_capital_growth_impact.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. It does not mention any exclusions or alternatives, leaving the agent to infer from the description that it is for per-indicator attribution. Given the large sibling list, a brief note about when to prefer this over a broader market tool would be helpful.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_investor_concentrationSuburb · Investor concentrationB
Read-onlyIdempotent
Inspect

Rental (investor) share per mesh block, with a suburb-wide rollup.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the tool is clearly a safe read-only operation. The description adds that the output is aggregated at mesh block level with a suburb rollup, which is useful context. However, it does not disclose the specific return structure (e.g., a list of mesh blocks, a summary object) or whether the data is derived from census or rental listings, which could affect interpretation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is concise and front-loads the key metric ('Rental (investor) share') and the aggregation level. There is no fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple parameter set (only suburb_name) and the presence of annotations indicating safety, the description is adequate for a low-complexity tool. However, it does not clarify whether the output includes a breakdown of mesh blocks (e.g., list of mesh blocks with values) or a single rollup number, which could affect how the agent presents the data. It also does not mention any potential limitations like missing data for some suburbs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 1 parameter (suburb_name) with 0% schema description coverage. The description does not explain the format or expected value of suburb_name (e.g., exact name vs. partial match, case sensitivity). Since there is only one parameter, the description should at least indicate that it identifies the suburb, but it doesn't go beyond the schema. With minimal parameters, a baseline of 3 applies, but the description does not add semantics beyond what the schema already indicates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states that the tool provides the rental (investor) share per mesh block with a suburb-wide rollup. This is specific about the metric type (investor concentration) and the geographic scope (mesh block plus suburb rollup). While it doesn't name a direct sibling, the description is clear enough to distinguish it from other suburb_market_* tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus other similar market tools like suburbs_market_yield_pct or suburbs_market_mortgage_stress. It also does not mention any prerequisites such as the suburb_name format or whether the data is only available for certain regions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_land_valuesSuburb · Land valuesB
Read-onlyIdempotent
Inspect

Suburb land-value medians ($/sqm, lot size, land share of price) + per-mesh-block $/sqm.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already establish that the tool is read-only, idempotent, and non-destructive. The description adds useful expectations about the returned content (medians, $/sqm, land share, mesh-block detail) but does not mention caveats such as data availability, recency, or output shape. No contradiction with annotations exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense sentence with no filler. The main subject is front-loaded, the metrics are compactly listed, and the mesh-block addition is appended without repetition. Every word adds information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-argument read-only tool, the description covers the core return subjects. However, since there is no output schema, the absence of detail about output structure, whether mesh-block values are separate or combined, and data caveats leaves some ambiguity for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the burden. It indicates that the subject is a suburb and ties naturally to the required `suburb_name` parameter, but it gives no guidance on formatting, case sensitivity, or accepted suburb identifiers. This is adequate for a single self-descriptive parameter but not rich.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource (suburb), the metric (land-value medians), and the units ($/sqm, lot size, land share of price), plus a mesh-block breakdown. This is specific enough to distinguish it from many suburbs_market_* siblings, though it doesn't explicitly differentiate it from closely related tools like properties_valuation_land_values.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives, and the sibling list is very large. The land-value focus is implied but there are no conditions, exclusions, or named alternatives. An agent would have to infer use from the name and description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_median_price_mapSuburb · Median sale price per microburbA
Read-onlyIdempotent
Inspect

Median house price for every microburb (mesh block) in the suburb, with its modal street name, plus the dearest and cheapest pockets. Values only — the matching polygons come from /shapes/mesh-blocks.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive, so the bar is lower. The description adds valuable behavioral context beyond annotations: output is values only and geometry must be joined from another endpoint, plus the output includes modal street name and extreme pockets.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core purpose, and every clause earns its place. The 'Values only' caveat is essential and placed at the end for clarity without burying the main function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with no output schema, the description covers the output contents, granularity, and the geometry source. It stops short of describing exact response fields or formatting, but the essential information needed to call and interpret the tool is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is one parameter, suburb_name, with no schema description. The description references 'the suburb' implicitly, giving some context, and the parameter name is self-explanatory. However, it does not explain accepted formats, identifier styles, or case sensitivity, so it does not fully compensate for the 0% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States exactly what the tool returns: median house price per microburb/mesh block, modal street name, and dearest/cheapest pockets. It also distinguishes itself from shape-returning tools by explicitly saying 'Values only' and pointing to the polygon source.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly implies when to use this tool (per-microburb median house price values) and gives an explicit exclusion: if polygons are needed, use /shapes/mesh-blocks. It does not explicitly compare to sibling median-sale-price or rent-map tools, but the scope is clear enough to avoid the most obvious confusion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_median_rentSuburb · Median weekly rentC
Read-onlyIdempotent
Inspect

Latest median weekly rent for the suburb.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe read operation. The description adds the 'latest' temporal qualifier, which is useful context beyond the annotations. However, it doesn't disclose what happens if the suburb_name is invalid, whether the result is a single number or an object, or any units/format details. With annotations covering the safety profile, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It front-loads the key information ('Latest median weekly rent') and the scope ('for the suburb'). It could arguably be slightly more informative, but for what it contains, it is concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter tool with no output schema, the description is minimal. It doesn't explain the return format (e.g., a number, an object with currency and period), what 'latest' means in terms of data freshness, or how to handle invalid suburb names. Given the tool's simplicity, the description is adequate for a basic call but leaves gaps for an agent trying to interpret the result or handle errors.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the undocumented suburb_name parameter. The description mentions 'for the suburb' which implies the parameter is the suburb name, but it doesn't clarify the expected format (e.g., 'Sydney' vs 'Sydney, NSW'), case sensitivity, or whether it accepts suburb IDs. With only one parameter and 0% schema coverage, the description should provide more detail about what values are valid.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Latest median weekly rent for the suburb' clearly states the tool's function: it returns the most recent median weekly rent for a given suburb. It uses a specific verb ('returns' implied) and resource ('median weekly rent'), and the title reinforces this. It is distinguishable from siblings like suburbs_market_median_rent_series (which implies a time series) and suburbs_market_rent_map (which implies a map), though it doesn't explicitly name them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention that suburbs_market_median_rent_series would be used for historical trends, or that suburbs_market_rent_map would be used for geographic comparisons. The context of 'latest' is implied but no explicit when-to-use or when-not-to-use guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_median_rent_seriesSuburb · Median rent — full history (including 2024–2025)B
Read-onlyIdempotent
Inspect

Full median weekly-rent observation history for the suburb, including 2024 and 2025 where the suburb has coverage. Older observations are generally month-end and recent observations can be weekly; this is not a uniformly quarterly series. Values are advertised median AUD per week.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds meaningful behavioral context: the series is not uniformly quarterly (older observations are month-end, recent can be weekly) and values are advertised median AUD per week. This goes beyond annotations and helps the agent understand data irregularities. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the main purpose. It efficiently conveys the scope, data frequency, and units without unnecessary fluff. The structure is clear and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description should explain what the response looks like (e.g., a list of date-value pairs). It describes data characteristics but not the response structure. It also doesn't mention pagination, limits, or error conditions. For a simple read-only tool with one parameter, it's moderately complete but missing the return format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, suburb_name, has no schema description (coverage 0%). The description does not explain the expected format, case sensitivity, or examples. Since the schema provides no details and the description doesn't compensate, the parameter semantics are insufficient. A simple mention like 'e.g., 'Sydney'' would have helped.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the full median weekly-rent observation history for a suburb, including 2024–2025. It specifies the data type (advertised median AUD per week) and the time series nature. However, it does not explicitly differentiate from sibling tools like suburbs_market_median_rent (which may return a single value) or other series tools, so it lacks a direct sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for historical median rent series by stating 'full history' and noting the irregular frequency, but it does not explicitly mention when to use this tool over alternatives (e.g., suburbs_market_median_rent for current rent). There is no guidance on exclusions or preferences, so the agent must infer from the name and context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_median_sale_priceSuburb · Median sale priceA
Read-onlyIdempotent
Inspect

Latest median sale price for the suburb.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds minimal behavior context (only that it is the latest price), but doesn't disclose what happens if suburb is invalid, whether data is ASX or CoreLogic based, or if there are any data licensing restrictions. With annotations covering safety, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence, no redundancy, and the key word 'latest' is front-loaded with 'median sale price'. Perfectly concise for what it claims to do.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 1-param tool with no output schema, it is minimally adequate. It doesn't explain return value structure (e.g., numeric vs object) or units (AUD?), but given the simplicity, the gaps are moderate. The sibling set is huge, and more context would help disambiguate from series and other market tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the single parameter 'suburb_name'. It doesn't clarify format (e.g., exact name spelling, case sensitivity, need for underscores like 'north_sydney'), which is critical. It does implicitly tie the parameter to the tool's purpose, but no real added meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb ('median sale price') and resource ('suburb'), with enough specificity to distinguish from median rent and price growth tools. However, it doesn't mention that it returns only the latest value, which is implied by the title but could be clearer given the series tool exists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for checking a suburb's current median sale price, but no explicit guidance on when to use this over the series version or other price-related tools. It doesn't mention that the series tool should be used for historical trends, leaving the agent to infer the difference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_median_sale_price_seriesSuburb · Median sale price — full history (up to 20+ years)A
Read-onlyIdempotent
Inspect

Full median sale-price observation history for the suburb. Well-covered suburbs extend back 20+ years; coverage and observation frequency vary. This is the raw historical series needed to calculate a stated 20-year return, not a precomputed "consistent growth" score or a forecast.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds useful behavioral nuance beyond that: coverage and observation frequency vary, and well-covered suburbs may extend back 20+ years. This sets accurate expectations for data availability and completeness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tightly written sentences deliver the core purpose, the key caveat, and a strong distinction from alternative tools. There is no filler or redundant restating of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even without an output schema, the description clearly conveys that the tool returns a full historical series of median sale prices and warns that coverage/frequency vary. For a simple one-parameter read-only tool, this provides enough context for correct selection and use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has only one parameter, suburb_name, with 0% description coverage. The tool description repeatedly establishes that the parameter refers to 'the suburb', which is helpful but adds no format, validation, or domain detail. For a single self-explanatory parameter this is adequate but not rich.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the exact resource and action: it returns the full median sale-price observation history for a suburb. It also distinguishes itself from related tools by saying it is the raw series, not a precomputed growth score or forecast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use this tool: when a raw historical series is needed to calculate a stated 20-year return. It also gives clear exclusions by saying it is not a precomputed 'consistent growth' score or a forecast, which maps well against siblings like suburbs_market_price_growth and suburbs_forecast_sale.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_months_of_supplySuburb · Months of supplyA
Read-onlyIdempotent
Inspect

How many months the current for-sale stock would take to clear at the suburb's current sales rate. Under 2 months is a seller's market.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds the operational definition of the metric (months to clear) and the market interpretation, which is useful contextual behavior. However, it does not disclose other behavioral aspects such as return format, precision, or error handling (e.g., invalid suburb). With annotations present, the description adds some value beyond them but is not rich in behavioral caveats.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no fluff: the first defines the metric, the second provides a key threshold. The core definition is front-loaded, making it immediately clear what the tool does. Every sentence earns its place; there is no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with a single simple parameter, safety annotations, and no output schema, the description is nearly complete. It explains what the tool computes and how to interpret the result. It does not explicitly state the return format (e.g., a number representing months), but this is implied. The description also helps distinguish this metric from related siblings. Overall, it provides sufficient context for an agent to call it correctly and understand the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema documentation coverage is 0% – the parameter suburb_name has no description in the schema. The tool description refers to 'the suburb's current sales rate,' which clarifies that the parameter is the suburb of interest, but it doesn't explicitly state that the parameter must be a valid suburb name or provide format guidance. This is some compensation for the missing schema description, but it is minimal given the parameter is self-explanatory. A baseline of 3 is appropriate since the description adds a little meaning beyond the schema but does not fully compensate for the lack of parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the metric computed: 'How many months the current for-sale stock would take to clear at the suburb's current sales rate.' This is a specific verb-object pair (compute months of supply) that is distinct from sibling tools like days_on_market or stock_on_market. It also provides an interpretive threshold ('Under 2 months is a seller's market'), which further clarifies the tool's purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an interpretation of the result (seller's market threshold), which implies it is used to gauge market tightness, but it does not explicitly state when to use this tool instead of other market metrics like suburbs_market_supply_pressure, suburbs_market_days_on_market, or suburbs_market_stock_on_market. No alternatives are named, and no exclusionary guidance is provided. The context (market balance) is only implied, not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_mortgage_stressSuburb · Mortgage stressA
Read-onlyIdempotent
Inspect

Mortgage-stress score (0-100) for the suburb, with per-mesh-block breakdown.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, idempotent, and non-destructive behavior, so the description does not need to restate that. It adds useful behavioral context by declaring the score range (0-100) and the per-mesh-block granularity, though it does not describe the return shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It communicates the core output and granularity efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only metric tool with one obvious required parameter and safety covered by annotations, this is nearly complete. The main gap is that the per-mesh-block breakdown format is not described, but the description is otherwise sufficient for an agent to invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only says 'for the suburb,' which adds little beyond the already self-explanatory suburb_name property. It does not describe expected name format, whether names must match suburbs_list, or error handling for invalid inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states exactly what is returned: a mortgage-stress score on a 0-100 scale for a suburb, with per-mesh-block breakdown. This is specific and sufficiently distinguishes the tool from siblings like suburbs_market_affordability or suburbs_market_all.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to choose this tool over alternatives, no mention of prerequisites, and no exclusion criteria. The intended use is only implied by the name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_price_growthSuburb · Past price growth (1 / 3 / 5 / 10-year)B
Read-onlyIdempotent
Inspect

Past compound sale-price growth over 1 / 3 / 5 / 10 years, by property type (decimal). The 3y / 10y figures are the same ones the Suburb Finder ranks on.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that the call is read-only, idempotent, and non-destructive, so the description doesn't need to repeat that. It adds value by specifying decimal units, compound growth, property-type breakdown, and alignment with Suburb Finder figures; it doesn't cover output shape or data-availability caveats, but these are secondary given the strong annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler; the core output facts come first, and the Suburb Finder alignment note is a useful second sentence. The description is appropriately sized for the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description communicates the essential output semantics: time horizons, property types, decimal format, and ranking context. However, with no output schema it doesn't describe the response structure, property-type values, or behavior when a suburb lacks enough sales data, so an agent must assume some details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema only contains suburb_name, but the description never mentions the parameter or how to supply a valid suburb name, and schema description coverage is 0%. The schema's property name is self-explanatory, yet the description does not compensate for the low coverage as required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a specific data resource: past compound sale-price growth across 1/3/5/10-year horizons, broken down by property type and expressed as a decimal. This goes beyond the title and distinguishes it from single-window siblings like suburbs_market_price_growth_5y, though it doesn't name that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use or when-not-to-use guidance, and no alternative tool is named. The note that 3y/10y figures match what Suburb Finder ranks on provides some context, but it leaves the agent to infer the tool's role relative to the many other suburbs_market_* endpoints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_price_growth_5ySuburb · 5-year price growthC
Read-onlyIdempotent
Inspect

5-year compound sale-price growth (decimal).

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. However, the description is minimal and does not add details like the exact data source, methodology for calculating growth, or whether the value is per suburb or per property. It does not disclose any behavioral nuances beyond what annotations already imply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that is front-loaded with the core purpose. It is efficient but lacks additional context that could be added without bloat, such as a hint about usage or output format.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, clear metric), the description might be adequate for a straightforward query. However, it does not mention what the returned value represents (e.g., a decimal like 0.25 for 25% growth) or any formatting details. The lack of an output schema increases the need for such clarification, but the context of sibling tools and standard practices may partially compensate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter (suburb_name) with 0% description coverage. The description does not explain what format the suburb name should take (e.g., exact name vs. partial match). The parameter is self-descriptive from its name, so this is not as severe as a case with multiple ambiguous parameters, but the lack of any guidance on input format is a gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool provides a 5-year compound sale-price growth figure for a suburb. The verb (provide/get) is implicit but the resource (suburb) and metric (5-year price growth) are specific. It distinguishes itself from sibling tools like suburbs_market_price_growth (which might be shorter-term) and suburbs_hero_price_growth_12mo by specifying '5-year' and 'compound'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use guidance is provided. The tool name and description are self-evident for its purpose, but there is no mention of when to prefer this over siblings like suburbs_market_price_growth or suburbs_hero_price_growth_12mo. The agent must infer usage from the context of the query.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_recent_price_movementSuburb · Recent price movement (last 4 weeks)A
Read-onlyIdempotent
Inspect

The last four weekly smart-median observations — house price, unit price and house rent — each with its week-on-week percentage change.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds useful behavioral context by specifying the exact data elements (three metrics) and that they include week-on-week changes, which helps the agent anticipate the response shape. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the core purpose and immediately lists the included data fields. There is no filler or redundant wording, making it highly efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description is nearly complete: it specifies the time window, the metrics included, and the presence of percentage changes. It does not describe the exact output format, but that is not critical for a read-only data retrieval tool. The description adequately equips the agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for the single parameter suburb_name, and the description does not explicitly define it. However, the parameter name and tool name make its meaning obvious, so the agent can infer it accepts a suburb name string. The description does not compensate beyond that, but the triviality of the parameter mitigates the gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the last four weekly smart-median observations for house price, unit price, and house rent, each with week-on-week percentage change. This distinguishes it from sibling tools like median_rent or price_growth by specifying the exact time window and data components, though it does not explicitly name an alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as suburbs_market_median_sale_price_series or suburbs_market_price_growth. It only describes the output, leaving the agent to infer that this is for short-term (4-week) movement, which is not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_rent_mapSuburb · Median weekly rent per microburbB
Read-onlyIdempotent
Inspect

Median advertised weekly house rent for every microburb (mesh block) in the suburb, with its modal street name, plus the dearest and cheapest pockets. Values only — the matching polygons come from /shapes/mesh-blocks.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful context that the tool returns values only and that matching polygons must be fetched from /shapes/mesh-blocks, which clarifies a key behavioral boundary. It doesn't disclose response format or pagination, but with annotations covering safety, this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core metric, then adds the modal street name and dearest/cheapest pockets, and ends with a useful pointer to the shapes endpoint. Every sentence earns its place, though the final sentence could be seen as slightly tangential to the tool's own invocation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read-only tool, the description covers the main output and the key dependency on the shapes endpoint. However, it doesn't mention what the response structure looks like, whether the result is a single value or a list, or any units beyond 'weekly rent'. Given no output schema, a bit more detail on return shape would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden for the single parameter. The description names the resource (suburb) and implies suburb_name is the input, but it doesn't specify format, case sensitivity, or whether full names or codes are accepted. Since there is only one parameter and the tool name plus description make its purpose clear, a baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns median advertised weekly house rent per microburb, with modal street name and dearest/cheapest pockets. It identifies the resource (suburb) and the specific metric, but doesn't explicitly differentiate it from the many other suburbs_market_* siblings beyond the microburb/mesh block focus.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for rent values per microburb and notes that polygons come from a separate shapes endpoint, which is useful routing guidance. However, it doesn't explicitly state when to choose this over alternatives like suburbs_market_median_rent or suburbs_market_vacancy_map, nor does it mention any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_repeat_salesSuburb · Repeat salesC
Read-onlyIdempotent
Inspect

Realised resale growth — summary + individual buy/sell pairs (max 500).

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

C2.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds value by disclosing the output structure (summary + individual pairs) and the 500-pair limit, which are not in annotations. This provides useful behavioral context beyond structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly packed sentence that conveys the core purpose and a key limitation (max 500). It is not verbose and earns its place, though it omits essential parameter context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with no output schema, the description is insufficient. It does not explain what the summary contains, what fields each pair has, or any error conditions. The agent cannot fully anticipate the response format or parameter requirements, especially given the many sibling market tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description does not mention the only parameter, suburb_name, at all. The agent gets no guidance on what this parameter represents, its format, or how to obtain it. The description entirely fails to compensate for the missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns 'Realised resale growth' with a summary and individual buy/sell pairs, capped at 500. This is specific and distinguishes it from other market tools (e.g., price growth, sales summary) by focusing on repeat-sale realized growth. It lacks an explicit verb like 'get' but the intent is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It does not mention any distinguishing context, such as 'use for repeat-sale growth analysis' or exclude scenarios better served by other market tools. The agent is left to infer usage from the name and sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_stock_on_marketSuburb · Stock on marketA
Read-onlyIdempotent
Inspect

Properties currently listed for sale in the suburb, split house/unit, with the suburb's rank among its peers.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds that results are split by house/unit and include a rank, which is extra behavioral context. However, it does not mention response format, pagination, or any other operational details. Given annotations, a 3 is appropriate – it adds some value but not rich behavioral depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action and key output characteristics. There is no fluff or redundancy; every word contributes to understanding what the tool does.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with one self-explanatory parameter and no output schema, the description covers the essential purpose. It does not specify return format or data structure details, but given the simplicity and annotations, it is nearly complete. A 4 reflects that it is adequate without being exhaustive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero description coverage for the single parameter suburb_name. The description does not elaborate on the parameter beyond implying it is a suburb, which is obvious from the tool name. Since the description is the only source of parameter meaning and it provides no additional detail, it fails to compensate for the low coverage. A 2 reflects this lack of added semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (lists) and the resource (properties for sale in a suburb), and it specifies the output split (house/unit) and the inclusion of rank. This distinguishes it from many other suburbs_market_* tools, which focus on different metrics. It is not a tautology and provides concrete meaning beyond the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for current listings ('currently listed for sale') but does not explicitly state when to use this tool versus alternatives like suburbs_market_all or suburbs_market_days_on_market. There is no mention of exclusions or specific scenarios. The context is clear enough, but no explicit guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_strata_leviesSuburb · Strata leviesA
Read-onlyIdempotent
Inspect

Median estimated annual strata levy for the suburb.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds behavioral context by specifying that the value is a median, estimated, and annual, which clarifies the nature of the returned figure. It does not contradict annotations, and it adds useful detail beyond the structured metadata, though it doesn't describe output format or edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that states the core purpose without any filler. It uses efficient wording and every word contributes meaning. It is appropriately sized for a simple tool with one parameter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that returns a single numeric metric, the description provides the essential context: it's a median, estimated, annual strata levy. The annotations cover safety, and the single parameter is straightforward. However, it omits the output format (e.g., a number in dollars) and any mention of possible missing data for suburbs without strata schemes, but given the simplicity, this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has a single string parameter suburb_name with no description, and schema description coverage is 0%. The tool description does not compensate by explaining the parameter format, such as expected spelling, case sensitivity, or whether it accepts a full name or an ID. The name 'suburb_name' is self-explanatory, but the description adds no value beyond what the schema already implies, leaving a gap for a tool with zero schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states exactly what the tool returns: the median estimated annual strata levy for a suburb. It uses a specific metric (strata levy) that distinguishes it from the many other suburbs_market_* siblings like median rent or median sale price. The resource (suburb) is implied by the parameter and name, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when strata levy data is needed, but it provides no explicit guidance on when to choose this tool over alternatives or any exclusions. It doesn't mention, for example, that this is only for suburbs with strata data or that it's distinct from other market metrics. The context is clear but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_supply_pressureSuburb · Supply pressureC
Read-onlyIdempotent
Inspect

For-sale listings per 100 dwellings (90 days) — per mesh block + suburb rollup.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the 90-day lookback window and the per-mesh-block + suburb rollup granularity, which are useful behavioral details. However, it doesn't disclose what the response looks like, whether the metric is a ratio/percentage, or how missing data is handled. With annotations covering safety, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence that front-loads the core metric and adds the granularity detail. It is efficient and readable. It could arguably add a usage hint without becoming bloated, but as written it earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one required parameter, no output schema, and 0% schema description coverage, the description is thin. It tells the agent what the metric is but not how to invoke it correctly (parameter format), what the output structure is, or how this metric relates to the many other market supply tools. Given the large sibling set, more context is needed for reliable selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the only parameter is suburb_name with no description in the schema. The tool description does not explain what format suburb_name should take (e.g., 'Sydney' vs 'Sydney, NSW' vs 'sydney-nsw'), nor does it clarify whether it accepts a suburb ID or name. The description's mention of 'suburb rollup' implies the parameter is a suburb, but it adds no semantic detail beyond the parameter name itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific metric ('For-sale listings per 100 dwellings (90 days)') and the resource ('per mesh block + suburb rollup'). It clearly identifies what the tool computes. However, it doesn't explicitly distinguish it from closely related siblings like suburbs_market_stock_on_supply or suburbs_market_months_of_supply, so it's clear but not fully differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools in the suburbs_market_* family (e.g., suburbs_market_stock_on_market, suburbs_market_months_of_supply, suburbs_market_days_on_market), an agent would need to infer which metric is most relevant. No exclusions or alternative routing are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_transaction_volumeSuburb · Sale-transaction volumeC
Read-onlyIdempotent
Inspect

Recent sale-transaction count for the suburb.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly, idempotent, and non-destructive behavior, so the description doesn't need to restate those. The addition of 'recent' and 'count' adds some behavioral context, but it does not define the time period or return format, making the added transparency minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short, front-loaded sentence with no padding, making it very concise. However, the brevity comes at the cost of essential detail, which is a trade-off rather than a fully effective structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no parameter documentation, this description is the sole informational source. It fails to define 'recent', the output shape, or any limitations, leaving the agent under-informed for a confident call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must compensate. It only references the suburb indirectly without explaining format, examples, or validation requirements, leaving the sole parameter's semantics to be inferred from its name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a recent sale-transaction count for a suburb, which is a distinct metric. It doesn't explicitly mention how it differs from siblings like suburbs_sales_recent or suburbs_market_all, but the specific 'sale-transaction count' gives the agent a clear functional purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus the many related market and sales tools. There is no mention of context, prerequisites, or alternatives, leaving the agent to infer usage entirely from the name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_vacancy_mapSuburb · Rental vacancy — per mesh blockB
Read-onlyIdempotent
Inspect

Calibrated rental-vacancy rate for each mesh block in the suburb.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the 'calibrated' qualifier, which hints at methodology but doesn't explain what calibration means or how the rate is computed. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is efficient and front-loads the key output ('Calibrated rental-vacancy rate'). It doesn't waste words, though it could add a brief usage note without becoming bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter and no output schema, the description is minimal. It doesn't explain the output format (e.g., map, GeoJSON, table), how 'calibrated' differs from raw vacancy, or how this relates to sibling vacancy tools. An agent would need to infer the return structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden for the single parameter. The description mentions 'suburb' in the text, which implies suburb_name is the suburb identifier, but it doesn't specify format, required spelling, or how to obtain valid values. Baseline 3 is appropriate because the parameter name is self-explanatory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Calibrated rental-vacancy rate') and resource ('each mesh block in the suburb'), which clearly identifies what the tool returns. It doesn't explicitly differentiate from sibling tools like suburbs_market_vacancy_rate or suburbs_market_vacancy_rate_series, but the mesh-block granularity is a distinguishing detail.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as suburbs_market_vacancy_rate (suburb-level) or suburbs_market_vacancy_rate_series (time series). The description implies a spatial granularity use case but doesn't state it explicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_vacancy_rateRental vacancy rate — suburb headlineB
Read-onlyIdempotent
Inspect

Suburb-wide rental vacancy rate by property type, as a decimal fraction (0.00842 = 0.84%). Use /market/vacancy-map for the per-mesh-block surface.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the agent knows it's a safe read. The description adds the decimal fraction format (with example), which is useful. However, it does not disclose other behavioral traits such as response structure, pagination, or whether the rate is current or historical. The description does not contradict annotations, but it adds minimal behavioral context beyond the format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no fluff. It front-loads the core purpose (suburb-wide vacancy rate), then provides format details and a disambiguation. It is concise and easily scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one simple parameter and no output schema, the description should cover all necessary context. It details the output format but does not explain what the single parameter should be (e.g., accepts suburb name exactly as in `suburbs_list`?). It also does not mention if there are any constraints on the data (e.g., only for residential properties). It is adequate for a simple tool but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and there is only one parameter `suburb_name`. The description does not explain the format or constraints of `suburb_name` (e.g., exact case, spaces, need for full name). With 0% coverage, the description should provide more detail but only mentions the return format. This is a gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a suburb-wide rental vacancy rate by property type, as a decimal fractionched with an example. It distinguishes itself from the sibling `suburbs_market_vacancy_map` by explicitly clarifying that the map tool returns a per-mesh-block surface, not the suburb headline. This makes it different from siblings in the market group.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells the agent when to use the map tool instead for mesh-block level data, which acts as a when-not clause. It does not explicitly state when to use this tool, but the context makes it clear that this is for suburb-level analysis. This is clear guidance but could be slightly more explicit about prerequisites or scenarios (e.g., need for historical series).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_vacancy_rate_seriesSuburb · Rental vacancy rate — full seriesB
Read-onlyIdempotent
Inspect

Full rental-vacancy history by property type, decimal fractions.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds that the output is 'decimal fractions' and covers 'full history by property type', which provides some behavioral context beyond annotations. However, it does not disclose any limitations such as pagination, time range, or whether multiple property types are returned as separate series.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence with no wasted words: 'Full rental-vacancy history by property type, decimal fractions.' The key differentiator ('full series') is front-loaded, and every clause adds semantic value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool with safety annotations present, the description is adequate but not complete. It communicates the output nature and format, but does not specify the time period covered, the meaning of 'by property type', or what an agent should expect in the response structure. Since there is no output schema, a bit more detail would help.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the sole parameter, suburb_name. It does not explain the parameter at all – no format, examples, or clarification that it expects a standard suburb name. The parameter name is self-explanatory to a degree, but with zero schema coverage and no help from the description, an agent has no guidance on valid inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the resource clearly: 'Full rental-vacancy history' with the addition 'by property type' and 'decimal fractions'. The name and title reinforce that it is a suburb-level series, distinguishing it from the sibling 'suburbs_market_vacancy_rate' (single rate) and 'suburbs_market_vacancy_map'. However, it lacks an explicit verb like 'get' or 'list', though the meaning is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives. It does not mention the non-series vacancy tool, the map variant, or any context for selecting this full series over other market tools. An agent would have to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_yield_mapSuburb · Gross rental yield per microburbA
Read-onlyIdempotent
Inspect

Gross rental yield for every microburb (mesh block) in the suburb — weekly rent x 52 over median price — with both inputs returned so the number is checkable, plus the best- and worst-yielding pockets. Values only; polygons come from /shapes/mesh-blocks.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish the tool as read-only, idempotent, and non-destructive. The description adds genuinely useful behavior: it discloses the calculation, says both rental and price inputs are returned so the yield is checkable, and clarifies that the response contains values only, not polygons.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences front-load the metric and formula, then add a meaningful boundary about values vs polygons. Every sentence earns its place with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only tool with no output schema, the description fully covers what is computed, how, what is returned for auditability, the best/worst-pockets extra, and the split from shape endpoints. Nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, suburb_name, is self-explanatory, and the phrase 'in the suburb' loosely ties it to the output. However, schema description coverage is 0%, and the description does not explicitly document the parameter, its format, or any constraints, leaving the agent to infer the only input.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description precisely states that the tool returns gross rental yield per microburb in a suburb and gives the formula, so an agent knows exactly what is computed. The clause 'Values only; polygons come from /shapes/mesh-blocks' distinguishes it from shape-returning tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is the tool for mesh-block-level yield values and points geometry requests elsewhere, but it never names sibling tools such as suburbs_market_yield_pct or states when to prefer one over the other. The routing guidance is limited to one exclusion rather than a full usage policy.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_yield_pctSuburb · Gross rental yield (%)B
Read-onlyIdempotent
Inspect

Gross rental yield = median rent annualised / median sale price.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds the formula, which is useful conceptual context but does not describe behavior like return format, units, or any caveats. It does not contradict the annotations, so a mid-score is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that defines the metric with no filler. It is front-loaded with the essential calculation. However, it is arguably too terse for a complete tool description, so it loses a point for not also stating the action or usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema) and the annotations covering safety, the description is mostly adequate. It lacks any statement of what the return value looks like (e.g., a single percentage number) and does not mention any special cases or time periods. Still, for a simple metric, the gap is not severe, but it could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention the sole parameter 'suburb_name'. Although the parameter name is self-explanatory given the tool's domain, the description provides no additional meaning, format expectations, or examples. With only one parameter, the burden on the description to compensate is lower than for many-parameter tools, but it still fails to add value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives the precise definition of the metric (gross rental yield = median rent annualised / median sale price), which clarifies exactly what the tool computes. It is not a verb phrase like 'Get the yield for a suburb', but combined with the tool name and title, the purpose is unambiguous. It also distinguishes this from siblings like the series or map variants by defining the point-in-time percentage.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as suburbs_market_yield_pct_series or suburbs_market_yield_map. The description only states the formula, not the context in which an agent should pick this specific endpoint. No exclusions or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_market_yield_pct_seriesSuburb · Gross rental yield — full seriesA
Read-onlyIdempotent
Inspect

Full gross-rental-yield history by property type, decimal fractions.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnlyHint, idempotentHint, and destructiveHint, so safety is clear. The description adds behavioral context: it returns a full series (not a single value), is segmented by property type, and values are decimal fractions. This is useful beyond annotations, though it doesn't describe output shape, ordering, or exact property types.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence with no filler. It front-loads the key concept ('Full gross-rental-yield history') and includes all essential qualifiers. It is appropriately sized for a simple one-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description gives the core idea but leaves gaps. It doesn't specify what property types are included, how the series is structured (e.g., time intervals), or how to interpret the decimal fractions (e.g., 0.05 = 5%). Given the annotations cover safety, this is a minimum viable description but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one required parameter 'suburb_name' with 0% description coverage. The tool description does not explain this parameter at all—no format, examples, or constraints. The name implies it's a suburb name, but the description adds no value beyond what the parameter name suggests. Since coverage is low, the description fails to compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it provides 'Full gross-rental-yield history by property type, decimal fractions.' This clearly identifies the resource (gross rental yield), the scope (full history), and the format (decimal fractions). It differentiates from siblings like suburbs_market_yield_pct (likely current yield) by emphasizing 'full series'. However, it doesn't explicitly name any sibling, so it's clear but not maximally distinguishing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for historical yield analysis by saying 'full history', which contrasts with current or map views. But it does not explicitly state when to use this tool over alternatives like suburbs_market_yield_pct or suburbs_market_yield_map, nor does it mention any conditions or exclusions. The guidance is implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_profileSuburb · ABS geo profileA
Read-onlyIdempotent
Inspect

The suburb's upward ABS admin chain — LGA, SA2/3/4, GCCSA, state, postcode. Use /v1/suburbs/list to discover canonical SAL names (and filter by state / LGA / SA4 / postcode).

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the useful behavioral detail that the tool returns the 'upward' admin chain, implying a hierarchical relationship. However, it doesn't disclose what happens for invalid suburb names, whether the response includes all levels or only available ones, or any rate-limit/auth requirements. With annotations covering safety, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste. The core purpose is front-loaded, and the usage hint is concise. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only tool with rich annotations, the description is nearly complete. It explains what the tool returns, the input source, and the filtering options. The only gap is the lack of explicit parameter format specification, but the pointer to /v1/suburbs/list mitigates that. No output schema exists, but the description's list of returned admin levels gives a reasonable expectation of the response shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the single parameter 'suburb_name'. The description mentions 'suburb' and references canonical SAL names, which implies the parameter should be a canonical SAL name. However, it doesn't explicitly state the expected format (e.g., 'SAL12345' vs 'Sydney'), case sensitivity, or that it must match the list from /v1/suburbs/list. The description adds some meaning but leaves the exact input contract to inference.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it returns the suburb's upward ABS admin chain (LGA, SA2/3/4, GCCSA, state, postcode). This clearly distinguishes it from sibling tools like suburbs_demographics_all or suburbs_market_all, though it doesn't explicitly name a sibling to contrast with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: use /v1/suburbs/list to discover canonical SAL names and filter by state/LGA/SA4/postcode. This implies when to use this tool (after finding the canonical name) and gives a practical prerequisite. It doesn't explicitly state when not to use it or name alternatives, but the guidance is actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_risks_allSuburb · Bushfire + flood — bundleD
Read-onlyIdempotent
Inspect

Bushfire + flood — bundle

ParametersJSON Schema
NameRequiredDescriptionDefault
geojsonNoWhen true, each sub-risk additionally carries a `geojson` FeatureCollection clipped to the suburb boundary — one call returns coverage plus every risk shape (default false — response unchanged).
suburb_nameYes

TDQS

D1.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, but the description adds no behavioral context beyond those. It does not mention what the response contains, whether geojson shapes are returned by default, or any other side effects or limitations. The description provides zero incremental transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely brief (six words), but brevity here sacrifices all utility. It is a label, not an informative description, and does not front-load any actionable information. While there is no wasted text, the under-specification makes it more like a placeholder than a deliberate concise summary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a bundle tool that aggregates two risk types and has no output schema, the description fails to explain the result format, the relationship to the individual risk tools, or any specifics about the geojson flag. An agent cannot predict what the tool returns or how to interpret the response, making it highly incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers only 50% of parameters (only geojson has a description), and the tool description does nothing to compensate for the undocumented suburb_name. The description adds no meaning to either parameter and does not explain the role of geojson in the bundle context. With low schema coverage and no description support, this is a significant gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Bushfire + flood — bundle' is a noun phrase that restates the title without explaining what the tool actually does. It lacks a verb and resource, does not clarify whether it returns data, shapes, or counts, and does not distinguish itself from the sibling tools suburbs_risks_bushfire and suburbs_risks_flood. An agent would need to open the schema or make an inference to understand the purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this bundle versus the separate bushfire and flood tools, or when to prefer one call over two. There are no exclusions, prerequisites, or alternative references, leaving the agent without any decision support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_risks_bushfireSuburb · Bushfire coverageA
Read-onlyIdempotent
Inspect

Share of the suburb AREA covered by bushfire-prone designation.

Area, not properties — and the two differ a lot. Belmont North is 45.72% by area but 23.62% by property count, because designated land is not evenly built on. If you want "what share of homes here are affected", which is the figure our own reports headline, use GET /v1/suburbs/{suburb_name}/risks/property-hazard-counts — it returns a count and pct per hazard against the suburb's actual dwellings.

ParametersJSON Schema
NameRequiredDescriptionDefault
geojsonNoWhen true, add a `geojson` FeatureCollection of the bushfire polygons clipped to the suburb boundary (default false — response unchanged).
suburb_nameYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only/idempotent/non-destructive behavior. Beyond that, the description adds real value by flagging the area-vs-properties trap with a concrete Belmont North example. It does not detail response formatting, but for a simple metric endpoint the key behavioral risk is covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core metric is front-loaded, and the example earns its place by quantifying the area/property discrepancy. The prose is slightly longer than the two-sentence ideal but every sentence contributes to either comprehension or routing to the sibling tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only metric endpoint with no output schema, the description explains what is measured (area share), what it is not (property share), and where to go for the alternative. It does not spell out the exact response shape, but the percentage semantics are clear from the example and the tool title.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The geojson parameter is fully documented in the schema, so no additional description is needed. The only schema-undocumented parameter, suburb_name, is left to inference, although the Belmont North example and the endpoint path placeholder in the alternative both illustrate the expected value. This is adequate but not generous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a precise metric: 'Share of the suburb AREA covered by bushfire-prone designation.' It explicitly contrasts area vs property count and names the sibling endpoint for the alternate metric, so an agent can pick the right tool without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States the exact condition for choosing the sibling: 'If you want what share of homes here are affected ... use GET /v1/suburbs/{suburb_name}/risks/property-hazard-counts.' The when-not-to-use guidance is explicit and actionable, and it doubles as clarification for this tool's area-based scope.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_risks_capital_growth_impactSuburb · Capital-growth impact per hazardA
Read-onlyIdempotent
Inspect

Matched-study capital-growth impact (%/yr) for bushfire, flood, contamination, mine subsidence, aircraft noise and surface acid sulfate, scaled by the share of properties affected.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, covering safety. The description adds meaningful behavioral context by explaining the output is a matched-study impact metric with specific hazard list and scaling, which is beyond the annotation's generic hints. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one sentence, front-loading the key purpose and listing hazards efficiently. It avoids fluff and is appropriately sized for a simple read-only tool, though it could be slightly more structured with a note about the parameter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read-only tool with no output schema, the description covers the core output (capital-growth impact per hazard, unit, and scaling). It does not describe the exact return format (e.g., list vs map) or how to interpret values, but given the low complexity and existing annotations, it is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has a single 'suburb_name' parameter with no description, and schema coverage is 0%. The tool description does not mention or explain the parameter, relying entirely on the name to imply it expects a suburb name. This fails to compensate for the missing schema description, leaving the agent without explicit guidance on what value to provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns capital-growth impact (%/yr) per hazard type, listing the specific hazards (bushfire, flood, contamination, etc.) and the scaling by share of properties affected. This is specific and distinguishes it from sibling risk tools that focus on counts, zones, or hazard presence.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus alternatives like suburbs_risks_all or suburbs_risks_bushfire. Usage context is only implied by the name and description, which is sufficient for an agent to infer it is for capital-growth impact data, but there is no stated when-not or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_risks_countsSuburb · Hazard item countsA
Read-onlyIdempotent
Inspect

Counts of contamination points, heritage items and erosion-prone polygons inside the suburb.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that this is read-only, idempotent, and non-destructive. The description adds that the tool returns counts of specific hazard categories, which is useful, but it does not disclose output structure, aggregation behavior, or edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It conveys the core function and scope efficiently and is appropriately concise for a simple one-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with one required parameter and no output schema, the description covers what is counted and where. It is slightly incomplete in not clarifying whether the result is returned as a single aggregate count or separate per-category counts, but the core invocation information is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is only one parameter, suburb_name, and the schema provides no description for it. The description's phrase 'inside the suburb' weakly connects the parameter to the tool's scope, but it does not clarify accepted formats, naming conventions, or any disambiguation needed beyond the bare parameter name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states exactly what the tool does: it counts contamination points, heritage items, and erosion-prone polygons within a suburb. It clearly distinguishes itself from sibling risk tools by naming its specific scope and item categories.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives such as suburbs_risks_all, suburbs_risks_property_hazard_counts, or the per-property risk tools. The agent must infer usage solely from the tool name and terse description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_risks_extrasSuburb · Extra risk indicatorsB
Read-onlyIdempotent
Inspect

Landslide / storm-tide coverage, EPA notices, landlord-insurance medians and crime benchmark, with per-microburb detail.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds context about what data is included but does not disclose details like pagination, missing-suburb behavior, or formatting. It adds some value beyond annotations but does not fully describe behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence that front-loads the main content categories. It conveys a substantial amount of information without wasted words, making it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no parameter documentation, the description carries the full burden of explaining what the tool returns. It lists topics but does not describe the structure of the response, the meaning of 'per-microburb detail', or how the crime benchmark is calculated. This is insufficient for an agent to predict the output format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not mention the parameter at all. While suburb_name is intuitive, the description provides no guidance on format, exactness, or examples. The description fails to compensate for the missing schema documentation, leaving the agent to infer parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly enumerates the specific risk indicators covered (landslide/storm-tide, EPA notices, landlord-insurance medians, crime benchmark) and notes per-microburb detail. It is informative and distinguishes itself from sibling risk tools by listing unusual 'extra' indicators, though it lacks an explicit verb like 'returns' or 'provides'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is given on when to use this tool versus alternatives like suburbs_risks_all or suburbs_risks_counts. The word 'extra' implies it is a supplement, but no condition or comparison to other tools is stated. An agent would need to infer usage from context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_risks_floodSuburb · Flood area coverage + optional polygon mapA
Read-onlyIdempotent
Inspect

Share of the suburb AREA covered by modelled flood overlays.

Area, not properties. For the share of DWELLINGS affected — the figure our own reports headline — use GET /v1/suburbs/{suburb_name}/risks/property-hazard-counts.

To answer where the flood zone is, pass geojson=true. The response then includes the actual modelled flood polygons clipped to the suburb boundary, suitable for a street map, plus truncation/simplification metadata. Do not infer street location from coverage_pct alone.

ParametersJSON Schema
NameRequiredDescriptionDefault
geojsonNoWhen true, add a `geojson` FeatureCollection of the flood polygons clipped to the suburb boundary (default false — response unchanged).
suburb_nameYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, so the description adds value beyond them: it warns against inferring street location from coverage_pct, describes the polygon response when geojson=true, and mentions truncation/simplification metadata. It does not detail pagination or full response structure, but for this simple tool that is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short paragraphs, front-loaded with the core purpose, and every sentence earns its place. It clarifies the area-vs-property distinction, names the alternative, and explains the optional geojson parameter without any fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with no output schema, the description covers the essential decision points: what the metric represents, when to use an alternative, how to get polygons, and a caution about misinterpreting the percentage. No critical information for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50% (geojson described, suburb_name not). The description thoroughly explains the geojson parameter and its effect on the response, but does not add semantics for suburb_name beyond what the tool name implies. It partially compensates for the coverage gap but not fully, so a 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the share of suburb area covered by flood overlays, distinguishes it from property-based metrics, and names the specific sibling alternative (property-hazard-counts). It is precise about the resource (suburb flood area) and verb (coverage share), leaving no ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly directs users to the alternative property-hazard-counts endpoint when they need dwelling counts, and explains when to set geojson=true for polygon geometry. It does not explicitly mention property-level flood tools (e.g., properties_risks_flood), but the suburb-vs-property distinction is implicit and the guidance is actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_risks_heritage_shareSuburb · Heritage share of propertiesB
Read-onlyIdempotent
Inspect

Share of the suburb's properties inside a heritage polygon.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the specific behavioral context that the output is a share of properties within a heritage polygon, which is useful but not deeply detailed. It does not disclose potential behaviors such as how the heritage polygon is defined, whether the share is a percentage or fraction, or any data freshness caveats. Given the annotation coverage, a score of 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that immediately states the tool's purpose. It contains zero filler and is front-loaded with the core concept. For a simple one-parameter tool, this is appropriately concise and retains all necessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one parameter, read-only, no output schema), and the description defines the output clearly. Annotations cover the behavioral safety profile. The main gaps are the lack of usage guidance and a precise definition of the output format (e.g., percentage vs. fraction), but these are not critical for invoking the tool. Overall, the description is sufficiently complete for the tool's low complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter, suburb_name, with no description (0% schema coverage). The tool description says 'the suburb's properties,' which weakly implies that suburb_name refers to a suburb, but it does not specify format, examples, or how the suburb is identified (e.g., canonical name, case sensitivity). This is minimal semantic help beyond the parameter's name and type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly defines the metric: 'Share of the suburb's properties inside a heritage polygon.' It specifically identifies the resource (suburb's properties), the concept (heritage polygon), and the output (a share). It is distinct from sibling tools like properties_risks_heritage (which focuses on individual properties) and suburbs_risks_all (which covers multiple risk types). However, it does not explicitly name a sibling tool to contrast with, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as suburbs_risks_all or properties_risks_heritage. There is no mention of prerequisites, limitations, or typical scenarios. The only usage context is implicit in the tool's name and the description's phrase 'suburb's properties,' which suggests it is for suburb-level heritage risk share.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_risks_hv_power_linesSuburb · High-voltage power linesA
Read-onlyIdempotent
Inspect

Whether high-voltage transmission lines cross the suburb, how many, and the highest voltage class (overhead lines only).

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this as read-only, idempotent, and non-destructive. The description adds a meaningful limitation: 'overhead lines only,' which clarifies the scope and avoids Agent confusion about underground lines. It also explains the output dimensions (existence, count, highest voltage class), which goes beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly worded sentence with no filler. It front-loads the core purpose and packs in the key qualifications (overhead lines, count, voltage class) without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read-only tool, the description covers the essential return values (whether, how many, highest voltage class) and the scope constraint. It does not describe response formatting or error behavior, but given the low complexity and existing annotations, this is sufficient. However, it could have mentioned the expected return type (e.g., object) or behavior for missing suburbs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needs to explain the suburb_name parameter. It never does: no format, no example, no validation, no hint about what qualifies as a suburb. While the parameter name is self-explanatory, there is no concrete guidance on the accepted string format or how to handle invalid inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states precisely what the tool returns: whether high-voltage transmission lines cross the suburb, the count, and the highest voltage class, with a clear scope restriction to overhead lines. This distinguishes it from other risk tools like suburbs_risks_flood or suburbs_risks_bushfire, and from the property-level sibling properties_risks_hv_power_line.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool instead of alternatives such as suburbs_risks_all or suburbs_risks_counts. There is no mention of contexts where this tool is preferred or when another risk tool is more appropriate, leaving the agent to infer usage solely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_risks_property_hazard_countsSuburb · Property hazard countsB
Read-onlyIdempotent
Inspect

Counts and shares of the suburb's properties flagged bushfire / flood / mine-subsidence / contamination / aircraft-noise / acid-sulfate.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, covering safety. The description adds that the output includes both counts and shares and that only flagged properties are counted, which is useful behavioral context. However, it does not mention caveats like zero-count handling, share format (percentage vs fraction), or how missing data is represented.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of about 20 words, front-loading the core operation ('Counts and shares') and enumerating the six hazard types concisely. Every word contributes meaningful detail; there is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter, read-only tool, the description covers the core data content and clarifies the parameter's general intent. However, there is no output schema and no mention of the exact output shape, share units, or how to distinguish this tool from closely related risk tools in the sibling set. It is adequate but leaves some selection and expectation gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter, suburb_name, has no schema-level description (0% coverage). The tool description's phrase 'suburb's properties' implies the parameter identifies a suburb, but it gives no format, canonical name source, case sensitivity, or validation guidance. This provides only minimal compensation for the missing schema information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Counts and shares') and clearly identifies the resource: the suburb's properties flagged for six named hazard types. This distinguishes it from generic risk tools by enumerating exact hazard categories, though it does not explicitly mention sibling tools or direct differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool compared to siblings like suburbs_risks_counts, suburbs_risks_all, or properties_risks_all. The description only states what it does, leaving selection entirely to inference from the name and title, which is minimal guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_risks_slopeSuburb · Terrain slope profileB
Read-onlyIdempotent
Inspect

Median / 90th-percentile property gradient and share of steep (>10°) properties.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, so the description doesn't need to repeat that. It adds value by specifying the exact output metrics (median, 90th percentile, share of steep). However, it doesn't disclose other behavior like error handling or return format, which is acceptable given the simplicity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the key metrics. It has no fluff and efficiently communicates the purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description is adequate but not complete. It tells what it returns but doesn't clarify units (degrees vs percentage) or the structure of the response. Given the many siblings, it could benefit from noting it's for slope-specific risks.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no description for suburb_name, and the description doesn't mention the parameter at all. Since schema coverage is 0%, the description should explain what suburb_name should be, but it doesn't. The parameter name is self-explanatory, but the description adds no semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides median and 90th-percentile property gradient and share of steep properties, which is specific and distinguishes it from other risk tools like bushfire or flood. It uses a specific verb+resource: it returns a slope profile for a suburb.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not mention when to use this tool vs alternatives. With many suburbs_risks_* siblings, it doesn't say 'for slope-related risks use this' or contrast with suburbs_risks_all. The usage is implied by the name and content, but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_sales_recentSuburb · Recent sales (last 3 years)A
Read-onlyIdempotent
Inspect

Properties sold in the suburb over the last 3 years, with beds/baths/land size, sale price and date, and coordinates.

Paginated: total reports how many sales are available for the suburb (counted before limit/offset), so you can page through the full feed. Flat price per call regardless of page size.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoSales to return (default 20, max 200).
offsetNoRow offset — page through the feed with `limit`.
suburb_nameYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds genuine value beyond that by disclosing pagination semantics (total counted before limit/offset so the full feed can be paged) and pricing behavior (flat price per call). These are behavioral traits not derivable from the annotations or schema, making the description informative for the agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short paragraphs with the core purpose front-loaded in the first sentence, followed by a tightly scoped pagination note. Every sentence earns its place — the field list defines the return shape, and the pagination paragraph conveys total semantics and pricing without verbosity. No wasted or redundant sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking an output schema, the description compensates by enumerating the return fields (beds/baths/land size, sale price, date, coordinates) and explaining pagination behavior with total semantics. For a read-only feed tool whose safety profile is covered by annotations, this is reasonably complete — the only gap is that suburb_name is not described, but it is obvious from the tool's purpose. Nothing critical is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67%, with limit and offset already documented in the input schema. The description reinforces pagination concepts (total, limit/offset) but adds little new meaning about the parameters themselves. The undocumented required parameter suburb_name is not elaborated in the description, though its meaning is self-evident from the tool's purpose. The description adds marginal value over the schema rather than compensating for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: properties sold in the suburb over the last 3 years, and enumerates the returned fields (beds/baths/land size, sale price, date, coordinates). It is clearly a sales feed tool, distinct from suburbs_sales_summary (aggregate statistics) by the nature of the content, though it never names any sibling to explicitly disambiguate. Purpose is clear but sibling differentiation is implicit rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains operational behavior — pagination mechanics and flat pricing — but offers no guidance on when to choose this tool over siblings such as suburbs_sales_summary or properties_sale_history. The context is clear (it is the individual-sales feed for a suburb) but there are no explicit when/when-not conditions or named alternatives. The usage context is implied rather than directed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_sales_summarySuburb · Sales summary (3-year count + median)B
Read-onlyIdempotent
Inspect

Number of sales and median sold price in the suburb over the last 3 years.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, idempotent, non-destructive behavior, so the description's main job was to add operational context. It does add the 3-year lookback window and the aggregate metrics, but it does not say how missing suburbs or absent sale records are represented.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One concise, front-loaded sentence with no filler. It states outputs first, then scope and time window, which is exactly the right structure for a one-parameter summary tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple: one required parameter, strong safety annotations, no output schema. The description supplies the return semantics that the missing output schema would otherwise need to carry, and the title reinforces the 3-year count + median framing. Units and response formatting are not spelled out, but they are not critical for a summary tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter, suburb_name, is self-describing and the phrase 'in the suburb' connects it to the metrics. However, schema description coverage is 0% and the description does not explicitly state that the suburb name must be supplied or how it should be formatted, leaving a small gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource (suburb) and the two output metrics (count of sales, median sold price) over a defined 3-year window. It lacks an explicit action verb and does not explicitly contrast itself with nearby tools such as suburbs_sales_recent or suburbs_market_median_sale_price, but the metric pair makes its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use explanation or mention of alternatives. Given many sibling tools covering sales counts and median prices, the agent must infer from the tool name that this one aggregates both into a 3-year summary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_schools_allSuburb · All schools — bundleC
Read-onlyIdempotent
Inspect

All schools — bundle

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

C2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. However, the description adds no behavioral context beyond that—no indication of what the 'bundle' contains, whether it returns aggregated stats or raw lists, or any response characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three words is concise, but the text is underspecified rather than efficiently informative. It is essentially a title fragment, not a structured description that earns its place by adding clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no description of what the 'bundle' includes, the tool is not fully callable by an agent without external knowledge. A one-parameter tool is simple, but the absence of any return-value or scope description leaves important gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, suburb_name, is self-explanatory by name, but the schema provides no description and the tool description adds nothing about expected format, examples, or constraints. With 0% schema description coverage, the description should compensate but does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is simply 'All schools — bundle', which restates the tool name and title without a verb or any indication of what is actually returned. It does not distinguish this from similarly named siblings like suburbs_schools_nearby, properties_schools_all, or properties_schools_ranking.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance whatsoever about when to call this tool versus the many sibling school-related tools. No conditions, alternatives, or exclusions are mentioned, leaving the agent to guess based on the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_schools_catchmentSuburb · Public-school catchment polygonsB
Read-onlyIdempotent
Inspect

Public-school catchment polygons covering the suburb.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the core safety profile is covered. The description adds that the output is specifically public-school catchment polygons and that they cover the suburb, which is a scoping detail rather than behavior. No mention is made of output format, coordinate system, or possible absence of data, but given the strong annotation coverage this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence with no filler. The core resource (public-school catchment polygons) is front-loaded and the scope (suburb) is clarified in a dependent phrase. Every word carries meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description only says the tool returns polygons, leaving unclear whether these are GeoJSON, coordinates, or a simple list. It also doesn't state the relationship between suburb_name and the polygons, though this is inferable. For a one-parameter read-only geometry tool this is adequate but not complete; an agent would benefit from knowing the output encoding and one sentence on when to choose this over related school tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one required string suburb_name with 0% description coverage, and the description does not elaborate on what constitutes a valid suburb name or how it should be formatted. The phrase 'covering the suburb' implicitly ties the parameter to the result, but no direct explanation or example is given. For a single self-explanatory parameter this is a minor gap, but the missing compensation fails the rubric's requirement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is a noun phrase that clearly identifies the resource — public-school catchment polygons — and scopes them to the suburb. It lacks an explicit verb like 'returns' or 'gets', but the title and description together make the intent unambiguous. It is distinguishable from sibling tools such as suburbs_schools_all or suburbs_shapes_boundary because of the 'catchment polygons' phrase.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus sibling school or shape tools. The description does not mention alternatives, prerequisites, or exclusions. An agent has no context for choosing this over suburbs_schools_all, suburbs_schools_nearby, or suburbs_shapes_boundary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_schools_nearbySuburb · Nearby schoolsB
Read-onlyIdempotent
Inspect

Schools serving / near the suburb, with rank + attendance data.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds the data payload (rank + attendance) but discloses nothing about how 'near' is defined, result limits, or response shape. It neither contradicts nor significantly enriches the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with zero filler, front-loaded with the action and scope, then the data contents. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 1-parameter read-only lookup, the description is adequate but thin. It omits how 'near' is defined, what the full return looks like, and how it differs from siblings like suburbs_schools_catchment. With no output schema, an agent must guess at the response structure beyond rank + attendance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the load for the single parameter. It implies suburb_name selects the suburb ('near the suburb') but adds no format, naming convention, or accepted values. The self-explanatory parameter name partially compensates for the missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource (suburb) and scope (schools serving/near it) plus data contents (rank + attendance). This distinguishes it from suburbs_schools_catchment and suburbs_schools_all by scope. However, the 'serving / near' phrasing is ambiguous and it never explicitly names a sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus the closely related suburbs_schools_all, suburbs_schools_catchment, or properties_schools_nearby. The sibling list contains a dense cluster of school tools, and the description offers no selection criteria, exclusions, or when-not-to-use hints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_shapes_boundarySuburb boundary polygonC
Read-onlyIdempotent
Inspect

Simplified SAL boundary polygon (GeoJSON Feature) plus centroid.

ParametersJSON Schema
NameRequiredDescriptionDefault
geojsonNoWhen false, geometry is dropped — every Feature keeps its `properties` but its `geometry` is null. Use it to fetch the counts and per-feature attributes without the coordinates (default true — response unchanged).
suburb_nameYes

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide the safety profile (readOnlyHint, idempotentHint, non-destructive). The description adds one genuinely useful behavioral trait beyond the annotations — the boundary is 'Simplified' rather than exact — which is a meaningful accuracy caveat. It does not disclose anything else (auth, rate limits, response size).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single clause is efficient and front-loaded with the core purpose, with no wasted words. But it is under-specified rather than appropriately concise — it stops short of giving enough information to invoke the tool correctly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-required-param tool with annotations covering safety, the description is nearly adequate, but it leaves gaps: 'SAL' is unexplained jargon, the suburb_name parameter format is unspecified, and the meaning of 'plus centroid' in the output is not elaborated. No output schema exists, so the description carries more burden than it should.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%, and the tool description adds no parameter meaning. The geojson parameter is well documented in the schema, but suburb_name has zero description or format guidance, and the description does not compensate for that gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource ('SAL boundary polygon') and the output shape ('GeoJSON Feature plus centroid'), so an agent can tell it returns geometry rather than statistics. However, it lacks a verb ('get/fetch/return') and does nothing to distinguish it from the many 'suburbs_shapes_*' siblings beyond the word 'boundary'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to call this tool versus alternatives like suburbs_shapes_neighbours, suburbs_shapes_mesh_blocks, or suburbs_profile. The only contextual hint lives inside the geojson schema description, not in the tool description, and it concerns the parameter rather than tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_shapes_busy_roadsSuburb · Busy-road segmentsA
Read-onlyIdempotent
Inspect

Busy-road line segments clipped to the suburb — the report's road-noise exposure proxy.

ParametersJSON Schema
NameRequiredDescriptionDefault
geojsonNoWhen false, geometry is dropped — every Feature keeps its `properties` but its `geometry` is null. Use it to fetch the counts and per-feature attributes without the coordinates (default true — response unchanged).
suburb_nameYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds the clipping-to-suburb context and the proxy purpose, but does not disclose additional behavioral details such as error handling or performance. With annotations covering safety, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that communicates the core purpose without any waste. It is concise and to the point, ideal for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two parameters and no output schema, the description plus annotations and schema are largely sufficient. It could note the geojson option but that is covered in the schema, so the missing piece is minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50% (only geojson is documented). The description does not mention either parameter, nor does it compensate for the undocumented suburb_name. Since the description adds no parameter meaning, it scores low.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states exactly what the tool does: returns busy-road line segments clipped to a suburb, and positions it as the road-noise exposure proxy. This clearly distinguishes it from sibling shape tools like noise_heatmap (heatmap vs segments) and boundary/mesh_blocks tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context (use for road-noise exposure proxy) but does not explicitly mention when not to use it or name alternatives like suburbs_shapes_noise_heatmap. Since the context is clear and no exclusions are needed, it earns a 4.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_shapes_easementsSuburb · Easement geometriesB
Read-onlyIdempotent
Inspect

Registered easement geometries intersecting the suburb (GeoJSON FeatureCollection).

ParametersJSON Schema
NameRequiredDescriptionDefault
geojsonNoWhen false, geometry is dropped — every Feature keeps its `properties` but its `geometry` is null. Use it to fetch the counts and per-feature attributes without the coordinates (default true — response unchanged).
suburb_nameYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering safety. The description adds that it returns a GeoJSON FeatureCollection and that the geometries intersect the suburb, which is useful context. However, it does not disclose pagination, limits, or any other behavioral nuances beyond what the schema and annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that immediately states the resource and output format. It has no redundant words and is well front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only geometry retrieval tool, the description is largely sufficient. It states the return type (GeoJSON FeatureCollection) and the selection criterion (intersecting the suburb). The optional 'geojson' parameter's behavior is documented in the schema, and the required 'suburb_name' is implied. No output schema exists, but the description covers the essential return information. Minor gaps like pagination are not critical for this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions no parameters at all. The input schema covers the 'geojson' parameter in detail, but 'suburb_name' has no description, and with only 50% schema coverage the description should compensate. It does not, leaving the 'suburb_name' parameter's meaning solely to inference from the description phrase 'intersecting the suburb', which is weak. This fails to add value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the resource (easement geometries) and the output format (GeoJSON FeatureCollection), and the phrase 'intersecting the suburb' makes the selection criterion explicit. It distinguishes from sibling tools like suburbs_shapes_boundary or suburbs_shapes_busy_roads by the specific geometry type, though it lacks a direct verb like 'retrieve' or 'get'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention when not to use it, nor does it reference sibling tools that might be more appropriate for other geometry types. The only implied usage is that it is for easement geometries, but there is no explicit routing or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_shapes_hazardsSuburb · Hazard-overlay polygons by layerA
Read-onlyIdempotent
Inspect

Hazard polygons for one layer, clipped to the suburb boundary (empty collection = hazard not present).

ParametersJSON Schema
NameRequiredDescriptionDefault
layerYesHazard layer to return.
geojsonNoWhen false, geometry is dropped — every Feature keeps its `properties` but its `geometry` is null. Use it to fetch the counts and per-feature attributes without the coordinates (default true — response unchanged).
suburb_nameYes

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, destructiveHint, and idempotentHint. The description adds behavioral context beyond annotations: polygons are clipped to the suburb boundary, and an empty collection signals that the hazard is not present. This is valuable for correct interpretation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that conveys the core purpose and key behavioral notes. It is efficient with no redundancy, though it could incorporate usage guidance without bloating.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, idempotent tool with a clear schema and annotations, the description provides adequate context: it explains the clipping and the empty-collection sentinel. It does not explicitly mention the GeoJSON format, but the geojson parameter implies it, and the schema covers required fields. Overall, sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67% (layer and geojson described, suburb_name not). The description does not add parameter-specific details beyond the schema, but the baseline is 3 given coverage above 50%. The description implicitly ties the layer parameter to the hazard type, but no extra meaning is added.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns hazard polygons for one layer, clipped to the suburb boundary. This distinguishes it from other shapes tools like suburbs_shapes_boundary, though it doesn't explicitly name a sibling. The verb is implied ('returns'), and the resource is specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as suburbs_risks_* (which may provide risk scores without geometry) or other shapes tools. The description only states what it does, not when to choose it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_shapes_mesh_blocksSuburb · Mesh-block polygonsB
Read-onlyIdempotent
Inspect

ABS 2021 mesh-block polygons covering the suburb (GeoJSON FeatureCollection, MB code per feature).

ParametersJSON Schema
NameRequiredDescriptionDefault
geojsonNoWhen false, geometry is dropped — every Feature keeps its `properties` but its `geometry` is null. Use it to fetch the counts and per-feature attributes without the coordinates (default true — response unchanged).
suburb_nameYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), lowering the bar. The description adds return-format context — GeoJSON FeatureCollection with per-feature MB codes — and the schema's geojson parameter documents the geometry-dropping behavior. It does not disclose output size, coordinate system, or edge cases, but for a read-only shapes fetch the coverage is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence with zero filler: the key resource is front-loaded, and the parenthetical captures format and per-feature detail efficiently. Every element earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with one required parameter and no output schema, the description covers the deliverable and format, and the schema covers the optional parameter's behavior. However, it omits whether suburb_name must be exact or case-sensitive, gives no CRS/coordinate information, and does not position itself among the suburbs_shapes_* family, leaving moderate gaps for an agent selecting this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%: the non-obvious geojson parameter has a thorough description (geometry dropped, properties retained, default behavior), while suburb_name has only 'type: string' and no semantic context in the description. The description adds nothing about parameters directly, but the tricky one is already well handled by the schema and suburb_name is self-evident from the tool name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a precise resource — 'ABS 2021 mesh-block polygons covering the suburb' — and its exact format (GeoJSON FeatureCollection with MB code per feature). The 'mesh-block' qualifier inherently distinguishes it from sibling suburbs_shapes_* tools like boundary, easements, or busy_roads. It lacks an explicit verb ('returns' is implied), which keeps it from a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to choose mesh-block polygons over the many related shapes tools — no alternatives named, no when/when-not conditions. With roughly eleven suburbs_shapes_* siblings, an agent must infer selection purely from the resource name. Nothing in the description helps route the call.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_shapes_neighboursNeighbouring suburb boundariesB
Read-onlyIdempotent
Inspect

Neighbouring suburbs as a GeoJSON FeatureCollection — each with its boundary polygon and distance in km.

ParametersJSON Schema
NameRequiredDescriptionDefault
geojsonNoWhen false, geometry is dropped — every Feature keeps its `properties` but its `geometry` is null. Use it to fetch the counts and per-feature attributes without the coordinates (default true — response unchanged).
suburb_nameYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows it's a safe read operation. The description adds that output is GeoJSON with boundary and distance, which is useful but not deep behavioral detail (e.g., no mention of response complexity or data source).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One concise sentence that front-loads the core purpose and output format. No waste; every word contributes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, single-required-parameter tool with no output schema, the description is adequate but thin. It does not mention that the output could be large (geometry included by default) or that setting 'geojson' to false is a way to reduce payload, which would be useful context for an agent deciding on efficiency.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: the 'geojson' parameter has a detailed description in the schema, but 'suburb_name' has none. The tool description does not add meaning for 'suburb_name' either, so the agent must infer it from the tool name. It partially compensates by naming the resource, but the parameter semantics are not fully clarified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns neighbouring suburbs as a GeoJSON FeatureCollection with boundary polygon and distance in km. It identifies the resource (neighbouring suburbs) and the format. However, it does not explicitly differentiate from the many other suburbs_shapes_* siblings, though the name itself makes the scope fairly clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool vs. alternatives like suburbs_shapes_boundary or suburbs_hero_neighbours. The description only says what it returns, not under what circumstances an agent should choose it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_shapes_noise_heatmapSuburb · Noise-map regionsB
Read-onlyIdempotent
Inspect

Precomputed noise colour regions clipped to the suburb, plus cell-centre heat points.

ParametersJSON Schema
NameRequiredDescriptionDefault
geojsonNoWhen false, geometry is dropped — every Feature keeps its `properties` but its `geometry` is null. Use it to fetch the counts and per-feature attributes without the coordinates (default true — response unchanged).
suburb_nameYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds modest behavioral context by noting the data is 'precomputed' and 'clipped to the suburb', but it does not disclose output structure or caveats. There is no contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no filler; the core payload is stated up front and the description is appropriately brief for a simple read-only GeoJSON retrieval tool. It reads as a fragment because it lacks a verb, but it is not verbose or redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description names the two output components (colour regions and heat points) but does not specify their structure, properties, or coordinate system. Given the read-only annotations and the single required parameter, this is adequate but leaves some ambiguity about the exact returned data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: the geojson parameter is well documented in the schema, while suburb_name has no schema description. The phrase 'clipped to the suburb' helps clarify that suburb_name selects the clipping area, adding some meaning beyond the schema. The description does not explicitly name either parameter, so it only partially compensates for the gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the resource (noise colour regions for a suburb) and the two payload components (regions plus cell-centre heat points). It lacks an explicit verb like 'returns' or 'fetches' and doesn't explicitly distinguish itself from sibling shape tools, but the resource is specific enough to make the purpose clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'noise colour regions clipped to the suburb' — an agent can reasonably infer this tool is for retrieving a suburb's noise heatmap geometry. However, there is no explicit when-to-use/when-not-to-use guidance and no mention of alternatives among the many suburbs_shapes_* siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_shapes_public_housing_sa1Suburb · Public-housing share by SA1A
Read-onlyIdempotent
Inspect

SA1 polygons in the suburb with their 2021 census public-housing share (only SA1s above 0%).

ParametersJSON Schema
NameRequiredDescriptionDefault
geojsonNoWhen false, geometry is dropped — every Feature keeps its `properties` but its `geometry` is null. Use it to fetch the counts and per-feature attributes without the coordinates (default true — response unchanged).
suburb_nameYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly, idempotent, and non-destructive behavior. The description goes beyond annotations by disclosing the census vintage, the polygon-per-SA1 output, and the 0% suppression rule, which helps predict the returned data shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One tightly worded sentence that packs the resource, operation, attribute, vintage, and filter with no redundancy. Key information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, two-parameter spatial tool, the description is nearly complete: it names the data source, the output feature type, the attribute, and the filtering rule. It could define 'public-housing share' more precisely, but no critical invocation detail is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The geojson parameter is fully documented in the schema, and suburb_name is inferable from the tool name and description. Schema coverage is 50%, but the description itself adds no explicit parameter detail, so it neither compensates strongly nor leaves a major gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States precisely that it returns SA1 polygons for a suburb with their 2021 census public-housing share, and adds a specific filter (only SA1s above 0%). This clearly distinguishes it from siblings like suburbs_shapes_boundary and properties_surroundings_public_housing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is implied: fetch SA1-level public-housing share geometry for a suburb. However, it does not explicitly say when to use this tool over alternatives or when not to use it, so guidance is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_similarSimilar suburbsB
Read-onlyIdempotent
Inspect

Top-10 suburbs ranked closest by Microburbs' similarity model.

ParametersJSON Schema
NameRequiredDescriptionDefault
suburb_nameYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description only needs to add behavioral nuance. It does add the top-10 limit and the similarity-model basis, which is useful, but it does not explain what 'similarity' is based on or what happens for unknown suburb names.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence delivers the core result type, the ranking criterion, and the count. There is no filler, and the key information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only lookup with one parameter, the description is minimally viable. However, with no output schema, it does not clarify what the returned entries contain (names only, similarity scores, states, etc.), and it offers no guidance on input format or error cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage and the tool description adds nothing about the suburb_name parameter. It does not specify expected format, whether a state or region is required, or how ambiguous suburb names should be disambiguated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the top-10 suburbs ranked by a similarity model. It names the resource (suburbs) and the operation (ranking), but it does not differentiate itself from the similarly named sibling tool suburbs_market_comparable_suburbs, so it falls just short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives such as suburbs_market_comparable_suburbs or suburbs_finder_search. There is no mention of preferred use cases, exclusions, or conditions that would make this tool the right choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suburbs_street_forecastsSuburb · Street-level price forecastsA
Read-onlyIdempotent
Inspect

2/4/8-year price forecasts for every street in the suburb, anchored to the real sold median.

Unpaged by default. Large suburbs are large — Point Cook has 943 streets (~1.4 MB) — so pass limit/offset when you don't need the lot. total reports how many exist. Flat price per call regardless of page size.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoStreets to return (default: all).
offsetNoStreet offset — page with `limit`.
suburb_nameYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description's additional behavior is a bonus. It usefully discloses that the endpoint is 'Unpaged by default', can return ~1.4 MB, provides a `total` count, and has flat pricing. This goes beyond the annotations and helps agents avoid oversized calls.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight paragraphs: the first front-loads the core purpose and data anchor, the second adds only high-value operational details. Every sentence earns its place, and there is no filler or repetition of schema structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a listing-style endpoint with no output schema, the description covers the essential operational context: time horizons, scope, default unpaged behavior, size risk, pagination fields, total count, and pricing. An agent has enough to decide whether and how to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%, with `suburb_name` left undescribed, but the description helps by explaining why `limit`/`offset` matter and that `total` reports the full count. It adds practical meaning to pagination parameters beyond the schema's terse descriptions. A clearer definition of `suburb_name` would be needed for full compensation, but the remaining gap is minor.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific scope: '2/4/8-year price forecasts for every street in the suburb', which clearly identifies the resource and granularity. It distinguishes itself from suburb-level siblings by explicitly using 'every street in the suburb'. The title and description align without tautology.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives actionable guidance: 'pass `limit`/`offset` when you don't need the lot' and warns about large payloads using Point Cook as an example. It also notes 'Flat price per call regardless of page size', which helps callers decide on paging strategy. It does not name a specific sibling alternative for suburb-level forecasts, but the usage context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Removedping_head
  2. 174 tool updates
    • Changedarea_stats_fields1 field changed
      • 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": [
        -        {
        -          "description": "A page of matching fields.",
        -          "example": {
        -            "count": 1,
        -            "fields": [
        -              {
        -                "field_code": "Median_rent_weekly",
        -                "field_name": "Median rent weekly",
        -                "label": "Median rent ($/weekly)",
        -                "topic": "Selected Medians and Averages"
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "count": {
        -              "description": "Number of fields returned.",
        -              "title": "Count",
        -              "type": "integer"
        -            },
        -            "fields": {
        -              "description": "Matching fields, best match first.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One statistical field in the catalog.",
        -                "properties": {
        -                  "field_code": {
        -                    "description": "Stable field identifier — pass this to /values (e.g. 'Median_rent_weekly').",
        -                    "title": "Field Code",
        -                    "type": "string"
        -                  },
        -                  "field_name": {
        -                    "description": "Human-readable field name (e.g. 'Median rent weekly').",
        -                    "title": "Field Name",
        -                    "type": "string"
        -                  },
        -                  "label": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Clean column label for the field (e.g. 'Couple family with no children').",
        -                    "title": "Label"
        -                  },
        -                  "topic": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Subject of the source table — the context for cross-tab fields (e.g. 'Mortgage Repayment (Monthly) by Family Composition').",
        -                    "title": "Topic"
        -                  }
        -                },
        -                "required": [
        -                  "field_code",
        -                  "field_name"
        -                ],
        -                "title": "AreaStatField",
        -                "type": "object"
        -              },
        -              "title": "Fields",
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "count",
        -            "fields"
        -          ],
        -          "title": "AreaStatFieldsResponse",
        -          "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[AreaStatFieldsResponse]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_AreaStatFieldsResponse_"
        -}New value: +null
    • Changedarea_stats_regions1 field changed
      • 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": [
        -        {
        -          "description": "The regions available at one level.",
        -          "example": {
        -            "count": 1,
        -            "region_level": "LGA",
        -            "regions": [
        -              {
        -                "region_code": "14750",
        -                "region_name": "Lake Macquarie"
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "count": {
        -              "description": "Number of regions returned.",
        -              "title": "Count",
        -              "type": "integer"
        -            },
        -            "region_level": {
        -              "description": "Region level (SAL, SA1-4, LGA, POA, GCCSA, STE, AUS).",
        -              "title": "Region Level",
        -              "type": "string"
        -            },
        -            "regions": {
        -              "description": "Regions, name-sorted.",
        -              "items": {
        -                "description": "One region at a given level.",
        -                "properties": {
        -                  "region_code": {
        -                    "description": "Region code.",
        -                    "title": "Region Code",
        -                    "type": "string"
        -                  },
        -                  "region_name": {
        -                    "description": "Region name (the SA1 code for SA1 — SA1s are unnamed).",
        -                    "title": "Region Name",
        -                    "type": "string"
        -                  }
        -                },
        -                "required": [
        -                  "region_code",
        -                  "region_name"
        -                ],
        -                "title": "AreaStatRegion",
        -                "type": "object"
        -              },
        -              "title": "Regions",
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "region_level",
        -            "count",
        -            "regions"
        -          ],
        -          "title": "AreaStatRegionsResponse",
        -          "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[AreaStatRegionsResponse]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_AreaStatRegionsResponse_"
        -}New value: +null
    • Changedarea_stats_values1 field changed
      • 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": [
        -        {
        -          "description": "Statistical field values for one region.\n\nDefault: `fields` holds the region's values. At SAL level with `mode=sa1`,\n`fields` is omitted and `sa1s` holds a per-SA1 breakdown instead.",
        -          "example": {
        -            "fields": [
        -              {
        -                "field_code": "Median_rent_weekly",
        -                "field_name": "Median rent weekly",
        -                "label": "Median rent ($/weekly)",
        -                "topic": "Selected Medians and Averages",
        -                "value": 656
        -              }
        -            ],
        -            "region_code": "11303",
        -            "region_level": "SAL",
        -            "region_name": "Bondi",
        -            "year": 2021
        -          },
        -          "properties": {
        -            "fields": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One field value for a region.",
        -                    "properties": {
        -                      "field_code": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Stable field identifier.",
        -                        "title": "Field Code"
        -                      },
        -                      "field_name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Human-readable field name (e.g. 'Median rent weekly').",
        -                        "title": "Field Name"
        -                      },
        -                      "label": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Clean column label for the field.",
        -                        "title": "Label"
        -                      },
        -                      "topic": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Subject of the source table — context for cross-tab fields.",
        -                        "title": "Topic"
        -                      },
        -                      "value": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Field value for the region.",
        -                        "title": "Value"
        -                      }
        -                    },
        -                    "title": "AreaStatValueRow",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Field values for the region (default mode).",
        -              "title": "Fields"
        -            },
        -            "mode": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "'sa1' when this is a per-SA1 breakdown of a suburb.",
        -              "title": "Mode"
        -            },
        -            "region_code": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Region code.",
        -              "title": "Region Code"
        -            },
        -            "region_level": {
        -              "description": "Region level (SAL, SA1-4, LGA, POA, …).",
        -              "title": "Region Level",
        -              "type": "string"
        -            },
        -            "region_name": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Region name (the SA1 code for SA1 — SA1s are unnamed).",
        -              "title": "Region Name"
        -            },
        -            "sa1_count": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Number of SA1s in the suburb (mode=sa1).",
        -              "title": "Sa1 Count"
        -            },
        -            "sa1s": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "Values for one SA1 within a suburb (mode=sa1).",
        -                    "properties": {
        -                      "fields": {
        -                        "description": "Field values for this SA1.",
        -                        "items": {
        -                          "additionalProperties": true,
        -                          "description": "One field value for a region.",
        -                          "properties": {
        -                            "field_code": {
        -                              "anyOf": [
        -                                {
        -                                  "type": "string"
        -                                },
        -                                {
        -                                  "type": "null"
        -                                }
        -                              ],
        -                              "description": "Stable field identifier.",
        -                              "title": "Field Code"
        -                            },
        -                            "field_name": {
        -                              "anyOf": [
        -                                {
        -                                  "type": "string"
        -                                },
        -                                {
        -                                  "type": "null"
        -                                }
        -                              ],
        -                              "description": "Human-readable field name (e.g. 'Median rent weekly').",
        -                              "title": "Field Name"
        -                            },
        -                            "label": {
        -                              "anyOf": [
        -                                {
        -                                  "type": "string"
        -                                },
        -                                {
        -                                  "type": "null"
        -                                }
        -                              ],
        -                              "description": "Clean column label for the field.",
        -                              "title": "Label"
        -                            },
        -                            "topic": {
        -                              "anyOf": [
        -                                {
        -                                  "type": "string"
        -                                },
        -                                {
        -                                  "type": "null"
        -                                }
        -                              ],
        -                              "description": "Subject of the source table — context for cross-tab fields.",
        -                              "title": "Topic"
        -                            },
        -                            "value": {
        -                              "anyOf": [
        -                                {
        -                                  "type": "number"
        -                                },
        -                                {
        -                                  "type": "null"
        -                                }
        -                              ],
        -                              "description": "Field value for the region.",
        -                              "title": "Value"
        -                            }
        -                          },
        -                          "title": "AreaStatValueRow",
        -                          "type": "object"
        -                        },
        -                        "title": "Fields",
        -                        "type": "array"
        -                      },
        -                      "region_code": {
        -                        "description": "SA1 code.",
        -                        "title": "Region Code",
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "region_code",
        -                      "fields"
        -                    ],
        -                    "title": "AreaStatSa1",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Per-SA1 values (mode=sa1).",
        -              "title": "Sa1S"
        -            },
        -            "year": {
        -              "default": 2021,
        -              "description": "Reference year.",
        -              "title": "Year",
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "region_level"
        -          ],
        -          "title": "AreaStatValues",
        -          "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[AreaStatValues]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_AreaStatValues_"
        -}New value: +null
    • Changedgeocode_address1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One candidate row returned by the address geocoder.\n\nShape is intentionally open — Meilisearch returns whatever fields\nthe index has indexed (id, name, display_name, property_type, …)\nand we pass them through verbatim so customers can read fields\nthey'd otherwise have to look up separately.",
        -            "example": {
        -              "abbr": "27 ARLINGTON ST BELMONT NORTH",
        -              "display_name": "27 Arlington Street, Belmont North",
        -              "id": "GANSW704074813",
        -              "name": "27 Arlington Street, Belmont North",
        -              "property_type": "house"
        -            },
        -            "properties": {},
        -            "title": "GnafCandidate",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[GnafCandidate]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_GnafCandidate__"
        -}New value: +null
    • Changedgeocode_suburb1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One candidate row returned by the suburb autocomplete.\n\nOpen shape — see GnafCandidate. The helper returns\n``area_name`` / ``area_level`` / ``information`` (a nested chain of\nPOA / SA2 / SA3 / SA4 / LGA / state).",
        -            "example": {
        -              "area_level": "suburb",
        -              "area_name": "Belmont (NSW)",
        -              "information": {
        -                "lga": "Lake Macquarie",
        -                "poa": "2280",
        -                "sa2": "Belmont - Bennetts Green",
        -                "sa3": "Lake Macquarie - East",
        -                "sa4": "Newcastle and Lake Macquarie",
        -                "state": "New South Wales"
        -              }
        -            },
        -            "properties": {},
        -            "title": "SuburbCandidate",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[SuburbCandidate]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_SuburbCandidate__"
        -}New value: +null
    • Changedlga_list1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "description": "One row in the LGA directory.",
        -            "example": {
        -              "lga": "Lake Macquarie",
        -              "state": "NSW"
        -            },
        -            "properties": {
        -              "lga": {
        -                "description": "LGA name.",
        -                "title": "Lga",
        -                "type": "string"
        -              },
        -              "state": {
        -                "description": "State / Territory abbreviation (NSW, VIC, ...).",
        -                "title": "State",
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "lga",
        -              "state"
        -            ],
        -            "title": "LgaListItem",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[LgaListItem]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_LgaListItem__"
        -}New value: +null
    • Changedlga_profile1 field changed
      • 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": [
        -        {
        -          "description": "LGA's parent chain — state + GCCSA. LGAs aren't strictly nested\nin SA4 so the upward chain stops at state.",
        -          "example": {
        -            "gccsa": "Rest of NSW",
        -            "lga": "Lake Macquarie",
        -            "state": "NSW"
        -          },
        -          "properties": {
        -            "gccsa": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Greater Capital City Statistical Area.",
        -              "title": "Gccsa"
        -            },
        -            "lga": {
        -              "description": "LGA name.",
        -              "title": "Lga",
        -              "type": "string"
        -            },
        -            "state": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "State / Territory abbreviation.",
        -              "title": "State"
        -            }
        -          },
        -          "required": [
        -            "lga"
        -          ],
        -          "title": "LgaProfile",
        -          "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[LgaProfile]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_LgaProfile_"
        -}New value: +null
    • Changedmbs_list1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "description": "One row in the MB directory — code + the suburb / state it\nsits in (so the customer can read it back without a profile\nround-trip).",
        -            "example": {
        -              "mb_code": "10434270000",
        -              "state": "NSW",
        -              "suburb": "Belmont North"
        -            },
        -            "properties": {
        -              "mb_code": {
        -                "description": "ABS Mesh Block code.",
        -                "title": "Mb Code",
        -                "type": "string"
        -              },
        -              "state": {
        -                "description": "State / Territory abbreviation.",
        -                "title": "State",
        -                "type": "string"
        -              },
        -              "suburb": {
        -                "description": "Suburb (SAL) the MB sits in.",
        -                "title": "Suburb",
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "mb_code",
        -              "suburb",
        -              "state"
        -            ],
        -            "title": "MeshBlockListItem",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[MeshBlockListItem]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_MeshBlockListItem__"
        -}New value: +null
    • Changedmbs_profile1 field changed
      • 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": [
        -        {
        -          "description": "Upward ABS chain for a mesh block, plus admin attributes.",
        -          "example": {
        -            "gccsa": "Rest of NSW",
        -            "lga": "Lake Macquarie",
        -            "mesh_block": "10434270000",
        -            "postcode": "2280",
        -            "sa1": "11101120618",
        -            "sa2": "Belmont - Bennetts Green",
        -            "sa3": "Lake Macquarie - East",
        -            "sa4": "Newcastle and Lake Macquarie",
        -            "state": "NSW",
        -            "suburb": "Belmont North"
        -          },
        -          "properties": {
        -            "gccsa": {
        -              "description": "Greater Capital City Statistical Area.",
        -              "title": "Gccsa",
        -              "type": "string"
        -            },
        -            "lga": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Local Government Area.",
        -              "title": "Lga"
        -            },
        -            "mesh_block": {
        -              "description": "ABS Mesh Block code.",
        -              "title": "Mesh Block",
        -              "type": "string"
        -            },
        -            "postcode": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Postcode (POA).",
        -              "title": "Postcode"
        -            },
        -            "sa1": {
        -              "description": "SA1 code.",
        -              "title": "Sa1",
        -              "type": "string"
        -            },
        -            "sa2": {
        -              "description": "SA2 name.",
        -              "title": "Sa2",
        -              "type": "string"
        -            },
        -            "sa3": {
        -              "description": "SA3 name.",
        -              "title": "Sa3",
        -              "type": "string"
        -            },
        -            "sa4": {
        -              "description": "SA4 name.",
        -              "title": "Sa4",
        -              "type": "string"
        -            },
        -            "state": {
        -              "description": "State / Territory.",
        -              "title": "State",
        -              "type": "string"
        -            },
        -            "suburb": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Suburb (SAL).",
        -              "title": "Suburb"
        -            }
        -          },
        -          "required": [
        -            "mesh_block",
        -            "sa1",
        -            "sa2",
        -            "sa3",
        -            "sa4",
        -            "gccsa",
        -            "state"
        -          ],
        -          "title": "MeshBlockProfile",
        -          "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[MeshBlockProfile]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_MeshBlockProfile_"
        -}New value: +null
    • Changedme1 field changed
      • changedOutput schema / (root)
        Previous value: -{
        -  "additionalProperties": true,
        -  "title": "Response Me V1 Me Get",
        -  "type": "object"
        -}New value: +null
    • Changedping1 field changed
      • changedOutput schema / (root)
        Previous value: -{
        -  "additionalProperties": true,
        -  "title": "Response Ping",
        -  "type": "object"
        -}New value: +null
    • Changedping_head1 field changed
      • removedOutput schema / title
        Removed value: -"Response Ping Head"
    • Changedproperties_amenities_nearby1 field changed
      • 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": "Curated amenities within the radius, bucketed and nearest-first.",
        -          "example": {
        -            "center_lat": -33.802479,
        -            "center_lng": 151.219715,
        -            "counts": {
        -              "green_spaces": 4,
        -              "restaurant": 11,
        -              "supermarket": 2
        -            },
        -            "gnaf_id": "GANSW704360755",
        -            "radius_m": 1000,
        -            "results": [
        -              {
        -                "category": "Supermarket",
        -                "distance_m": 240,
        -                "lat": -33.8011,
        -                "lng": 151.2216,
        -                "name": "Castlecrag Village"
        -              },
        -              {
        -                "category": "Green Spaces",
        -                "distance_m": 190,
        -                "lat": -33.8038,
        -                "lng": 151.218
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "center_lat": {
        -              "description": "Property latitude (WGS84).",
        -              "title": "Center Lat",
        -              "type": "number"
        -            },
        -            "center_lng": {
        -              "description": "Property longitude (WGS84).",
        -              "title": "Center Lng",
        -              "type": "number"
        -            },
        -            "counts": {
        -              "additionalProperties": {
        -                "type": "integer"
        -              },
        -              "description": "Count per bucket within the radius (exact, pre-cap).",
        -              "title": "Counts",
        -              "type": "object"
        -            },
        -            "gnaf_id": {
        -              "description": "GNAF property identifier.",
        -              "title": "Gnaf Id",
        -              "type": "string"
        -            },
        -            "radius_m": {
        -              "description": "Search radius applied, metres.",
        -              "title": "Radius M",
        -              "type": "integer"
        -            },
        -            "results": {
        -              "description": "Amenities, nearest first (capped at 80).",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One nearby amenity.",
        -                "properties": {
        -                  "category": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Bucket: Supermarket / Green Spaces / Restaurant.",
        -                    "title": "Category"
        -                  },
        -                  "distance_m": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Straight-line distance from the property, metres.",
        -                    "title": "Distance M"
        -                  },
        -                  "lat": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Latitude (WGS84).",
        -                    "title": "Lat"
        -                  },
        -                  "lng": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Longitude (WGS84).",
        -                    "title": "Lng"
        -                  },
        -                  "name": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Amenity name, where known.",
        -                    "title": "Name"
        -                  }
        -                },
        -                "title": "AmenityRow",
        -                "type": "object"
        -              },
        -              "title": "Results",
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "gnaf_id",
        -            "center_lat",
        -            "center_lng",
        -            "radius_m",
        -            "counts",
        -            "results"
        -          ],
        -          "title": "AmenitiesNearby",
        -          "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[AmenitiesNearby]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_AmenitiesNearby_"
        -}New value: +null
    • Changedproperties_basics_all1 field changed
      • 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": [
        -        {
        -          "description": "All property basics — beds, baths, parking, dwelling type, land area —\nin one call.\n\nEvery one of these comes from what the property was advertised with, so\na null is \"never advertised\" rather than \"zero\", and a property that has\nnever been listed comes back with all five null. Values are returned\nflat here (no per-field wrapper object, unlike the individual endpoints).",
        -          "example": {
        -            "bath_count": 2,
        -            "bed_count": 4,
        -            "dwelling_type": "house",
        -            "land_area_sqm": 814,
        -            "parking_count": 5
        -          },
        -          "properties": {
        -            "bath_count": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Bathrooms as advertised, whole number. Null = unknown, not zero.",
        -              "title": "Bath Count"
        -            },
        -            "bed_count": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Bedrooms as advertised. Null = unknown, not zero.",
        -              "title": "Bed Count"
        -            },
        -            "dwelling_type": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Dwelling kind in lowercase free text ('house', 'unit', 'townhouse', …), from the listing or the national address file. Not a closed set.",
        -              "title": "Dwelling Type"
        -            },
        -            "land_area_sqm": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Advertised land size in square metres (hectares converted for you), indicative rather than surveyed. Null = not stated; usual for units.",
        -              "title": "Land Area Sqm"
        -            },
        -            "parking_count": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Covered car spaces (garage/carport) as advertised — excludes open driveway and street parking. Null = unknown.",
        -              "title": "Parking Count"
        -            }
        -          },
        -          "title": "BasicsAll",
        -          "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[BasicsAll]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_BasicsAll_"
        -}New value: +null
    • Changedproperties_basics_bath_count1 field changed
      • 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": [
        -        {
        -          "example": {
        -            "bath_count": 2
        -          },
        -          "properties": {
        -            "bath_count": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Bathrooms, as advertised when the property was last on the market. Whole number — half-bathrooms and powder rooms are not represented. Null means unknown, not zero.",
        -              "title": "Bath Count"
        -            }
        -          },
        -          "required": [
        -            "bath_count"
        -          ],
        -          "title": "BathCount",
        -          "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[BathCount]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_BathCount_"
        -}New value: +null
    • Changedproperties_basics_bed_count1 field changed
      • 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": [
        -        {
        -          "example": {
        -            "bed_count": 4
        -          },
        -          "properties": {
        -            "bed_count": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Bedrooms, as advertised when the property was last on the market. Null means no listing on record ever stated one — read it as unknown, never as zero.",
        -              "title": "Bed Count"
        -            }
        -          },
        -          "required": [
        -            "bed_count"
        -          ],
        -          "title": "BedCount",
        -          "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[BedCount]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_BedCount_"
        -}New value: +null
    • Changedproperties_basics_dwelling_type1 field changed
      • 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": [
        -        {
        -          "example": {
        -            "dwelling_type": "house"
        -          },
        -          "properties": {
        -            "dwelling_type": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "What kind of dwelling it is — lowercase free text such as 'house', 'unit', 'townhouse', 'apartment'. Taken from the advertised listing type, falling back to the national address file's classification when no listing states one. Not a closed set: match case-insensitively and allow for values outside the common few.",
        -              "title": "Dwelling Type"
        -            }
        -          },
        -          "required": [
        -            "dwelling_type"
        -          ],
        -          "title": "DwellingType",
        -          "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[DwellingType]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_DwellingType_"
        -}New value: +null
    • Changedproperties_basics_land_area_sqm1 field changed
      • 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": [
        -        {
        -          "example": {
        -            "land_area_sqm": 814
        -          },
        -          "properties": {
        -            "land_area_sqm": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Land size in square metres — the figure the property was advertised with, not a survey or cadastral parcel measurement, so treat it as indicative. Acreage advertised in hectares is converted to square metres for you (1 ha = 10,000 sqm), which means small values are rare by construction and a suspiciously round large number may be a converted one. Null means no listing stated a land size; expect that on most apartments and units.",
        -              "title": "Land Area Sqm"
        -            }
        -          },
        -          "required": [
        -            "land_area_sqm"
        -          ],
        -          "title": "LandAreaSqm",
        -          "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[LandAreaSqm]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_LandAreaSqm_"
        -}New value: +null
    • Changedproperties_basics_parking_count1 field changed
      • 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": [
        -        {
        -          "example": {
        -            "parking_count": 5
        -          },
        -          "properties": {
        -            "parking_count": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Covered car spaces (garage/carport) as advertised. It does not count open driveway or street parking, so a house with a wide driveway and no garage can legitimately read 0 or null. Null means unknown.",
        -              "title": "Parking Count"
        -            }
        -          },
        -          "required": [
        -            "parking_count"
        -          ],
        -          "title": "ParkingCount",
        -          "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[ParkingCount]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_ParkingCount_"
        -}New value: +null
    • Changedproperties_comparables_all1 field changed
      • 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": [
        -        {
        -          "description": "All comparables — CMA set, single comp, and recent nearby sales.",
        -          "example": {
        -            "cma_comp_set": [
        -              {
        -                "bathrooms": 2,
        -                "bedrooms": 4,
        -                "date_sold": "2024-07-13",
        -                "dist_score": 6.319769313849382,
        -                "garage_spaces": 2,
        -                "gnaf_pid": "GAACT714923950",
        -                "latitude": -35.38013684,
        -                "longitude": 149.06828089,
        -                "price": 815000,
        -                "property_type": "house",
        -                "sal": "Kambah",
        -                "state": "ACT",
        -                "street": "8 SHIPARD PL"
        -              },
        -              {
        -                "bathrooms": 2,
        -                "bedrooms": 4,
        -                "date_sold": "2024-05-17",
        -                "dist_score": 6.314913077374466,
        -                "garage_spaces": 2,
        -                "gnaf_pid": "GAACT714962432",
        -                "latitude": -35.38141033,
        -                "longitude": 149.0765471,
        -                "price": 975000,
        -                "property_type": "house",
        -                "sal": "Kambah",
        -                "state": "ACT",
        -                "street": "19 MACKAY CR"
        -              },
        -              {
        -                "bathrooms": 2,
        -                "bedrooms": 4,
        -                "date_sold": "2024-05-10",
        -                "dist_score": 6.202634043106887,
        -                "garage_spaces": 4,
        -                "gnaf_pid": "GAACT714953151",
        -                "latitude": -35.38009598,
        -                "longitude": 149.07224252,
        -                "price": 1049000,
        -                "property_type": "house",
        -                "sal": "Kambah",
        -                "state": "ACT",
        -                "street": "23 BROWNSMITH CR"
        -              }
        -            ],
        -            "cma_single_comp": {
        -              "bathrooms": 2,
        -              "bedrooms": 4,
        -              "date_sold": "2024-07-13",
        -              "dist_score": 6.319769313849382,
        -              "garage_spaces": 2,
        -              "gnaf_pid": "GAACT714923950",
        -              "latitude": -35.38013684,
        -              "longitude": 149.06828089,
        -              "price": 815000,
        -              "property_type": "house",
        -              "sal": "Kambah",
        -              "state": "ACT",
        -              "street": "8 SHIPARD PL"
        -            },
        -            "recent_sales_nearby": [
        -              {
        -                "bathrooms": 2,
        -                "bedrooms": 4,
        -                "date_sold": "2024-07-13",
        -                "dist_score": 6.319769313849382,
        -                "garage_spaces": 2,
        -                "gnaf_pid": "GAACT714923950",
        -                "latitude": -35.38013684,
        -                "longitude": 149.06828089,
        -                "price": 815000,
        -                "property_type": "house",
        -                "sal": "Kambah",
        -                "state": "ACT",
        -                "street": "8 SHIPARD PL"
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "cma_comp_set": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One comparable sale row.",
        -                    "example": {
        -                      "bathrooms": 2,
        -                      "bedrooms": 4,
        -                      "date_sold": "2024-07-13",
        -                      "dist_score": 6.319769313849382,
        -                      "garage_spaces": 2,
        -                      "gnaf_pid": "GAACT714923950",
        -                      "latitude": -35.38013684,
        -                      "longitude": 149.06828089,
        -                      "price": 815000,
        -                      "property_type": "house",
        -                      "sal": "Kambah",
        -                      "state": "ACT",
        -                      "street": "8 SHIPARD PL"
        -                    },
        -                    "properties": {},
        -                    "title": "CmaComp",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "title": "Cma Comp Set"
        -            },
        -            "cma_single_comp": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "One comparable sale row.",
        -                  "example": {
        -                    "bathrooms": 2,
        -                    "bedrooms": 4,
        -                    "date_sold": "2024-07-13",
        -                    "dist_score": 6.319769313849382,
        -                    "garage_spaces": 2,
        -                    "gnaf_pid": "GAACT714923950",
        -                    "latitude": -35.38013684,
        -                    "longitude": 149.06828089,
        -                    "price": 815000,
        -                    "property_type": "house",
        -                    "sal": "Kambah",
        -                    "state": "ACT",
        -                    "street": "8 SHIPARD PL"
        -                  },
        -                  "properties": {},
        -                  "title": "CmaComp",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ]
        -            },
        -            "recent_sales_nearby": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One recent sale within the subject property's CMA search radius.",
        -                    "example": {
        -                      "address": "30 Arlington Street, Belmont North",
        -                      "bath_count": 2,
        -                      "bed_count": 3,
        -                      "distance_m": 65,
        -                      "dwelling_type": "house",
        -                      "sale_date": "2024-08-12",
        -                      "sale_price": 815000
        -                    },
        -                    "properties": {
        -                      "address": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Street address.",
        -                        "title": "Address"
        -                      },
        -                      "bath_count": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Bathrooms.",
        -                        "title": "Bath Count"
        -                      },
        -                      "bed_count": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Bedrooms.",
        -                        "title": "Bed Count"
        -                      },
        -                      "distance_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Distance from the subject property in metres.",
        -                        "title": "Distance M"
        -                      },
        -                      "dwelling_type": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "house / unit / townhouse / ...",
        -                        "title": "Dwelling Type"
        -                      },
        -                      "sale_date": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "ISO date (YYYY-MM-DD).",
        -                        "title": "Sale Date"
        -                      },
        -                      "sale_price": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Sale price, AUD.",
        -                        "title": "Sale Price"
        -                      }
        -                    },
        -                    "title": "RecentSale",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "title": "Recent Sales Nearby"
        -            }
        -          },
        -          "title": "ComparablesAll",
        -          "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[ComparablesAll]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_ComparablesAll_"
        -}New value: +null
    • Changedproperties_comparables_cma_comp_set1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One comparable sale row.",
        -            "example": {
        -              "bathrooms": 2,
        -              "bedrooms": 4,
        -              "date_sold": "2024-07-13",
        -              "dist_score": 6.319769313849382,
        -              "garage_spaces": 2,
        -              "gnaf_pid": "GAACT714923950",
        -              "latitude": -35.38013684,
        -              "longitude": 149.06828089,
        -              "price": 815000,
        -              "property_type": "house",
        -              "sal": "Kambah",
        -              "state": "ACT",
        -              "street": "8 SHIPARD PL"
        -            },
        -            "properties": {},
        -            "title": "CmaComp",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[CmaComp]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_CmaComp__"
        -}New value: +null
    • Changedproperties_comparables_cma_single_comp1 field changed
      • 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": "One comparable sale row.",
        -          "example": {
        -            "bathrooms": 2,
        -            "bedrooms": 4,
        -            "date_sold": "2024-07-13",
        -            "dist_score": 6.319769313849382,
        -            "garage_spaces": 2,
        -            "gnaf_pid": "GAACT714923950",
        -            "latitude": -35.38013684,
        -            "longitude": 149.06828089,
        -            "price": 815000,
        -            "property_type": "house",
        -            "sal": "Kambah",
        -            "state": "ACT",
        -            "street": "8 SHIPARD PL"
        -          },
        -          "properties": {},
        -          "title": "CmaComp",
        -          "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[CmaComp]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_CmaComp_"
        -}New value: +null
    • Changedproperties_comparables_recent_sales_nearby1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One recent sale within the subject property's CMA search radius.",
        -            "example": {
        -              "address": "30 Arlington Street, Belmont North",
        -              "bath_count": 2,
        -              "bed_count": 3,
        -              "distance_m": 65,
        -              "dwelling_type": "house",
        -              "sale_date": "2024-08-12",
        -              "sale_price": 815000
        -            },
        -            "properties": {
        -              "address": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Street address.",
        -                "title": "Address"
        -              },
        -              "bath_count": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Bathrooms.",
        -                "title": "Bath Count"
        -              },
        -              "bed_count": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Bedrooms.",
        -                "title": "Bed Count"
        -              },
        -              "distance_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Distance from the subject property in metres.",
        -                "title": "Distance M"
        -              },
        -              "dwelling_type": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "house / unit / townhouse / ...",
        -                "title": "Dwelling Type"
        -              },
        -              "sale_date": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "ISO date (YYYY-MM-DD).",
        -                "title": "Sale Date"
        -              },
        -              "sale_price": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Sale price, AUD.",
        -                "title": "Sale Price"
        -              }
        -            },
        -            "title": "RecentSale",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[RecentSale]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_RecentSale__"
        -}New value: +null
    • Changedproperties_context_mesh_blocks1 field changed
      • 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": "Mesh blocks within a 1 km buffer of the property, with per-block\ngrowth / investor / median-price stats — the same base layers every\nmap in the v6 property report renders.",
        -          "example": {
        -            "buffer_km": 1,
        -            "center_lat": -33.802479,
        -            "center_lng": 151.219715,
        -            "gnaf_id": "GANSW704360755",
        -            "mesh_blocks": {
        -              "features": [
        -                {
        -                  "geometry": {
        -                    "coordinates": [
        -                      [
        -                        [
        -                          151.2185,
        -                          -33.8018
        -                        ],
        -                        [
        -                          151.2199,
        -                          -33.8018
        -                        ],
        -                        [
        -                          151.2199,
        -                          -33.8031
        -                        ],
        -                        [
        -                          151.2185,
        -                          -33.8031
        -                        ],
        -                        [
        -                          151.2185,
        -                          -33.8018
        -                        ]
        -                      ]
        -                    ],
        -                    "type": "Polygon"
        -                  },
        -                  "properties": {
        -                    "avg_annual_growth": 0.061,
        -                    "investor_pct": 21.43,
        -                    "mb": "10693650000",
        -                    "median_sold_price": 3350000,
        -                    "modal_street": "THE BULWARK",
        -                    "rental_properties": 9,
        -                    "total_properties": 42
        -                  },
        -                  "type": "Feature"
        -                }
        -              ],
        -              "type": "FeatureCollection"
        -            }
        -          },
        -          "properties": {
        -            "buffer_km": {
        -              "description": "Buffer radius (km). Always 1.0.",
        -              "title": "Buffer Km",
        -              "type": "number"
        -            },
        -            "center_lat": {
        -              "description": "Subject property latitude.",
        -              "title": "Center Lat",
        -              "type": "number"
        -            },
        -            "center_lng": {
        -              "description": "Subject property longitude.",
        -              "title": "Center Lng",
        -              "type": "number"
        -            },
        -            "gnaf_id": {
        -              "description": "Subject property GNAF id.",
        -              "title": "Gnaf Id",
        -              "type": "string"
        -            },
        -            "mesh_blocks": {
        -              "description": "GeoJSON FeatureCollection of buffer mesh blocks.",
        -              "properties": {
        -                "features": {
        -                  "description": "One feature per mesh block (max 200).",
        -                  "items": {
        -                    "description": "RFC 7946 GeoJSON Feature — one mesh-block polygon + its stats.",
        -                    "properties": {
        -                      "geometry": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "GeoJSON geometry (Polygon or MultiPolygon), simplified for rendering. Null if the polygon failed to serialise, or when the request passes `?geojson=false`.",
        -                        "title": "Geometry"
        -                      },
        -                      "properties": {
        -                        "additionalProperties": true,
        -                        "description": "Per-mesh-block stats.",
        -                        "properties": {
        -                          "avg_annual_growth": {
        -                            "anyOf": [
        -                              {
        -                                "type": "number"
        -                              },
        -                              {
        -                                "type": "null"
        -                              }
        -                            ],
        -                            "description": "Average annual price growth for properties in the mesh block, as a decimal fraction per year (0.061 = 6.1%/yr) — same scale as the suburb investor-concentration endpoint.",
        -                            "title": "Avg Annual Growth"
        -                          },
        -                          "investor_pct": {
        -                            "anyOf": [
        -                              {
        -                                "type": "number"
        -                              },
        -                              {
        -                                "type": "null"
        -                              }
        -                            ],
        -                            "description": "Investor share = rental_properties / total_properties × 100, as a percentage 0-100 (21.43 = 21.43%).",
        -                            "title": "Investor Pct"
        -                          },
        -                          "mb": {
        -                            "description": "ABS 2021 mesh-block code.",
        -                            "title": "Mb",
        -                            "type": "string"
        -                          },
        -                          "median_sold_price": {
        -                            "anyOf": [
        -                              {
        -                                "type": "number"
        -                              },
        -                              {
        -                                "type": "null"
        -                              }
        -                            ],
        -                            "description": "Median sold price (AUD) across the suburb's last ~12 months of house sales that geocode into this mesh block (min 2 sales, else null).",
        -                            "title": "Median Sold Price"
        -                          },
        -                          "modal_street": {
        -                            "anyOf": [
        -                              {
        -                                "type": "string"
        -                              },
        -                              {
        -                                "type": "null"
        -                              }
        -                            ],
        -                            "description": "Most common street name inside the mesh block.",
        -                            "title": "Modal Street"
        -                          },
        -                          "rental_properties": {
        -                            "anyOf": [
        -                              {
        -                                "type": "integer"
        -                              },
        -                              {
        -                                "type": "null"
        -                              }
        -                            ],
        -                            "description": "Properties identified as rentals in the mesh block.",
        -                            "title": "Rental Properties"
        -                          },
        -                          "total_properties": {
        -                            "anyOf": [
        -                              {
        -                                "type": "integer"
        -                              },
        -                              {
        -                                "type": "null"
        -                              }
        -                            ],
        -                            "description": "Total residential properties in the mesh block.",
        -                            "title": "Total Properties"
        -                          }
        -                        },
        -                        "required": [
        -                          "mb"
        -                        ],
        -                        "title": "MeshBlockStats",
        -                        "type": "object"
        -                      },
        -                      "type": {
        -                        "const": "Feature",
        -                        "description": "Always 'Feature'.",
        -                        "title": "Type",
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "type",
        -                      "properties"
        -                    ],
        -                    "title": "MeshBlockFeature",
        -                    "type": "object"
        -                  },
        -                  "title": "Features",
        -                  "type": "array"
        -                },
        -                "type": {
        -                  "const": "FeatureCollection",
        -                  "description": "Always 'FeatureCollection'.",
        -                  "title": "Type",
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "type",
        -                "features"
        -              ],
        -              "title": "MeshBlockFeatureCollection",
        -              "type": "object"
        -            }
        -          },
        -          "required": [
        -            "gnaf_id",
        -            "buffer_km",
        -            "center_lat",
        -            "center_lng",
        -            "mesh_blocks"
        -          ],
        -          "title": "MeshBlocksContext",
        -          "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[MeshBlocksContext]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_MeshBlocksContext_"
        -}New value: +null
    • Changedproperties_context_nearby_for_sale1 field changed
      • 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": "Currently for-sale listings within the requested radius of the\nproperty (newest first, max 30), with AVM / rent-yield comparison.",
        -          "example": {
        -            "center_lat": -33.802479,
        -            "center_lng": 151.219715,
        -            "count": 2,
        -            "gnaf_id": "GANSW704360755",
        -            "listings": [
        -              {
        -                "address": "8 The Bulwark, Castlecrag NSW 2068",
        -                "avm": 4380000,
        -                "bathrooms": 2,
        -                "bedrooms": 4,
        -                "discount_pct": 2.7,
        -                "gnaf_pid": "GANSW704357382",
        -                "land_size": 696,
        -                "lat": -33.8019,
        -                "listing_date": "2026-06-14",
        -                "lng": 151.2205,
        -                "price": 4500000,
        -                "price_label": "$4,500,000 Guide",
        -                "property_type": "House",
        -                "weekly_rent": 1850,
        -                "yield_pct": 2.1
        -              }
        -            ],
        -            "radius_km": 1
        -          },
        -          "properties": {
        -            "center_lat": {
        -              "description": "Subject property latitude.",
        -              "title": "Center Lat",
        -              "type": "number"
        -            },
        -            "center_lng": {
        -              "description": "Subject property longitude.",
        -              "title": "Center Lng",
        -              "type": "number"
        -            },
        -            "count": {
        -              "description": "Number of listings returned (0-30).",
        -              "title": "Count",
        -              "type": "integer"
        -            },
        -            "gnaf_id": {
        -              "description": "Subject property GNAF id.",
        -              "title": "Gnaf Id",
        -              "type": "string"
        -            },
        -            "listings": {
        -              "description": "For-sale listings, newest listing date first.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One currently-for-sale listing near the subject property.",
        -                "properties": {
        -                  "address": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Full address, title-cased.",
        -                    "title": "Address"
        -                  },
        -                  "avm": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Latest AVM prediction (AUD) for the listing, if available.",
        -                    "title": "Avm"
        -                  },
        -                  "bathrooms": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Bathroom count.",
        -                    "title": "Bathrooms"
        -                  },
        -                  "bedrooms": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Bedroom count.",
        -                    "title": "Bedrooms"
        -                  },
        -                  "discount_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Asking price vs AVM: (price - avm) / avm * 100. Negative = under AVM.",
        -                    "title": "Discount Pct"
        -                  },
        -                  "gnaf_pid": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Listing property GNAF id.",
        -                    "title": "Gnaf Pid"
        -                  },
        -                  "land_size": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Land size (sqm) when parseable.",
        -                    "title": "Land Size"
        -                  },
        -                  "lat": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Listing latitude.",
        -                    "title": "Lat"
        -                  },
        -                  "listing_date": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Listing date (YYYY-MM-DD).",
        -                    "title": "Listing Date"
        -                  },
        -                  "lng": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Listing longitude.",
        -                    "title": "Lng"
        -                  },
        -                  "price": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Asking price (AUD) — parsed from the display price when possible.",
        -                    "title": "Price"
        -                  },
        -                  "price_label": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Raw asking-price label, e.g. \"Auction\" or \"$3.5M Guide\".",
        -                    "title": "Price Label"
        -                  },
        -                  "property_type": {
        -                    "description": "Bucketed type: House / Townhouse / Unit / Land / Other.",
        -                    "title": "Property Type",
        -                    "type": "string"
        -                  },
        -                  "weekly_rent": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Predicted weekly rent (AUD) from the rental AVM.",
        -                    "title": "Weekly Rent"
        -                  },
        -                  "yield_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Gross rental yield % = weekly_rent * 52 / price * 100.",
        -                    "title": "Yield Pct"
        -                  }
        -                },
        -                "required": [
        -                  "property_type"
        -                ],
        -                "title": "NearbyForSaleListing",
        -                "type": "object"
        -              },
        -              "title": "Listings",
        -              "type": "array"
        -            },
        -            "radius_km": {
        -              "description": "Search radius used (km).",
        -              "title": "Radius Km",
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "gnaf_id",
        -            "center_lat",
        -            "center_lng",
        -            "radius_km",
        -            "count",
        -            "listings"
        -          ],
        -          "title": "NearbyForSale",
        -          "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[NearbyForSale]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_NearbyForSale_"
        -}New value: +null
    • Changedproperties_context_street_bedroom_series1 field changed
      • 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": "The subject's bedroom-band benchmark: bed count inferred from\nlisting history, plus the suburb's 10-year price series for that\nbed-count + property-type band.",
        -          "example": {
        -            "band_label": "4-bed house",
        -            "bedrooms": 4,
        -            "gnaf_id": "GANSW704360755",
        -            "latest_date": "2026-06-28",
        -            "latest_value": 4400000,
        -            "property_type": "house",
        -            "series": [
        -              {
        -                "date": "2026-06-28",
        -                "value": 4400000
        -              }
        -            ],
        -            "suburb": "Castlecrag"
        -          },
        -          "properties": {
        -            "band_label": {
        -              "description": "Human label, e.g. \"4-bed house\".",
        -              "title": "Band Label",
        -              "type": "string"
        -            },
        -            "bedrooms": {
        -              "description": "Subject bed count — MAX(bedrooms) across every listing snapshot on record for the GNAF.",
        -              "title": "Bedrooms",
        -              "type": "integer"
        -            },
        -            "gnaf_id": {
        -              "description": "Subject property GNAF id.",
        -              "title": "Gnaf Id",
        -              "type": "string"
        -            },
        -            "latest_date": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Date of the most recent series point (YYYY-MM-DD).",
        -              "title": "Latest Date"
        -            },
        -            "latest_value": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Most recent series value (AUD).",
        -              "title": "Latest Value"
        -            },
        -            "property_type": {
        -              "description": "Subject property type bucket.",
        -              "enum": [
        -                "house",
        -                "unit"
        -              ],
        -              "title": "Property Type",
        -              "type": "string"
        -            },
        -            "series": {
        -              "description": "10-year monthly median price series for the band.",
        -              "items": {
        -                "description": "One point in the bedroom-band price series.",
        -                "properties": {
        -                  "date": {
        -                    "description": "ISO date (YYYY-MM-DD).",
        -                    "title": "Date",
        -                    "type": "string"
        -                  },
        -                  "value": {
        -                    "description": "Median asking price (AUD) at that date.",
        -                    "title": "Value",
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "date",
        -                  "value"
        -                ],
        -                "title": "BandSeriesPoint",
        -                "type": "object"
        -              },
        -              "title": "Series",
        -              "type": "array"
        -            },
        -            "suburb": {
        -              "description": "Suburb (SAL) the series is for.",
        -              "title": "Suburb",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "gnaf_id",
        -            "suburb",
        -            "bedrooms",
        -            "property_type",
        -            "band_label",
        -            "series"
        -          ],
        -          "title": "StreetBedroomSeries",
        -          "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[StreetBedroomSeries]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_StreetBedroomSeries_"
        -}New value: +null
    • Changedproperties_development_all1 field changed
      • 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": [
        -        {
        -          "description": "All planning — zoning + overlays.",
        -          "example": {
        -            "zoning_code": {
        -              "category": "Residential Zones",
        -              "code": "R2",
        -              "name": "Low Density Residential"
        -            },
        -            "zoning_overlays": [
        -              {
        -                "layer": "hob",
        -                "value": "10 m"
        -              },
        -              {
        -                "layer": "hob",
        -                "value": "5.5 m"
        -              },
        -              {
        -                "layer": "hob",
        -                "value": "8.5 m"
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "zoning_code": {
        -              "anyOf": [
        -                {
        -                  "example": {
        -                    "category": "Residential Zones",
        -                    "code": "R2",
        -                    "name": "Low Density Residential"
        -                  },
        -                  "properties": {
        -                    "category": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Broader category bucket, e.g. 'Residential Zones', 'Business Zones'.",
        -                      "title": "Category"
        -                    },
        -                    "code": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Parenthesised code (e.g. 'R2', 'B4', 'IN1') when the council's feed includes one. Many regional NSW + Adelaide + QLD councils don't — in which case this is null and the human-readable label is on `name`.",
        -                      "title": "Code"
        -                    },
        -                    "name": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Human-readable zone class, e.g. 'Low Density Residential'.",
        -                      "title": "Name"
        -                    }
        -                  },
        -                  "title": "ZoningCode",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ]
        -            },
        -            "zoning_overlays": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One planning overlay intersecting the property's buffer.\n\n``layer`` is the overlay family (e.g. ``\"fsr\"`` Floor Space Ratio,\n``\"hob\"`` Height of Building). ``value`` is the numeric/string\nvalue that overlay carries at this point (e.g. ``\"1.5\"`` for FSR\nor ``\"9.5\"`` for HoB metres).",
        -                    "example": {
        -                      "layer": "fsr",
        -                      "value": "1.5"
        -                    },
        -                    "properties": {
        -                      "layer": {
        -                        "description": "Overlay layer code, e.g. 'fsr', 'hob'.",
        -                        "title": "Layer",
        -                        "type": "string"
        -                      },
        -                      "value": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Value at this point (e.g. '1.5' for FSR, '9.5' for HoB metres).",
        -                        "title": "Value"
        -                      }
        -                    },
        -                    "required": [
        -                      "layer"
        -                    ],
        -                    "title": "ZoningOverlay",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "title": "Zoning Overlays"
        -            }
        -          },
        -          "title": "PlanningAll",
        -          "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[PlanningAll]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_PlanningAll_"
        -}New value: +null
    • Changedproperties_development_zoning_code1 field changed
      • 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": [
        -        {
        -          "example": {
        -            "category": "Residential Zones",
        -            "code": "R2",
        -            "name": "Low Density Residential"
        -          },
        -          "properties": {
        -            "category": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Broader category bucket, e.g. 'Residential Zones', 'Business Zones'.",
        -              "title": "Category"
        -            },
        -            "code": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Parenthesised code (e.g. 'R2', 'B4', 'IN1') when the council's feed includes one. Many regional NSW + Adelaide + QLD councils don't — in which case this is null and the human-readable label is on `name`.",
        -              "title": "Code"
        -            },
        -            "name": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Human-readable zone class, e.g. 'Low Density Residential'.",
        -              "title": "Name"
        -            }
        -          },
        -          "title": "ZoningCode",
        -          "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[ZoningCode]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_ZoningCode_"
        -}New value: +null
    • Changedproperties_development_zoning_overlays1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One planning overlay intersecting the property's buffer.\n\n``layer`` is the overlay family (e.g. ``\"fsr\"`` Floor Space Ratio,\n``\"hob\"`` Height of Building). ``value`` is the numeric/string\nvalue that overlay carries at this point (e.g. ``\"1.5\"`` for FSR\nor ``\"9.5\"`` for HoB metres).",
        -            "example": {
        -              "layer": "fsr",
        -              "value": "1.5"
        -            },
        -            "properties": {
        -              "layer": {
        -                "description": "Overlay layer code, e.g. 'fsr', 'hob'.",
        -                "title": "Layer",
        -                "type": "string"
        -              },
        -              "value": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Value at this point (e.g. '1.5' for FSR, '9.5' for HoB metres).",
        -                "title": "Value"
        -              }
        -            },
        -            "required": [
        -              "layer"
        -            ],
        -            "title": "ZoningOverlay",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[ZoningOverlay]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_ZoningOverlay__"
        -}New value: +null
    • Changedproperties_history_all1 field changed
      • 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": [
        -        {
        -          "description": "Full sale + rent history (lists + latest record) in one call.",
        -          "example": {
        -            "rent_history": [
        -              {
        -                "address": "9 Mcdowall Place",
        -                "date": "2025-07-24",
        -                "price": 750,
        -                "type": "For Rent"
        -              },
        -              {
        -                "address": "9 Mcdowall Place",
        -                "date": "2022-10-10",
        -                "type": "For Rent"
        -              }
        -            ],
        -            "rent_history_latest": {
        -              "address": "9 Mcdowall Place",
        -              "date": "2025-07-24",
        -              "price": 750,
        -              "type": "For Rent"
        -            },
        -            "sale_history": [
        -              {
        -                "address": "9 Mcdowall Place",
        -                "date": "2025-06-05",
        -                "price": 990000,
        -                "type": "Sold"
        -              },
        -              {
        -                "address": "9 Mcdowall Place",
        -                "date": "2025-05-22",
        -                "type": "For Sale"
        -              }
        -            ],
        -            "sale_history_latest": {
        -              "address": "9 Mcdowall Place",
        -              "date": "2025-06-05",
        -              "price": 990000,
        -              "type": "Sold"
        -            }
        -          },
        -          "properties": {
        -            "rent_history": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One event in a property's market history — a sale, or a time it was\nadvertised for sale or for rent.\n\nRecords come from listing feeds, so this is the property's *advertised*\nhistory rather than a title/transfer register: a sale that never went to\nmarket may be absent. Records are returned newest first.",
        -                    "properties": {
        -                      "address": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "The property's address, title-cased. This is its current address as recorded in the national address file, repeated on every record — not the address text used in that particular listing, so it will not reflect a renumbering or a name change since.",
        -                        "title": "Address"
        -                      },
        -                      "date": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "When the event happened, as `YYYY-MM-DD`. For a `Sold` record this is the sale date; for `For Sale` / `For Rent` it is the date the listing appeared. Note for sold records: where the state land registry is the source this is the contract date rather than settlement, but sold dates sourced from listing portals are not guaranteed to be one or the other — treat it as accurate to the month, not the day.",
        -                        "title": "Date"
        -                      },
        -                      "price": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "The money figure attached to the event, in AUD. On `Sold` and `For Sale` records that is the whole price of the property; on `For Rent` it is the advertised rent, normally per week (the Australian convention) — but it is taken from the advertised text as-is and is not converted, so an agent who advertised monthly can leave a monthly figure here. Sanity-check rents that look ~4x too high. Null when the listing showed no number (e.g. 'Auction', 'Contact Agent').",
        -                        "title": "Price"
        -                      },
        -                      "type": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Which kind of event this is. One of exactly three values: `'Sold'`, `'For Sale'` (advertised for sale, outcome not necessarily known) or `'For Rent'`. Determines how to read `price` and `date` above.",
        -                        "title": "Type"
        -                      }
        -                    },
        -                    "title": "HistoryRecord",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "title": "Rent History"
        -            },
        -            "rent_history_latest": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "One event in a property's market history — a sale, or a time it was\nadvertised for sale or for rent.\n\nRecords come from listing feeds, so this is the property's *advertised*\nhistory rather than a title/transfer register: a sale that never went to\nmarket may be absent. Records are returned newest first.",
        -                  "properties": {
        -                    "address": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "The property's address, title-cased. This is its current address as recorded in the national address file, repeated on every record — not the address text used in that particular listing, so it will not reflect a renumbering or a name change since.",
        -                      "title": "Address"
        -                    },
        -                    "date": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "When the event happened, as `YYYY-MM-DD`. For a `Sold` record this is the sale date; for `For Sale` / `For Rent` it is the date the listing appeared. Note for sold records: where the state land registry is the source this is the contract date rather than settlement, but sold dates sourced from listing portals are not guaranteed to be one or the other — treat it as accurate to the month, not the day.",
        -                      "title": "Date"
        -                    },
        -                    "price": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "The money figure attached to the event, in AUD. On `Sold` and `For Sale` records that is the whole price of the property; on `For Rent` it is the advertised rent, normally per week (the Australian convention) — but it is taken from the advertised text as-is and is not converted, so an agent who advertised monthly can leave a monthly figure here. Sanity-check rents that look ~4x too high. Null when the listing showed no number (e.g. 'Auction', 'Contact Agent').",
        -                      "title": "Price"
        -                    },
        -                    "type": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Which kind of event this is. One of exactly three values: `'Sold'`, `'For Sale'` (advertised for sale, outcome not necessarily known) or `'For Rent'`. Determines how to read `price` and `date` above.",
        -                      "title": "Type"
        -                    }
        -                  },
        -                  "title": "HistoryRecord",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ]
        -            },
        -            "sale_history": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One event in a property's market history — a sale, or a time it was\nadvertised for sale or for rent.\n\nRecords come from listing feeds, so this is the property's *advertised*\nhistory rather than a title/transfer register: a sale that never went to\nmarket may be absent. Records are returned newest first.",
        -                    "properties": {
        -                      "address": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "The property's address, title-cased. This is its current address as recorded in the national address file, repeated on every record — not the address text used in that particular listing, so it will not reflect a renumbering or a name change since.",
        -                        "title": "Address"
        -                      },
        -                      "date": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "When the event happened, as `YYYY-MM-DD`. For a `Sold` record this is the sale date; for `For Sale` / `For Rent` it is the date the listing appeared. Note for sold records: where the state land registry is the source this is the contract date rather than settlement, but sold dates sourced from listing portals are not guaranteed to be one or the other — treat it as accurate to the month, not the day.",
        -                        "title": "Date"
        -                      },
        -                      "price": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "The money figure attached to the event, in AUD. On `Sold` and `For Sale` records that is the whole price of the property; on `For Rent` it is the advertised rent, normally per week (the Australian convention) — but it is taken from the advertised text as-is and is not converted, so an agent who advertised monthly can leave a monthly figure here. Sanity-check rents that look ~4x too high. Null when the listing showed no number (e.g. 'Auction', 'Contact Agent').",
        -                        "title": "Price"
        -                      },
        -                      "type": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Which kind of event this is. One of exactly three values: `'Sold'`, `'For Sale'` (advertised for sale, outcome not necessarily known) or `'For Rent'`. Determines how to read `price` and `date` above.",
        -                        "title": "Type"
        -                      }
        -                    },
        -                    "title": "HistoryRecord",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "title": "Sale History"
        -            },
        -            "sale_history_latest": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "One event in a property's market history — a sale, or a time it was\nadvertised for sale or for rent.\n\nRecords come from listing feeds, so this is the property's *advertised*\nhistory rather than a title/transfer register: a sale that never went to\nmarket may be absent. Records are returned newest first.",
        -                  "properties": {
        -                    "address": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "The property's address, title-cased. This is its current address as recorded in the national address file, repeated on every record — not the address text used in that particular listing, so it will not reflect a renumbering or a name change since.",
        -                      "title": "Address"
        -                    },
        -                    "date": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "When the event happened, as `YYYY-MM-DD`. For a `Sold` record this is the sale date; for `For Sale` / `For Rent` it is the date the listing appeared. Note for sold records: where the state land registry is the source this is the contract date rather than settlement, but sold dates sourced from listing portals are not guaranteed to be one or the other — treat it as accurate to the month, not the day.",
        -                      "title": "Date"
        -                    },
        -                    "price": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "The money figure attached to the event, in AUD. On `Sold` and `For Sale` records that is the whole price of the property; on `For Rent` it is the advertised rent, normally per week (the Australian convention) — but it is taken from the advertised text as-is and is not converted, so an agent who advertised monthly can leave a monthly figure here. Sanity-check rents that look ~4x too high. Null when the listing showed no number (e.g. 'Auction', 'Contact Agent').",
        -                      "title": "Price"
        -                    },
        -                    "type": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Which kind of event this is. One of exactly three values: `'Sold'`, `'For Sale'` (advertised for sale, outcome not necessarily known) or `'For Rent'`. Determines how to read `price` and `date` above.",
        -                      "title": "Type"
        -                    }
        -                  },
        -                  "title": "HistoryRecord",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ]
        -            }
        -          },
        -          "title": "HistoryAll",
        -          "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[HistoryAll]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_HistoryAll_"
        -}New value: +null
    • Changedproperties_neighbours1 field changed
      • 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": [
        -        {
        -          "example": {
        -            "neighbours": [
        -              {
        -                "address": "3 TAMAR STREET",
        -                "gnaf_pid": "GANSW704083204",
        -                "property_type": "house"
        -              },
        -              {
        -                "address": "16 HARRISON STREET",
        -                "gnaf_pid": "GANSW704073018",
        -                "property_type": "house"
        -              },
        -              {
        -                "address": "14 HARRISON STREET",
        -                "gnaf_pid": "GANSW704073016",
        -                "property_type": "house"
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "neighbours": {
        -              "description": "Adjoining cadastral parcels, with address + attributes when available.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One neighbouring property (adjoining cadastral parcel).",
        -                "properties": {
        -                  "address": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Full address from the GNAF feed.",
        -                    "title": "Address"
        -                  },
        -                  "bathrooms": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Bathroom count from the most recent listing, if any.",
        -                    "title": "Bathrooms"
        -                  },
        -                  "bedrooms": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Bedroom count from the most recent listing, if any.",
        -                    "title": "Bedrooms"
        -                  },
        -                  "garage_spaces": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Garage spaces from the most recent listing, if any.",
        -                    "title": "Garage Spaces"
        -                  },
        -                  "gnaf_pid": {
        -                    "description": "GNAF persistent identifier.",
        -                    "title": "Gnaf Pid",
        -                    "type": "string"
        -                  },
        -                  "property_type": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Property type (house, unit, townhouse, ...). Lowercase.",
        -                    "title": "Property Type"
        -                  }
        -                },
        -                "required": [
        -                  "gnaf_pid"
        -                ],
        -                "title": "Neighbour",
        -                "type": "object"
        -              },
        -              "title": "Neighbours",
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "neighbours"
        -          ],
        -          "title": "Neighbours",
        -          "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[Neighbours]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_Neighbours_"
        -}New value: +null
    • Changedproperties_profile1 field changed
      • 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": [
        -        {
        -          "description": "Full ABS geo hierarchy for a property — the \"where in ABS world\nis this?\" lookup. Mesh block, SA1–SA4, GCCSA, state, LGA, suburb\n(SAL), postcode. Useful before pulling mesh-block-aggregated layers.",
        -          "example": {
        -            "gccsa": "Australian Capital Territory",
        -            "lga": "Unincorporated ACT",
        -            "mesh_block": "80111103200",
        -            "postcode": "2902",
        -            "sa1": "80101102001",
        -            "sa2": "Kambah",
        -            "sa3": "Tuggeranong",
        -            "sa4": "Australian Capital Territory",
        -            "state": "ACT",
        -            "suburb": "Kambah (ACT)"
        -          },
        -          "properties": {
        -            "gccsa": {
        -              "description": "Greater Capital City Statistical Area.",
        -              "title": "Gccsa",
        -              "type": "string"
        -            },
        -            "lga": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Local Government Area.",
        -              "title": "Lga"
        -            },
        -            "mesh_block": {
        -              "description": "ABS Mesh Block code.",
        -              "title": "Mesh Block",
        -              "type": "string"
        -            },
        -            "postcode": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Postcode (POA).",
        -              "title": "Postcode"
        -            },
        -            "sa1": {
        -              "description": "SA1 code.",
        -              "title": "Sa1",
        -              "type": "string"
        -            },
        -            "sa2": {
        -              "description": "SA2 name.",
        -              "title": "Sa2",
        -              "type": "string"
        -            },
        -            "sa3": {
        -              "description": "SA3 name.",
        -              "title": "Sa3",
        -              "type": "string"
        -            },
        -            "sa4": {
        -              "description": "SA4 name.",
        -              "title": "Sa4",
        -              "type": "string"
        -            },
        -            "state": {
        -              "description": "State / Territory.",
        -              "title": "State",
        -              "type": "string"
        -            },
        -            "suburb": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Suburb (SAL — ABS Suburb and Locality).",
        -              "title": "Suburb"
        -            }
        -          },
        -          "required": [
        -            "mesh_block",
        -            "sa1",
        -            "sa2",
        -            "sa3",
        -            "sa4",
        -            "gccsa",
        -            "state"
        -          ],
        -          "title": "PropertyProfile",
        -          "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[PropertyProfile]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_PropertyProfile_"
        -}New value: +null
    • Changedproperties_rent_history1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One event in a property's market history — a sale, or a time it was\nadvertised for sale or for rent.\n\nRecords come from listing feeds, so this is the property's *advertised*\nhistory rather than a title/transfer register: a sale that never went to\nmarket may be absent. Records are returned newest first.",
        -            "properties": {
        -              "address": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "The property's address, title-cased. This is its current address as recorded in the national address file, repeated on every record — not the address text used in that particular listing, so it will not reflect a renumbering or a name change since.",
        -                "title": "Address"
        -              },
        -              "date": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "When the event happened, as `YYYY-MM-DD`. For a `Sold` record this is the sale date; for `For Sale` / `For Rent` it is the date the listing appeared. Note for sold records: where the state land registry is the source this is the contract date rather than settlement, but sold dates sourced from listing portals are not guaranteed to be one or the other — treat it as accurate to the month, not the day.",
        -                "title": "Date"
        -              },
        -              "price": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "The money figure attached to the event, in AUD. On `Sold` and `For Sale` records that is the whole price of the property; on `For Rent` it is the advertised rent, normally per week (the Australian convention) — but it is taken from the advertised text as-is and is not converted, so an agent who advertised monthly can leave a monthly figure here. Sanity-check rents that look ~4x too high. Null when the listing showed no number (e.g. 'Auction', 'Contact Agent').",
        -                "title": "Price"
        -              },
        -              "type": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Which kind of event this is. One of exactly three values: `'Sold'`, `'For Sale'` (advertised for sale, outcome not necessarily known) or `'For Rent'`. Determines how to read `price` and `date` above.",
        -                "title": "Type"
        -              }
        -            },
        -            "title": "HistoryRecord",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[HistoryRecord]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_HistoryRecord__"
        -}New value: +null
    • Changedproperties_rent_history_latest1 field changed
      • 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": "One event in a property's market history — a sale, or a time it was\nadvertised for sale or for rent.\n\nRecords come from listing feeds, so this is the property's *advertised*\nhistory rather than a title/transfer register: a sale that never went to\nmarket may be absent. Records are returned newest first.",
        -          "properties": {
        -            "address": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "The property's address, title-cased. This is its current address as recorded in the national address file, repeated on every record — not the address text used in that particular listing, so it will not reflect a renumbering or a name change since.",
        -              "title": "Address"
        -            },
        -            "date": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "When the event happened, as `YYYY-MM-DD`. For a `Sold` record this is the sale date; for `For Sale` / `For Rent` it is the date the listing appeared. Note for sold records: where the state land registry is the source this is the contract date rather than settlement, but sold dates sourced from listing portals are not guaranteed to be one or the other — treat it as accurate to the month, not the day.",
        -              "title": "Date"
        -            },
        -            "price": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "The money figure attached to the event, in AUD. On `Sold` and `For Sale` records that is the whole price of the property; on `For Rent` it is the advertised rent, normally per week (the Australian convention) — but it is taken from the advertised text as-is and is not converted, so an agent who advertised monthly can leave a monthly figure here. Sanity-check rents that look ~4x too high. Null when the listing showed no number (e.g. 'Auction', 'Contact Agent').",
        -              "title": "Price"
        -            },
        -            "type": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Which kind of event this is. One of exactly three values: `'Sold'`, `'For Sale'` (advertised for sale, outcome not necessarily known) or `'For Rent'`. Determines how to read `price` and `date` above.",
        -              "title": "Type"
        -            }
        -          },
        -          "title": "HistoryRecord",
        -          "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[HistoryRecord]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_HistoryRecord_"
        -}New value: +null
    • Changedproperties_risks_all1 field changed
      • 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": [
        -        {
        -          "description": "Every property-level risk overlay in one call.\n\nOne failing helper doesn't kill the bundle — nulls pass through.\nCustomer is still billed the full bundle price; check each field\nfor null + use X-Request-Id for any support follow-up.",
        -          "properties": {
        -            "bushfire": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One hazard overlay found near the property.\n\n**A record means the hazard exists within 1 km — read `on_property` to\nlearn whether it covers the property itself.** Every overlay is searched\ninside a 1 km circle around the address point, so the presence of a\nrecord on its own says only *there is mapped hazard land in this\nneighbourhood*. Most records are proximity hits: the property is not in\nthe zone. Never render \"a bushfire record came back\" as \"this property\nis bushfire-prone\" — check `on_property` first, and quote\n`nearest_distance_m` when it is false.\n\n`on_property` is tested against the address point (the geocoded location\nof the dwelling), not a surveyed parcel boundary, so a zone whose edge\nruns through the block can read false while still clipping the land. It\nis a strong indication, not a statutory answer: nothing here substitutes\nfor a planning certificate.",
        -                    "example": {
        -                      "area_level": "Layer",
        -                      "area_name": "Risk Layer",
        -                      "features_within_radius": 25,
        -                      "name": "Fire",
        -                      "nearest_distance_m": 0,
        -                      "on_property": true,
        -                      "search_radius_m": 1000,
        -                      "value": "On property"
        -                    },
        -                    "properties": {
        -                      "area_level": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Constant `'Layer'` on property risks — a placeholder marking these as map-layer hits rather than statistics for a suburb or region. It is not a geographic level and carries no information; the suburb risk endpoints use this slot for a real one.",
        -                        "title": "Area Level"
        -                      },
        -                      "area_name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Constant `'Risk Layer'` on property risks. Like `area_level`, a placeholder that keeps the row shape consistent with area-based responses — not the name of any actual area, and not the name of the hazard (that is `name`).",
        -                        "title": "Area Name"
        -                      },
        -                      "features_within_radius": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "How many features of this overlay fall inside `search_radius_m`. Separates 'one stray polygon clips the corner of the neighbourhood' from 'the whole area is mapped'. Absent on public-housing records, where each record already is one Census area.",
        -                        "title": "Features Within Radius"
        -                      },
        -                      "geojson": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "GeoJSON FeatureCollection of the hazard polygons for this overlay, ST_Intersection-clipped to a 1km-radius circle around the property and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                        "title": "Geojson"
        -                      },
        -                      "geojson_meta": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Clip / simplify / truncation metadata for `geojson` (clip_method='1km_radius', radius_m, simplify tolerance, coordinate precision, feature/byte caps, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                        "title": "Geojson Meta"
        -                      },
        -                      "name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Which hazard this record is about — a fixed label per overlay, e.g. 'Fire', 'Flood', 'Historically Flooded', 'Landslide', 'Erosion', 'Heritage', 'Environment', 'HV Power Line', 'Mobile Black Spot', 'Public Housing'. Suitable for display as-is.",
        -                        "title": "Name"
        -                      },
        -                      "nearest_distance_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Metres from the property's address point to the nearest feature of this overlay, measured geodesically and reported to the whole metre. `0.0` exactly when `on_property` is true. When `on_property` is false this is how far away the hazard really is — a heritage record at 174 m and one at 950 m are both 'found', and only this field separates them. On public-housing records it is the distance to that record's Census area. Accurate to about 2% and biased very slightly long (it never under-reports the gap); at close range the error is sub-metre.",
        -                        "title": "Nearest Distance M"
        -                      },
        -                      "on_property": {
        -                        "anyOf": [
        -                          {
        -                            "type": "boolean"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "**Whether the hazard actually covers this property**, as opposed to merely existing nearby. True when a feature of this overlay contains the property's address point. This is the field to gate any 'this property is in a flood/bushfire/heritage zone' statement on — record presence alone only means 'found within `search_radius_m`'.\n\nTwo overlays are line/point data rather than zones — HV power lines (`'HV Power Line'`) and mobile black spots (`'Mobile Black Spot'`) — and for those `on_property` is false for every property by construction; `nearest_distance_m` is the signal there. On public-housing records it marks the one Census area the property actually sits in.",
        -                        "title": "On Property"
        -                      },
        -                      "search_radius_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "The radius searched around the property, in metres (1000). Any record you receive was found inside this circle; anything beyond it was not looked for. Present so the presence rule is explicit rather than folklore.",
        -                        "title": "Search Radius M"
        -                      },
        -                      "value": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "A display string summarising this record. On hazard overlays (fire, flood, landslide, erosion, heritage, environment, power lines, black spots) it states the containment result in words — `'On property'`, or `'Not on property; nearest 174 m away'`. It is prose for humans: parse `on_property` and `nearest_distance_m` instead. On public-housing records it is instead a preformatted percentage such as `'3.4%'` (see `value_unit`). Do not parse it as a number without checking `value_unit` first.",
        -                        "title": "Value"
        -                      },
        -                      "value_unit": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "What `value` is measured in, and the flag for whether it is a number at all. Null on hazard overlays, whose `value` is the containment sentence. `'Properties Proportion'` on public-housing records, meaning `value` is the share of dwellings in a nearby small Census area that are public housing, written as a percentage string. Public housing can return several records — one per nearby Census area that clears a minimum share — so expect a list, not a single figure.",
        -                        "title": "Value Unit"
        -                      }
        -                    },
        -                    "title": "RiskRecord",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "example": [
        -                {
        -                  "area_level": "Layer",
        -                  "area_name": "Risk Layer",
        -                  "features_within_radius": 25,
        -                  "name": "Fire",
        -                  "nearest_distance_m": 0,
        -                  "on_property": true,
        -                  "search_radius_m": 1000,
        -                  "value": "On property"
        -                }
        -              ],
        -              "title": "Bushfire"
        -            },
        -            "environment": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One hazard overlay found near the property.\n\n**A record means the hazard exists within 1 km — read `on_property` to\nlearn whether it covers the property itself.** Every overlay is searched\ninside a 1 km circle around the address point, so the presence of a\nrecord on its own says only *there is mapped hazard land in this\nneighbourhood*. Most records are proximity hits: the property is not in\nthe zone. Never render \"a bushfire record came back\" as \"this property\nis bushfire-prone\" — check `on_property` first, and quote\n`nearest_distance_m` when it is false.\n\n`on_property` is tested against the address point (the geocoded location\nof the dwelling), not a surveyed parcel boundary, so a zone whose edge\nruns through the block can read false while still clipping the land. It\nis a strong indication, not a statutory answer: nothing here substitutes\nfor a planning certificate.",
        -                    "example": {
        -                      "area_level": "Layer",
        -                      "area_name": "Risk Layer",
        -                      "features_within_radius": 25,
        -                      "name": "Fire",
        -                      "nearest_distance_m": 0,
        -                      "on_property": true,
        -                      "search_radius_m": 1000,
        -                      "value": "On property"
        -                    },
        -                    "properties": {
        -                      "area_level": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Constant `'Layer'` on property risks — a placeholder marking these as map-layer hits rather than statistics for a suburb or region. It is not a geographic level and carries no information; the suburb risk endpoints use this slot for a real one.",
        -                        "title": "Area Level"
        -                      },
        -                      "area_name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Constant `'Risk Layer'` on property risks. Like `area_level`, a placeholder that keeps the row shape consistent with area-based responses — not the name of any actual area, and not the name of the hazard (that is `name`).",
        -                        "title": "Area Name"
        -                      },
        -                      "features_within_radius": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "How many features of this overlay fall inside `search_radius_m`. Separates 'one stray polygon clips the corner of the neighbourhood' from 'the whole area is mapped'. Absent on public-housing records, where each record already is one Census area.",
        -                        "title": "Features Within Radius"
        -                      },
        -                      "geojson": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "GeoJSON FeatureCollection of the hazard polygons for this overlay, ST_Intersection-clipped to a 1km-radius circle around the property and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                        "title": "Geojson"
        -                      },
        -                      "geojson_meta": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Clip / simplify / truncation metadata for `geojson` (clip_method='1km_radius', radius_m, simplify tolerance, coordinate precision, feature/byte caps, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                        "title": "Geojson Meta"
        -                      },
        -                      "name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Which hazard this record is about — a fixed label per overlay, e.g. 'Fire', 'Flood', 'Historically Flooded', 'Landslide', 'Erosion', 'Heritage', 'Environment', 'HV Power Line', 'Mobile Black Spot', 'Public Housing'. Suitable for display as-is.",
        -                        "title": "Name"
        -                      },
        -                      "nearest_distance_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Metres from the property's address point to the nearest feature of this overlay, measured geodesically and reported to the whole metre. `0.0` exactly when `on_property` is true. When `on_property` is false this is how far away the hazard really is — a heritage record at 174 m and one at 950 m are both 'found', and only this field separates them. On public-housing records it is the distance to that record's Census area. Accurate to about 2% and biased very slightly long (it never under-reports the gap); at close range the error is sub-metre.",
        -                        "title": "Nearest Distance M"
        -                      },
        -                      "on_property": {
        -                        "anyOf": [
        -                          {
        -                            "type": "boolean"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "**Whether the hazard actually covers this property**, as opposed to merely existing nearby. True when a feature of this overlay contains the property's address point. This is the field to gate any 'this property is in a flood/bushfire/heritage zone' statement on — record presence alone only means 'found within `search_radius_m`'.\n\nTwo overlays are line/point data rather than zones — HV power lines (`'HV Power Line'`) and mobile black spots (`'Mobile Black Spot'`) — and for those `on_property` is false for every property by construction; `nearest_distance_m` is the signal there. On public-housing records it marks the one Census area the property actually sits in.",
        -                        "title": "On Property"
        -                      },
        -                      "search_radius_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "The radius searched around the property, in metres (1000). Any record you receive was found inside this circle; anything beyond it was not looked for. Present so the presence rule is explicit rather than folklore.",
        -                        "title": "Search Radius M"
        -                      },
        -                      "value": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "A display string summarising this record. On hazard overlays (fire, flood, landslide, erosion, heritage, environment, power lines, black spots) it states the containment result in words — `'On property'`, or `'Not on property; nearest 174 m away'`. It is prose for humans: parse `on_property` and `nearest_distance_m` instead. On public-housing records it is instead a preformatted percentage such as `'3.4%'` (see `value_unit`). Do not parse it as a number without checking `value_unit` first.",
        -                        "title": "Value"
        -                      },
        -                      "value_unit": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "What `value` is measured in, and the flag for whether it is a number at all. Null on hazard overlays, whose `value` is the containment sentence. `'Properties Proportion'` on public-housing records, meaning `value` is the share of dwellings in a nearby small Census area that are public housing, written as a percentage string. Public housing can return several records — one per nearby Census area that clears a minimum share — so expect a list, not a single figure.",
        -                        "title": "Value Unit"
        -                      }
        -                    },
        -                    "title": "RiskRecord",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "example": [
        -                {
        -                  "area_level": "Layer",
        -                  "area_name": "Risk Layer",
        -                  "features_within_radius": 3,
        -                  "name": "Environment",
        -                  "nearest_distance_m": 640,
        -                  "on_property": false,
        -                  "search_radius_m": 1000,
        -                  "value": "Not on property; nearest 640 m away"
        -                }
        -              ],
        -              "title": "Environment"
        -            },
        -            "erosion": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One hazard overlay found near the property.\n\n**A record means the hazard exists within 1 km — read `on_property` to\nlearn whether it covers the property itself.** Every overlay is searched\ninside a 1 km circle around the address point, so the presence of a\nrecord on its own says only *there is mapped hazard land in this\nneighbourhood*. Most records are proximity hits: the property is not in\nthe zone. Never render \"a bushfire record came back\" as \"this property\nis bushfire-prone\" — check `on_property` first, and quote\n`nearest_distance_m` when it is false.\n\n`on_property` is tested against the address point (the geocoded location\nof the dwelling), not a surveyed parcel boundary, so a zone whose edge\nruns through the block can read false while still clipping the land. It\nis a strong indication, not a statutory answer: nothing here substitutes\nfor a planning certificate.",
        -                    "example": {
        -                      "area_level": "Layer",
        -                      "area_name": "Risk Layer",
        -                      "features_within_radius": 25,
        -                      "name": "Fire",
        -                      "nearest_distance_m": 0,
        -                      "on_property": true,
        -                      "search_radius_m": 1000,
        -                      "value": "On property"
        -                    },
        -                    "properties": {
        -                      "area_level": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Constant `'Layer'` on property risks — a placeholder marking these as map-layer hits rather than statistics for a suburb or region. It is not a geographic level and carries no information; the suburb risk endpoints use this slot for a real one.",
        -                        "title": "Area Level"
        -                      },
        -                      "area_name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Constant `'Risk Layer'` on property risks. Like `area_level`, a placeholder that keeps the row shape consistent with area-based responses — not the name of any actual area, and not the name of the hazard (that is `name`).",
        -                        "title": "Area Name"
        -                      },
        -                      "features_within_radius": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "How many features of this overlay fall inside `search_radius_m`. Separates 'one stray polygon clips the corner of the neighbourhood' from 'the whole area is mapped'. Absent on public-housing records, where each record already is one Census area.",
        -                        "title": "Features Within Radius"
        -                      },
        -                      "geojson": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "GeoJSON FeatureCollection of the hazard polygons for this overlay, ST_Intersection-clipped to a 1km-radius circle around the property and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                        "title": "Geojson"
        -                      },
        -                      "geojson_meta": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Clip / simplify / truncation metadata for `geojson` (clip_method='1km_radius', radius_m, simplify tolerance, coordinate precision, feature/byte caps, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                        "title": "Geojson Meta"
        -                      },
        -                      "name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Which hazard this record is about — a fixed label per overlay, e.g. 'Fire', 'Flood', 'Historically Flooded', 'Landslide', 'Erosion', 'Heritage', 'Environment', 'HV Power Line', 'Mobile Black Spot', 'Public Housing'. Suitable for display as-is.",
        -                        "title": "Name"
        -                      },
        -                      "nearest_distance_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Metres from the property's address point to the nearest feature of this overlay, measured geodesically and reported to the whole metre. `0.0` exactly when `on_property` is true. When `on_property` is false this is how far away the hazard really is — a heritage record at 174 m and one at 950 m are both 'found', and only this field separates them. On public-housing records it is the distance to that record's Census area. Accurate to about 2% and biased very slightly long (it never under-reports the gap); at close range the error is sub-metre.",
        -                        "title": "Nearest Distance M"
        -                      },
        -                      "on_property": {
        -                        "anyOf": [
        -                          {
        -                            "type": "boolean"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "**Whether the hazard actually covers this property**, as opposed to merely existing nearby. True when a feature of this overlay contains the property's address point. This is the field to gate any 'this property is in a flood/bushfire/heritage zone' statement on — record presence alone only means 'found within `search_radius_m`'.\n\nTwo overlays are line/point data rather than zones — HV power lines (`'HV Power Line'`) and mobile black spots (`'Mobile Black Spot'`) — and for those `on_property` is false for every property by construction; `nearest_distance_m` is the signal there. On public-housing records it marks the one Census area the property actually sits in.",
        -                        "title": "On Property"
        -                      },
        -                      "search_radius_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "The radius searched around the property, in metres (1000). Any record you receive was found inside this circle; anything beyond it was not looked for. Present so the presence rule is explicit rather than folklore.",
        -                        "title": "Search Radius M"
        -                      },
        -                      "value": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "A display string summarising this record. On hazard overlays (fire, flood, landslide, erosion, heritage, environment, power lines, black spots) it states the containment result in words — `'On property'`, or `'Not on property; nearest 174 m away'`. It is prose for humans: parse `on_property` and `nearest_distance_m` instead. On public-housing records it is instead a preformatted percentage such as `'3.4%'` (see `value_unit`). Do not parse it as a number without checking `value_unit` first.",
        -                        "title": "Value"
        -                      },
        -                      "value_unit": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "What `value` is measured in, and the flag for whether it is a number at all. Null on hazard overlays, whose `value` is the containment sentence. `'Properties Proportion'` on public-housing records, meaning `value` is the share of dwellings in a nearby small Census area that are public housing, written as a percentage string. Public housing can return several records — one per nearby Census area that clears a minimum share — so expect a list, not a single figure.",
        -                        "title": "Value Unit"
        -                      }
        -                    },
        -                    "title": "RiskRecord",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "example": [
        -                {
        -                  "area_level": "Layer",
        -                  "area_name": "Risk Layer",
        -                  "features_within_radius": 4,
        -                  "name": "Erosion",
        -                  "nearest_distance_m": 245,
        -                  "on_property": false,
        -                  "search_radius_m": 1000,
        -                  "value": "Not on property; nearest 245 m away"
        -                }
        -              ],
        -              "title": "Erosion"
        -            },
        -            "flood": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One hazard overlay found near the property.\n\n**A record means the hazard exists within 1 km — read `on_property` to\nlearn whether it covers the property itself.** Every overlay is searched\ninside a 1 km circle around the address point, so the presence of a\nrecord on its own says only *there is mapped hazard land in this\nneighbourhood*. Most records are proximity hits: the property is not in\nthe zone. Never render \"a bushfire record came back\" as \"this property\nis bushfire-prone\" — check `on_property` first, and quote\n`nearest_distance_m` when it is false.\n\n`on_property` is tested against the address point (the geocoded location\nof the dwelling), not a surveyed parcel boundary, so a zone whose edge\nruns through the block can read false while still clipping the land. It\nis a strong indication, not a statutory answer: nothing here substitutes\nfor a planning certificate.",
        -                    "example": {
        -                      "area_level": "Layer",
        -                      "area_name": "Risk Layer",
        -                      "features_within_radius": 25,
        -                      "name": "Fire",
        -                      "nearest_distance_m": 0,
        -                      "on_property": true,
        -                      "search_radius_m": 1000,
        -                      "value": "On property"
        -                    },
        -                    "properties": {
        -                      "area_level": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Constant `'Layer'` on property risks — a placeholder marking these as map-layer hits rather than statistics for a suburb or region. It is not a geographic level and carries no information; the suburb risk endpoints use this slot for a real one.",
        -                        "title": "Area Level"
        -                      },
        -                      "area_name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Constant `'Risk Layer'` on property risks. Like `area_level`, a placeholder that keeps the row shape consistent with area-based responses — not the name of any actual area, and not the name of the hazard (that is `name`).",
        -                        "title": "Area Name"
        -                      },
        -                      "features_within_radius": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "How many features of this overlay fall inside `search_radius_m`. Separates 'one stray polygon clips the corner of the neighbourhood' from 'the whole area is mapped'. Absent on public-housing records, where each record already is one Census area.",
        -                        "title": "Features Within Radius"
        -                      },
        -                      "geojson": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "GeoJSON FeatureCollection of the hazard polygons for this overlay, ST_Intersection-clipped to a 1km-radius circle around the property and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                        "title": "Geojson"
        -                      },
        -                      "geojson_meta": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Clip / simplify / truncation metadata for `geojson` (clip_method='1km_radius', radius_m, simplify tolerance, coordinate precision, feature/byte caps, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                        "title": "Geojson Meta"
        -                      },
        -                      "name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Which hazard this record is about — a fixed label per overlay, e.g. 'Fire', 'Flood', 'Historically Flooded', 'Landslide', 'Erosion', 'Heritage', 'Environment', 'HV Power Line', 'Mobile Black Spot', 'Public Housing'. Suitable for display as-is.",
        -                        "title": "Name"
        -                      },
        -                      "nearest_distance_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Metres from the property's address point to the nearest feature of this overlay, measured geodesically and reported to the whole metre. `0.0` exactly when `on_property` is true. When `on_property` is false this is how far away the hazard really is — a heritage record at 174 m and one at 950 m are both 'found', and only this field separates them. On public-housing records it is the distance to that record's Census area. Accurate to about 2% and biased very slightly long (it never under-reports the gap); at close range the error is sub-metre.",
        -                        "title": "Nearest Distance M"
        -                      },
        -                      "on_property": {
        -                        "anyOf": [
        -                          {
        -                            "type": "boolean"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "**Whether the hazard actually covers this property**, as opposed to merely existing nearby. True when a feature of this overlay contains the property's address point. This is the field to gate any 'this property is in a flood/bushfire/heritage zone' statement on — record presence alone only means 'found within `search_radius_m`'.\n\nTwo overlays are line/point data rather than zones — HV power lines (`'HV Power Line'`) and mobile black spots (`'Mobile Black Spot'`) — and for those `on_property` is false for every property by construction; `nearest_distance_m` is the signal there. On public-housing records it marks the one Census area the property actually sits in.",
        -                        "title": "On Property"
        -                      },
        -                      "search_radius_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "The radius searched around the property, in metres (1000). Any record you receive was found inside this circle; anything beyond it was not looked for. Present so the presence rule is explicit rather than folklore.",
        -                        "title": "Search Radius M"
        -                      },
        -                      "value": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "A display string summarising this record. On hazard overlays (fire, flood, landslide, erosion, heritage, environment, power lines, black spots) it states the containment result in words — `'On property'`, or `'Not on property; nearest 174 m away'`. It is prose for humans: parse `on_property` and `nearest_distance_m` instead. On public-housing records it is instead a preformatted percentage such as `'3.4%'` (see `value_unit`). Do not parse it as a number without checking `value_unit` first.",
        -                        "title": "Value"
        -                      },
        -                      "value_unit": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "What `value` is measured in, and the flag for whether it is a number at all. Null on hazard overlays, whose `value` is the containment sentence. `'Properties Proportion'` on public-housing records, meaning `value` is the share of dwellings in a nearby small Census area that are public housing, written as a percentage string. Public housing can return several records — one per nearby Census area that clears a minimum share — so expect a list, not a single figure.",
        -                        "title": "Value Unit"
        -                      }
        -                    },
        -                    "title": "RiskRecord",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "example": [
        -                {
        -                  "area_level": "Layer",
        -                  "area_name": "Risk Layer",
        -                  "features_within_radius": 9,
        -                  "name": "Flood",
        -                  "nearest_distance_m": 257,
        -                  "on_property": false,
        -                  "search_radius_m": 1000,
        -                  "value": "Not on property; nearest 257 m away"
        -                }
        -              ],
        -              "title": "Flood"
        -            },
        -            "heritage": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One hazard overlay found near the property.\n\n**A record means the hazard exists within 1 km — read `on_property` to\nlearn whether it covers the property itself.** Every overlay is searched\ninside a 1 km circle around the address point, so the presence of a\nrecord on its own says only *there is mapped hazard land in this\nneighbourhood*. Most records are proximity hits: the property is not in\nthe zone. Never render \"a bushfire record came back\" as \"this property\nis bushfire-prone\" — check `on_property` first, and quote\n`nearest_distance_m` when it is false.\n\n`on_property` is tested against the address point (the geocoded location\nof the dwelling), not a surveyed parcel boundary, so a zone whose edge\nruns through the block can read false while still clipping the land. It\nis a strong indication, not a statutory answer: nothing here substitutes\nfor a planning certificate.",
        -                    "example": {
        -                      "area_level": "Layer",
        -                      "area_name": "Risk Layer",
        -                      "features_within_radius": 25,
        -                      "name": "Fire",
        -                      "nearest_distance_m": 0,
        -                      "on_property": true,
        -                      "search_radius_m": 1000,
        -                      "value": "On property"
        -                    },
        -                    "properties": {
        -                      "area_level": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Constant `'Layer'` on property risks — a placeholder marking these as map-layer hits rather than statistics for a suburb or region. It is not a geographic level and carries no information; the suburb risk endpoints use this slot for a real one.",
        -                        "title": "Area Level"
        -                      },
        -                      "area_name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Constant `'Risk Layer'` on property risks. Like `area_level`, a placeholder that keeps the row shape consistent with area-based responses — not the name of any actual area, and not the name of the hazard (that is `name`).",
        -                        "title": "Area Name"
        -                      },
        -                      "features_within_radius": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "How many features of this overlay fall inside `search_radius_m`. Separates 'one stray polygon clips the corner of the neighbourhood' from 'the whole area is mapped'. Absent on public-housing records, where each record already is one Census area.",
        -                        "title": "Features Within Radius"
        -                      },
        -                      "geojson": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "GeoJSON FeatureCollection of the hazard polygons for this overlay, ST_Intersection-clipped to a 1km-radius circle around the property and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                        "title": "Geojson"
        -                      },
        -                      "geojson_meta": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Clip / simplify / truncation metadata for `geojson` (clip_method='1km_radius', radius_m, simplify tolerance, coordinate precision, feature/byte caps, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                        "title": "Geojson Meta"
        -                      },
        -                      "name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Which hazard this record is about — a fixed label per overlay, e.g. 'Fire', 'Flood', 'Historically Flooded', 'Landslide', 'Erosion', 'Heritage', 'Environment', 'HV Power Line', 'Mobile Black Spot', 'Public Housing'. Suitable for display as-is.",
        -                        "title": "Name"
        -                      },
        -                      "nearest_distance_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Metres from the property's address point to the nearest feature of this overlay, measured geodesically and reported to the whole metre. `0.0` exactly when `on_property` is true. When `on_property` is false this is how far away the hazard really is — a heritage record at 174 m and one at 950 m are both 'found', and only this field separates them. On public-housing records it is the distance to that record's Census area. Accurate to about 2% and biased very slightly long (it never under-reports the gap); at close range the error is sub-metre.",
        -                        "title": "Nearest Distance M"
        -                      },
        -                      "on_property": {
        -                        "anyOf": [
        -                          {
        -                            "type": "boolean"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "**Whether the hazard actually covers this property**, as opposed to merely existing nearby. True when a feature of this overlay contains the property's address point. This is the field to gate any 'this property is in a flood/bushfire/heritage zone' statement on — record presence alone only means 'found within `search_radius_m`'.\n\nTwo overlays are line/point data rather than zones — HV power lines (`'HV Power Line'`) and mobile black spots (`'Mobile Black Spot'`) — and for those `on_property` is false for every property by construction; `nearest_distance_m` is the signal there. On public-housing records it marks the one Census area the property actually sits in.",
        -                        "title": "On Property"
        -                      },
        -                      "search_radius_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "The radius searched around the property, in metres (1000). Any record you receive was found inside this circle; anything beyond it was not looked for. Present so the presence rule is explicit rather than folklore.",
        -                        "title": "Search Radius M"
        -                      },
        -                      "value": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "A display string summarising this record. On hazard overlays (fire, flood, landslide, erosion, heritage, environment, power lines, black spots) it states the containment result in words — `'On property'`, or `'Not on property; nearest 174 m away'`. It is prose for humans: parse `on_property` and `nearest_distance_m` instead. On public-housing records it is instead a preformatted percentage such as `'3.4%'` (see `value_unit`). Do not parse it as a number without checking `value_unit` first.",
        -                        "title": "Value"
        -                      },
        -                      "value_unit": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "What `value` is measured in, and the flag for whether it is a number at all. Null on hazard overlays, whose `value` is the containment sentence. `'Properties Proportion'` on public-housing records, meaning `value` is the share of dwellings in a nearby small Census area that are public housing, written as a percentage string. Public housing can return several records — one per nearby Census area that clears a minimum share — so expect a list, not a single figure.",
        -                        "title": "Value Unit"
        -                      }
        -                    },
        -                    "title": "RiskRecord",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "example": [
        -                {
        -                  "area_level": "Layer",
        -                  "area_name": "Risk Layer",
        -                  "features_within_radius": 8,
        -                  "name": "Heritage",
        -                  "nearest_distance_m": 174,
        -                  "on_property": false,
        -                  "search_radius_m": 1000,
        -                  "value": "Not on property; nearest 174 m away"
        -                }
        -              ],
        -              "title": "Heritage"
        -            },
        -            "historical_flood": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One hazard overlay found near the property.\n\n**A record means the hazard exists within 1 km — read `on_property` to\nlearn whether it covers the property itself.** Every overlay is searched\ninside a 1 km circle around the address point, so the presence of a\nrecord on its own says only *there is mapped hazard land in this\nneighbourhood*. Most records are proximity hits: the property is not in\nthe zone. Never render \"a bushfire record came back\" as \"this property\nis bushfire-prone\" — check `on_property` first, and quote\n`nearest_distance_m` when it is false.\n\n`on_property` is tested against the address point (the geocoded location\nof the dwelling), not a surveyed parcel boundary, so a zone whose edge\nruns through the block can read false while still clipping the land. It\nis a strong indication, not a statutory answer: nothing here substitutes\nfor a planning certificate.",
        -                    "example": {
        -                      "area_level": "Layer",
        -                      "area_name": "Risk Layer",
        -                      "features_within_radius": 25,
        -                      "name": "Fire",
        -                      "nearest_distance_m": 0,
        -                      "on_property": true,
        -                      "search_radius_m": 1000,
        -                      "value": "On property"
        -                    },
        -                    "properties": {
        -                      "area_level": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Constant `'Layer'` on property risks — a placeholder marking these as map-layer hits rather than statistics for a suburb or region. It is not a geographic level and carries no information; the suburb risk endpoints use this slot for a real one.",
        -                        "title": "Area Level"
        -                      },
        -                      "area_name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Constant `'Risk Layer'` on property risks. Like `area_level`, a placeholder that keeps the row shape consistent with area-based responses — not the name of any actual area, and not the name of the hazard (that is `name`).",
        -                        "title": "Area Name"
        -                      },
        -                      "features_within_radius": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "How many features of this overlay fall inside `search_radius_m`. Separates 'one stray polygon clips the corner of the neighbourhood' from 'the whole area is mapped'. Absent on public-housing records, where each record already is one Census area.",
        -                        "title": "Features Within Radius"
        -                      },
        -                      "geojson": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "GeoJSON FeatureCollection of the hazard polygons for this overlay, ST_Intersection-clipped to a 1km-radius circle around the property and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                        "title": "Geojson"
        -                      },
        -                      "geojson_meta": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Clip / simplify / truncation metadata for `geojson` (clip_method='1km_radius', radius_m, simplify tolerance, coordinate precision, feature/byte caps, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                        "title": "Geojson Meta"
        -                      },
        -                      "name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Which hazard this record is about — a fixed label per overlay, e.g. 'Fire', 'Flood', 'Historically Flooded', 'Landslide', 'Erosion', 'Heritage', 'Environment', 'HV Power Line', 'Mobile Black Spot', 'Public Housing'. Suitable for display as-is.",
        -                        "title": "Name"
        -                      },
        -                      "nearest_distance_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Metres from the property's address point to the nearest feature of this overlay, measured geodesically and reported to the whole metre. `0.0` exactly when `on_property` is true. When `on_property` is false this is how far away the hazard really is — a heritage record at 174 m and one at 950 m are both 'found', and only this field separates them. On public-housing records it is the distance to that record's Census area. Accurate to about 2% and biased very slightly long (it never under-reports the gap); at close range the error is sub-metre.",
        -                        "title": "Nearest Distance M"
        -                      },
        -                      "on_property": {
        -                        "anyOf": [
        -                          {
        -                            "type": "boolean"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "**Whether the hazard actually covers this property**, as opposed to merely existing nearby. True when a feature of this overlay contains the property's address point. This is the field to gate any 'this property is in a flood/bushfire/heritage zone' statement on — record presence alone only means 'found within `search_radius_m`'.\n\nTwo overlays are line/point data rather than zones — HV power lines (`'HV Power Line'`) and mobile black spots (`'Mobile Black Spot'`) — and for those `on_property` is false for every property by construction; `nearest_distance_m` is the signal there. On public-housing records it marks the one Census area the property actually sits in.",
        -                        "title": "On Property"
        -                      },
        -                      "search_radius_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "The radius searched around the property, in metres (1000). Any record you receive was found inside this circle; anything beyond it was not looked for. Present so the presence rule is explicit rather than folklore.",
        -                        "title": "Search Radius M"
        -                      },
        -                      "value": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "A display string summarising this record. On hazard overlays (fire, flood, landslide, erosion, heritage, environment, power lines, black spots) it states the containment result in words — `'On property'`, or `'Not on property; nearest 174 m away'`. It is prose for humans: parse `on_property` and `nearest_distance_m` instead. On public-housing records it is instead a preformatted percentage such as `'3.4%'` (see `value_unit`). Do not parse it as a number without checking `value_unit` first.",
        -                        "title": "Value"
        -                      },
        -                      "value_unit": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "What `value` is measured in, and the flag for whether it is a number at all. Null on hazard overlays, whose `value` is the containment sentence. `'Properties Proportion'` on public-housing records, meaning `value` is the share of dwellings in a nearby small Census area that are public housing, written as a percentage string. Public housing can return several records — one per nearby Census area that clears a minimum share — so expect a list, not a single figure.",
        -                        "title": "Value Unit"
        -                      }
        -                    },
        -                    "title": "RiskRecord",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "example": [
        -                {
        -                  "area_level": "Layer",
        -                  "area_name": "Risk Layer",
        -                  "features_within_radius": 2,
        -                  "name": "Historically Flooded",
        -                  "nearest_distance_m": 413,
        -                  "on_property": false,
        -                  "search_radius_m": 1000,
        -                  "value": "Not on property; nearest 413 m away"
        -                }
        -              ],
        -              "title": "Historical Flood"
        -            },
        -            "hv_power_line": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One hazard overlay found near the property.\n\n**A record means the hazard exists within 1 km — read `on_property` to\nlearn whether it covers the property itself.** Every overlay is searched\ninside a 1 km circle around the address point, so the presence of a\nrecord on its own says only *there is mapped hazard land in this\nneighbourhood*. Most records are proximity hits: the property is not in\nthe zone. Never render \"a bushfire record came back\" as \"this property\nis bushfire-prone\" — check `on_property` first, and quote\n`nearest_distance_m` when it is false.\n\n`on_property` is tested against the address point (the geocoded location\nof the dwelling), not a surveyed parcel boundary, so a zone whose edge\nruns through the block can read false while still clipping the land. It\nis a strong indication, not a statutory answer: nothing here substitutes\nfor a planning certificate.",
        -                    "example": {
        -                      "area_level": "Layer",
        -                      "area_name": "Risk Layer",
        -                      "features_within_radius": 25,
        -                      "name": "Fire",
        -                      "nearest_distance_m": 0,
        -                      "on_property": true,
        -                      "search_radius_m": 1000,
        -                      "value": "On property"
        -                    },
        -                    "properties": {
        -                      "area_level": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Constant `'Layer'` on property risks — a placeholder marking these as map-layer hits rather than statistics for a suburb or region. It is not a geographic level and carries no information; the suburb risk endpoints use this slot for a real one.",
        -                        "title": "Area Level"
        -                      },
        -                      "area_name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Constant `'Risk Layer'` on property risks. Like `area_level`, a placeholder that keeps the row shape consistent with area-based responses — not the name of any actual area, and not the name of the hazard (that is `name`).",
        -                        "title": "Area Name"
        -                      },
        -                      "features_within_radius": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "How many features of this overlay fall inside `search_radius_m`. Separates 'one stray polygon clips the corner of the neighbourhood' from 'the whole area is mapped'. Absent on public-housing records, where each record already is one Census area.",
        -                        "title": "Features Within Radius"
        -                      },
        -                      "geojson": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "GeoJSON FeatureCollection of the hazard polygons for this overlay, ST_Intersection-clipped to a 1km-radius circle around the property and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                        "title": "Geojson"
        -                      },
        -                      "geojson_meta": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Clip / simplify / truncation metadata for `geojson` (clip_method='1km_radius', radius_m, simplify tolerance, coordinate precision, feature/byte caps, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                        "title": "Geojson Meta"
        -                      },
        -                      "name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Which hazard this record is about — a fixed label per overlay, e.g. 'Fire', 'Flood', 'Historically Flooded', 'Landslide', 'Erosion', 'Heritage', 'Environment', 'HV Power Line', 'Mobile Black Spot', 'Public Housing'. Suitable for display as-is.",
        -                        "title": "Name"
        -                      },
        -                      "nearest_distance_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Metres from the property's address point to the nearest feature of this overlay, measured geodesically and reported to the whole metre. `0.0` exactly when `on_property` is true. When `on_property` is false this is how far away the hazard really is — a heritage record at 174 m and one at 950 m are both 'found', and only this field separates them. On public-housing records it is the distance to that record's Census area. Accurate to about 2% and biased very slightly long (it never under-reports the gap); at close range the error is sub-metre.",
        -                        "title": "Nearest Distance M"
        -                      },
        -                      "on_property": {
        -                        "anyOf": [
        -                          {
        -                            "type": "boolean"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "**Whether the hazard actually covers this property**, as opposed to merely existing nearby. True when a feature of this overlay contains the property's address point. This is the field to gate any 'this property is in a flood/bushfire/heritage zone' statement on — record presence alone only means 'found within `search_radius_m`'.\n\nTwo overlays are line/point data rather than zones — HV power lines (`'HV Power Line'`) and mobile black spots (`'Mobile Black Spot'`) — and for those `on_property` is false for every property by construction; `nearest_distance_m` is the signal there. On public-housing records it marks the one Census area the property actually sits in.",
        -                        "title": "On Property"
        -                      },
        -                      "search_radius_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "The radius searched around the property, in metres (1000). Any record you receive was found inside this circle; anything beyond it was not looked for. Present so the presence rule is explicit rather than folklore.",
        -                        "title": "Search Radius M"
        -                      },
        -                      "value": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "A display string summarising this record. On hazard overlays (fire, flood, landslide, erosion, heritage, environment, power lines, black spots) it states the containment result in words — `'On property'`, or `'Not on property; nearest 174 m away'`. It is prose for humans: parse `on_property` and `nearest_distance_m` instead. On public-housing records it is instead a preformatted percentage such as `'3.4%'` (see `value_unit`). Do not parse it as a number without checking `value_unit` first.",
        -                        "title": "Value"
        -                      },
        -                      "value_unit": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "What `value` is measured in, and the flag for whether it is a number at all. Null on hazard overlays, whose `value` is the containment sentence. `'Properties Proportion'` on public-housing records, meaning `value` is the share of dwellings in a nearby small Census area that are public housing, written as a percentage string. Public housing can return several records — one per nearby Census area that clears a minimum share — so expect a list, not a single figure.",
        -                        "title": "Value Unit"
        -                      }
        -                    },
        -                    "title": "RiskRecord",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "example": [
        -                {
        -                  "area_level": "Layer",
        -                  "area_name": "Risk Layer",
        -                  "features_within_radius": 1,
        -                  "name": "HV Power Line",
        -                  "nearest_distance_m": 341,
        -                  "on_property": false,
        -                  "search_radius_m": 1000,
        -                  "value": "Not on property; nearest 341 m away"
        -                }
        -              ],
        -              "title": "Hv Power Line"
        -            },
        -            "landslide": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One hazard overlay found near the property.\n\n**A record means the hazard exists within 1 km — read `on_property` to\nlearn whether it covers the property itself.** Every overlay is searched\ninside a 1 km circle around the address point, so the presence of a\nrecord on its own says only *there is mapped hazard land in this\nneighbourhood*. Most records are proximity hits: the property is not in\nthe zone. Never render \"a bushfire record came back\" as \"this property\nis bushfire-prone\" — check `on_property` first, and quote\n`nearest_distance_m` when it is false.\n\n`on_property` is tested against the address point (the geocoded location\nof the dwelling), not a surveyed parcel boundary, so a zone whose edge\nruns through the block can read false while still clipping the land. It\nis a strong indication, not a statutory answer: nothing here substitutes\nfor a planning certificate.",
        -                    "example": {
        -                      "area_level": "Layer",
        -                      "area_name": "Risk Layer",
        -                      "features_within_radius": 25,
        -                      "name": "Fire",
        -                      "nearest_distance_m": 0,
        -                      "on_property": true,
        -                      "search_radius_m": 1000,
        -                      "value": "On property"
        -                    },
        -                    "properties": {
        -                      "area_level": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Constant `'Layer'` on property risks — a placeholder marking these as map-layer hits rather than statistics for a suburb or region. It is not a geographic level and carries no information; the suburb risk endpoints use this slot for a real one.",
        -                        "title": "Area Level"
        -                      },
        -                      "area_name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Constant `'Risk Layer'` on property risks. Like `area_level`, a placeholder that keeps the row shape consistent with area-based responses — not the name of any actual area, and not the name of the hazard (that is `name`).",
        -                        "title": "Area Name"
        -                      },
        -                      "features_within_radius": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "How many features of this overlay fall inside `search_radius_m`. Separates 'one stray polygon clips the corner of the neighbourhood' from 'the whole area is mapped'. Absent on public-housing records, where each record already is one Census area.",
        -                        "title": "Features Within Radius"
        -                      },
        -                      "geojson": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "GeoJSON FeatureCollection of the hazard polygons for this overlay, ST_Intersection-clipped to a 1km-radius circle around the property and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                        "title": "Geojson"
        -                      },
        -                      "geojson_meta": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Clip / simplify / truncation metadata for `geojson` (clip_method='1km_radius', radius_m, simplify tolerance, coordinate precision, feature/byte caps, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                        "title": "Geojson Meta"
        -                      },
        -                      "name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Which hazard this record is about — a fixed label per overlay, e.g. 'Fire', 'Flood', 'Historically Flooded', 'Landslide', 'Erosion', 'Heritage', 'Environment', 'HV Power Line', 'Mobile Black Spot', 'Public Housing'. Suitable for display as-is.",
        -                        "title": "Name"
        -                      },
        -                      "nearest_distance_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Metres from the property's address point to the nearest feature of this overlay, measured geodesically and reported to the whole metre. `0.0` exactly when `on_property` is true. When `on_property` is false this is how far away the hazard really is — a heritage record at 174 m and one at 950 m are both 'found', and only this field separates them. On public-housing records it is the distance to that record's Census area. Accurate to about 2% and biased very slightly long (it never under-reports the gap); at close range the error is sub-metre.",
        -                        "title": "Nearest Distance M"
        -                      },
        -                      "on_property": {
        -                        "anyOf": [
        -                          {
        -                            "type": "boolean"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "**Whether the hazard actually covers this property**, as opposed to merely existing nearby. True when a feature of this overlay contains the property's address point. This is the field to gate any 'this property is in a flood/bushfire/heritage zone' statement on — record presence alone only means 'found within `search_radius_m`'.\n\nTwo overlays are line/point data rather than zones — HV power lines (`'HV Power Line'`) and mobile black spots (`'Mobile Black Spot'`) — and for those `on_property` is false for every property by construction; `nearest_distance_m` is the signal there. On public-housing records it marks the one Census area the property actually sits in.",
        -                        "title": "On Property"
        -                      },
        -                      "search_radius_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "The radius searched around the property, in metres (1000). Any record you receive was found inside this circle; anything beyond it was not looked for. Present so the presence rule is explicit rather than folklore.",
        -                        "title": "Search Radius M"
        -                      },
        -                      "value": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "A display string summarising this record. On hazard overlays (fire, flood, landslide, erosion, heritage, environment, power lines, black spots) it states the containment result in words — `'On property'`, or `'Not on property; nearest 174 m away'`. It is prose for humans: parse `on_property` and `nearest_distance_m` instead. On public-housing records it is instead a preformatted percentage such as `'3.4%'` (see `value_unit`). Do not parse it as a number without checking `value_unit` first.",
        -                        "title": "Value"
        -                      },
        -                      "value_unit": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "What `value` is measured in, and the flag for whether it is a number at all. Null on hazard overlays, whose `value` is the containment sentence. `'Properties Proportion'` on public-housing records, meaning `value` is the share of dwellings in a nearby small Census area that are public housing, written as a percentage string. Public housing can return several records — one per nearby Census area that clears a minimum share — so expect a list, not a single figure.",
        -                        "title": "Value Unit"
        -                      }
        -                    },
        -                    "title": "RiskRecord",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "example": [
        -                {
        -                  "area_level": "Layer",
        -                  "area_name": "Risk Layer",
        -                  "features_within_radius": 2,
        -                  "name": "Landslide",
        -                  "nearest_distance_m": 0,
        -                  "on_property": true,
        -                  "search_radius_m": 1000,
        -                  "value": "On property"
        -                }
        -              ],
        -              "title": "Landslide"
        -            },
        -            "mobile_black_spot": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One hazard overlay found near the property.\n\n**A record means the hazard exists within 1 km — read `on_property` to\nlearn whether it covers the property itself.** Every overlay is searched\ninside a 1 km circle around the address point, so the presence of a\nrecord on its own says only *there is mapped hazard land in this\nneighbourhood*. Most records are proximity hits: the property is not in\nthe zone. Never render \"a bushfire record came back\" as \"this property\nis bushfire-prone\" — check `on_property` first, and quote\n`nearest_distance_m` when it is false.\n\n`on_property` is tested against the address point (the geocoded location\nof the dwelling), not a surveyed parcel boundary, so a zone whose edge\nruns through the block can read false while still clipping the land. It\nis a strong indication, not a statutory answer: nothing here substitutes\nfor a planning certificate.",
        -                    "example": {
        -                      "area_level": "Layer",
        -                      "area_name": "Risk Layer",
        -                      "features_within_radius": 25,
        -                      "name": "Fire",
        -                      "nearest_distance_m": 0,
        -                      "on_property": true,
        -                      "search_radius_m": 1000,
        -                      "value": "On property"
        -                    },
        -                    "properties": {
        -                      "area_level": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Constant `'Layer'` on property risks — a placeholder marking these as map-layer hits rather than statistics for a suburb or region. It is not a geographic level and carries no information; the suburb risk endpoints use this slot for a real one.",
        -                        "title": "Area Level"
        -                      },
        -                      "area_name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Constant `'Risk Layer'` on property risks. Like `area_level`, a placeholder that keeps the row shape consistent with area-based responses — not the name of any actual area, and not the name of the hazard (that is `name`).",
        -                        "title": "Area Name"
        -                      },
        -                      "features_within_radius": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "How many features of this overlay fall inside `search_radius_m`. Separates 'one stray polygon clips the corner of the neighbourhood' from 'the whole area is mapped'. Absent on public-housing records, where each record already is one Census area.",
        -                        "title": "Features Within Radius"
        -                      },
        -                      "geojson": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "GeoJSON FeatureCollection of the hazard polygons for this overlay, ST_Intersection-clipped to a 1km-radius circle around the property and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                        "title": "Geojson"
        -                      },
        -                      "geojson_meta": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Clip / simplify / truncation metadata for `geojson` (clip_method='1km_radius', radius_m, simplify tolerance, coordinate precision, feature/byte caps, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                        "title": "Geojson Meta"
        -                      },
        -                      "name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Which hazard this record is about — a fixed label per overlay, e.g. 'Fire', 'Flood', 'Historically Flooded', 'Landslide', 'Erosion', 'Heritage', 'Environment', 'HV Power Line', 'Mobile Black Spot', 'Public Housing'. Suitable for display as-is.",
        -                        "title": "Name"
        -                      },
        -                      "nearest_distance_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Metres from the property's address point to the nearest feature of this overlay, measured geodesically and reported to the whole metre. `0.0` exactly when `on_property` is true. When `on_property` is false this is how far away the hazard really is — a heritage record at 174 m and one at 950 m are both 'found', and only this field separates them. On public-housing records it is the distance to that record's Census area. Accurate to about 2% and biased very slightly long (it never under-reports the gap); at close range the error is sub-metre.",
        -                        "title": "Nearest Distance M"
        -                      },
        -                      "on_property": {
        -                        "anyOf": [
        -                          {
        -                            "type": "boolean"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "**Whether the hazard actually covers this property**, as opposed to merely existing nearby. True when a feature of this overlay contains the property's address point. This is the field to gate any 'this property is in a flood/bushfire/heritage zone' statement on — record presence alone only means 'found within `search_radius_m`'.\n\nTwo overlays are line/point data rather than zones — HV power lines (`'HV Power Line'`) and mobile black spots (`'Mobile Black Spot'`) — and for those `on_property` is false for every property by construction; `nearest_distance_m` is the signal there. On public-housing records it marks the one Census area the property actually sits in.",
        -                        "title": "On Property"
        -                      },
        -                      "search_radius_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "The radius searched around the property, in metres (1000). Any record you receive was found inside this circle; anything beyond it was not looked for. Present so the presence rule is explicit rather than folklore.",
        -                        "title": "Search Radius M"
        -                      },
        -                      "value": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "A display string summarising this record. On hazard overlays (fire, flood, landslide, erosion, heritage, environment, power lines, black spots) it states the containment result in words — `'On property'`, or `'Not on property; nearest 174 m away'`. It is prose for humans: parse `on_property` and `nearest_distance_m` instead. On public-housing records it is instead a preformatted percentage such as `'3.4%'` (see `value_unit`). Do not parse it as a number without checking `value_unit` first.",
        -                        "title": "Value"
        -                      },
        -                      "value_unit": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "What `value` is measured in, and the flag for whether it is a number at all. Null on hazard overlays, whose `value` is the containment sentence. `'Properties Proportion'` on public-housing records, meaning `value` is the share of dwellings in a nearby small Census area that are public housing, written as a percentage string. Public housing can return several records — one per nearby Census area that clears a minimum share — so expect a list, not a single figure.",
        -                        "title": "Value Unit"
        -                      }
        -                    },
        -                    "title": "RiskRecord",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "example": [
        -                {
        -                  "area_level": "Layer",
        -                  "area_name": "Risk Layer",
        -                  "features_within_radius": 1,
        -                  "name": "Mobile Black Spot",
        -                  "nearest_distance_m": 812,
        -                  "on_property": false,
        -                  "search_radius_m": 1000,
        -                  "value": "Not on property; nearest 812 m away"
        -                }
        -              ],
        -              "title": "Mobile Black Spot"
        -            },
        -            "public_housing": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One hazard overlay found near the property.\n\n**A record means the hazard exists within 1 km — read `on_property` to\nlearn whether it covers the property itself.** Every overlay is searched\ninside a 1 km circle around the address point, so the presence of a\nrecord on its own says only *there is mapped hazard land in this\nneighbourhood*. Most records are proximity hits: the property is not in\nthe zone. Never render \"a bushfire record came back\" as \"this property\nis bushfire-prone\" — check `on_property` first, and quote\n`nearest_distance_m` when it is false.\n\n`on_property` is tested against the address point (the geocoded location\nof the dwelling), not a surveyed parcel boundary, so a zone whose edge\nruns through the block can read false while still clipping the land. It\nis a strong indication, not a statutory answer: nothing here substitutes\nfor a planning certificate.",
        -                    "example": {
        -                      "area_level": "Layer",
        -                      "area_name": "Risk Layer",
        -                      "features_within_radius": 25,
        -                      "name": "Fire",
        -                      "nearest_distance_m": 0,
        -                      "on_property": true,
        -                      "search_radius_m": 1000,
        -                      "value": "On property"
        -                    },
        -                    "properties": {
        -                      "area_level": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Constant `'Layer'` on property risks — a placeholder marking these as map-layer hits rather than statistics for a suburb or region. It is not a geographic level and carries no information; the suburb risk endpoints use this slot for a real one.",
        -                        "title": "Area Level"
        -                      },
        -                      "area_name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Constant `'Risk Layer'` on property risks. Like `area_level`, a placeholder that keeps the row shape consistent with area-based responses — not the name of any actual area, and not the name of the hazard (that is `name`).",
        -                        "title": "Area Name"
        -                      },
        -                      "features_within_radius": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "How many features of this overlay fall inside `search_radius_m`. Separates 'one stray polygon clips the corner of the neighbourhood' from 'the whole area is mapped'. Absent on public-housing records, where each record already is one Census area.",
        -                        "title": "Features Within Radius"
        -                      },
        -                      "geojson": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "GeoJSON FeatureCollection of the hazard polygons for this overlay, ST_Intersection-clipped to a 1km-radius circle around the property and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                        "title": "Geojson"
        -                      },
        -                      "geojson_meta": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Clip / simplify / truncation metadata for `geojson` (clip_method='1km_radius', radius_m, simplify tolerance, coordinate precision, feature/byte caps, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                        "title": "Geojson Meta"
        -                      },
        -                      "name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Which hazard this record is about — a fixed label per overlay, e.g. 'Fire', 'Flood', 'Historically Flooded', 'Landslide', 'Erosion', 'Heritage', 'Environment', 'HV Power Line', 'Mobile Black Spot', 'Public Housing'. Suitable for display as-is.",
        -                        "title": "Name"
        -                      },
        -                      "nearest_distance_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Metres from the property's address point to the nearest feature of this overlay, measured geodesically and reported to the whole metre. `0.0` exactly when `on_property` is true. When `on_property` is false this is how far away the hazard really is — a heritage record at 174 m and one at 950 m are both 'found', and only this field separates them. On public-housing records it is the distance to that record's Census area. Accurate to about 2% and biased very slightly long (it never under-reports the gap); at close range the error is sub-metre.",
        -                        "title": "Nearest Distance M"
        -                      },
        -                      "on_property": {
        -                        "anyOf": [
        -                          {
        -                            "type": "boolean"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "**Whether the hazard actually covers this property**, as opposed to merely existing nearby. True when a feature of this overlay contains the property's address point. This is the field to gate any 'this property is in a flood/bushfire/heritage zone' statement on — record presence alone only means 'found within `search_radius_m`'.\n\nTwo overlays are line/point data rather than zones — HV power lines (`'HV Power Line'`) and mobile black spots (`'Mobile Black Spot'`) — and for those `on_property` is false for every property by construction; `nearest_distance_m` is the signal there. On public-housing records it marks the one Census area the property actually sits in.",
        -                        "title": "On Property"
        -                      },
        -                      "search_radius_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "The radius searched around the property, in metres (1000). Any record you receive was found inside this circle; anything beyond it was not looked for. Present so the presence rule is explicit rather than folklore.",
        -                        "title": "Search Radius M"
        -                      },
        -                      "value": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "A display string summarising this record. On hazard overlays (fire, flood, landslide, erosion, heritage, environment, power lines, black spots) it states the containment result in words — `'On property'`, or `'Not on property; nearest 174 m away'`. It is prose for humans: parse `on_property` and `nearest_distance_m` instead. On public-housing records it is instead a preformatted percentage such as `'3.4%'` (see `value_unit`). Do not parse it as a number without checking `value_unit` first.",
        -                        "title": "Value"
        -                      },
        -                      "value_unit": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "What `value` is measured in, and the flag for whether it is a number at all. Null on hazard overlays, whose `value` is the containment sentence. `'Properties Proportion'` on public-housing records, meaning `value` is the share of dwellings in a nearby small Census area that are public housing, written as a percentage string. Public housing can return several records — one per nearby Census area that clears a minimum share — so expect a list, not a single figure.",
        -                        "title": "Value Unit"
        -                      }
        -                    },
        -                    "title": "RiskRecord",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "example": [
        -                {
        -                  "area_level": "Layer",
        -                  "area_name": "Risk Layer",
        -                  "name": "Public Housing",
        -                  "nearest_distance_m": 0,
        -                  "on_property": true,
        -                  "search_radius_m": 1000,
        -                  "value": "14.5%",
        -                  "value_unit": "Properties Proportion"
        -                },
        -                {
        -                  "area_level": "Layer",
        -                  "area_name": "Risk Layer",
        -                  "name": "Public Housing",
        -                  "nearest_distance_m": 486,
        -                  "on_property": false,
        -                  "search_radius_m": 1000,
        -                  "value": "3.4%",
        -                  "value_unit": "Properties Proportion"
        -                }
        -              ],
        -              "title": "Public Housing"
        -            }
        -          },
        -          "title": "AllRisks",
        -          "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[AllRisks]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_AllRisks_"
        -}New value: +null
    • Changedproperties_risks_bushfire1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One hazard overlay found near the property.\n\n**A record means the hazard exists within 1 km — read `on_property` to\nlearn whether it covers the property itself.** Every overlay is searched\ninside a 1 km circle around the address point, so the presence of a\nrecord on its own says only *there is mapped hazard land in this\nneighbourhood*. Most records are proximity hits: the property is not in\nthe zone. Never render \"a bushfire record came back\" as \"this property\nis bushfire-prone\" — check `on_property` first, and quote\n`nearest_distance_m` when it is false.\n\n`on_property` is tested against the address point (the geocoded location\nof the dwelling), not a surveyed parcel boundary, so a zone whose edge\nruns through the block can read false while still clipping the land. It\nis a strong indication, not a statutory answer: nothing here substitutes\nfor a planning certificate.",
        -            "example": {
        -              "area_level": "Layer",
        -              "area_name": "Risk Layer",
        -              "features_within_radius": 25,
        -              "name": "Fire",
        -              "nearest_distance_m": 0,
        -              "on_property": true,
        -              "search_radius_m": 1000,
        -              "value": "On property"
        -            },
        -            "properties": {
        -              "area_level": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Constant `'Layer'` on property risks — a placeholder marking these as map-layer hits rather than statistics for a suburb or region. It is not a geographic level and carries no information; the suburb risk endpoints use this slot for a real one.",
        -                "title": "Area Level"
        -              },
        -              "area_name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Constant `'Risk Layer'` on property risks. Like `area_level`, a placeholder that keeps the row shape consistent with area-based responses — not the name of any actual area, and not the name of the hazard (that is `name`).",
        -                "title": "Area Name"
        -              },
        -              "features_within_radius": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "How many features of this overlay fall inside `search_radius_m`. Separates 'one stray polygon clips the corner of the neighbourhood' from 'the whole area is mapped'. Absent on public-housing records, where each record already is one Census area.",
        -                "title": "Features Within Radius"
        -              },
        -              "geojson": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "GeoJSON FeatureCollection of the hazard polygons for this overlay, ST_Intersection-clipped to a 1km-radius circle around the property and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                "title": "Geojson"
        -              },
        -              "geojson_meta": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Clip / simplify / truncation metadata for `geojson` (clip_method='1km_radius', radius_m, simplify tolerance, coordinate precision, feature/byte caps, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                "title": "Geojson Meta"
        -              },
        -              "name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Which hazard this record is about — a fixed label per overlay, e.g. 'Fire', 'Flood', 'Historically Flooded', 'Landslide', 'Erosion', 'Heritage', 'Environment', 'HV Power Line', 'Mobile Black Spot', 'Public Housing'. Suitable for display as-is.",
        -                "title": "Name"
        -              },
        -              "nearest_distance_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Metres from the property's address point to the nearest feature of this overlay, measured geodesically and reported to the whole metre. `0.0` exactly when `on_property` is true. When `on_property` is false this is how far away the hazard really is — a heritage record at 174 m and one at 950 m are both 'found', and only this field separates them. On public-housing records it is the distance to that record's Census area. Accurate to about 2% and biased very slightly long (it never under-reports the gap); at close range the error is sub-metre.",
        -                "title": "Nearest Distance M"
        -              },
        -              "on_property": {
        -                "anyOf": [
        -                  {
        -                    "type": "boolean"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "**Whether the hazard actually covers this property**, as opposed to merely existing nearby. True when a feature of this overlay contains the property's address point. This is the field to gate any 'this property is in a flood/bushfire/heritage zone' statement on — record presence alone only means 'found within `search_radius_m`'.\n\nTwo overlays are line/point data rather than zones — HV power lines (`'HV Power Line'`) and mobile black spots (`'Mobile Black Spot'`) — and for those `on_property` is false for every property by construction; `nearest_distance_m` is the signal there. On public-housing records it marks the one Census area the property actually sits in.",
        -                "title": "On Property"
        -              },
        -              "search_radius_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "The radius searched around the property, in metres (1000). Any record you receive was found inside this circle; anything beyond it was not looked for. Present so the presence rule is explicit rather than folklore.",
        -                "title": "Search Radius M"
        -              },
        -              "value": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "A display string summarising this record. On hazard overlays (fire, flood, landslide, erosion, heritage, environment, power lines, black spots) it states the containment result in words — `'On property'`, or `'Not on property; nearest 174 m away'`. It is prose for humans: parse `on_property` and `nearest_distance_m` instead. On public-housing records it is instead a preformatted percentage such as `'3.4%'` (see `value_unit`). Do not parse it as a number without checking `value_unit` first.",
        -                "title": "Value"
        -              },
        -              "value_unit": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "What `value` is measured in, and the flag for whether it is a number at all. Null on hazard overlays, whose `value` is the containment sentence. `'Properties Proportion'` on public-housing records, meaning `value` is the share of dwellings in a nearby small Census area that are public housing, written as a percentage string. Public housing can return several records — one per nearby Census area that clears a minimum share — so expect a list, not a single figure.",
        -                "title": "Value Unit"
        -              }
        -            },
        -            "title": "RiskRecord",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[RiskRecord]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_RiskRecord__"
        -}New value: +null
    • Changedproperties_risks_environment1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One hazard overlay found near the property.\n\n**A record means the hazard exists within 1 km — read `on_property` to\nlearn whether it covers the property itself.** Every overlay is searched\ninside a 1 km circle around the address point, so the presence of a\nrecord on its own says only *there is mapped hazard land in this\nneighbourhood*. Most records are proximity hits: the property is not in\nthe zone. Never render \"a bushfire record came back\" as \"this property\nis bushfire-prone\" — check `on_property` first, and quote\n`nearest_distance_m` when it is false.\n\n`on_property` is tested against the address point (the geocoded location\nof the dwelling), not a surveyed parcel boundary, so a zone whose edge\nruns through the block can read false while still clipping the land. It\nis a strong indication, not a statutory answer: nothing here substitutes\nfor a planning certificate.",
        -            "example": {
        -              "area_level": "Layer",
        -              "area_name": "Risk Layer",
        -              "features_within_radius": 25,
        -              "name": "Fire",
        -              "nearest_distance_m": 0,
        -              "on_property": true,
        -              "search_radius_m": 1000,
        -              "value": "On property"
        -            },
        -            "properties": {
        -              "area_level": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Constant `'Layer'` on property risks — a placeholder marking these as map-layer hits rather than statistics for a suburb or region. It is not a geographic level and carries no information; the suburb risk endpoints use this slot for a real one.",
        -                "title": "Area Level"
        -              },
        -              "area_name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Constant `'Risk Layer'` on property risks. Like `area_level`, a placeholder that keeps the row shape consistent with area-based responses — not the name of any actual area, and not the name of the hazard (that is `name`).",
        -                "title": "Area Name"
        -              },
        -              "features_within_radius": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "How many features of this overlay fall inside `search_radius_m`. Separates 'one stray polygon clips the corner of the neighbourhood' from 'the whole area is mapped'. Absent on public-housing records, where each record already is one Census area.",
        -                "title": "Features Within Radius"
        -              },
        -              "geojson": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "GeoJSON FeatureCollection of the hazard polygons for this overlay, ST_Intersection-clipped to a 1km-radius circle around the property and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                "title": "Geojson"
        -              },
        -              "geojson_meta": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Clip / simplify / truncation metadata for `geojson` (clip_method='1km_radius', radius_m, simplify tolerance, coordinate precision, feature/byte caps, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                "title": "Geojson Meta"
        -              },
        -              "name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Which hazard this record is about — a fixed label per overlay, e.g. 'Fire', 'Flood', 'Historically Flooded', 'Landslide', 'Erosion', 'Heritage', 'Environment', 'HV Power Line', 'Mobile Black Spot', 'Public Housing'. Suitable for display as-is.",
        -                "title": "Name"
        -              },
        -              "nearest_distance_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Metres from the property's address point to the nearest feature of this overlay, measured geodesically and reported to the whole metre. `0.0` exactly when `on_property` is true. When `on_property` is false this is how far away the hazard really is — a heritage record at 174 m and one at 950 m are both 'found', and only this field separates them. On public-housing records it is the distance to that record's Census area. Accurate to about 2% and biased very slightly long (it never under-reports the gap); at close range the error is sub-metre.",
        -                "title": "Nearest Distance M"
        -              },
        -              "on_property": {
        -                "anyOf": [
        -                  {
        -                    "type": "boolean"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "**Whether the hazard actually covers this property**, as opposed to merely existing nearby. True when a feature of this overlay contains the property's address point. This is the field to gate any 'this property is in a flood/bushfire/heritage zone' statement on — record presence alone only means 'found within `search_radius_m`'.\n\nTwo overlays are line/point data rather than zones — HV power lines (`'HV Power Line'`) and mobile black spots (`'Mobile Black Spot'`) — and for those `on_property` is false for every property by construction; `nearest_distance_m` is the signal there. On public-housing records it marks the one Census area the property actually sits in.",
        -                "title": "On Property"
        -              },
        -              "search_radius_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "The radius searched around the property, in metres (1000). Any record you receive was found inside this circle; anything beyond it was not looked for. Present so the presence rule is explicit rather than folklore.",
        -                "title": "Search Radius M"
        -              },
        -              "value": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "A display string summarising this record. On hazard overlays (fire, flood, landslide, erosion, heritage, environment, power lines, black spots) it states the containment result in words — `'On property'`, or `'Not on property; nearest 174 m away'`. It is prose for humans: parse `on_property` and `nearest_distance_m` instead. On public-housing records it is instead a preformatted percentage such as `'3.4%'` (see `value_unit`). Do not parse it as a number without checking `value_unit` first.",
        -                "title": "Value"
        -              },
        -              "value_unit": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "What `value` is measured in, and the flag for whether it is a number at all. Null on hazard overlays, whose `value` is the containment sentence. `'Properties Proportion'` on public-housing records, meaning `value` is the share of dwellings in a nearby small Census area that are public housing, written as a percentage string. Public housing can return several records — one per nearby Census area that clears a minimum share — so expect a list, not a single figure.",
        -                "title": "Value Unit"
        -              }
        -            },
        -            "title": "RiskRecord",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[RiskRecord]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_RiskRecord__"
        -}New value: +null
    • Changedproperties_risks_erosion1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One hazard overlay found near the property.\n\n**A record means the hazard exists within 1 km — read `on_property` to\nlearn whether it covers the property itself.** Every overlay is searched\ninside a 1 km circle around the address point, so the presence of a\nrecord on its own says only *there is mapped hazard land in this\nneighbourhood*. Most records are proximity hits: the property is not in\nthe zone. Never render \"a bushfire record came back\" as \"this property\nis bushfire-prone\" — check `on_property` first, and quote\n`nearest_distance_m` when it is false.\n\n`on_property` is tested against the address point (the geocoded location\nof the dwelling), not a surveyed parcel boundary, so a zone whose edge\nruns through the block can read false while still clipping the land. It\nis a strong indication, not a statutory answer: nothing here substitutes\nfor a planning certificate.",
        -            "example": {
        -              "area_level": "Layer",
        -              "area_name": "Risk Layer",
        -              "features_within_radius": 25,
        -              "name": "Fire",
        -              "nearest_distance_m": 0,
        -              "on_property": true,
        -              "search_radius_m": 1000,
        -              "value": "On property"
        -            },
        -            "properties": {
        -              "area_level": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Constant `'Layer'` on property risks — a placeholder marking these as map-layer hits rather than statistics for a suburb or region. It is not a geographic level and carries no information; the suburb risk endpoints use this slot for a real one.",
        -                "title": "Area Level"
        -              },
        -              "area_name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Constant `'Risk Layer'` on property risks. Like `area_level`, a placeholder that keeps the row shape consistent with area-based responses — not the name of any actual area, and not the name of the hazard (that is `name`).",
        -                "title": "Area Name"
        -              },
        -              "features_within_radius": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "How many features of this overlay fall inside `search_radius_m`. Separates 'one stray polygon clips the corner of the neighbourhood' from 'the whole area is mapped'. Absent on public-housing records, where each record already is one Census area.",
        -                "title": "Features Within Radius"
        -              },
        -              "geojson": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "GeoJSON FeatureCollection of the hazard polygons for this overlay, ST_Intersection-clipped to a 1km-radius circle around the property and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                "title": "Geojson"
        -              },
        -              "geojson_meta": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Clip / simplify / truncation metadata for `geojson` (clip_method='1km_radius', radius_m, simplify tolerance, coordinate precision, feature/byte caps, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                "title": "Geojson Meta"
        -              },
        -              "name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Which hazard this record is about — a fixed label per overlay, e.g. 'Fire', 'Flood', 'Historically Flooded', 'Landslide', 'Erosion', 'Heritage', 'Environment', 'HV Power Line', 'Mobile Black Spot', 'Public Housing'. Suitable for display as-is.",
        -                "title": "Name"
        -              },
        -              "nearest_distance_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Metres from the property's address point to the nearest feature of this overlay, measured geodesically and reported to the whole metre. `0.0` exactly when `on_property` is true. When `on_property` is false this is how far away the hazard really is — a heritage record at 174 m and one at 950 m are both 'found', and only this field separates them. On public-housing records it is the distance to that record's Census area. Accurate to about 2% and biased very slightly long (it never under-reports the gap); at close range the error is sub-metre.",
        -                "title": "Nearest Distance M"
        -              },
        -              "on_property": {
        -                "anyOf": [
        -                  {
        -                    "type": "boolean"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "**Whether the hazard actually covers this property**, as opposed to merely existing nearby. True when a feature of this overlay contains the property's address point. This is the field to gate any 'this property is in a flood/bushfire/heritage zone' statement on — record presence alone only means 'found within `search_radius_m`'.\n\nTwo overlays are line/point data rather than zones — HV power lines (`'HV Power Line'`) and mobile black spots (`'Mobile Black Spot'`) — and for those `on_property` is false for every property by construction; `nearest_distance_m` is the signal there. On public-housing records it marks the one Census area the property actually sits in.",
        -                "title": "On Property"
        -              },
        -              "search_radius_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "The radius searched around the property, in metres (1000). Any record you receive was found inside this circle; anything beyond it was not looked for. Present so the presence rule is explicit rather than folklore.",
        -                "title": "Search Radius M"
        -              },
        -              "value": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "A display string summarising this record. On hazard overlays (fire, flood, landslide, erosion, heritage, environment, power lines, black spots) it states the containment result in words — `'On property'`, or `'Not on property; nearest 174 m away'`. It is prose for humans: parse `on_property` and `nearest_distance_m` instead. On public-housing records it is instead a preformatted percentage such as `'3.4%'` (see `value_unit`). Do not parse it as a number without checking `value_unit` first.",
        -                "title": "Value"
        -              },
        -              "value_unit": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "What `value` is measured in, and the flag for whether it is a number at all. Null on hazard overlays, whose `value` is the containment sentence. `'Properties Proportion'` on public-housing records, meaning `value` is the share of dwellings in a nearby small Census area that are public housing, written as a percentage string. Public housing can return several records — one per nearby Census area that clears a minimum share — so expect a list, not a single figure.",
        -                "title": "Value Unit"
        -              }
        -            },
        -            "title": "RiskRecord",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[RiskRecord]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_RiskRecord__"
        -}New value: +null
    • Changedproperties_risks_flood1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One hazard overlay found near the property.\n\n**A record means the hazard exists within 1 km — read `on_property` to\nlearn whether it covers the property itself.** Every overlay is searched\ninside a 1 km circle around the address point, so the presence of a\nrecord on its own says only *there is mapped hazard land in this\nneighbourhood*. Most records are proximity hits: the property is not in\nthe zone. Never render \"a bushfire record came back\" as \"this property\nis bushfire-prone\" — check `on_property` first, and quote\n`nearest_distance_m` when it is false.\n\n`on_property` is tested against the address point (the geocoded location\nof the dwelling), not a surveyed parcel boundary, so a zone whose edge\nruns through the block can read false while still clipping the land. It\nis a strong indication, not a statutory answer: nothing here substitutes\nfor a planning certificate.",
        -            "example": {
        -              "area_level": "Layer",
        -              "area_name": "Risk Layer",
        -              "features_within_radius": 25,
        -              "name": "Fire",
        -              "nearest_distance_m": 0,
        -              "on_property": true,
        -              "search_radius_m": 1000,
        -              "value": "On property"
        -            },
        -            "properties": {
        -              "area_level": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Constant `'Layer'` on property risks — a placeholder marking these as map-layer hits rather than statistics for a suburb or region. It is not a geographic level and carries no information; the suburb risk endpoints use this slot for a real one.",
        -                "title": "Area Level"
        -              },
        -              "area_name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Constant `'Risk Layer'` on property risks. Like `area_level`, a placeholder that keeps the row shape consistent with area-based responses — not the name of any actual area, and not the name of the hazard (that is `name`).",
        -                "title": "Area Name"
        -              },
        -              "features_within_radius": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "How many features of this overlay fall inside `search_radius_m`. Separates 'one stray polygon clips the corner of the neighbourhood' from 'the whole area is mapped'. Absent on public-housing records, where each record already is one Census area.",
        -                "title": "Features Within Radius"
        -              },
        -              "geojson": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "GeoJSON FeatureCollection of the hazard polygons for this overlay, ST_Intersection-clipped to a 1km-radius circle around the property and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                "title": "Geojson"
        -              },
        -              "geojson_meta": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Clip / simplify / truncation metadata for `geojson` (clip_method='1km_radius', radius_m, simplify tolerance, coordinate precision, feature/byte caps, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                "title": "Geojson Meta"
        -              },
        -              "name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Which hazard this record is about — a fixed label per overlay, e.g. 'Fire', 'Flood', 'Historically Flooded', 'Landslide', 'Erosion', 'Heritage', 'Environment', 'HV Power Line', 'Mobile Black Spot', 'Public Housing'. Suitable for display as-is.",
        -                "title": "Name"
        -              },
        -              "nearest_distance_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Metres from the property's address point to the nearest feature of this overlay, measured geodesically and reported to the whole metre. `0.0` exactly when `on_property` is true. When `on_property` is false this is how far away the hazard really is — a heritage record at 174 m and one at 950 m are both 'found', and only this field separates them. On public-housing records it is the distance to that record's Census area. Accurate to about 2% and biased very slightly long (it never under-reports the gap); at close range the error is sub-metre.",
        -                "title": "Nearest Distance M"
        -              },
        -              "on_property": {
        -                "anyOf": [
        -                  {
        -                    "type": "boolean"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "**Whether the hazard actually covers this property**, as opposed to merely existing nearby. True when a feature of this overlay contains the property's address point. This is the field to gate any 'this property is in a flood/bushfire/heritage zone' statement on — record presence alone only means 'found within `search_radius_m`'.\n\nTwo overlays are line/point data rather than zones — HV power lines (`'HV Power Line'`) and mobile black spots (`'Mobile Black Spot'`) — and for those `on_property` is false for every property by construction; `nearest_distance_m` is the signal there. On public-housing records it marks the one Census area the property actually sits in.",
        -                "title": "On Property"
        -              },
        -              "search_radius_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "The radius searched around the property, in metres (1000). Any record you receive was found inside this circle; anything beyond it was not looked for. Present so the presence rule is explicit rather than folklore.",
        -                "title": "Search Radius M"
        -              },
        -              "value": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "A display string summarising this record. On hazard overlays (fire, flood, landslide, erosion, heritage, environment, power lines, black spots) it states the containment result in words — `'On property'`, or `'Not on property; nearest 174 m away'`. It is prose for humans: parse `on_property` and `nearest_distance_m` instead. On public-housing records it is instead a preformatted percentage such as `'3.4%'` (see `value_unit`). Do not parse it as a number without checking `value_unit` first.",
        -                "title": "Value"
        -              },
        -              "value_unit": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "What `value` is measured in, and the flag for whether it is a number at all. Null on hazard overlays, whose `value` is the containment sentence. `'Properties Proportion'` on public-housing records, meaning `value` is the share of dwellings in a nearby small Census area that are public housing, written as a percentage string. Public housing can return several records — one per nearby Census area that clears a minimum share — so expect a list, not a single figure.",
        -                "title": "Value Unit"
        -              }
        -            },
        -            "title": "RiskRecord",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[RiskRecord]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_RiskRecord__"
        -}New value: +null
    • Changedproperties_risks_heritage1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One hazard overlay found near the property.\n\n**A record means the hazard exists within 1 km — read `on_property` to\nlearn whether it covers the property itself.** Every overlay is searched\ninside a 1 km circle around the address point, so the presence of a\nrecord on its own says only *there is mapped hazard land in this\nneighbourhood*. Most records are proximity hits: the property is not in\nthe zone. Never render \"a bushfire record came back\" as \"this property\nis bushfire-prone\" — check `on_property` first, and quote\n`nearest_distance_m` when it is false.\n\n`on_property` is tested against the address point (the geocoded location\nof the dwelling), not a surveyed parcel boundary, so a zone whose edge\nruns through the block can read false while still clipping the land. It\nis a strong indication, not a statutory answer: nothing here substitutes\nfor a planning certificate.",
        -            "example": {
        -              "area_level": "Layer",
        -              "area_name": "Risk Layer",
        -              "features_within_radius": 25,
        -              "name": "Fire",
        -              "nearest_distance_m": 0,
        -              "on_property": true,
        -              "search_radius_m": 1000,
        -              "value": "On property"
        -            },
        -            "properties": {
        -              "area_level": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Constant `'Layer'` on property risks — a placeholder marking these as map-layer hits rather than statistics for a suburb or region. It is not a geographic level and carries no information; the suburb risk endpoints use this slot for a real one.",
        -                "title": "Area Level"
        -              },
        -              "area_name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Constant `'Risk Layer'` on property risks. Like `area_level`, a placeholder that keeps the row shape consistent with area-based responses — not the name of any actual area, and not the name of the hazard (that is `name`).",
        -                "title": "Area Name"
        -              },
        -              "features_within_radius": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "How many features of this overlay fall inside `search_radius_m`. Separates 'one stray polygon clips the corner of the neighbourhood' from 'the whole area is mapped'. Absent on public-housing records, where each record already is one Census area.",
        -                "title": "Features Within Radius"
        -              },
        -              "geojson": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "GeoJSON FeatureCollection of the hazard polygons for this overlay, ST_Intersection-clipped to a 1km-radius circle around the property and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                "title": "Geojson"
        -              },
        -              "geojson_meta": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Clip / simplify / truncation metadata for `geojson` (clip_method='1km_radius', radius_m, simplify tolerance, coordinate precision, feature/byte caps, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                "title": "Geojson Meta"
        -              },
        -              "name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Which hazard this record is about — a fixed label per overlay, e.g. 'Fire', 'Flood', 'Historically Flooded', 'Landslide', 'Erosion', 'Heritage', 'Environment', 'HV Power Line', 'Mobile Black Spot', 'Public Housing'. Suitable for display as-is.",
        -                "title": "Name"
        -              },
        -              "nearest_distance_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Metres from the property's address point to the nearest feature of this overlay, measured geodesically and reported to the whole metre. `0.0` exactly when `on_property` is true. When `on_property` is false this is how far away the hazard really is — a heritage record at 174 m and one at 950 m are both 'found', and only this field separates them. On public-housing records it is the distance to that record's Census area. Accurate to about 2% and biased very slightly long (it never under-reports the gap); at close range the error is sub-metre.",
        -                "title": "Nearest Distance M"
        -              },
        -              "on_property": {
        -                "anyOf": [
        -                  {
        -                    "type": "boolean"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "**Whether the hazard actually covers this property**, as opposed to merely existing nearby. True when a feature of this overlay contains the property's address point. This is the field to gate any 'this property is in a flood/bushfire/heritage zone' statement on — record presence alone only means 'found within `search_radius_m`'.\n\nTwo overlays are line/point data rather than zones — HV power lines (`'HV Power Line'`) and mobile black spots (`'Mobile Black Spot'`) — and for those `on_property` is false for every property by construction; `nearest_distance_m` is the signal there. On public-housing records it marks the one Census area the property actually sits in.",
        -                "title": "On Property"
        -              },
        -              "search_radius_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "The radius searched around the property, in metres (1000). Any record you receive was found inside this circle; anything beyond it was not looked for. Present so the presence rule is explicit rather than folklore.",
        -                "title": "Search Radius M"
        -              },
        -              "value": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "A display string summarising this record. On hazard overlays (fire, flood, landslide, erosion, heritage, environment, power lines, black spots) it states the containment result in words — `'On property'`, or `'Not on property; nearest 174 m away'`. It is prose for humans: parse `on_property` and `nearest_distance_m` instead. On public-housing records it is instead a preformatted percentage such as `'3.4%'` (see `value_unit`). Do not parse it as a number without checking `value_unit` first.",
        -                "title": "Value"
        -              },
        -              "value_unit": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "What `value` is measured in, and the flag for whether it is a number at all. Null on hazard overlays, whose `value` is the containment sentence. `'Properties Proportion'` on public-housing records, meaning `value` is the share of dwellings in a nearby small Census area that are public housing, written as a percentage string. Public housing can return several records — one per nearby Census area that clears a minimum share — so expect a list, not a single figure.",
        -                "title": "Value Unit"
        -              }
        -            },
        -            "title": "RiskRecord",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[RiskRecord]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_RiskRecord__"
        -}New value: +null
    • Changedproperties_risks_historical_flood1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One hazard overlay found near the property.\n\n**A record means the hazard exists within 1 km — read `on_property` to\nlearn whether it covers the property itself.** Every overlay is searched\ninside a 1 km circle around the address point, so the presence of a\nrecord on its own says only *there is mapped hazard land in this\nneighbourhood*. Most records are proximity hits: the property is not in\nthe zone. Never render \"a bushfire record came back\" as \"this property\nis bushfire-prone\" — check `on_property` first, and quote\n`nearest_distance_m` when it is false.\n\n`on_property` is tested against the address point (the geocoded location\nof the dwelling), not a surveyed parcel boundary, so a zone whose edge\nruns through the block can read false while still clipping the land. It\nis a strong indication, not a statutory answer: nothing here substitutes\nfor a planning certificate.",
        -            "example": {
        -              "area_level": "Layer",
        -              "area_name": "Risk Layer",
        -              "features_within_radius": 25,
        -              "name": "Fire",
        -              "nearest_distance_m": 0,
        -              "on_property": true,
        -              "search_radius_m": 1000,
        -              "value": "On property"
        -            },
        -            "properties": {
        -              "area_level": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Constant `'Layer'` on property risks — a placeholder marking these as map-layer hits rather than statistics for a suburb or region. It is not a geographic level and carries no information; the suburb risk endpoints use this slot for a real one.",
        -                "title": "Area Level"
        -              },
        -              "area_name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Constant `'Risk Layer'` on property risks. Like `area_level`, a placeholder that keeps the row shape consistent with area-based responses — not the name of any actual area, and not the name of the hazard (that is `name`).",
        -                "title": "Area Name"
        -              },
        -              "features_within_radius": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "How many features of this overlay fall inside `search_radius_m`. Separates 'one stray polygon clips the corner of the neighbourhood' from 'the whole area is mapped'. Absent on public-housing records, where each record already is one Census area.",
        -                "title": "Features Within Radius"
        -              },
        -              "geojson": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "GeoJSON FeatureCollection of the hazard polygons for this overlay, ST_Intersection-clipped to a 1km-radius circle around the property and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                "title": "Geojson"
        -              },
        -              "geojson_meta": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Clip / simplify / truncation metadata for `geojson` (clip_method='1km_radius', radius_m, simplify tolerance, coordinate precision, feature/byte caps, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                "title": "Geojson Meta"
        -              },
        -              "name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Which hazard this record is about — a fixed label per overlay, e.g. 'Fire', 'Flood', 'Historically Flooded', 'Landslide', 'Erosion', 'Heritage', 'Environment', 'HV Power Line', 'Mobile Black Spot', 'Public Housing'. Suitable for display as-is.",
        -                "title": "Name"
        -              },
        -              "nearest_distance_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Metres from the property's address point to the nearest feature of this overlay, measured geodesically and reported to the whole metre. `0.0` exactly when `on_property` is true. When `on_property` is false this is how far away the hazard really is — a heritage record at 174 m and one at 950 m are both 'found', and only this field separates them. On public-housing records it is the distance to that record's Census area. Accurate to about 2% and biased very slightly long (it never under-reports the gap); at close range the error is sub-metre.",
        -                "title": "Nearest Distance M"
        -              },
        -              "on_property": {
        -                "anyOf": [
        -                  {
        -                    "type": "boolean"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "**Whether the hazard actually covers this property**, as opposed to merely existing nearby. True when a feature of this overlay contains the property's address point. This is the field to gate any 'this property is in a flood/bushfire/heritage zone' statement on — record presence alone only means 'found within `search_radius_m`'.\n\nTwo overlays are line/point data rather than zones — HV power lines (`'HV Power Line'`) and mobile black spots (`'Mobile Black Spot'`) — and for those `on_property` is false for every property by construction; `nearest_distance_m` is the signal there. On public-housing records it marks the one Census area the property actually sits in.",
        -                "title": "On Property"
        -              },
        -              "search_radius_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "The radius searched around the property, in metres (1000). Any record you receive was found inside this circle; anything beyond it was not looked for. Present so the presence rule is explicit rather than folklore.",
        -                "title": "Search Radius M"
        -              },
        -              "value": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "A display string summarising this record. On hazard overlays (fire, flood, landslide, erosion, heritage, environment, power lines, black spots) it states the containment result in words — `'On property'`, or `'Not on property; nearest 174 m away'`. It is prose for humans: parse `on_property` and `nearest_distance_m` instead. On public-housing records it is instead a preformatted percentage such as `'3.4%'` (see `value_unit`). Do not parse it as a number without checking `value_unit` first.",
        -                "title": "Value"
        -              },
        -              "value_unit": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "What `value` is measured in, and the flag for whether it is a number at all. Null on hazard overlays, whose `value` is the containment sentence. `'Properties Proportion'` on public-housing records, meaning `value` is the share of dwellings in a nearby small Census area that are public housing, written as a percentage string. Public housing can return several records — one per nearby Census area that clears a minimum share — so expect a list, not a single figure.",
        -                "title": "Value Unit"
        -              }
        -            },
        -            "title": "RiskRecord",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[RiskRecord]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_RiskRecord__"
        -}New value: +null
    • Changedproperties_risks_hv_power_line1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One hazard overlay found near the property.\n\n**A record means the hazard exists within 1 km — read `on_property` to\nlearn whether it covers the property itself.** Every overlay is searched\ninside a 1 km circle around the address point, so the presence of a\nrecord on its own says only *there is mapped hazard land in this\nneighbourhood*. Most records are proximity hits: the property is not in\nthe zone. Never render \"a bushfire record came back\" as \"this property\nis bushfire-prone\" — check `on_property` first, and quote\n`nearest_distance_m` when it is false.\n\n`on_property` is tested against the address point (the geocoded location\nof the dwelling), not a surveyed parcel boundary, so a zone whose edge\nruns through the block can read false while still clipping the land. It\nis a strong indication, not a statutory answer: nothing here substitutes\nfor a planning certificate.",
        -            "example": {
        -              "area_level": "Layer",
        -              "area_name": "Risk Layer",
        -              "features_within_radius": 25,
        -              "name": "Fire",
        -              "nearest_distance_m": 0,
        -              "on_property": true,
        -              "search_radius_m": 1000,
        -              "value": "On property"
        -            },
        -            "properties": {
        -              "area_level": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Constant `'Layer'` on property risks — a placeholder marking these as map-layer hits rather than statistics for a suburb or region. It is not a geographic level and carries no information; the suburb risk endpoints use this slot for a real one.",
        -                "title": "Area Level"
        -              },
        -              "area_name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Constant `'Risk Layer'` on property risks. Like `area_level`, a placeholder that keeps the row shape consistent with area-based responses — not the name of any actual area, and not the name of the hazard (that is `name`).",
        -                "title": "Area Name"
        -              },
        -              "features_within_radius": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "How many features of this overlay fall inside `search_radius_m`. Separates 'one stray polygon clips the corner of the neighbourhood' from 'the whole area is mapped'. Absent on public-housing records, where each record already is one Census area.",
        -                "title": "Features Within Radius"
        -              },
        -              "geojson": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "GeoJSON FeatureCollection of the hazard polygons for this overlay, ST_Intersection-clipped to a 1km-radius circle around the property and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                "title": "Geojson"
        -              },
        -              "geojson_meta": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Clip / simplify / truncation metadata for `geojson` (clip_method='1km_radius', radius_m, simplify tolerance, coordinate precision, feature/byte caps, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                "title": "Geojson Meta"
        -              },
        -              "name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Which hazard this record is about — a fixed label per overlay, e.g. 'Fire', 'Flood', 'Historically Flooded', 'Landslide', 'Erosion', 'Heritage', 'Environment', 'HV Power Line', 'Mobile Black Spot', 'Public Housing'. Suitable for display as-is.",
        -                "title": "Name"
        -              },
        -              "nearest_distance_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Metres from the property's address point to the nearest feature of this overlay, measured geodesically and reported to the whole metre. `0.0` exactly when `on_property` is true. When `on_property` is false this is how far away the hazard really is — a heritage record at 174 m and one at 950 m are both 'found', and only this field separates them. On public-housing records it is the distance to that record's Census area. Accurate to about 2% and biased very slightly long (it never under-reports the gap); at close range the error is sub-metre.",
        -                "title": "Nearest Distance M"
        -              },
        -              "on_property": {
        -                "anyOf": [
        -                  {
        -                    "type": "boolean"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "**Whether the hazard actually covers this property**, as opposed to merely existing nearby. True when a feature of this overlay contains the property's address point. This is the field to gate any 'this property is in a flood/bushfire/heritage zone' statement on — record presence alone only means 'found within `search_radius_m`'.\n\nTwo overlays are line/point data rather than zones — HV power lines (`'HV Power Line'`) and mobile black spots (`'Mobile Black Spot'`) — and for those `on_property` is false for every property by construction; `nearest_distance_m` is the signal there. On public-housing records it marks the one Census area the property actually sits in.",
        -                "title": "On Property"
        -              },
        -              "search_radius_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "The radius searched around the property, in metres (1000). Any record you receive was found inside this circle; anything beyond it was not looked for. Present so the presence rule is explicit rather than folklore.",
        -                "title": "Search Radius M"
        -              },
        -              "value": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "A display string summarising this record. On hazard overlays (fire, flood, landslide, erosion, heritage, environment, power lines, black spots) it states the containment result in words — `'On property'`, or `'Not on property; nearest 174 m away'`. It is prose for humans: parse `on_property` and `nearest_distance_m` instead. On public-housing records it is instead a preformatted percentage such as `'3.4%'` (see `value_unit`). Do not parse it as a number without checking `value_unit` first.",
        -                "title": "Value"
        -              },
        -              "value_unit": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "What `value` is measured in, and the flag for whether it is a number at all. Null on hazard overlays, whose `value` is the containment sentence. `'Properties Proportion'` on public-housing records, meaning `value` is the share of dwellings in a nearby small Census area that are public housing, written as a percentage string. Public housing can return several records — one per nearby Census area that clears a minimum share — so expect a list, not a single figure.",
        -                "title": "Value Unit"
        -              }
        -            },
        -            "title": "RiskRecord",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[RiskRecord]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_RiskRecord__"
        -}New value: +null
    • Changedproperties_risks_landslide1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One hazard overlay found near the property.\n\n**A record means the hazard exists within 1 km — read `on_property` to\nlearn whether it covers the property itself.** Every overlay is searched\ninside a 1 km circle around the address point, so the presence of a\nrecord on its own says only *there is mapped hazard land in this\nneighbourhood*. Most records are proximity hits: the property is not in\nthe zone. Never render \"a bushfire record came back\" as \"this property\nis bushfire-prone\" — check `on_property` first, and quote\n`nearest_distance_m` when it is false.\n\n`on_property` is tested against the address point (the geocoded location\nof the dwelling), not a surveyed parcel boundary, so a zone whose edge\nruns through the block can read false while still clipping the land. It\nis a strong indication, not a statutory answer: nothing here substitutes\nfor a planning certificate.",
        -            "example": {
        -              "area_level": "Layer",
        -              "area_name": "Risk Layer",
        -              "features_within_radius": 25,
        -              "name": "Fire",
        -              "nearest_distance_m": 0,
        -              "on_property": true,
        -              "search_radius_m": 1000,
        -              "value": "On property"
        -            },
        -            "properties": {
        -              "area_level": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Constant `'Layer'` on property risks — a placeholder marking these as map-layer hits rather than statistics for a suburb or region. It is not a geographic level and carries no information; the suburb risk endpoints use this slot for a real one.",
        -                "title": "Area Level"
        -              },
        -              "area_name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Constant `'Risk Layer'` on property risks. Like `area_level`, a placeholder that keeps the row shape consistent with area-based responses — not the name of any actual area, and not the name of the hazard (that is `name`).",
        -                "title": "Area Name"
        -              },
        -              "features_within_radius": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "How many features of this overlay fall inside `search_radius_m`. Separates 'one stray polygon clips the corner of the neighbourhood' from 'the whole area is mapped'. Absent on public-housing records, where each record already is one Census area.",
        -                "title": "Features Within Radius"
        -              },
        -              "geojson": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "GeoJSON FeatureCollection of the hazard polygons for this overlay, ST_Intersection-clipped to a 1km-radius circle around the property and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                "title": "Geojson"
        -              },
        -              "geojson_meta": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Clip / simplify / truncation metadata for `geojson` (clip_method='1km_radius', radius_m, simplify tolerance, coordinate precision, feature/byte caps, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                "title": "Geojson Meta"
        -              },
        -              "name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Which hazard this record is about — a fixed label per overlay, e.g. 'Fire', 'Flood', 'Historically Flooded', 'Landslide', 'Erosion', 'Heritage', 'Environment', 'HV Power Line', 'Mobile Black Spot', 'Public Housing'. Suitable for display as-is.",
        -                "title": "Name"
        -              },
        -              "nearest_distance_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Metres from the property's address point to the nearest feature of this overlay, measured geodesically and reported to the whole metre. `0.0` exactly when `on_property` is true. When `on_property` is false this is how far away the hazard really is — a heritage record at 174 m and one at 950 m are both 'found', and only this field separates them. On public-housing records it is the distance to that record's Census area. Accurate to about 2% and biased very slightly long (it never under-reports the gap); at close range the error is sub-metre.",
        -                "title": "Nearest Distance M"
        -              },
        -              "on_property": {
        -                "anyOf": [
        -                  {
        -                    "type": "boolean"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "**Whether the hazard actually covers this property**, as opposed to merely existing nearby. True when a feature of this overlay contains the property's address point. This is the field to gate any 'this property is in a flood/bushfire/heritage zone' statement on — record presence alone only means 'found within `search_radius_m`'.\n\nTwo overlays are line/point data rather than zones — HV power lines (`'HV Power Line'`) and mobile black spots (`'Mobile Black Spot'`) — and for those `on_property` is false for every property by construction; `nearest_distance_m` is the signal there. On public-housing records it marks the one Census area the property actually sits in.",
        -                "title": "On Property"
        -              },
        -              "search_radius_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "The radius searched around the property, in metres (1000). Any record you receive was found inside this circle; anything beyond it was not looked for. Present so the presence rule is explicit rather than folklore.",
        -                "title": "Search Radius M"
        -              },
        -              "value": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "A display string summarising this record. On hazard overlays (fire, flood, landslide, erosion, heritage, environment, power lines, black spots) it states the containment result in words — `'On property'`, or `'Not on property; nearest 174 m away'`. It is prose for humans: parse `on_property` and `nearest_distance_m` instead. On public-housing records it is instead a preformatted percentage such as `'3.4%'` (see `value_unit`). Do not parse it as a number without checking `value_unit` first.",
        -                "title": "Value"
        -              },
        -              "value_unit": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "What `value` is measured in, and the flag for whether it is a number at all. Null on hazard overlays, whose `value` is the containment sentence. `'Properties Proportion'` on public-housing records, meaning `value` is the share of dwellings in a nearby small Census area that are public housing, written as a percentage string. Public housing can return several records — one per nearby Census area that clears a minimum share — so expect a list, not a single figure.",
        -                "title": "Value Unit"
        -              }
        -            },
        -            "title": "RiskRecord",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[RiskRecord]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_RiskRecord__"
        -}New value: +null
    • Changedproperties_risks_mobile_black_spot1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One hazard overlay found near the property.\n\n**A record means the hazard exists within 1 km — read `on_property` to\nlearn whether it covers the property itself.** Every overlay is searched\ninside a 1 km circle around the address point, so the presence of a\nrecord on its own says only *there is mapped hazard land in this\nneighbourhood*. Most records are proximity hits: the property is not in\nthe zone. Never render \"a bushfire record came back\" as \"this property\nis bushfire-prone\" — check `on_property` first, and quote\n`nearest_distance_m` when it is false.\n\n`on_property` is tested against the address point (the geocoded location\nof the dwelling), not a surveyed parcel boundary, so a zone whose edge\nruns through the block can read false while still clipping the land. It\nis a strong indication, not a statutory answer: nothing here substitutes\nfor a planning certificate.",
        -            "example": {
        -              "area_level": "Layer",
        -              "area_name": "Risk Layer",
        -              "features_within_radius": 25,
        -              "name": "Fire",
        -              "nearest_distance_m": 0,
        -              "on_property": true,
        -              "search_radius_m": 1000,
        -              "value": "On property"
        -            },
        -            "properties": {
        -              "area_level": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Constant `'Layer'` on property risks — a placeholder marking these as map-layer hits rather than statistics for a suburb or region. It is not a geographic level and carries no information; the suburb risk endpoints use this slot for a real one.",
        -                "title": "Area Level"
        -              },
        -              "area_name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Constant `'Risk Layer'` on property risks. Like `area_level`, a placeholder that keeps the row shape consistent with area-based responses — not the name of any actual area, and not the name of the hazard (that is `name`).",
        -                "title": "Area Name"
        -              },
        -              "features_within_radius": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "How many features of this overlay fall inside `search_radius_m`. Separates 'one stray polygon clips the corner of the neighbourhood' from 'the whole area is mapped'. Absent on public-housing records, where each record already is one Census area.",
        -                "title": "Features Within Radius"
        -              },
        -              "geojson": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "GeoJSON FeatureCollection of the hazard polygons for this overlay, ST_Intersection-clipped to a 1km-radius circle around the property and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                "title": "Geojson"
        -              },
        -              "geojson_meta": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Clip / simplify / truncation metadata for `geojson` (clip_method='1km_radius', radius_m, simplify tolerance, coordinate precision, feature/byte caps, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                "title": "Geojson Meta"
        -              },
        -              "name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Which hazard this record is about — a fixed label per overlay, e.g. 'Fire', 'Flood', 'Historically Flooded', 'Landslide', 'Erosion', 'Heritage', 'Environment', 'HV Power Line', 'Mobile Black Spot', 'Public Housing'. Suitable for display as-is.",
        -                "title": "Name"
        -              },
        -              "nearest_distance_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Metres from the property's address point to the nearest feature of this overlay, measured geodesically and reported to the whole metre. `0.0` exactly when `on_property` is true. When `on_property` is false this is how far away the hazard really is — a heritage record at 174 m and one at 950 m are both 'found', and only this field separates them. On public-housing records it is the distance to that record's Census area. Accurate to about 2% and biased very slightly long (it never under-reports the gap); at close range the error is sub-metre.",
        -                "title": "Nearest Distance M"
        -              },
        -              "on_property": {
        -                "anyOf": [
        -                  {
        -                    "type": "boolean"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "**Whether the hazard actually covers this property**, as opposed to merely existing nearby. True when a feature of this overlay contains the property's address point. This is the field to gate any 'this property is in a flood/bushfire/heritage zone' statement on — record presence alone only means 'found within `search_radius_m`'.\n\nTwo overlays are line/point data rather than zones — HV power lines (`'HV Power Line'`) and mobile black spots (`'Mobile Black Spot'`) — and for those `on_property` is false for every property by construction; `nearest_distance_m` is the signal there. On public-housing records it marks the one Census area the property actually sits in.",
        -                "title": "On Property"
        -              },
        -              "search_radius_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "The radius searched around the property, in metres (1000). Any record you receive was found inside this circle; anything beyond it was not looked for. Present so the presence rule is explicit rather than folklore.",
        -                "title": "Search Radius M"
        -              },
        -              "value": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "A display string summarising this record. On hazard overlays (fire, flood, landslide, erosion, heritage, environment, power lines, black spots) it states the containment result in words — `'On property'`, or `'Not on property; nearest 174 m away'`. It is prose for humans: parse `on_property` and `nearest_distance_m` instead. On public-housing records it is instead a preformatted percentage such as `'3.4%'` (see `value_unit`). Do not parse it as a number without checking `value_unit` first.",
        -                "title": "Value"
        -              },
        -              "value_unit": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "What `value` is measured in, and the flag for whether it is a number at all. Null on hazard overlays, whose `value` is the containment sentence. `'Properties Proportion'` on public-housing records, meaning `value` is the share of dwellings in a nearby small Census area that are public housing, written as a percentage string. Public housing can return several records — one per nearby Census area that clears a minimum share — so expect a list, not a single figure.",
        -                "title": "Value Unit"
        -              }
        -            },
        -            "title": "RiskRecord",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[RiskRecord]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_RiskRecord__"
        -}New value: +null
    • Changedproperties_risks_public_housing1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One hazard overlay found near the property.\n\n**A record means the hazard exists within 1 km — read `on_property` to\nlearn whether it covers the property itself.** Every overlay is searched\ninside a 1 km circle around the address point, so the presence of a\nrecord on its own says only *there is mapped hazard land in this\nneighbourhood*. Most records are proximity hits: the property is not in\nthe zone. Never render \"a bushfire record came back\" as \"this property\nis bushfire-prone\" — check `on_property` first, and quote\n`nearest_distance_m` when it is false.\n\n`on_property` is tested against the address point (the geocoded location\nof the dwelling), not a surveyed parcel boundary, so a zone whose edge\nruns through the block can read false while still clipping the land. It\nis a strong indication, not a statutory answer: nothing here substitutes\nfor a planning certificate.",
        -            "example": {
        -              "area_level": "Layer",
        -              "area_name": "Risk Layer",
        -              "features_within_radius": 25,
        -              "name": "Fire",
        -              "nearest_distance_m": 0,
        -              "on_property": true,
        -              "search_radius_m": 1000,
        -              "value": "On property"
        -            },
        -            "properties": {
        -              "area_level": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Constant `'Layer'` on property risks — a placeholder marking these as map-layer hits rather than statistics for a suburb or region. It is not a geographic level and carries no information; the suburb risk endpoints use this slot for a real one.",
        -                "title": "Area Level"
        -              },
        -              "area_name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Constant `'Risk Layer'` on property risks. Like `area_level`, a placeholder that keeps the row shape consistent with area-based responses — not the name of any actual area, and not the name of the hazard (that is `name`).",
        -                "title": "Area Name"
        -              },
        -              "features_within_radius": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "How many features of this overlay fall inside `search_radius_m`. Separates 'one stray polygon clips the corner of the neighbourhood' from 'the whole area is mapped'. Absent on public-housing records, where each record already is one Census area.",
        -                "title": "Features Within Radius"
        -              },
        -              "geojson": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "GeoJSON FeatureCollection of the hazard polygons for this overlay, ST_Intersection-clipped to a 1km-radius circle around the property and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                "title": "Geojson"
        -              },
        -              "geojson_meta": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Clip / simplify / truncation metadata for `geojson` (clip_method='1km_radius', radius_m, simplify tolerance, coordinate precision, feature/byte caps, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                "title": "Geojson Meta"
        -              },
        -              "name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Which hazard this record is about — a fixed label per overlay, e.g. 'Fire', 'Flood', 'Historically Flooded', 'Landslide', 'Erosion', 'Heritage', 'Environment', 'HV Power Line', 'Mobile Black Spot', 'Public Housing'. Suitable for display as-is.",
        -                "title": "Name"
        -              },
        -              "nearest_distance_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Metres from the property's address point to the nearest feature of this overlay, measured geodesically and reported to the whole metre. `0.0` exactly when `on_property` is true. When `on_property` is false this is how far away the hazard really is — a heritage record at 174 m and one at 950 m are both 'found', and only this field separates them. On public-housing records it is the distance to that record's Census area. Accurate to about 2% and biased very slightly long (it never under-reports the gap); at close range the error is sub-metre.",
        -                "title": "Nearest Distance M"
        -              },
        -              "on_property": {
        -                "anyOf": [
        -                  {
        -                    "type": "boolean"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "**Whether the hazard actually covers this property**, as opposed to merely existing nearby. True when a feature of this overlay contains the property's address point. This is the field to gate any 'this property is in a flood/bushfire/heritage zone' statement on — record presence alone only means 'found within `search_radius_m`'.\n\nTwo overlays are line/point data rather than zones — HV power lines (`'HV Power Line'`) and mobile black spots (`'Mobile Black Spot'`) — and for those `on_property` is false for every property by construction; `nearest_distance_m` is the signal there. On public-housing records it marks the one Census area the property actually sits in.",
        -                "title": "On Property"
        -              },
        -              "search_radius_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "The radius searched around the property, in metres (1000). Any record you receive was found inside this circle; anything beyond it was not looked for. Present so the presence rule is explicit rather than folklore.",
        -                "title": "Search Radius M"
        -              },
        -              "value": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "A display string summarising this record. On hazard overlays (fire, flood, landslide, erosion, heritage, environment, power lines, black spots) it states the containment result in words — `'On property'`, or `'Not on property; nearest 174 m away'`. It is prose for humans: parse `on_property` and `nearest_distance_m` instead. On public-housing records it is instead a preformatted percentage such as `'3.4%'` (see `value_unit`). Do not parse it as a number without checking `value_unit` first.",
        -                "title": "Value"
        -              },
        -              "value_unit": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "What `value` is measured in, and the flag for whether it is a number at all. Null on hazard overlays, whose `value` is the containment sentence. `'Properties Proportion'` on public-housing records, meaning `value` is the share of dwellings in a nearby small Census area that are public housing, written as a percentage string. Public housing can return several records — one per nearby Census area that clears a minimum share — so expect a list, not a single figure.",
        -                "title": "Value Unit"
        -              }
        -            },
        -            "title": "RiskRecord",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[RiskRecord]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_RiskRecord__"
        -}New value: +null
    • Changedproperties_sale_history1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One event in a property's market history — a sale, or a time it was\nadvertised for sale or for rent.\n\nRecords come from listing feeds, so this is the property's *advertised*\nhistory rather than a title/transfer register: a sale that never went to\nmarket may be absent. Records are returned newest first.",
        -            "properties": {
        -              "address": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "The property's address, title-cased. This is its current address as recorded in the national address file, repeated on every record — not the address text used in that particular listing, so it will not reflect a renumbering or a name change since.",
        -                "title": "Address"
        -              },
        -              "date": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "When the event happened, as `YYYY-MM-DD`. For a `Sold` record this is the sale date; for `For Sale` / `For Rent` it is the date the listing appeared. Note for sold records: where the state land registry is the source this is the contract date rather than settlement, but sold dates sourced from listing portals are not guaranteed to be one or the other — treat it as accurate to the month, not the day.",
        -                "title": "Date"
        -              },
        -              "price": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "The money figure attached to the event, in AUD. On `Sold` and `For Sale` records that is the whole price of the property; on `For Rent` it is the advertised rent, normally per week (the Australian convention) — but it is taken from the advertised text as-is and is not converted, so an agent who advertised monthly can leave a monthly figure here. Sanity-check rents that look ~4x too high. Null when the listing showed no number (e.g. 'Auction', 'Contact Agent').",
        -                "title": "Price"
        -              },
        -              "type": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Which kind of event this is. One of exactly three values: `'Sold'`, `'For Sale'` (advertised for sale, outcome not necessarily known) or `'For Rent'`. Determines how to read `price` and `date` above.",
        -                "title": "Type"
        -              }
        -            },
        -            "title": "HistoryRecord",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[HistoryRecord]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_HistoryRecord__"
        -}New value: +null
    • Changedproperties_sale_history_latest1 field changed
      • 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": "One event in a property's market history — a sale, or a time it was\nadvertised for sale or for rent.\n\nRecords come from listing feeds, so this is the property's *advertised*\nhistory rather than a title/transfer register: a sale that never went to\nmarket may be absent. Records are returned newest first.",
        -          "properties": {
        -            "address": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "The property's address, title-cased. This is its current address as recorded in the national address file, repeated on every record — not the address text used in that particular listing, so it will not reflect a renumbering or a name change since.",
        -              "title": "Address"
        -            },
        -            "date": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "When the event happened, as `YYYY-MM-DD`. For a `Sold` record this is the sale date; for `For Sale` / `For Rent` it is the date the listing appeared. Note for sold records: where the state land registry is the source this is the contract date rather than settlement, but sold dates sourced from listing portals are not guaranteed to be one or the other — treat it as accurate to the month, not the day.",
        -              "title": "Date"
        -            },
        -            "price": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "The money figure attached to the event, in AUD. On `Sold` and `For Sale` records that is the whole price of the property; on `For Rent` it is the advertised rent, normally per week (the Australian convention) — but it is taken from the advertised text as-is and is not converted, so an agent who advertised monthly can leave a monthly figure here. Sanity-check rents that look ~4x too high. Null when the listing showed no number (e.g. 'Auction', 'Contact Agent').",
        -              "title": "Price"
        -            },
        -            "type": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Which kind of event this is. One of exactly three values: `'Sold'`, `'For Sale'` (advertised for sale, outcome not necessarily known) or `'For Rent'`. Determines how to read `price` and `date` above.",
        -              "title": "Type"
        -            }
        -          },
        -          "title": "HistoryRecord",
        -          "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[HistoryRecord]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_HistoryRecord_"
        -}New value: +null
    • Changedproperties_schools_all1 field changed
      • 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": [
        -        {
        -          "description": "All nearby schools — list + ranking.",
        -          "example": {
        -            "nearby": [
        -              {
        -                "distance_m": 612,
        -                "name": "Belmont North Public School",
        -                "school_level_type": "Primary",
        -                "sector": "public"
        -              }
        -            ],
        -            "ranking": [
        -              {
        -                "attendance_rate": 0.89,
        -                "distance_m": 612,
        -                "name": "Belmont North Public School",
        -                "naplan_label": "Top 40%",
        -                "naplan_rank": 0.63,
        -                "school_level_type": "Primary",
        -                "sector": "public",
        -                "socioeconomic_label": "Bottom 20%",
        -                "socioeconomic_rank": 0.17
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "nearby": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One school within ~5km of the property.",
        -                    "example": {
        -                      "distance_m": 612,
        -                      "id": 42002,
        -                      "name": "Belmont North Public School",
        -                      "school_level_type": "Primary",
        -                      "sector": "public"
        -                    },
        -                    "properties": {
        -                      "distance_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Distance from the property in metres.",
        -                        "title": "Distance M"
        -                      },
        -                      "id": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "School identifier (MySchool ID).",
        -                        "title": "Id"
        -                      },
        -                      "name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "School name.",
        -                        "title": "Name"
        -                      },
        -                      "school_level_type": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Primary / Secondary / Combined.",
        -                        "title": "School Level Type"
        -                      },
        -                      "sector": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "public / private.",
        -                        "title": "Sector"
        -                      }
        -                    },
        -                    "title": "SchoolNearby",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "title": "Nearby"
        -            },
        -            "ranking": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One school within ~5km, ranked by NAPLAN + socio-economic percentiles.",
        -                    "example": {
        -                      "attendance_rate": 0.89,
        -                      "distance_m": 612,
        -                      "id": 42002,
        -                      "name": "Belmont North Public School",
        -                      "naplan_label": "Top 40%",
        -                      "naplan_rank": 0.63,
        -                      "school_level_type": "Primary",
        -                      "sector": "public",
        -                      "socioeconomic_label": "Bottom 20%",
        -                      "socioeconomic_rank": 0.17
        -                    },
        -                    "properties": {
        -                      "attendance_rate": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Mean attendance rate (0–1).",
        -                        "title": "Attendance Rate"
        -                      },
        -                      "distance_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Distance from the property in metres.",
        -                        "title": "Distance M"
        -                      },
        -                      "id": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "School identifier (MySchool ID).",
        -                        "title": "Id"
        -                      },
        -                      "name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "School name.",
        -                        "title": "Name"
        -                      },
        -                      "naplan_label": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Human-readable NAPLAN band — 'Top 5%', 'Top 40%', etc.",
        -                        "title": "Naplan Label"
        -                      },
        -                      "naplan_rank": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "NAPLAN rank percentile (0–1, higher = better).",
        -                        "title": "Naplan Rank"
        -                      },
        -                      "school_level_type": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Primary / Secondary / Combined.",
        -                        "title": "School Level Type"
        -                      },
        -                      "sector": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "public / private.",
        -                        "title": "Sector"
        -                      },
        -                      "socioeconomic_label": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Human-readable affluence band.",
        -                        "title": "Socioeconomic Label"
        -                      },
        -                      "socioeconomic_rank": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Socio-economic rank percentile (0–1, higher = more advantaged).",
        -                        "title": "Socioeconomic Rank"
        -                      }
        -                    },
        -                    "title": "SchoolRanking",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "title": "Ranking"
        -            }
        -          },
        -          "title": "SchoolsAll",
        -          "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[SchoolsAll]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SchoolsAll_"
        -}New value: +null
    • Changedproperties_schools_nearby1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One school within ~5km of the property.",
        -            "example": {
        -              "distance_m": 612,
        -              "id": 42002,
        -              "name": "Belmont North Public School",
        -              "school_level_type": "Primary",
        -              "sector": "public"
        -            },
        -            "properties": {
        -              "distance_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Distance from the property in metres.",
        -                "title": "Distance M"
        -              },
        -              "id": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "School identifier (MySchool ID).",
        -                "title": "Id"
        -              },
        -              "name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "School name.",
        -                "title": "Name"
        -              },
        -              "school_level_type": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Primary / Secondary / Combined.",
        -                "title": "School Level Type"
        -              },
        -              "sector": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "public / private.",
        -                "title": "Sector"
        -              }
        -            },
        -            "title": "SchoolNearby",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[SchoolNearby]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_SchoolNearby__"
        -}New value: +null
    • Changedproperties_schools_ranking1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One school within ~5km, ranked by NAPLAN + socio-economic percentiles.",
        -            "example": {
        -              "attendance_rate": 0.89,
        -              "distance_m": 612,
        -              "id": 42002,
        -              "name": "Belmont North Public School",
        -              "naplan_label": "Top 40%",
        -              "naplan_rank": 0.63,
        -              "school_level_type": "Primary",
        -              "sector": "public",
        -              "socioeconomic_label": "Bottom 20%",
        -              "socioeconomic_rank": 0.17
        -            },
        -            "properties": {
        -              "attendance_rate": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Mean attendance rate (0–1).",
        -                "title": "Attendance Rate"
        -              },
        -              "distance_m": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Distance from the property in metres.",
        -                "title": "Distance M"
        -              },
        -              "id": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "School identifier (MySchool ID).",
        -                "title": "Id"
        -              },
        -              "name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "School name.",
        -                "title": "Name"
        -              },
        -              "naplan_label": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Human-readable NAPLAN band — 'Top 5%', 'Top 40%', etc.",
        -                "title": "Naplan Label"
        -              },
        -              "naplan_rank": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "NAPLAN rank percentile (0–1, higher = better).",
        -                "title": "Naplan Rank"
        -              },
        -              "school_level_type": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Primary / Secondary / Combined.",
        -                "title": "School Level Type"
        -              },
        -              "sector": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "public / private.",
        -                "title": "Sector"
        -              },
        -              "socioeconomic_label": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Human-readable affluence band.",
        -                "title": "Socioeconomic Label"
        -              },
        -              "socioeconomic_rank": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Socio-economic rank percentile (0–1, higher = more advantaged).",
        -                "title": "Socioeconomic Rank"
        -              }
        -            },
        -            "title": "SchoolRanking",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[SchoolRanking]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_SchoolRanking__"
        -}New value: +null
    • Changedproperties_street_profile1 field changed
      • 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": "The property's own street, benchmarked against its suburb.",
        -          "example": {
        -            "address": "15 Rengor Close",
        -            "forecast_rank": {
        -              "band": "Top 1%",
        -              "percentile_from_top": 1,
        -              "rank": 1,
        -              "tercile": "upper third",
        -              "total": 81
        -            },
        -            "gnaf_id": "GANSW717662275",
        -            "profile": {
        -              "annual_2y": 14.2,
        -              "annual_4y": 11.1,
        -              "annual_8y": 8.7,
        -              "confidence": "Medium",
        -              "current_price": 1300000,
        -              "history": [
        -                {
        -                  "price": 1002844.58,
        -                  "suburb_med": 866399,
        -                  "year": 2024
        -                },
        -                {
        -                  "price": 1300000,
        -                  "suburb_med": 948908,
        -                  "year": 2025
        -                },
        -                {
        -                  "price": 1300000,
        -                  "suburb_med": 1040068,
        -                  "year": 2026
        -                }
        -              ],
        -              "houses_on_street": 12,
        -              "median_house_rent_week": 986.5,
        -              "n_sales": 47,
        -              "past_growth_pct": 2.82,
        -              "renters_pct": "0%",
        -              "renters_pct_num": 0,
        -              "sale_turnover": "Every 9.2 years (very high turnover)",
        -              "sale_turnover_years": 9.2,
        -              "street": "Rengor Cl",
        -              "target_2y": 1694197.26,
        -              "target_4y": 1979978.08,
        -              "target_8y": 2532146.5,
        -              "title": "Rengor Close",
        -              "units_on_street": 0
        -            },
        -            "street": "Rengor Close",
        -            "streets_in_suburb": 81,
        -            "suburb": "Belmont North",
        -            "suburb_medians": {
        -              "annual_4y": 6.3,
        -              "annual_8y": 4.6,
        -              "past_growth_pct": 3.23,
        -              "rental_turnover_years": 6,
        -              "renters_pct": 16,
        -              "sale_turnover_years": 14.4
        -            }
        -          },
        -          "properties": {
        -            "address": {
        -              "description": "Street address of the property, e.g. '15 Rengor Close'.",
        -              "title": "Address",
        -              "type": "string"
        -            },
        -            "forecast_rank": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Where the property's street sits on 4-year forecast growth against\nevery other street in the suburb.",
        -                  "properties": {
        -                    "band": {
        -                      "description": "Plain-English band: 'Top N%', 'Mid-pack' or 'Bottom N%'.",
        -                      "title": "Band",
        -                      "type": "string"
        -                    },
        -                    "percentile_from_top": {
        -                      "description": "rank/total as a percentage — 1 is best, 100 is worst.",
        -                      "title": "Percentile From Top",
        -                      "type": "integer"
        -                    },
        -                    "rank": {
        -                      "description": "1-based rank, 1 = strongest 4-year forecast.",
        -                      "title": "Rank",
        -                      "type": "integer"
        -                    },
        -                    "tercile": {
        -                      "description": "'upper third', 'middle third' or 'lower third'.",
        -                      "title": "Tercile",
        -                      "type": "string"
        -                    },
        -                    "total": {
        -                      "description": "Streets ranked (those with a 4-year forecast).",
        -                      "title": "Total",
        -                      "type": "integer"
        -                    }
        -                  },
        -                  "required": [
        -                    "rank",
        -                    "total",
        -                    "percentile_from_top",
        -                    "band",
        -                    "tercile"
        -                  ],
        -                  "title": "StreetForecastRank",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Rank of the street's 4-year forecast within the suburb. None when the street has no 4-year forecast or fewer than two streets rank."
        -            },
        -            "gnaf_id": {
        -              "description": "GNAF persistent identifier of the property.",
        -              "title": "Gnaf Id",
        -              "type": "string"
        -            },
        -            "profile": {
        -              "additionalProperties": true,
        -              "description": "The property's own street.",
        -              "example": {
        -                "annual_2y": 14.2,
        -                "annual_4y": 11.1,
        -                "annual_8y": 8.7,
        -                "confidence": "Medium",
        -                "current_price": 1300000,
        -                "history": [
        -                  {
        -                    "price": 1002844.58,
        -                    "suburb_med": 866399,
        -                    "year": 2024
        -                  },
        -                  {
        -                    "price": 1300000,
        -                    "suburb_med": 948908,
        -                    "year": 2025
        -                  },
        -                  {
        -                    "price": 1300000,
        -                    "suburb_med": 1040068,
        -                    "year": 2026
        -                  }
        -                ],
        -                "houses_on_street": 12,
        -                "median_house_rent_week": 986.5,
        -                "n_sales": 47,
        -                "past_growth_pct": 2.82,
        -                "renters_pct": "0%",
        -                "renters_pct_num": 0,
        -                "sale_turnover": "Every 9.2 years (very high turnover)",
        -                "sale_turnover_years": 9.2,
        -                "street": "Rengor Cl",
        -                "target_2y": 1694197.26,
        -                "target_4y": 1979978.08,
        -                "target_8y": 2532146.5,
        -                "title": "Rengor Close",
        -                "units_on_street": 0
        -              },
        -              "properties": {
        -                "annual_2y": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Forecast annual growth over the next 2 years (percent, e.g. 8.0 = 8%/yr).",
        -                  "title": "Annual 2Y"
        -                },
        -                "annual_4y": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Forecast annual growth over the next 4 years (percent).",
        -                  "title": "Annual 4Y"
        -                },
        -                "annual_8y": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Forecast annual growth over the next 8 years (percent).",
        -                  "title": "Annual 8Y"
        -                },
        -                "confidence": {
        -                  "description": "Confidence in the street model from its sample size: 'High' (>=50 sales), 'Medium' (>=15), 'Low' otherwise.",
        -                  "title": "Confidence",
        -                  "type": "string"
        -                },
        -                "current_price": {
        -                  "description": "Current median house price for the street (AUD) — the real sold median, not a model estimate.",
        -                  "title": "Current Price",
        -                  "type": "number"
        -                },
        -                "history": {
        -                  "description": "Year-by-year modelled price history vs the suburb median.",
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One year of the street's modelled price history, with the suburb\nmedian as a baseline.",
        -                    "properties": {
        -                      "price": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Modelled street median price for the year (AUD), re-anchored to the sold median so the trajectory ends at `current_price`.",
        -                        "title": "Price"
        -                      },
        -                      "suburb_med": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Suburb median price for the same year (AUD) — baseline, not re-anchored.",
        -                        "title": "Suburb Med"
        -                      },
        -                      "year": {
        -                        "description": "Calendar year.",
        -                        "title": "Year",
        -                        "type": "integer"
        -                      }
        -                    },
        -                    "required": [
        -                      "year"
        -                    ],
        -                    "title": "StreetHistoryPoint",
        -                    "type": "object"
        -                  },
        -                  "title": "History",
        -                  "type": "array"
        -                },
        -                "houses_on_street": {
        -                  "anyOf": [
        -                    {
        -                      "type": "integer"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Number of houses on the street.",
        -                  "title": "Houses On Street"
        -                },
        -                "median_house_rent_week": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Median weekly house rent on the street (AUD/week).",
        -                  "title": "Median House Rent Week"
        -                },
        -                "n_sales": {
        -                  "description": "Number of sales underpinning the street model.",
        -                  "title": "N Sales",
        -                  "type": "integer"
        -                },
        -                "past_growth_pct": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Realised annual growth (CAGR, percent) across the street's price history. None when the history has fewer than two priced years.",
        -                  "title": "Past Growth Pct"
        -                },
        -                "rental_turnover": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Plain-language rental-turnover rate.",
        -                  "title": "Rental Turnover"
        -                },
        -                "rental_turnover_years": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "`rental_turnover` as a number of years.",
        -                  "title": "Rental Turnover Years"
        -                },
        -                "renters_pct": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Share of the street that is rented, e.g. '18%'.",
        -                  "title": "Renters Pct"
        -                },
        -                "renters_pct_num": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "`renters_pct` as a number, e.g. 18.0.",
        -                  "title": "Renters Pct Num"
        -                },
        -                "sale_turnover": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Plain-language sale-turnover rate, e.g. 'Every 12.0 years (average turnover)'.",
        -                  "title": "Sale Turnover"
        -                },
        -                "sale_turnover_years": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "`sale_turnover` as a number of years.",
        -                  "title": "Sale Turnover Years"
        -                },
        -                "street": {
        -                  "description": "Street name as stored in the forecast payload, e.g. 'Rengor Cl'.",
        -                  "title": "Street",
        -                  "type": "string"
        -                },
        -                "target_2y": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Forecast street price in 2 years (AUD).",
        -                  "title": "Target 2Y"
        -                },
        -                "target_4y": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Forecast street price in 4 years (AUD).",
        -                  "title": "Target 4Y"
        -                },
        -                "target_8y": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Forecast street price in 8 years (AUD).",
        -                  "title": "Target 8Y"
        -                },
        -                "title": {
        -                  "description": "Display name with the street suffix expanded, e.g. 'Rengor Close'.",
        -                  "title": "Title",
        -                  "type": "string"
        -                },
        -                "units_on_street": {
        -                  "anyOf": [
        -                    {
        -                      "type": "integer"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Number of units on the street.",
        -                  "title": "Units On Street"
        -                }
        -              },
        -              "required": [
        -                "street",
        -                "title",
        -                "current_price",
        -                "n_sales",
        -                "confidence",
        -                "history"
        -              ],
        -              "title": "StreetProfileRow",
        -              "type": "object"
        -            },
        -            "street": {
        -              "description": "The property's street, suffix-expanded, e.g. 'Rengor Close'.",
        -              "title": "Street",
        -              "type": "string"
        -            },
        -            "streets_in_suburb": {
        -              "description": "Forecastable streets in the suburb (the benchmark population).",
        -              "title": "Streets In Suburb",
        -              "type": "integer"
        -            },
        -            "suburb": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Suburb",
        -              "type": "string"
        -            },
        -            "suburb_medians": {
        -              "additionalProperties": true,
        -              "description": "Suburb-wide medians to judge the street against.",
        -              "properties": {
        -                "annual_4y": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Median 4-year forecast annual growth across the suburb's streets (percent).",
        -                  "title": "Annual 4Y"
        -                },
        -                "annual_8y": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Median 8-year forecast annual growth across the suburb's streets (percent).",
        -                  "title": "Annual 8Y"
        -                },
        -                "past_growth_pct": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Median realised annual growth across the suburb's streets (percent).",
        -                  "title": "Past Growth Pct"
        -                },
        -                "rental_turnover_years": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Median years between tenancies across the suburb's streets.",
        -                  "title": "Rental Turnover Years"
        -                },
        -                "renters_pct": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Median share of dwellings rented across the suburb's streets (percent).",
        -                  "title": "Renters Pct"
        -                },
        -                "sale_turnover_years": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Median years between sales across the suburb's streets.",
        -                  "title": "Sale Turnover Years"
        -                }
        -              },
        -              "title": "StreetSuburbMedians",
        -              "type": "object"
        -            }
        -          },
        -          "required": [
        -            "gnaf_id",
        -            "address",
        -            "suburb",
        -            "street",
        -            "streets_in_suburb",
        -            "profile",
        -            "suburb_medians"
        -          ],
        -          "title": "PropertyStreetProfile",
        -          "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[PropertyStreetProfile]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_PropertyStreetProfile_"
        -}New value: +null
    • Changedproperties_surroundings_listing_history_signals1 field changed
      • 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": "Listing-history owner-status signals for properties around the subject.",
        -          "example": {
        -            "count": 97,
        -            "gnaf_pid": "GANSW704360755",
        -            "radius_m": 200,
        -            "recent_window_years": 10,
        -            "signals": [
        -              {
        -                "gnaf_pid": "GANSW704349559",
        -                "last_sold_date": "2021-11-23",
        -                "last_sold_years_ago": 4.6,
        -                "signal": "previously_for_sale"
        -              },
        -              {
        -                "gnaf_pid": "GANSW704341221",
        -                "last_sold_date": "2015-01-27",
        -                "last_sold_years_ago": 11.4,
        -                "signal": "no_recent_listings"
        -              }
        -            ],
        -            "summary": {
        -              "no_recent_listings": 24,
        -              "previously_for_sale": 55,
        -              "previously_rented": 18
        -            }
        -          },
        -          "properties": {
        -            "count": {
        -              "description": "Properties with any listing history (never-listed properties carry no signal and are omitted).",
        -              "title": "Count",
        -              "type": "integer"
        -            },
        -            "gnaf_pid": {
        -              "description": "The subject property's GNAF PID.",
        -              "title": "Gnaf Pid",
        -              "type": "string"
        -            },
        -            "radius_m": {
        -              "description": "Radius of the search box around the subject, metres.",
        -              "title": "Radius M",
        -              "type": "integer"
        -            },
        -            "recent_window_years": {
        -              "description": "Recency window used to derive the signals (years).",
        -              "title": "Recent Window Years",
        -              "type": "integer"
        -            },
        -            "signals": {
        -              "description": "Per-property signals, sorted by GNAF PID.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "Derived owner-status signal for one nearby property.",
        -                "properties": {
        -                  "gnaf_pid": {
        -                    "description": "GNAF PID of the property.",
        -                    "title": "Gnaf Pid",
        -                    "type": "string"
        -                  },
        -                  "last_rent_date": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Most recent rental listing date (YYYY-MM-DD).",
        -                    "title": "Last Rent Date"
        -                  },
        -                  "last_rent_years_ago": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Years since the last rental listing (1 dp).",
        -                    "title": "Last Rent Years Ago"
        -                  },
        -                  "last_sold_date": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Most recent Sold/Buy listing date (YYYY-MM-DD).",
        -                    "title": "Last Sold Date"
        -                  },
        -                  "last_sold_years_ago": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Years since the last sale listing (1 dp).",
        -                    "title": "Last Sold Years Ago"
        -                  },
        -                  "signal": {
        -                    "description": "Likely owner status: recent rent listing → `previously_rented` (likely investor); recent sale → `previously_for_sale` (likely mortgaged); neither within the window → `no_recent_listings` (likely owned outright).",
        -                    "enum": [
        -                      "previously_rented",
        -                      "previously_for_sale",
        -                      "no_recent_listings"
        -                    ],
        -                    "title": "Signal",
        -                    "type": "string"
        -                  }
        -                },
        -                "required": [
        -                  "gnaf_pid",
        -                  "signal"
        -                ],
        -                "title": "ListingHistorySignal",
        -                "type": "object"
        -              },
        -              "title": "Signals",
        -              "type": "array"
        -            },
        -            "summary": {
        -              "additionalProperties": true,
        -              "description": "Signal counts across the returned properties.",
        -              "properties": {
        -                "no_recent_listings": {
        -                  "description": "Properties with no listing inside the window.",
        -                  "title": "No Recent Listings",
        -                  "type": "integer"
        -                },
        -                "previously_for_sale": {
        -                  "description": "Properties with a recent sale.",
        -                  "title": "Previously For Sale",
        -                  "type": "integer"
        -                },
        -                "previously_rented": {
        -                  "description": "Properties with a recent rental.",
        -                  "title": "Previously Rented",
        -                  "type": "integer"
        -                }
        -              },
        -              "required": [
        -                "previously_rented",
        -                "previously_for_sale",
        -                "no_recent_listings"
        -              ],
        -              "title": "ListingSignalSummary",
        -              "type": "object"
        -            }
        -          },
        -          "required": [
        -            "gnaf_pid",
        -            "radius_m",
        -            "recent_window_years",
        -            "count",
        -            "signals",
        -            "summary"
        -          ],
        -          "title": "SurroundingListingSignals",
        -          "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[SurroundingListingSignals]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SurroundingListingSignals_"
        -}New value: +null
    • Changedproperties_surroundings_parcels1 field changed
      • 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": "Cadastral parcel polygons for every property around the subject.",
        -          "example": {
        -            "count": 127,
        -            "gnaf_pid": "GANSW704360755",
        -            "parcels": {
        -              "features": [
        -                {
        -                  "geometry": {
        -                    "coordinates": [
        -                      [
        -                        [
        -                          [
        -                            151.221417,
        -                            -33.800987
        -                          ],
        -                          [
        -                            151.221318,
        -                            -33.801078
        -                          ],
        -                          [
        -                            151.221308,
        -                            -33.801256
        -                          ],
        -                          [
        -                            151.221417,
        -                            -33.800987
        -                          ]
        -                        ]
        -                      ]
        -                    ],
        -                    "type": "MultiPolygon"
        -                  },
        -                  "properties": {
        -                    "gnaf_pid": "GANSW704355807",
        -                    "is_subject": false
        -                  },
        -                  "type": "Feature"
        -                }
        -              ],
        -              "type": "FeatureCollection"
        -            },
        -            "radius_m": 200
        -          },
        -          "properties": {
        -            "count": {
        -              "description": "Number of parcel features returned.",
        -              "title": "Count",
        -              "type": "integer"
        -            },
        -            "gnaf_pid": {
        -              "description": "The subject property's GNAF PID.",
        -              "title": "Gnaf Pid",
        -              "type": "string"
        -            },
        -            "parcels": {
        -              "additionalProperties": true,
        -              "description": "GeoJSON FeatureCollection, one feature per parcel.",
        -              "properties": {
        -                "features": {
        -                  "description": "One feature per parcel.",
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One cadastral parcel as a GeoJSON Feature.",
        -                    "properties": {
        -                      "geometry": {
        -                        "additionalProperties": true,
        -                        "description": "Parcel polygon, 6 dp coords.",
        -                        "properties": {
        -                          "coordinates": {
        -                            "description": "Nested coordinate arrays per the GeoJSON spec, lon first.",
        -                            "title": "Coordinates"
        -                          },
        -                          "type": {
        -                            "description": "GeoJSON geometry type, e.g. 'MultiPolygon'.",
        -                            "title": "Type",
        -                            "type": "string"
        -                          }
        -                        },
        -                        "required": [
        -                          "type",
        -                          "coordinates"
        -                        ],
        -                        "title": "GeoJsonGeometry",
        -                        "type": "object"
        -                      },
        -                      "properties": {
        -                        "additionalProperties": true,
        -                        "description": "Feature properties: `gnaf_pid` and `is_subject`.",
        -                        "title": "Properties",
        -                        "type": "object"
        -                      },
        -                      "type": {
        -                        "const": "Feature",
        -                        "description": "Always 'Feature'.",
        -                        "title": "Type",
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "type",
        -                      "properties",
        -                      "geometry"
        -                    ],
        -                    "title": "ParcelFeature",
        -                    "type": "object"
        -                  },
        -                  "title": "Features",
        -                  "type": "array"
        -                },
        -                "type": {
        -                  "const": "FeatureCollection",
        -                  "description": "Always 'FeatureCollection'.",
        -                  "title": "Type",
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "type",
        -                "features"
        -              ],
        -              "title": "ParcelFeatureCollection",
        -              "type": "object"
        -            },
        -            "radius_m": {
        -              "description": "Radius of the search box around the subject, metres.",
        -              "title": "Radius M",
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "gnaf_pid",
        -            "radius_m",
        -            "count",
        -            "parcels"
        -          ],
        -          "title": "SurroundingParcels",
        -          "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[SurroundingParcels]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SurroundingParcels_"
        -}New value: +null
    • Changedproperties_surroundings_properties1 field changed
      • 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": "Every GNAF property within 200 m of the subject.",
        -          "example": {
        -            "count": 128,
        -            "gnaf_pid": "GANSW704360755",
        -            "properties": [
        -              {
        -                "address": "9 The Barbette",
        -                "gnaf_pid": "GANSW704355807",
        -                "is_subject": false,
        -                "lat": -33.80427291,
        -                "lng": 151.21837048,
        -                "mb": "10843130000"
        -              },
        -              {
        -                "address": "90 The Bulwark",
        -                "gnaf_pid": "GANSW704360755",
        -                "is_subject": true,
        -                "lat": -33.80247931,
        -                "lng": 151.21971516,
        -                "mb": "10843090000"
        -              }
        -            ],
        -            "radius_m": 200
        -          },
        -          "properties": {
        -            "count": {
        -              "description": "Number of properties returned.",
        -              "title": "Count",
        -              "type": "integer"
        -            },
        -            "gnaf_pid": {
        -              "description": "The subject property's GNAF PID.",
        -              "title": "Gnaf Pid",
        -              "type": "string"
        -            },
        -            "properties": {
        -              "description": "Properties inside the box, subject included.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One property inside the search box.",
        -                "properties": {
        -                  "address": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Street address (title-cased).",
        -                    "title": "Address"
        -                  },
        -                  "gnaf_pid": {
        -                    "description": "GNAF PID of this property.",
        -                    "title": "Gnaf Pid",
        -                    "type": "string"
        -                  },
        -                  "is_subject": {
        -                    "description": "True for the subject property itself.",
        -                    "title": "Is Subject",
        -                    "type": "boolean"
        -                  },
        -                  "lat": {
        -                    "description": "Latitude (EPSG:4326).",
        -                    "title": "Lat",
        -                    "type": "number"
        -                  },
        -                  "lng": {
        -                    "description": "Longitude (EPSG:4326).",
        -                    "title": "Lng",
        -                    "type": "number"
        -                  },
        -                  "mb": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "ABS 2021 mesh-block code the property sits in.",
        -                    "title": "Mb"
        -                  }
        -                },
        -                "required": [
        -                  "gnaf_pid",
        -                  "lat",
        -                  "lng",
        -                  "is_subject"
        -                ],
        -                "title": "SurroundingProperty",
        -                "type": "object"
        -              },
        -              "title": "Properties",
        -              "type": "array"
        -            },
        -            "radius_m": {
        -              "description": "Radius of the search box around the subject, metres.",
        -              "title": "Radius M",
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "gnaf_pid",
        -            "radius_m",
        -            "count",
        -            "properties"
        -          ],
        -          "title": "SurroundingProperties",
        -          "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[SurroundingProperties]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SurroundingProperties_"
        -}New value: +null
    • Changedproperties_surroundings_public_housing1 field changed
      • 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": "Public-housing classifier flags for properties around the subject.",
        -          "example": {
        -            "flagged": [
        -              {
        -                "address": "3 The Bulwark",
        -                "gnaf_pid": "GANSW704349559",
        -                "lat": -33.80311,
        -                "lng": 151.21899,
        -                "ph_chance": 3
        -              }
        -            ],
        -            "flagged_count": 1,
        -            "gnaf_pid": "GANSW704360755",
        -            "property_count": 128,
        -            "radius_m": 200
        -          },
        -          "properties": {
        -            "flagged": {
        -              "description": "The flagged properties (empty when none).",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One property flagged by the public-housing classifier.",
        -                "properties": {
        -                  "address": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Street address (title-cased).",
        -                    "title": "Address"
        -                  },
        -                  "gnaf_pid": {
        -                    "description": "GNAF PID of the flagged property.",
        -                    "title": "Gnaf Pid",
        -                    "type": "string"
        -                  },
        -                  "lat": {
        -                    "description": "Latitude (EPSG:4326).",
        -                    "title": "Lat",
        -                    "type": "number"
        -                  },
        -                  "lng": {
        -                    "description": "Longitude (EPSG:4326).",
        -                    "title": "Lng",
        -                    "type": "number"
        -                  },
        -                  "ph_chance": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Classifier confidence band (2 or 3 — every returned row is a positive prediction).",
        -                    "title": "Ph Chance"
        -                  }
        -                },
        -                "required": [
        -                  "gnaf_pid",
        -                  "lat",
        -                  "lng"
        -                ],
        -                "title": "PublicHousingFlag",
        -                "type": "object"
        -              },
        -              "title": "Flagged",
        -              "type": "array"
        -            },
        -            "flagged_count": {
        -              "description": "How many of those the classifier flags as public housing.",
        -              "title": "Flagged Count",
        -              "type": "integer"
        -            },
        -            "gnaf_pid": {
        -              "description": "The subject property's GNAF PID.",
        -              "title": "Gnaf Pid",
        -              "type": "string"
        -            },
        -            "property_count": {
        -              "description": "Total properties inside the search box.",
        -              "title": "Property Count",
        -              "type": "integer"
        -            },
        -            "radius_m": {
        -              "description": "Radius of the search box around the subject, metres.",
        -              "title": "Radius M",
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "gnaf_pid",
        -            "radius_m",
        -            "property_count",
        -            "flagged_count",
        -            "flagged"
        -          ],
        -          "title": "SurroundingPublicHousing",
        -          "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[SurroundingPublicHousing]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SurroundingPublicHousing_"
        -}New value: +null
    • Changedproperties_surroundings_tenure1 field changed
      • 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": "Tenure mix (own / mortgage / rent / public) around the subject.",
        -          "example": {
        -            "as_of": "2021-08-10",
        -            "gnaf_pid": "GANSW704360755",
        -            "mbs": [
        -              {
        -                "mb": "10843090000",
        -                "mortgaged_pct": 39.9,
        -                "owned_outright_pct": 35.4,
        -                "property_count": 39,
        -                "public_housing_pct": 0,
        -                "rented_pct": 15.2
        -              },
        -              {
        -                "mb": "10842992000",
        -                "mortgaged_pct": 45.9,
        -                "owned_outright_pct": 36.3,
        -                "property_count": 21,
        -                "public_housing_pct": 0.6,
        -                "rented_pct": 6.6
        -              }
        -            ],
        -            "radius_m": 200
        -          },
        -          "properties": {
        -            "as_of": {
        -              "description": "Census anchor date (YYYY-MM-DD).",
        -              "title": "As Of",
        -              "type": "string"
        -            },
        -            "gnaf_pid": {
        -              "description": "The subject property's GNAF PID.",
        -              "title": "Gnaf Pid",
        -              "type": "string"
        -            },
        -            "mbs": {
        -              "description": "Per-mesh-block tenure shares, sorted by property count desc.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "ABS Census 2021 tenure shares for one mesh block.",
        -                "properties": {
        -                  "mb": {
        -                    "description": "ABS 2021 mesh-block code.",
        -                    "title": "Mb",
        -                    "type": "string"
        -                  },
        -                  "mortgaged_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Share of dwellings owned with a mortgage (%).",
        -                    "title": "Mortgaged Pct"
        -                  },
        -                  "owned_outright_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Share of dwellings owned outright (%).",
        -                    "title": "Owned Outright Pct"
        -                  },
        -                  "property_count": {
        -                    "description": "Properties inside the search box that sit in this mesh block.",
        -                    "title": "Property Count",
        -                    "type": "integer"
        -                  },
        -                  "public_housing_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Share of dwellings in public/social housing (%).",
        -                    "title": "Public Housing Pct"
        -                  },
        -                  "rented_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Share of dwellings rented privately (%).",
        -                    "title": "Rented Pct"
        -                  }
        -                },
        -                "required": [
        -                  "mb",
        -                  "property_count"
        -                ],
        -                "title": "MbTenure",
        -                "type": "object"
        -              },
        -              "title": "Mbs",
        -              "type": "array"
        -            },
        -            "radius_m": {
        -              "description": "Radius of the search box around the subject, metres.",
        -              "title": "Radius M",
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "gnaf_pid",
        -            "radius_m",
        -            "as_of",
        -            "mbs"
        -          ],
        -          "title": "SurroundingTenure",
        -          "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[SurroundingTenure]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SurroundingTenure_"
        -}New value: +null
    • Changedproperties_transport_nearby1 field changed
      • 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": "Nearest public-transport stop per mode within the radius.",
        -          "example": {
        -            "center_lat": -33.802479,
        -            "center_lng": 151.219715,
        -            "counts": {
        -              "bus": 6,
        -              "ferry": 0,
        -              "train": 0,
        -              "tram": 0
        -            },
        -            "gnaf_id": "GANSW704360755",
        -            "nearest": {
        -              "bus": {
        -                "distance_m": 130,
        -                "label": "Bus stop",
        -                "lat": -33.8031,
        -                "lng": 151.2201
        -              }
        -            },
        -            "radius_m": 1000
        -          },
        -          "properties": {
        -            "center_lat": {
        -              "description": "Property latitude (WGS84).",
        -              "title": "Center Lat",
        -              "type": "number"
        -            },
        -            "center_lng": {
        -              "description": "Property longitude (WGS84).",
        -              "title": "Center Lng",
        -              "type": "number"
        -            },
        -            "counts": {
        -              "additionalProperties": {
        -                "type": "integer"
        -              },
        -              "description": "Count per mode within the radius (train / tram / bus / ferry).",
        -              "title": "Counts",
        -              "type": "object"
        -            },
        -            "gnaf_id": {
        -              "description": "GNAF property identifier.",
        -              "title": "Gnaf Id",
        -              "type": "string"
        -            },
        -            "nearest": {
        -              "additionalProperties": {
        -                "anyOf": [
        -                  {
        -                    "additionalProperties": true,
        -                    "description": "The nearest stop/station of one mode.",
        -                    "properties": {
        -                      "distance_m": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Straight-line distance from the property, metres.",
        -                        "title": "Distance M"
        -                      },
        -                      "label": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Mode label: Train station / Tram stop / Bus stop / Ferry terminal.",
        -                        "title": "Label"
        -                      },
        -                      "lat": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Latitude (WGS84).",
        -                        "title": "Lat"
        -                      },
        -                      "lng": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Longitude (WGS84).",
        -                        "title": "Lng"
        -                      },
        -                      "name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Stop / station name (blank for bus & tram stops).",
        -                        "title": "Name"
        -                      }
        -                    },
        -                    "title": "TransportStop",
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ]
        -              },
        -              "description": "Nearest stop per mode; null when none falls inside the radius.",
        -              "title": "Nearest",
        -              "type": "object"
        -            },
        -            "radius_m": {
        -              "description": "Search radius applied, metres.",
        -              "title": "Radius M",
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "gnaf_id",
        -            "center_lat",
        -            "center_lng",
        -            "radius_m",
        -            "counts",
        -            "nearest"
        -          ],
        -          "title": "TransportNearby",
        -          "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[TransportNearby]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_TransportNearby_"
        -}New value: +null
    • Changedproperties_valuation_agent_quoting1 field changed
      • 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": "Quoting accuracy of the property's CURRENT listing agency.\n\nOnly available while the property is for sale with a tracked agency —\notherwise the endpoint reports no data.",
        -          "example": {
        -            "agency_name": "Elders Mt Gambier RLA 62833",
        -            "asking_price": 450000,
        -            "cohort": "Severe Underquoter",
        -            "likely_sale_price": 523350,
        -            "median_deviation_pct": 16.3,
        -            "recent_sales": [
        -              {
        -                "address": "12 Chauvel Street, Mount Gambier",
        -                "diff_pct": 53.9,
        -                "guide_price": 287500,
        -                "sold_date": "2026-03-19",
        -                "sold_price": 442500
        -              }
        -            ],
        -            "total_sales": 4,
        -            "underquote_rate_pct": 50
        -          },
        -          "properties": {
        -            "agency_name": {
        -              "description": "Current listing agency.",
        -              "title": "Agency Name",
        -              "type": "string"
        -            },
        -            "asking_price": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Current asking guide for this listing (AUD).",
        -              "title": "Asking Price"
        -            },
        -            "cohort": {
        -              "description": "Quoting-behaviour cohort label (e.g. 'Severe Underquoter').",
        -              "title": "Cohort",
        -              "type": "string"
        -            },
        -            "likely_sale_price": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Asking guide adjusted by the agency's median deviation (AUD).",
        -              "title": "Likely Sale Price"
        -            },
        -            "median_deviation_pct": {
        -              "description": "Median sold-vs-guide deviation across tracked sales (%).",
        -              "title": "Median Deviation Pct",
        -              "type": "number"
        -            },
        -            "recent_sales": {
        -              "description": "Up to 5 most-recent tracked sales.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One recent transparent sale by the listing agency.",
        -                "example": {
        -                  "address": "12 Chauvel Street, Mount Gambier",
        -                  "diff_pct": 53.9,
        -                  "guide_price": 287500,
        -                  "sold_date": "2026-03-19",
        -                  "sold_price": 442500
        -                },
        -                "properties": {
        -                  "address": {
        -                    "description": "Street address, suburb.",
        -                    "title": "Address",
        -                    "type": "string"
        -                  },
        -                  "diff_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Sold vs guide deviation (%).",
        -                    "title": "Diff Pct"
        -                  },
        -                  "guide_price": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Advertised guide (midpoint, AUD).",
        -                    "title": "Guide Price"
        -                  },
        -                  "sold_date": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Sale date (YYYY-MM-DD).",
        -                    "title": "Sold Date"
        -                  },
        -                  "sold_price": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Achieved sale price (AUD).",
        -                    "title": "Sold Price"
        -                  }
        -                },
        -                "required": [
        -                  "address"
        -                ],
        -                "title": "AgentRecentSale",
        -                "type": "object"
        -              },
        -              "title": "Recent Sales",
        -              "type": "array"
        -            },
        -            "total_sales": {
        -              "description": "Number of tracked transparent sales.",
        -              "title": "Total Sales",
        -              "type": "integer"
        -            },
        -            "underquote_rate_pct": {
        -              "description": "Share of tracked sales that sold above guide (%).",
        -              "title": "Underquote Rate Pct",
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "agency_name",
        -            "cohort",
        -            "median_deviation_pct",
        -            "underquote_rate_pct",
        -            "total_sales",
        -            "recent_sales"
        -          ],
        -          "title": "AgentQuoting",
        -          "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[AgentQuoting]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_AgentQuoting_"
        -}New value: +null
    • Changedproperties_valuation_all1 field changed
      • 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": [
        -        {
        -          "description": "All valuation outputs in one call. Today: just the AVM (which\nnow includes confidence_score inline). Kept as a bundle so future\nvaluation outputs — rental AVM, off-market signals — slot in\nwithout a new endpoint.",
        -          "properties": {
        -            "avm": {
        -              "anyOf": [
        -                {
        -                  "description": "Automated valuation: point estimate + 80% prediction interval +\nconfidence score derived from the interval width.",
        -                  "example": {
        -                    "predicted_price": 876651,
        -                    "predicted_price_high": 1183479,
        -                    "predicted_price_low": 569823,
        -                    "prediction_date": "2026-04-20"
        -                  },
        -                  "properties": {
        -                    "confidence_score": {
        -                      "anyOf": [
        -                        {
        -                          "type": "integer"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "0–100. The valuation model's own calibrated confidence in this estimate — higher means the model is more certain. Read alongside `predicted_price_low` / `predicted_price_high` for the range.",
        -                      "title": "Confidence Score"
        -                    },
        -                    "predicted_price": {
        -                      "description": "Point estimate, AUD.",
        -                      "title": "Predicted Price",
        -                      "type": "number"
        -                    },
        -                    "predicted_price_high": {
        -                      "description": "Upper bound of the 80% prediction interval, AUD.",
        -                      "title": "Predicted Price High",
        -                      "type": "number"
        -                    },
        -                    "predicted_price_low": {
        -                      "description": "Lower bound of the 80% prediction interval, AUD.",
        -                      "title": "Predicted Price Low",
        -                      "type": "number"
        -                    },
        -                    "prediction_date": {
        -                      "description": "Date the model produced this estimate. AVMs are refreshed in batches; not on demand.",
        -                      "title": "Prediction Date",
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "predicted_price",
        -                    "predicted_price_low",
        -                    "predicted_price_high",
        -                    "prediction_date"
        -                  ],
        -                  "title": "AvmEstimate",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ]
        -            }
        -          },
        -          "title": "ValuationAll",
        -          "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[ValuationAll]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_ValuationAll_"
        -}New value: +null
    • Changedproperties_valuation_avm1 field changed
      • 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": [
        -        {
        -          "description": "Automated valuation: point estimate + 80% prediction interval +\nconfidence score derived from the interval width.",
        -          "example": {
        -            "predicted_price": 876651,
        -            "predicted_price_high": 1183479,
        -            "predicted_price_low": 569823,
        -            "prediction_date": "2026-04-20"
        -          },
        -          "properties": {
        -            "confidence_score": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "0–100. The valuation model's own calibrated confidence in this estimate — higher means the model is more certain. Read alongside `predicted_price_low` / `predicted_price_high` for the range.",
        -              "title": "Confidence Score"
        -            },
        -            "predicted_price": {
        -              "description": "Point estimate, AUD.",
        -              "title": "Predicted Price",
        -              "type": "number"
        -            },
        -            "predicted_price_high": {
        -              "description": "Upper bound of the 80% prediction interval, AUD.",
        -              "title": "Predicted Price High",
        -              "type": "number"
        -            },
        -            "predicted_price_low": {
        -              "description": "Lower bound of the 80% prediction interval, AUD.",
        -              "title": "Predicted Price Low",
        -              "type": "number"
        -            },
        -            "prediction_date": {
        -              "description": "Date the model produced this estimate. AVMs are refreshed in batches; not on demand.",
        -              "title": "Prediction Date",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "predicted_price",
        -            "predicted_price_low",
        -            "predicted_price_high",
        -            "prediction_date"
        -          ],
        -          "title": "AvmEstimate",
        -          "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[AvmEstimate]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_AvmEstimate_"
        -}New value: +null
    • Changedproperties_valuation_land_values1 field changed
      • 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": "Council land valuations for the parcel — 5-year series + lot area + zoning.",
        -          "example": {
        -            "area_sqm": 714.5,
        -            "history": [
        -              {
        -                "price_per_sqm": 2449.27,
        -                "value": 1750000,
        -                "year": 2021
        -              },
        -              {
        -                "price_per_sqm": 3177.05,
        -                "value": 2270000,
        -                "year": 2022,
        -                "yoy_pct": 29.71
        -              },
        -              {
        -                "price_per_sqm": 2883.14,
        -                "value": 2060000,
        -                "year": 2023,
        -                "yoy_pct": -9.25
        -              },
        -              {
        -                "price_per_sqm": 3177.05,
        -                "value": 2270000,
        -                "year": 2024,
        -                "yoy_pct": 10.19
        -              },
        -              {
        -                "price_per_sqm": 3177.05,
        -                "value": 2270000,
        -                "year": 2025,
        -                "yoy_pct": 0
        -              }
        -            ],
        -            "land_value": 2270000,
        -            "zone_desc": "C4 - Environmental Living"
        -          },
        -          "properties": {
        -            "area_sqm": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Lot area (square metres).",
        -              "title": "Area Sqm"
        -            },
        -            "history": {
        -              "description": "Per-year valuation series, oldest first.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One year of the council land-valuation series.",
        -                "example": {
        -                  "price_per_sqm": 3177.05,
        -                  "value": 2270000,
        -                  "year": 2025,
        -                  "yoy_pct": 0
        -                },
        -                "properties": {
        -                  "price_per_sqm": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Land value per square metre (AUD/sqm). Null when the lot area is unknown.",
        -                    "title": "Price Per Sqm"
        -                  },
        -                  "value": {
        -                    "description": "Council land value (AUD).",
        -                    "title": "Value",
        -                    "type": "number"
        -                  },
        -                  "year": {
        -                    "description": "Valuation year.",
        -                    "title": "Year",
        -                    "type": "integer"
        -                  },
        -                  "yoy_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Change vs the previous valued year (%). Null on the first year or after a gap.",
        -                    "title": "Yoy Pct"
        -                  }
        -                },
        -                "required": [
        -                  "year",
        -                  "value"
        -                ],
        -                "title": "LandValueYear",
        -                "type": "object"
        -              },
        -              "title": "History",
        -              "type": "array"
        -            },
        -            "land_value": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Latest council land value (AUD).",
        -              "title": "Land Value"
        -            },
        -            "zone_desc": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Zoning description (e.g. 'R2 - Low Density Residential').",
        -              "title": "Zone Desc"
        -            }
        -          },
        -          "required": [
        -            "history"
        -          ],
        -          "title": "PropertyLandValues",
        -          "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[PropertyLandValues]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_PropertyLandValues_"
        -}New value: +null
    • Changedproperties_valuation_negative_gearing1 field changed
      • 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": "Negative-gearing stat at the finest level available.\n\n``level='property'`` carries the per-property cashflow fields;\n``level='mb'`` / ``level='suburb'`` carry the area-exposure fields.\nFields for the other level are null.",
        -          "example": {
        -            "gross_yield_pct": 0.57,
        -            "is_negatively_geared": true,
        -            "level": "property",
        -            "lvr_default": 0.8,
        -            "net_cashflow_105lvr": -255336,
        -            "net_cashflow_80lvr": -189996,
        -            "net_cashflow_80lvr_wk": -3654,
        -            "rent_estimate_suspect": true
        -          },
        -          "properties": {
        -            "exposure": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Share of dwellings held by negatively-geared landlords, 0-1 (mb/suburb level).",
        -              "title": "Exposure"
        -            },
        -            "gross_yield_pct": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Gross rental yield, already a percent (property level).",
        -              "title": "Gross Yield Pct"
        -            },
        -            "is_negatively_geared": {
        -              "anyOf": [
        -                {
        -                  "type": "boolean"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Rent minus interest at 80% LVR is negative (property level).",
        -              "title": "Is Negatively Geared"
        -            },
        -            "level": {
        -              "description": "Resolution the stat was found at: per-property, mesh-block, or suburb.",
        -              "enum": [
        -                "property",
        -                "mb",
        -                "suburb"
        -              ],
        -              "title": "Level",
        -              "type": "string"
        -            },
        -            "lvr_default": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Headline-scenario LVR, 0-1 (property level).",
        -              "title": "Lvr Default"
        -            },
        -            "n_investor_candidates": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Number of investor candidates scored (mb/suburb level).",
        -              "title": "N Investor Candidates"
        -            },
        -            "net_cashflow_105lvr": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Net cashflow AUD/yr at the 105% equity-release scenario (property level).",
        -              "title": "Net Cashflow 105Lvr"
        -            },
        -            "net_cashflow_80lvr": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Net cashflow AUD/yr at the headline 80% LVR (property level).",
        -              "title": "Net Cashflow 80Lvr"
        -            },
        -            "net_cashflow_80lvr_wk": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Net cashflow AUD/wk at 80% LVR (property level).",
        -              "title": "Net Cashflow 80Lvr Wk"
        -            },
        -            "private_rental_share": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Private-rental share of dwellings, 0-1 (suburb level only).",
        -              "title": "Private Rental Share"
        -            },
        -            "realistic_lvr": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Mean LVR among candidates, 0-1 (mb level only).",
        -              "title": "Realistic Lvr"
        -            },
        -            "rent_estimate_suspect": {
        -              "anyOf": [
        -                {
        -                  "type": "boolean"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Upstream rent under-predicts — yield/cashflow indicative only (property level).",
        -              "title": "Rent Estimate Suspect"
        -            },
        -            "sal": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Suburb (SAL) name (mb/suburb level).",
        -              "title": "Sal"
        -            },
        -            "share_tax_loss_making": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Share of investor candidates that are tax-loss-making, 0-1 (mb/suburb level).",
        -              "title": "Share Tax Loss Making"
        -            },
        -            "tier": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Exposure tier (e.g. 'Very high', 'High', 'Medium', 'Low') (mb/suburb level).",
        -              "title": "Tier"
        -            }
        -          },
        -          "required": [
        -            "level"
        -          ],
        -          "title": "NegativeGearing",
        -          "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[NegativeGearing]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_NegativeGearing_"
        -}New value: +null
    • Changedproperties_valuation_value_series1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One point of the AVM value-over-time series.",
        -            "example": {
        -              "month": "2026-05",
        -              "value": 4168459
        -            },
        -            "properties": {
        -              "month": {
        -                "description": "Month (YYYY-MM).",
        -                "title": "Month",
        -                "type": "string"
        -              },
        -              "value": {
        -                "description": "Modelled property value at that month (AUD).",
        -                "title": "Value",
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "month",
        -              "value"
        -            ],
        -            "title": "ValueSeriesPoint",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[ValueSeriesPoint]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_ValueSeriesPoint__"
        -}New value: +null
    • Changedsa4_list1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "description": "One row in the SA4 directory.",
        -            "example": {
        -              "sa4": "Newcastle and Lake Macquarie",
        -              "state": "NSW"
        -            },
        -            "properties": {
        -              "sa4": {
        -                "description": "SA4 name.",
        -                "title": "Sa4",
        -                "type": "string"
        -              },
        -              "state": {
        -                "description": "State / Territory abbreviation (NSW, VIC, ...).",
        -                "title": "State",
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "sa4",
        -              "state"
        -            ],
        -            "title": "Sa4ListItem",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[Sa4ListItem]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_Sa4ListItem__"
        -}New value: +null
    • Changedsa4_profile1 field changed
      • 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": [
        -        {
        -          "description": "SA4's parent chain — GCCSA + state.",
        -          "example": {
        -            "gccsa": "Rest of NSW",
        -            "sa4": "Newcastle and Lake Macquarie",
        -            "state": "NSW"
        -          },
        -          "properties": {
        -            "gccsa": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Greater Capital City Statistical Area.",
        -              "title": "Gccsa"
        -            },
        -            "sa4": {
        -              "description": "SA4 name.",
        -              "title": "Sa4",
        -              "type": "string"
        -            },
        -            "state": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "State / Territory abbreviation.",
        -              "title": "State"
        -            }
        -          },
        -          "required": [
        -            "sa4"
        -          ],
        -          "title": "Sa4Profile",
        -          "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[Sa4Profile]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_Sa4Profile_"
        -}New value: +null
    • Changedsuburbs_crime_breakdown1 field changed
      • 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": "Per-crime-type breakdown table, highest rate first.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "breakdown": [
        -              {
        -                "diff_pct": 12,
        -                "label": "Property",
        -                "national_median": 898,
        -                "rate": 1008,
        -                "type": "property",
        -                "verdict": "Above average"
        -              },
        -              {
        -                "diff_pct": -12,
        -                "label": "Drugs",
        -                "national_median": 409,
        -                "rate": 358,
        -                "type": "drugs",
        -                "verdict": "Below average"
        -              }
        -            ],
        -            "unit": "predicted incidents per 100,000 residents per year"
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "breakdown": {
        -              "description": "One row per crime type, sorted by rate descending.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One crime type's suburb rate vs the national median.",
        -                "properties": {
        -                  "diff_pct": {
        -                    "description": "Suburb rate vs national median, rounded percentage delta.",
        -                    "title": "Diff Pct",
        -                    "type": "integer"
        -                  },
        -                  "label": {
        -                    "description": "Display label (e.g. 'Property', 'Public Order').",
        -                    "title": "Label",
        -                    "type": "string"
        -                  },
        -                  "national_median": {
        -                    "description": "National per-mesh-block median rate for this crime type.",
        -                    "title": "National Median",
        -                    "type": "number"
        -                  },
        -                  "rate": {
        -                    "description": "Average rate across this suburb's mesh blocks — predicted incidents per 100,000 residents per year — rounded.",
        -                    "title": "Rate",
        -                    "type": "integer"
        -                  },
        -                  "type": {
        -                    "description": "Machine key (e.g. 'property', 'public_order').",
        -                    "title": "Type",
        -                    "type": "string"
        -                  },
        -                  "verdict": {
        -                    "description": "Band for the delta: 'Very low', 'Below average', 'Average', 'Above average' or 'High'.",
        -                    "title": "Verdict",
        -                    "type": "string"
        -                  }
        -                },
        -                "required": [
        -                  "type",
        -                  "label",
        -                  "rate",
        -                  "national_median",
        -                  "diff_pct",
        -                  "verdict"
        -                ],
        -                "title": "CrimeBreakdownRow",
        -                "type": "object"
        -              },
        -              "title": "Breakdown",
        -              "type": "array"
        -            },
        -            "unit": {
        -              "description": "Unit of every rate / national_median value — always 'predicted incidents per 100,000 residents per year'.",
        -              "title": "Unit",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "unit",
        -            "breakdown"
        -          ],
        -          "title": "CrimeBreakdown",
        -          "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[CrimeBreakdown]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_CrimeBreakdown_"
        -}New value: +null
    • Changedsuburbs_crime_by_mesh_block1 field changed
      • 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": "Total crime rate per mesh block (choropleth-ready).",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "definition": "Sum of the 8 modelled per-category crime rates for the mesh block (model trained on QLD Police mesh-block incidents averaged over 2020-2022, predicted for all Australian mesh blocks).",
        -            "mesh_blocks": {
        -              "10431160000": 12128.8,
        -              "10431170000": 1755.8,
        -              "10431200000": 2050.2
        -            },
        -            "metric": "total_predicted_crime_rate",
        -            "period": "annual",
        -            "unit": "predicted incidents per 100,000 residents per year"
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "definition": {
        -              "description": "One-sentence definition of the metric, including model provenance.",
        -              "title": "Definition",
        -              "type": "string"
        -            },
        -            "mesh_blocks": {
        -              "additionalProperties": {
        -                "type": "number"
        -              },
        -              "description": "ABS 2021 mesh-block code → total crime rate: sum of all 8 modelled crime-type rates, predicted incidents per 100,000 residents per year.",
        -              "title": "Mesh Blocks",
        -              "type": "object"
        -            },
        -            "metric": {
        -              "description": "Always 'total_predicted_crime_rate' — what the mesh_blocks values measure.",
        -              "title": "Metric",
        -              "type": "string"
        -            },
        -            "period": {
        -              "description": "Always 'annual' — the rates are yearly figures.",
        -              "title": "Period",
        -              "type": "string"
        -            },
        -            "unit": {
        -              "description": "Unit of the mesh_blocks values — always 'predicted incidents per 100,000 residents per year'.",
        -              "title": "Unit",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "metric",
        -            "unit",
        -            "period",
        -            "definition",
        -            "mesh_blocks"
        -          ],
        -          "title": "CrimeByMeshBlock",
        -          "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[CrimeByMeshBlock]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_CrimeByMeshBlock_"
        -}New value: +null
    • Changedsuburbs_crime_summary1 field changed
      • 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": "Suburb vs national total-crime benchmark medians.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "national_median": 2787.6,
        -            "suburb_median": 2248,
        -            "unit": "predicted incidents per 100,000 residents per year",
        -            "verdict": "Below average",
        -            "vs_national_pct": -19
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "national_median": {
        -              "description": "Median total crime rate across all Australian mesh blocks, same unit as suburb_median.",
        -              "title": "National Median",
        -              "type": "number"
        -            },
        -            "suburb_median": {
        -              "description": "Median total crime rate across this suburb's mesh blocks — predicted incidents per 100,000 residents per year (model trained on QLD Police 2020-2022 incident averages, predicted for all Australian mesh blocks).",
        -              "title": "Suburb Median",
        -              "type": "number"
        -            },
        -            "unit": {
        -              "description": "Unit of suburb_median and national_median — always 'predicted incidents per 100,000 residents per year'.",
        -              "title": "Unit",
        -              "type": "string"
        -            },
        -            "verdict": {
        -              "description": "Plain-English band for the delta: 'Very low', 'Below average', 'Average', 'Above average' or 'High'.",
        -              "title": "Verdict",
        -              "type": "string"
        -            },
        -            "vs_national_pct": {
        -              "description": "Suburb median vs national median, as a rounded percentage delta (negative = less crime than the national median).",
        -              "title": "Vs National Pct",
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "unit",
        -            "suburb_median",
        -            "national_median",
        -            "vs_national_pct",
        -            "verdict"
        -          ],
        -          "title": "CrimeSummary",
        -          "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[CrimeSummary]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_CrimeSummary_"
        -}New value: +null
    • Changedsuburbs_demographics_age1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One row of demographic data — age bracket or income bracket. The\nshape varies per endpoint; common keys are always present, the rest\nare open (``extra=allow``) so a renamed sub-key doesn't break\nclients.",
        -            "example": {
        -              "age_bracket": "0-4",
        -              "area_level": "suburb",
        -              "area_name": "Belmont North",
        -              "gender": "females",
        -              "proportion": 0.0272
        -            },
        -            "properties": {
        -              "age_bracket": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Only on /demographics/age.",
        -                "title": "Age Bracket"
        -              },
        -              "area_level": {
        -                "description": "Always 'suburb'.",
        -                "title": "Area Level",
        -                "type": "string"
        -              },
        -              "area_name": {
        -                "description": "Suburb (SAL) name.",
        -                "title": "Area Name",
        -                "type": "string"
        -              },
        -              "gender": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Only on /demographics/age — 'males' / 'females' / 'persons'.",
        -                "title": "Gender"
        -              },
        -              "income_bracket": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Only on /demographics/income.",
        -                "title": "Income Bracket"
        -              },
        -              "median_income": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Only on /demographics/income.",
        -                "title": "Median Income"
        -              },
        -              "proportion": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Share of the suburb in this bracket (0–1).",
        -                "title": "Proportion"
        -              }
        -            },
        -            "required": [
        -              "area_name",
        -              "area_level"
        -            ],
        -            "title": "DemographicRow",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[DemographicRow]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_DemographicRow__"
        -}New value: +null
    • Changedsuburbs_demographics_all1 field changed
      • 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": [
        -        {
        -          "properties": {
        -            "age": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One row of demographic data — age bracket or income bracket. The\nshape varies per endpoint; common keys are always present, the rest\nare open (``extra=allow``) so a renamed sub-key doesn't break\nclients.",
        -                    "example": {
        -                      "age_bracket": "0-4",
        -                      "area_level": "suburb",
        -                      "area_name": "Belmont North",
        -                      "gender": "females",
        -                      "proportion": 0.0272
        -                    },
        -                    "properties": {
        -                      "age_bracket": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Only on /demographics/age.",
        -                        "title": "Age Bracket"
        -                      },
        -                      "area_level": {
        -                        "description": "Always 'suburb'.",
        -                        "title": "Area Level",
        -                        "type": "string"
        -                      },
        -                      "area_name": {
        -                        "description": "Suburb (SAL) name.",
        -                        "title": "Area Name",
        -                        "type": "string"
        -                      },
        -                      "gender": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Only on /demographics/age — 'males' / 'females' / 'persons'.",
        -                        "title": "Gender"
        -                      },
        -                      "income_bracket": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Only on /demographics/income.",
        -                        "title": "Income Bracket"
        -                      },
        -                      "median_income": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Only on /demographics/income.",
        -                        "title": "Median Income"
        -                      },
        -                      "proportion": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Share of the suburb in this bracket (0–1).",
        -                        "title": "Proportion"
        -                      }
        -                    },
        -                    "required": [
        -                      "area_name",
        -                      "area_level"
        -                    ],
        -                    "title": "DemographicRow",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "title": "Age"
        -            },
        -            "income": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One row of demographic data — age bracket or income bracket. The\nshape varies per endpoint; common keys are always present, the rest\nare open (``extra=allow``) so a renamed sub-key doesn't break\nclients.",
        -                    "example": {
        -                      "age_bracket": "0-4",
        -                      "area_level": "suburb",
        -                      "area_name": "Belmont North",
        -                      "gender": "females",
        -                      "proportion": 0.0272
        -                    },
        -                    "properties": {
        -                      "age_bracket": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Only on /demographics/age.",
        -                        "title": "Age Bracket"
        -                      },
        -                      "area_level": {
        -                        "description": "Always 'suburb'.",
        -                        "title": "Area Level",
        -                        "type": "string"
        -                      },
        -                      "area_name": {
        -                        "description": "Suburb (SAL) name.",
        -                        "title": "Area Name",
        -                        "type": "string"
        -                      },
        -                      "gender": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Only on /demographics/age — 'males' / 'females' / 'persons'.",
        -                        "title": "Gender"
        -                      },
        -                      "income_bracket": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Only on /demographics/income.",
        -                        "title": "Income Bracket"
        -                      },
        -                      "median_income": {
        -                        "anyOf": [
        -                          {
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Only on /demographics/income.",
        -                        "title": "Median Income"
        -                      },
        -                      "proportion": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Share of the suburb in this bracket (0–1).",
        -                        "title": "Proportion"
        -                      }
        -                    },
        -                    "required": [
        -                      "area_name",
        -                      "area_level"
        -                    ],
        -                    "title": "DemographicRow",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "title": "Income"
        -            }
        -          },
        -          "title": "DemographicsAll",
        -          "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[DemographicsAll]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_DemographicsAll_"
        -}New value: +null
    • Changedsuburbs_demographics_ancestry_map1 field changed
      • 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": "Per-microburb dominant ancestry (pilot-coverage dataset).",
        -          "example": {
        -            "microburbs": [
        -              {
        -                "dominant_ancestry": "Anglo-Australian",
        -                "mb": "10694860000",
        -                "persons": 118,
        -                "share_pct": 62.1,
        -                "street": "Edinburgh Rd"
        -              }
        -            ],
        -            "n_microburbs": 37,
        -            "suburb": "Castlecrag",
        -            "suburb_ancestry_shares": [
        -              {
        -                "ancestry": "Anglo-Australian",
        -                "pct": 58.4
        -              },
        -              {
        -                "ancestry": "Chinese",
        -                "pct": 12.9
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "microburbs": {
        -              "description": "Dominant ancestry per microburb.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One microburb's dominant ancestry.",
        -                "properties": {
        -                  "dominant_ancestry": {
        -                    "description": "Largest ancestry bucket.",
        -                    "title": "Dominant Ancestry",
        -                    "type": "string"
        -                  },
        -                  "mb": {
        -                    "description": "ABS mesh-block code.",
        -                    "title": "Mb",
        -                    "type": "string"
        -                  },
        -                  "persons": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Total persons in the MB.",
        -                    "title": "Persons"
        -                  },
        -                  "share_pct": {
        -                    "description": "Dominant bucket's share of ancestry responses (%).",
        -                    "title": "Share Pct",
        -                    "type": "number"
        -                  },
        -                  "street": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Modal street name in the MB.",
        -                    "title": "Street"
        -                  }
        -                },
        -                "required": [
        -                  "mb",
        -                  "dominant_ancestry",
        -                  "share_pct"
        -                ],
        -                "title": "AncestryMb",
        -                "type": "object"
        -              },
        -              "title": "Microburbs",
        -              "type": "array"
        -            },
        -            "n_microburbs": {
        -              "description": "Microburbs with ancestry data.",
        -              "title": "N Microburbs",
        -              "type": "integer"
        -            },
        -            "suburb": {
        -              "description": "Canonical SAL name.",
        -              "title": "Suburb",
        -              "type": "string"
        -            },
        -            "suburb_ancestry_shares": {
        -              "description": "Suburb-level ancestry shares, descending.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "Suburb-level ancestry share.",
        -                "properties": {
        -                  "ancestry": {
        -                    "description": "Ancestry bucket name.",
        -                    "title": "Ancestry",
        -                    "type": "string"
        -                  },
        -                  "pct": {
        -                    "description": "Share of all ancestry responses (%).",
        -                    "title": "Pct",
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "ancestry",
        -                  "pct"
        -                ],
        -                "title": "AncestryShare",
        -                "type": "object"
        -              },
        -              "title": "Suburb Ancestry Shares",
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "suburb",
        -            "n_microburbs",
        -            "microburbs",
        -            "suburb_ancestry_shares"
        -          ],
        -          "title": "SuburbAncestryMap",
        -          "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[SuburbAncestryMap]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbAncestryMap_"
        -}New value: +null
    • Changedsuburbs_demographics_business1 field changed
      • 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": "Local business mix — ABN industry pattern + distinctive POI categories.",
        -          "example": {
        -            "busiest_street_footnote": "On the busiest residential street, Croudace Bay Rd, the median house price sits at $890k.",
        -            "distinctive_categories": [
        -              {
        -                "category": "Takeaway",
        -                "count": 6,
        -                "examples": [
        -                  "Golden Wok",
        -                  "Belmont North Pizza"
        -                ],
        -                "times_more_common": 4.9
        -              }
        -            ],
        -            "industries": [
        -              {
        -                "industry": "trade_construction",
        -                "label": "Trades & construction",
        -                "n": 143,
        -                "share": 0.21
        -              }
        -            ],
        -            "pattern": {
        -              "headline": "Mostly residential — too few businesses to identify a market pattern.",
        -              "label": "Low-commercial residential",
        -              "subline": "The local business mix below shows what is distinctive in this suburb regardless."
        -            },
        -            "suburb": "Belmont North"
        -          },
        -          "properties": {
        -            "busiest_street_footnote": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Busiest-residential-street context sentence.",
        -              "title": "Busiest Street Footnote"
        -            },
        -            "distinctive_categories": {
        -              "description": "POI categories unusually common here (up to 4).",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "A POI category unusually common in this suburb.",
        -                "properties": {
        -                  "category": {
        -                    "description": "Category name (title-cased).",
        -                    "title": "Category",
        -                    "type": "string"
        -                  },
        -                  "count": {
        -                    "description": "POIs of this category in the suburb.",
        -                    "title": "Count",
        -                    "type": "integer"
        -                  },
        -                  "examples": {
        -                    "description": "Up to 3 named example POIs.",
        -                    "items": {
        -                      "type": "string"
        -                    },
        -                    "title": "Examples",
        -                    "type": "array"
        -                  },
        -                  "times_more_common": {
        -                    "description": "How many times more common than the national base rate.",
        -                    "title": "Times More Common",
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "category",
        -                  "count",
        -                  "times_more_common",
        -                  "examples"
        -                ],
        -                "title": "DistinctiveCategory",
        -                "type": "object"
        -              },
        -              "title": "Distinctive Categories",
        -              "type": "array"
        -            },
        -            "industries": {
        -              "description": "Top ABN industries by share (up to 5).",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One ABN industry share row.",
        -                "properties": {
        -                  "industry": {
        -                    "description": "Industry key (e.g. trade_construction).",
        -                    "title": "Industry",
        -                    "type": "string"
        -                  },
        -                  "label": {
        -                    "description": "Human industry label.",
        -                    "title": "Label",
        -                    "type": "string"
        -                  },
        -                  "n": {
        -                    "description": "ABN count in the industry.",
        -                    "title": "N",
        -                    "type": "integer"
        -                  },
        -                  "share": {
        -                    "description": "Share of classified ABNs (0-1).",
        -                    "title": "Share",
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "industry",
        -                  "label",
        -                  "share",
        -                  "n"
        -                ],
        -                "title": "BusinessIndustry",
        -                "type": "object"
        -              },
        -              "title": "Industries",
        -              "type": "array"
        -            },
        -            "pattern": {
        -              "additionalProperties": true,
        -              "description": "Business-mix pattern.",
        -              "properties": {
        -                "headline": {
        -                  "description": "One-line market read for the pattern.",
        -                  "title": "Headline",
        -                  "type": "string"
        -                },
        -                "label": {
        -                  "description": "Pattern tag: Diverse / Professional-services-heavy / Mining-exposed / Low-commercial residential.",
        -                  "title": "Label",
        -                  "type": "string"
        -                },
        -                "subline": {
        -                  "description": "Context sentence (may be empty).",
        -                  "title": "Subline",
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "label",
        -                "headline",
        -                "subline"
        -              ],
        -              "title": "BusinessPattern",
        -              "type": "object"
        -            },
        -            "suburb": {
        -              "description": "Canonical SAL name.",
        -              "title": "Suburb",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "suburb",
        -            "pattern",
        -            "industries",
        -            "distinctive_categories"
        -          ],
        -          "title": "SuburbBusiness",
        -          "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[SuburbBusiness]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbBusiness_"
        -}New value: +null
    • Changedsuburbs_demographics_cohorts1 field changed
      • 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": "SA4-cohort percentile ranks + neighbour comparisons for four\ndemographic metrics (renters, welfare, overseas-born, public housing).",
        -          "example": {
        -            "metrics": [
        -              {
        -                "field": "mib_perc_renters",
        -                "label": "Renter share",
        -                "neighbours": {
        -                  "dramatic": {
        -                    "delta_pct": 258,
        -                    "suburb": "Windale",
        -                    "value_pct": 39.4
        -                  },
        -                  "highest_in_group": false,
        -                  "lowest_in_group": false,
        -                  "n": 7
        -                },
        -                "sa4": {
        -                  "delta_pct": 34,
        -                  "n": 135,
        -                  "percentile": 34,
        -                  "position": "bottom"
        -                },
        -                "value_pct": 11
        -              }
        -            ],
        -            "n_neighbours": 7,
        -            "sa4": {
        -              "cohort_size": 148,
        -              "name": "Newcastle and Lake Macquarie"
        -            },
        -            "suburb": "Belmont North"
        -          },
        -          "properties": {
        -            "metrics": {
        -              "description": "Per-metric comparisons.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One ranked metric with its SA4 + neighbour comparisons.",
        -                "properties": {
        -                  "field": {
        -                    "description": "suburb_finder field code.",
        -                    "title": "Field",
        -                    "type": "string"
        -                  },
        -                  "label": {
        -                    "description": "Human metric name.",
        -                    "title": "Label",
        -                    "type": "string"
        -                  },
        -                  "neighbours": {
        -                    "anyOf": [
        -                      {
        -                        "additionalProperties": true,
        -                        "description": "Touching-suburb comparison for one metric.",
        -                        "properties": {
        -                          "dramatic": {
        -                            "anyOf": [
        -                              {
        -                                "additionalProperties": true,
        -                                "description": "Largest-delta neighbouring suburb (|delta| >= 25%).",
        -                                "properties": {
        -                                  "delta_pct": {
        -                                    "description": "Percent difference vs the subject (signed).",
        -                                    "title": "Delta Pct",
        -                                    "type": "integer"
        -                                  },
        -                                  "suburb": {
        -                                    "description": "Neighbouring SAL name.",
        -                                    "title": "Suburb",
        -                                    "type": "string"
        -                                  },
        -                                  "value_pct": {
        -                                    "anyOf": [
        -                                      {
        -                                        "type": "number"
        -                                      },
        -                                      {
        -                                        "type": "null"
        -                                      }
        -                                    ],
        -                                    "description": "Neighbour's value (%).",
        -                                    "title": "Value Pct"
        -                                  }
        -                                },
        -                                "required": [
        -                                  "suburb",
        -                                  "delta_pct"
        -                                ],
        -                                "title": "DramaticNeighbour",
        -                                "type": "object"
        -                              },
        -                              {
        -                                "type": "null"
        -                              }
        -                            ],
        -                            "description": "Largest-delta neighbour (only when mixed)."
        -                          },
        -                          "highest_in_group": {
        -                            "description": "True when every neighbour is at or below the suburb.",
        -                            "title": "Highest In Group",
        -                            "type": "boolean"
        -                          },
        -                          "lowest_in_group": {
        -                            "description": "True when every neighbour is at or above the suburb.",
        -                            "title": "Lowest In Group",
        -                            "type": "boolean"
        -                          },
        -                          "n": {
        -                            "description": "Touching suburbs with a value.",
        -                            "title": "N",
        -                            "type": "integer"
        -                          }
        -                        },
        -                        "required": [
        -                          "n",
        -                          "lowest_in_group",
        -                          "highest_in_group"
        -                        ],
        -                        "title": "CohortNeighbours",
        -                        "type": "object"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Touching-suburb comparison."
        -                  },
        -                  "sa4": {
        -                    "anyOf": [
        -                      {
        -                        "additionalProperties": true,
        -                        "description": "SA4-cohort percentile position for one metric.",
        -                        "properties": {
        -                          "delta_pct": {
        -                            "description": "Distance from the tail — 6 reads as 'Top 6%'.",
        -                            "title": "Delta Pct",
        -                            "type": "integer"
        -                          },
        -                          "n": {
        -                            "description": "SA4 cohort suburbs with a value.",
        -                            "title": "N",
        -                            "type": "integer"
        -                          },
        -                          "percentile": {
        -                            "description": "Share of SA4 cohort strictly below the suburb (0-100).",
        -                            "title": "Percentile",
        -                            "type": "integer"
        -                          },
        -                          "position": {
        -                            "description": "Which tail the suburb sits in.",
        -                            "enum": [
        -                              "top",
        -                              "bottom"
        -                            ],
        -                            "title": "Position",
        -                            "type": "string"
        -                          }
        -                        },
        -                        "required": [
        -                          "percentile",
        -                          "position",
        -                          "delta_pct",
        -                          "n"
        -                        ],
        -                        "title": "CohortSa4Rank",
        -                        "type": "object"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "SA4 percentile rank."
        -                  },
        -                  "value_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "The suburb's value (%).",
        -                    "title": "Value Pct"
        -                  }
        -                },
        -                "required": [
        -                  "field",
        -                  "label"
        -                ],
        -                "title": "CohortMetric",
        -                "type": "object"
        -              },
        -              "title": "Metrics",
        -              "type": "array"
        -            },
        -            "n_neighbours": {
        -              "description": "Touching suburbs in the cohort.",
        -              "title": "N Neighbours",
        -              "type": "integer"
        -            },
        -            "sa4": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "The suburb's SA4 cohort.",
        -                  "properties": {
        -                    "cohort_size": {
        -                      "anyOf": [
        -                        {
        -                          "type": "integer"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Suburbs in the SA4 cohort.",
        -                      "title": "Cohort Size"
        -                    },
        -                    "name": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "SA4 region name.",
        -                      "title": "Name"
        -                    }
        -                  },
        -                  "title": "CohortSa4",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "SA4 cohort metadata."
        -            },
        -            "suburb": {
        -              "description": "Canonical SAL name.",
        -              "title": "Suburb",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "suburb",
        -            "n_neighbours",
        -            "metrics"
        -          ],
        -          "title": "SuburbCohorts",
        -          "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[SuburbCohorts]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbCohorts_"
        -}New value: +null
    • Changedsuburbs_demographics_cultural_integration1 field changed
      • 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": "Cultural-integration composite — suburb tier + per-microburb scores.",
        -          "example": {
        -            "cg_impact_pct_yr": 0.43,
        -            "least_integrated": {
        -              "score_100": 51.5,
        -              "street": "Kalaroo Rd"
        -            },
        -            "microburbs": [
        -              {
        -                "mb": "10664530000",
        -                "score_100": 68.2,
        -                "street": "Marquis St"
        -              }
        -            ],
        -            "most_integrated": {
        -              "score_100": 68.2,
        -              "street": "Marquis St"
        -            },
        -            "n_microburbs": 77,
        -            "percentile": 79.7,
        -            "score_100": 61.8,
        -            "suburb": "Belmont North",
        -            "tier": "Top",
        -            "tier_growth_pct_4y": 1.7
        -          },
        -          "properties": {
        -            "cg_impact_pct_yr": {
        -              "description": "Capital-growth impact, % per year (tier growth / 4).",
        -              "title": "Cg Impact Pct Yr",
        -              "type": "number"
        -            },
        -            "least_integrated": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Most/least-integrated pocket callout.",
        -                  "properties": {
        -                    "score_100": {
        -                      "description": "Composite score, 0-100.",
        -                      "title": "Score 100",
        -                      "type": "number"
        -                    },
        -                    "street": {
        -                      "description": "Modal street of the pocket's MB.",
        -                      "title": "Street",
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "street",
        -                    "score_100"
        -                  ],
        -                  "title": "IntegrationPocket",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Lowest-scoring pocket."
        -            },
        -            "microburbs": {
        -              "description": "Per-microburb composite scores.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One microburb's cultural-integration composite.",
        -                "properties": {
        -                  "mb": {
        -                    "description": "ABS mesh-block code.",
        -                    "title": "Mb",
        -                    "type": "string"
        -                  },
        -                  "score_100": {
        -                    "description": "Composite score, 0-100.",
        -                    "title": "Score 100",
        -                    "type": "number"
        -                  },
        -                  "street": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Modal street name in the MB.",
        -                    "title": "Street"
        -                  }
        -                },
        -                "required": [
        -                  "mb",
        -                  "score_100"
        -                ],
        -                "title": "CulturalIntegrationMb",
        -                "type": "object"
        -              },
        -              "title": "Microburbs",
        -              "type": "array"
        -            },
        -            "most_integrated": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Most/least-integrated pocket callout.",
        -                  "properties": {
        -                    "score_100": {
        -                      "description": "Composite score, 0-100.",
        -                      "title": "Score 100",
        -                      "type": "number"
        -                    },
        -                    "street": {
        -                      "description": "Modal street of the pocket's MB.",
        -                      "title": "Street",
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "street",
        -                    "score_100"
        -                  ],
        -                  "title": "IntegrationPocket",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Highest-scoring pocket."
        -            },
        -            "n_microburbs": {
        -              "description": "Microburbs with a composite score.",
        -              "title": "N Microburbs",
        -              "type": "integer"
        -            },
        -            "percentile": {
        -              "description": "National percentile (0-100).",
        -              "title": "Percentile",
        -              "type": "number"
        -            },
        -            "score_100": {
        -              "description": "Suburb composite score, 0-100.",
        -              "title": "Score 100",
        -              "type": "number"
        -            },
        -            "suburb": {
        -              "description": "Canonical SAL name.",
        -              "title": "Suburb",
        -              "type": "string"
        -            },
        -            "tier": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Tier bin: Top / Mid / Bottom.",
        -              "title": "Tier"
        -            },
        -            "tier_growth_pct_4y": {
        -              "description": "The tier's 4-year price growth (%).",
        -              "title": "Tier Growth Pct 4Y",
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "suburb",
        -            "score_100",
        -            "percentile",
        -            "tier_growth_pct_4y",
        -            "cg_impact_pct_yr",
        -            "n_microburbs",
        -            "microburbs"
        -          ],
        -          "title": "SuburbCulturalIntegration",
        -          "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[SuburbCulturalIntegration]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbCulturalIntegration_"
        -}New value: +null
    • Changedsuburbs_demographics_income1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One row of demographic data — age bracket or income bracket. The\nshape varies per endpoint; common keys are always present, the rest\nare open (``extra=allow``) so a renamed sub-key doesn't break\nclients.",
        -            "example": {
        -              "age_bracket": "0-4",
        -              "area_level": "suburb",
        -              "area_name": "Belmont North",
        -              "gender": "females",
        -              "proportion": 0.0272
        -            },
        -            "properties": {
        -              "age_bracket": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Only on /demographics/age.",
        -                "title": "Age Bracket"
        -              },
        -              "area_level": {
        -                "description": "Always 'suburb'.",
        -                "title": "Area Level",
        -                "type": "string"
        -              },
        -              "area_name": {
        -                "description": "Suburb (SAL) name.",
        -                "title": "Area Name",
        -                "type": "string"
        -              },
        -              "gender": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Only on /demographics/age — 'males' / 'females' / 'persons'.",
        -                "title": "Gender"
        -              },
        -              "income_bracket": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Only on /demographics/income.",
        -                "title": "Income Bracket"
        -              },
        -              "median_income": {
        -                "anyOf": [
        -                  {
        -                    "type": "integer"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Only on /demographics/income.",
        -                "title": "Median Income"
        -              },
        -              "proportion": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Share of the suburb in this bracket (0–1).",
        -                "title": "Proportion"
        -              }
        -            },
        -            "required": [
        -              "area_name",
        -              "area_level"
        -            ],
        -            "title": "DemographicRow",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[DemographicRow]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_DemographicRow__"
        -}New value: +null
    • Changedsuburbs_demographics_income_map1 field changed
      • 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": "Per-microburb median household income map.",
        -          "example": {
        -            "highest": {
        -              "street": "Marquis St",
        -              "weekly_income": 2105
        -            },
        -            "lowest": {
        -              "street": "Kalaroo Rd",
        -              "weekly_income": 1188
        -            },
        -            "median_weekly_income": 1740,
        -            "microburbs": [
        -              {
        -                "mb": "10664530000",
        -                "street": "Marquis St",
        -                "weekly_income": 2105
        -              }
        -            ],
        -            "n_microburbs": 71,
        -            "national_percentile": 55,
        -            "suburb": "Belmont North"
        -          },
        -          "properties": {
        -            "highest": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Highest/lowest income pocket callout.",
        -                  "properties": {
        -                    "street": {
        -                      "description": "Modal street of the pocket's MB.",
        -                      "title": "Street",
        -                      "type": "string"
        -                    },
        -                    "weekly_income": {
        -                      "description": "Median household income ($/week).",
        -                      "title": "Weekly Income",
        -                      "type": "integer"
        -                    }
        -                  },
        -                  "required": [
        -                    "street",
        -                    "weekly_income"
        -                  ],
        -                  "title": "IncomePocket",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Highest-income pocket."
        -            },
        -            "lowest": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Highest/lowest income pocket callout.",
        -                  "properties": {
        -                    "street": {
        -                      "description": "Modal street of the pocket's MB.",
        -                      "title": "Street",
        -                      "type": "string"
        -                    },
        -                    "weekly_income": {
        -                      "description": "Median household income ($/week).",
        -                      "title": "Weekly Income",
        -                      "type": "integer"
        -                    }
        -                  },
        -                  "required": [
        -                    "street",
        -                    "weekly_income"
        -                  ],
        -                  "title": "IncomePocket",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Lowest-income pocket."
        -            },
        -            "median_weekly_income": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Suburb median household income ($/week).",
        -              "title": "Median Weekly Income"
        -            },
        -            "microburbs": {
        -              "description": "Per-microburb incomes.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One microburb's median weekly household income.",
        -                "properties": {
        -                  "mb": {
        -                    "description": "ABS mesh-block code.",
        -                    "title": "Mb",
        -                    "type": "string"
        -                  },
        -                  "street": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Modal street name in the MB.",
        -                    "title": "Street"
        -                  },
        -                  "weekly_income": {
        -                    "description": "Median household income ($/week).",
        -                    "title": "Weekly Income",
        -                    "type": "integer"
        -                  }
        -                },
        -                "required": [
        -                  "mb",
        -                  "weekly_income"
        -                ],
        -                "title": "IncomeMb",
        -                "type": "object"
        -              },
        -              "title": "Microburbs",
        -              "type": "array"
        -            },
        -            "n_microburbs": {
        -              "description": "Microburbs with income data.",
        -              "title": "N Microburbs",
        -              "type": "integer"
        -            },
        -            "national_percentile": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "National income percentile, clamped 1-99.",
        -              "title": "National Percentile"
        -            },
        -            "suburb": {
        -              "description": "Canonical SAL name.",
        -              "title": "Suburb",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "suburb",
        -            "n_microburbs",
        -            "microburbs"
        -          ],
        -          "title": "SuburbIncomeMap",
        -          "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[SuburbIncomeMap]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbIncomeMap_"
        -}New value: +null
    • Changedsuburbs_demographics_population_history1 field changed
      • 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": "Suburb + LGA population history with a 10-year LGA projection.",
        -          "example": {
        -            "census_year": 2021,
        -            "current_population": 6302,
        -            "lga": "Lake Macquarie",
        -            "lga_growth": {
        -              "end_population": 219000,
        -              "end_year": 2025,
        -              "pct_change": 9,
        -              "start_population": 201000,
        -              "start_year": 2015
        -            },
        -            "lga_projection": {
        -              "pct_change": 12.2,
        -              "source": "MIB",
        -              "to_year": 2035
        -            },
        -            "lga_series": [
        -              {
        -                "population": 216983,
        -                "projected": false,
        -                "year": 2024
        -              },
        -              {
        -                "population": 219000,
        -                "projected": false,
        -                "year": 2025
        -              },
        -              {
        -                "population": 221672,
        -                "projected": true,
        -                "year": 2026
        -              }
        -            ],
        -            "microburb_count": 77,
        -            "suburb": "Belmont North",
        -            "suburb_growth": {
        -              "end_population": 6302,
        -              "end_year": 2021,
        -              "pct_change": 3.5,
        -              "start_population": 6086,
        -              "start_year": 2011
        -            },
        -            "suburb_series": [
        -              {
        -                "population": 6086,
        -                "year": 2011
        -              },
        -              {
        -                "population": 6338,
        -                "year": 2016
        -              },
        -              {
        -                "population": 6302,
        -                "year": 2021
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "census_year": {
        -              "description": "Census year of current_population.",
        -              "title": "Census Year",
        -              "type": "integer"
        -            },
        -            "current_population": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Current residents (ABS Census 2021, mesh-block sum).",
        -              "title": "Current Population"
        -            },
        -            "lga": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "The suburb's LGA name.",
        -              "title": "Lga"
        -            },
        -            "lga_growth": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Start → end growth summary over a population series.",
        -                  "properties": {
        -                    "end_population": {
        -                      "description": "Population at end_year.",
        -                      "title": "End Population",
        -                      "type": "integer"
        -                    },
        -                    "end_year": {
        -                      "description": "Last year of the window.",
        -                      "title": "End Year",
        -                      "type": "integer"
        -                    },
        -                    "pct_change": {
        -                      "description": "Percent change over the window.",
        -                      "title": "Pct Change",
        -                      "type": "number"
        -                    },
        -                    "start_population": {
        -                      "description": "Population at start_year.",
        -                      "title": "Start Population",
        -                      "type": "integer"
        -                    },
        -                    "start_year": {
        -                      "description": "First year of the window.",
        -                      "title": "Start Year",
        -                      "type": "integer"
        -                    }
        -                  },
        -                  "required": [
        -                    "start_year",
        -                    "end_year",
        -                    "start_population",
        -                    "end_population",
        -                    "pct_change"
        -                  ],
        -                  "title": "PopulationGrowth",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "LGA growth over the last ~10 historical years."
        -            },
        -            "lga_projection": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "LGA 10-year projection summary.",
        -                  "properties": {
        -                    "pct_change": {
        -                      "description": "Projected percent change from the last historical year.",
        -                      "title": "Pct Change",
        -                      "type": "number"
        -                    },
        -                    "source": {
        -                      "description": "Data source — 'MIB'.",
        -                      "title": "Source",
        -                      "type": "string"
        -                    },
        -                    "to_year": {
        -                      "description": "Final projected year.",
        -                      "title": "To Year",
        -                      "type": "integer"
        -                    }
        -                  },
        -                  "required": [
        -                    "to_year",
        -                    "pct_change",
        -                    "source"
        -                  ],
        -                  "title": "LgaProjection",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "LGA projection to the 10-year horizon."
        -            },
        -            "lga_series": {
        -              "description": "LGA yearly series — ABS ERP history (projected=false) plus a 10-year interpolated projection tail (projected=true).",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One LGA population reading — ABS ERP history or projection tail.",
        -                "properties": {
        -                  "population": {
        -                    "description": "Estimated resident population.",
        -                    "title": "Population",
        -                    "type": "integer"
        -                  },
        -                  "projected": {
        -                    "description": "True on the 10-year modelled projection tail.",
        -                    "title": "Projected",
        -                    "type": "boolean"
        -                  },
        -                  "year": {
        -                    "description": "Calendar year.",
        -                    "title": "Year",
        -                    "type": "integer"
        -                  }
        -                },
        -                "required": [
        -                  "year",
        -                  "population",
        -                  "projected"
        -                ],
        -                "title": "LgaPopulationPoint",
        -                "type": "object"
        -              },
        -              "title": "Lga Series",
        -              "type": "array"
        -            },
        -            "microburb_count": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Residential microburbs (mesh blocks) in the suburb.",
        -              "title": "Microburb Count"
        -            },
        -            "suburb": {
        -              "description": "Canonical SAL name.",
        -              "title": "Suburb",
        -              "type": "string"
        -            },
        -            "suburb_growth": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Start → end growth summary over a population series.",
        -                  "properties": {
        -                    "end_population": {
        -                      "description": "Population at end_year.",
        -                      "title": "End Population",
        -                      "type": "integer"
        -                    },
        -                    "end_year": {
        -                      "description": "Last year of the window.",
        -                      "title": "End Year",
        -                      "type": "integer"
        -                    },
        -                    "pct_change": {
        -                      "description": "Percent change over the window.",
        -                      "title": "Pct Change",
        -                      "type": "number"
        -                    },
        -                    "start_population": {
        -                      "description": "Population at start_year.",
        -                      "title": "Start Population",
        -                      "type": "integer"
        -                    },
        -                    "start_year": {
        -                      "description": "First year of the window.",
        -                      "title": "Start Year",
        -                      "type": "integer"
        -                    }
        -                  },
        -                  "required": [
        -                    "start_year",
        -                    "end_year",
        -                    "start_population",
        -                    "end_population",
        -                    "pct_change"
        -                  ],
        -                  "title": "PopulationGrowth",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Suburb growth over the census window."
        -            },
        -            "suburb_series": {
        -              "description": "Suburb census points (2011/2016/2021 where available).",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One suburb census reading (ABS Census years).",
        -                "properties": {
        -                  "population": {
        -                    "description": "Residents counted that year.",
        -                    "title": "Population",
        -                    "type": "integer"
        -                  },
        -                  "year": {
        -                    "description": "Census year (2011/2016/2021).",
        -                    "title": "Year",
        -                    "type": "integer"
        -                  }
        -                },
        -                "required": [
        -                  "year",
        -                  "population"
        -                ],
        -                "title": "PopulationPoint",
        -                "type": "object"
        -              },
        -              "title": "Suburb Series",
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "suburb",
        -            "census_year",
        -            "suburb_series",
        -            "lga_series"
        -          ],
        -          "title": "PopulationHistory",
        -          "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[PopulationHistory]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_PopulationHistory_"
        -}New value: +null
    • Changedsuburbs_demographics_private_school1 field changed
      • 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": "Share of residents attending Catholic / Independent schools.",
        -          "example": {
        -            "basis": "microburb_downscale",
        -            "growth_impact": {
        -              "band": "Low private-school share",
        -              "pct_per_year": -0.3
        -            },
        -            "microburbs": [
        -              {
        -                "mb": "10664530000",
        -                "private_school_pct": 5.8,
        -                "street": "Marquis St"
        -              }
        -            ],
        -            "n_microburbs": 71,
        -            "private_school_pct": 4.7,
        -            "suburb": "Belmont North"
        -          },
        -          "properties": {
        -            "basis": {
        -              "description": "How private_school_pct was derived — 'microburb_downscale' (mesh-block share rollup, preferred) or 'census_count_over_population' (suburb census student count over mesh-block population).",
        -              "enum": [
        -                "microburb_downscale",
        -                "census_count_over_population"
        -              ],
        -              "title": "Basis",
        -              "type": "string"
        -            },
        -            "growth_impact": {
        -              "additionalProperties": true,
        -              "description": "Capital-growth impact associated with the share band.",
        -              "properties": {
        -                "band": {
        -                  "description": "Plain-language name of the band the suburb landed in, suitable for display alongside the figure — e.g. 'Middle 90%', 'High unemployment', 'Low private-school share'. The wording differs per indicator; treat it as a label, not a shared enum.",
        -                  "title": "Band",
        -                  "type": "string"
        -                },
        -                "pct_per_year": {
        -                  "description": "The growth difference historically associated with this band, in percentage points per year on a percent scale — `-3.8` means 3.8 percentage points a year worse, `0.5` means half a point a year better, and `0.0` (the common case, for suburbs in the middle band) means no association either way. A relative difference, not a growth rate in its own right.",
        -                  "title": "Pct Per Year",
        -                  "type": "number"
        -                }
        -              },
        -              "required": [
        -                "pct_per_year",
        -                "band"
        -              ],
        -              "title": "GrowthImpact",
        -              "type": "object"
        -            },
        -            "microburbs": {
        -              "description": "Per-mesh-block private-school shares (sparse cells dropped).",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One mesh block's private-school share.",
        -                "properties": {
        -                  "mb": {
        -                    "description": "ABS mesh-block code.",
        -                    "title": "Mb",
        -                    "type": "string"
        -                  },
        -                  "private_school_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Downscaled private-school share for the mesh block.",
        -                    "title": "Private School Pct"
        -                  },
        -                  "street": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Modal street name in the mesh block.",
        -                    "title": "Street"
        -                  }
        -                },
        -                "required": [
        -                  "mb"
        -                ],
        -                "title": "PrivateSchoolMicroburb",
        -                "type": "object"
        -              },
        -              "title": "Microburbs",
        -              "type": "array"
        -            },
        -            "n_microburbs": {
        -              "description": "Mesh blocks in the microburbs list.",
        -              "title": "N Microburbs",
        -              "type": "integer"
        -            },
        -            "private_school_pct": {
        -              "description": "Share of residents attending Catholic / Independent schools, as a percentage.",
        -              "title": "Private School Pct",
        -              "type": "number"
        -            },
        -            "suburb": {
        -              "description": "Canonical SAL name.",
        -              "title": "Suburb",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "suburb",
        -            "private_school_pct",
        -            "basis",
        -            "growth_impact",
        -            "n_microburbs",
        -            "microburbs"
        -          ],
        -          "title": "PrivateSchool",
        -          "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[PrivateSchool]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_PrivateSchool_"
        -}New value: +null
    • Changedsuburbs_demographics_single_parents1 field changed
      • 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": "Single-parent-family share vs the national median.",
        -          "example": {
        -            "growth_impact": {
        -              "band": "High single-parent share",
        -              "pct_per_year": -0.5
        -            },
        -            "national_median_pct": 5.8,
        -            "single_parent_pct": 11,
        -            "suburb": "Belmont North",
        -            "vs_national": "above"
        -          },
        -          "properties": {
        -            "growth_impact": {
        -              "additionalProperties": true,
        -              "description": "The capital-growth difference historically associated with suburbs in this single-parent-share band. An association, not a forecast — see the field's own description.",
        -              "properties": {
        -                "band": {
        -                  "description": "Plain-language name of the band the suburb landed in, suitable for display alongside the figure — e.g. 'Middle 90%', 'High unemployment', 'Low private-school share'. The wording differs per indicator; treat it as a label, not a shared enum.",
        -                  "title": "Band",
        -                  "type": "string"
        -                },
        -                "pct_per_year": {
        -                  "description": "The growth difference historically associated with this band, in percentage points per year on a percent scale — `-3.8` means 3.8 percentage points a year worse, `0.5` means half a point a year better, and `0.0` (the common case, for suburbs in the middle band) means no association either way. A relative difference, not a growth rate in its own right.",
        -                  "title": "Pct Per Year",
        -                  "type": "number"
        -                }
        -              },
        -              "required": [
        -                "pct_per_year",
        -                "band"
        -              ],
        -              "title": "GrowthImpact",
        -              "type": "object"
        -            },
        -            "national_median_pct": {
        -              "description": "The Australia-wide single-parent-family share to compare `single_parent_pct` against, as a percentage — a fixed 2021 Census benchmark, identical in every response. A different metric and a different number from the unemployment endpoint's benchmark of the same name.",
        -              "title": "National Median Pct",
        -              "type": "number"
        -            },
        -            "single_parent_pct": {
        -              "description": "Single-parent-family share as a percentage.",
        -              "title": "Single Parent Pct",
        -              "type": "number"
        -            },
        -            "suburb": {
        -              "description": "Canonical SAL name.",
        -              "title": "Suburb",
        -              "type": "string"
        -            },
        -            "vs_national": {
        -              "description": "Whether this suburb's single-parent share sits 'below' or 'above' the national benchmark. Exact equality is reported as 'above'.",
        -              "enum": [
        -                "below",
        -                "above"
        -              ],
        -              "title": "Vs National",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "suburb",
        -            "single_parent_pct",
        -            "national_median_pct",
        -            "vs_national",
        -            "growth_impact"
        -          ],
        -          "title": "SingleParents",
        -          "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[SingleParents]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SingleParents_"
        -}New value: +null
    • Changedsuburbs_demographics_tenure1 field changed
      • 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": "Who owns and who rents across a suburb — one headline set of shares\nplus the microburb-by-microburb detail underneath.\n\nThe suburb figures are an **unweighted average across the suburb's\nmicroburbs**, so each microburb counts equally regardless of how many\ndwellings it holds. That is close to, but not identical with, a true\ndwelling-weighted suburb share; do not expect it to reconcile exactly\nwith published Census suburb tenure counts. Same 0–100 percent scale\nand same overlapping-categories caveat as `TenureMb`.",
        -          "example": {
        -            "census_year": 2021,
        -            "microburbs": [
        -              {
        -                "mb": "10664530000",
        -                "mortgaged_pct": 41,
        -                "owned_outright_pct": 38.2,
        -                "public_housing_pct": 0.9,
        -                "renting_pct": 17.3,
        -                "street": "Marquis St"
        -              }
        -            ],
        -            "mortgaged_pct": 40.1,
        -            "n_microburbs": 71,
        -            "owned_outright_pct": 34.7,
        -            "owner_occupied_pct": 74.8,
        -            "public_housing_pct": 1.8,
        -            "renting_pct": 20.9,
        -            "suburb": "Belmont North",
        -            "tier": "Mixed"
        -          },
        -          "properties": {
        -            "census_year": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Reference year of the underlying ABS Census tenure inputs (currently 2021). This is not a current-year occupancy survey.",
        -              "title": "Census Year"
        -            },
        -            "microburbs": {
        -              "description": "Tenure shares for each microburb in the suburb, showing how ownership varies street by street — often the more useful signal, since a single suburb average can hide an owner-occupied pocket next to a rental-heavy one.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "How the households in one microburb hold their homes — owned, being\npaid off, or rented.\n\nAll four shares are **percentages 0–100** (not fractions) of the same\ndenominator: occupied private dwellings, including those whose tenure\nwas not stated. Two things follow, and both bite people who chart these\nnaively — see `public_housing_pct` and the note on summing below.\n\nThese come from a model, not a published count: Census tenure is\npublished for larger areas and statistically downscaled to microburb\nlevel, so read a single microburb as an estimate with real uncertainty.",
        -                "properties": {
        -                  "mb": {
        -                    "description": "ABS 2021 mesh-block code identifying this microburb, as a string of digits (keep it a string — leading digits are significant and it overflows a 32-bit int).",
        -                    "title": "Mb",
        -                    "type": "string"
        -                  },
        -                  "mortgaged_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Share of dwellings owner-occupied but still mortgaged, as a percent 0–100. Add it to `owned_outright_pct` for total owner-occupation.",
        -                    "title": "Mortgaged Pct"
        -                  },
        -                  "owned_outright_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Share of dwellings owned outright with no mortgage, as a percent 0–100 (34.7 = 34.7%). Typically tracks an older, longer-settled population.",
        -                    "title": "Owned Outright Pct"
        -                  },
        -                  "public_housing_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Share of dwellings rented from a state or territory housing authority, as a percent 0–100. A subset of `renting_pct`, not a fourth category — these dwellings are counted in both fields. Stacking all four in one chart double-counts; use owned-outright + mortgaged + renting for a breakdown (which still sums slightly under 100, the remainder being other and not-stated tenures) and show public housing separately.",
        -                    "title": "Public Housing Pct"
        -                  },
        -                  "renting_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Share of dwellings rented, as a percent 0–100 — all renting, private landlords and public housing together. This is the figure the suburb-level `tier` is banded on.",
        -                    "title": "Renting Pct"
        -                  },
        -                  "street": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "The most common street name inside the microburb, title-cased — a human handle for an area that otherwise has only a numeric code. Not a boundary or a full address, and several microburbs in a suburb can share one.",
        -                    "title": "Street"
        -                  }
        -                },
        -                "required": [
        -                  "mb"
        -                ],
        -                "title": "TenureMb",
        -                "type": "object"
        -              },
        -              "title": "Microburbs",
        -              "type": "array"
        -            },
        -            "mortgaged_pct": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Suburb-wide share owner-occupied with a mortgage, percent 0–100.",
        -              "title": "Mortgaged Pct"
        -            },
        -            "n_microburbs": {
        -              "description": "How many microburbs are listed in `microburbs`. Not the number behind the suburb figures above: very small or sparsely-populated microburbs are filtered out of the list but still counted in the suburb averages, so re-averaging `microburbs` will not exactly reproduce them.",
        -              "title": "N Microburbs",
        -              "type": "integer"
        -            },
        -            "owned_outright_pct": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Suburb-wide share of dwellings owned outright, percent 0–100.",
        -              "title": "Owned Outright Pct"
        -            },
        -            "owner_occupied_pct": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Total suburb owner-occupation rate, percent 0–100: `owned_outright_pct + mortgaged_pct`. Null unless both components are available. This is a modelled, unweighted average across microburbs, not an exact dwelling-weighted ABS SAL count.",
        -              "title": "Owner Occupied Pct"
        -            },
        -            "public_housing_pct": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Suburb-wide share rented from a state/territory housing authority, percent 0–100. Included within `renting_pct`, not additional to it.",
        -              "title": "Public Housing Pct"
        -            },
        -            "renting_pct": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Suburb-wide share of dwellings rented, percent 0–100 — private and public renting combined. Drives `tier`.",
        -              "title": "Renting Pct"
        -            },
        -            "suburb": {
        -              "description": "The suburb these figures describe, as the canonical ABS suburb (SAL) name — the resolved form of whatever was requested.",
        -              "title": "Suburb",
        -              "type": "string"
        -            },
        -            "tier": {
        -              "description": "One-word read on the suburb's ownership mix, banded on `renting_pct`: 'Owner-Occupier' under 7% renters, 'Mixed' under 20%, 'Investor-Heavy' at 20% or above ('Unknown' when there is no renting share). A convenience label — the underlying percentage is the precise figure.",
        -              "title": "Tier",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "suburb",
        -            "tier",
        -            "n_microburbs",
        -            "microburbs"
        -          ],
        -          "title": "SuburbTenure",
        -          "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[SuburbTenure]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbTenure_"
        -}New value: +null
    • Changedsuburbs_demographics_underclass_drag1 field changed
      • 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": "Welfare dependency + public housing, with the underclass tier.",
        -          "example": {
        -            "growth_impact": {
        -              "band": "Middle 90%",
        -              "pct_per_year": 0
        -            },
        -            "n_microburbs": 77,
        -            "public_housing_basis": "microburb_downscale",
        -            "public_housing_pct": 6.6,
        -            "suburb": "Belmont North",
        -            "tier": "Mid",
        -            "welfare_dependency_pct": 16.2
        -          },
        -          "properties": {
        -            "growth_impact": {
        -              "additionalProperties": true,
        -              "description": "Capital-growth impact associated with the tier.",
        -              "properties": {
        -                "band": {
        -                  "description": "Plain-language name of the band the suburb landed in, suitable for display alongside the figure — e.g. 'Middle 90%', 'High unemployment', 'Low private-school share'. The wording differs per indicator; treat it as a label, not a shared enum.",
        -                  "title": "Band",
        -                  "type": "string"
        -                },
        -                "pct_per_year": {
        -                  "description": "The growth difference historically associated with this band, in percentage points per year on a percent scale — `-3.8` means 3.8 percentage points a year worse, `0.5` means half a point a year better, and `0.0` (the common case, for suburbs in the middle band) means no association either way. A relative difference, not a growth rate in its own right.",
        -                  "title": "Pct Per Year",
        -                  "type": "number"
        -                }
        -              },
        -              "required": [
        -                "pct_per_year",
        -                "band"
        -              ],
        -              "title": "GrowthImpact",
        -              "type": "object"
        -            },
        -            "n_microburbs": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Mesh blocks behind the public-housing rollup.",
        -              "title": "N Microburbs"
        -            },
        -            "public_housing_basis": {
        -              "anyOf": [
        -                {
        -                  "enum": [
        -                    "microburb_downscale",
        -                    "census_suburb"
        -                  ],
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Which denominator produced public_housing_pct — 'microburb_downscale' (mesh-block tenure base, preferred) or 'census_suburb' (suburb census population share).",
        -              "title": "Public Housing Basis"
        -            },
        -            "public_housing_pct": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Public-housing share of dwellings, as a percentage.",
        -              "title": "Public Housing Pct"
        -            },
        -            "suburb": {
        -              "description": "Canonical SAL name.",
        -              "title": "Suburb",
        -              "type": "string"
        -            },
        -            "tier": {
        -              "description": "Underclass concentration tier. High = welfare >= 20% or public housing >= 15%; Low = welfare < 10% and public housing < 2%.",
        -              "enum": [
        -                "High",
        -                "Mid",
        -                "Low"
        -              ],
        -              "title": "Tier",
        -              "type": "string"
        -            },
        -            "welfare_dependency_pct": {
        -              "description": "Share of working-age residents on JobSeeker / Disability Support / carer payments, as a percentage.",
        -              "title": "Welfare Dependency Pct",
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "suburb",
        -            "welfare_dependency_pct",
        -            "tier",
        -            "growth_impact"
        -          ],
        -          "title": "UnderclassDrag",
        -          "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[UnderclassDrag]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_UnderclassDrag_"
        -}New value: +null
    • Changedsuburbs_demographics_unemployment1 field changed
      • 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": "Suburb unemployment rate vs the national median, plus per-mesh-block.",
        -          "example": {
        -            "basis": "labour_force",
        -            "growth_impact": {
        -              "band": "Mid unemployment",
        -              "pct_per_year": 0
        -            },
        -            "microburbs": [
        -              {
        -                "mb": "10664530000",
        -                "street": "Marquis St",
        -                "unemployment_pct": 3.1
        -              }
        -            ],
        -            "n_microburbs": 71,
        -            "national_median_pct": 5.2,
        -            "suburb": "Belmont North",
        -            "unemployment_pct": 4.2,
        -            "vs_national": "below"
        -          },
        -          "properties": {
        -            "basis": {
        -              "description": "Denominator behind unemployment_pct — 'labour_force' (unemployed / labour force, the reported figure) or 'population_share' (suburb census fallback when the mesh-block downscale has no coverage).",
        -              "enum": [
        -                "labour_force",
        -                "population_share"
        -              ],
        -              "title": "Basis",
        -              "type": "string"
        -            },
        -            "growth_impact": {
        -              "additionalProperties": true,
        -              "description": "The capital-growth difference historically associated with suburbs in this unemployment band. An association from past research, not a forecast — see the field's own description.",
        -              "properties": {
        -                "band": {
        -                  "description": "Plain-language name of the band the suburb landed in, suitable for display alongside the figure — e.g. 'Middle 90%', 'High unemployment', 'Low private-school share'. The wording differs per indicator; treat it as a label, not a shared enum.",
        -                  "title": "Band",
        -                  "type": "string"
        -                },
        -                "pct_per_year": {
        -                  "description": "The growth difference historically associated with this band, in percentage points per year on a percent scale — `-3.8` means 3.8 percentage points a year worse, `0.5` means half a point a year better, and `0.0` (the common case, for suburbs in the middle band) means no association either way. A relative difference, not a growth rate in its own right.",
        -                  "title": "Pct Per Year",
        -                  "type": "number"
        -                }
        -              },
        -              "required": [
        -                "pct_per_year",
        -                "band"
        -              ],
        -              "title": "GrowthImpact",
        -              "type": "object"
        -            },
        -            "microburbs": {
        -              "description": "Per-mesh-block unemployment shares (sparse cells dropped).",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One mesh block's unemployment share.",
        -                "properties": {
        -                  "mb": {
        -                    "description": "ABS mesh-block code.",
        -                    "title": "Mb",
        -                    "type": "string"
        -                  },
        -                  "street": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Modal street name in the mesh block.",
        -                    "title": "Street"
        -                  },
        -                  "unemployment_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Downscaled unemployment share for the mesh block.",
        -                    "title": "Unemployment Pct"
        -                  }
        -                },
        -                "required": [
        -                  "mb"
        -                ],
        -                "title": "UnemploymentMicroburb",
        -                "type": "object"
        -              },
        -              "title": "Microburbs",
        -              "type": "array"
        -            },
        -            "n_microburbs": {
        -              "description": "Mesh blocks in the microburbs list.",
        -              "title": "N Microburbs",
        -              "type": "integer"
        -            },
        -            "national_median_pct": {
        -              "description": "The Australia-wide unemployment rate to compare `unemployment_pct` against, as a percentage — a fixed 2021 Census benchmark, so it is the same constant in every response and does not move between suburbs or over time. Despite 'median' in the name it is a national aggregate rate, not the median of suburb rates.",
        -              "title": "National Median Pct",
        -              "type": "number"
        -            },
        -            "suburb": {
        -              "description": "Canonical SAL name.",
        -              "title": "Suburb",
        -              "type": "string"
        -            },
        -            "unemployment_pct": {
        -              "description": "Suburb unemployment rate as a percentage.",
        -              "title": "Unemployment Pct",
        -              "type": "number"
        -            },
        -            "vs_national": {
        -              "description": "Whether this suburb's unemployment sits 'below' or 'above' the national benchmark — the shorthand answer to 'is this good or bad'. Below is the favourable direction here. A suburb exactly equal to the benchmark is reported as 'above'.",
        -              "enum": [
        -                "below",
        -                "above"
        -              ],
        -              "title": "Vs National",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "suburb",
        -            "unemployment_pct",
        -            "basis",
        -            "national_median_pct",
        -            "vs_national",
        -            "growth_impact",
        -            "n_microburbs",
        -            "microburbs"
        -          ],
        -          "title": "Unemployment",
        -          "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[Unemployment]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_Unemployment_"
        -}New value: +null
    • Changedsuburbs_demographics_voting1 field changed
      • 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": "Projected voting profile, aggregated across the suburb's microburbs.",
        -          "example": {
        -            "lean": "Labor lean",
        -            "margin_pct": 6.7,
        -            "n_microburbs": 85,
        -            "parties": [
        -              {
        -                "label": "Labor",
        -                "party": "ALP",
        -                "pct": 38.2
        -              },
        -              {
        -                "label": "Liberal",
        -                "party": "LIB",
        -                "pct": 31.5
        -              },
        -              {
        -                "label": "Greens",
        -                "party": "GRN",
        -                "pct": 11.3
        -              }
        -            ],
        -            "projection": "Federal election held May 2026 (projected — not an actual vote)",
        -            "runner_up": {
        -              "label": "Liberal",
        -              "party": "LIB",
        -              "pct": 31.5
        -            },
        -            "suburb": "Belmont North",
        -            "winner": {
        -              "label": "Labor",
        -              "party": "ALP",
        -              "pct": 38.2
        -            }
        -          },
        -          "properties": {
        -            "lean": {
        -              "description": "Strong <party> (≥15pp) / <party> lean (≥5pp) / Marginal.",
        -              "title": "Lean",
        -              "type": "string"
        -            },
        -            "margin_pct": {
        -              "description": "Winner-minus-runner-up margin (pp).",
        -              "title": "Margin Pct",
        -              "type": "number"
        -            },
        -            "n_microburbs": {
        -              "description": "Microburbs in the aggregate.",
        -              "title": "N Microburbs",
        -              "type": "integer"
        -            },
        -            "parties": {
        -              "description": "All parties polling ≥0.5%, descending.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One party's projected first-preference share.",
        -                "properties": {
        -                  "label": {
        -                    "description": "Human party name.",
        -                    "title": "Label",
        -                    "type": "string"
        -                  },
        -                  "party": {
        -                    "description": "Party code (LIB/ALP/GRN/TEAL/…).",
        -                    "title": "Party",
        -                    "type": "string"
        -                  },
        -                  "pct": {
        -                    "description": "Projected first-preference share (%).",
        -                    "title": "Pct",
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "party",
        -                  "label",
        -                  "pct"
        -                ],
        -                "title": "PartyResult",
        -                "type": "object"
        -              },
        -              "title": "Parties",
        -              "type": "array"
        -            },
        -            "projection": {
        -              "description": "What the projection represents (and its provenance).",
        -              "title": "Projection",
        -              "type": "string"
        -            },
        -            "runner_up": {
        -              "additionalProperties": true,
        -              "description": "Second-placed party.",
        -              "properties": {
        -                "label": {
        -                  "description": "Human party name.",
        -                  "title": "Label",
        -                  "type": "string"
        -                },
        -                "party": {
        -                  "description": "Party code (LIB/ALP/GRN/TEAL/…).",
        -                  "title": "Party",
        -                  "type": "string"
        -                },
        -                "pct": {
        -                  "description": "Projected first-preference share (%).",
        -                  "title": "Pct",
        -                  "type": "number"
        -                }
        -              },
        -              "required": [
        -                "party",
        -                "label",
        -                "pct"
        -              ],
        -              "title": "PartyResult",
        -              "type": "object"
        -            },
        -            "suburb": {
        -              "description": "Canonical SAL name.",
        -              "title": "Suburb",
        -              "type": "string"
        -            },
        -            "winner": {
        -              "additionalProperties": true,
        -              "description": "Leading party.",
        -              "properties": {
        -                "label": {
        -                  "description": "Human party name.",
        -                  "title": "Label",
        -                  "type": "string"
        -                },
        -                "party": {
        -                  "description": "Party code (LIB/ALP/GRN/TEAL/…).",
        -                  "title": "Party",
        -                  "type": "string"
        -                },
        -                "pct": {
        -                  "description": "Projected first-preference share (%).",
        -                  "title": "Pct",
        -                  "type": "number"
        -                }
        -              },
        -              "required": [
        -                "party",
        -                "label",
        -                "pct"
        -              ],
        -              "title": "PartyResult",
        -              "type": "object"
        -            }
        -          },
        -          "required": [
        -            "suburb",
        -            "n_microburbs",
        -            "projection",
        -            "winner",
        -            "runner_up",
        -            "margin_pct",
        -            "lean",
        -            "parties"
        -          ],
        -          "title": "SuburbVoting",
        -          "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[SuburbVoting]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbVoting_"
        -}New value: +null
    • Changedsuburbs_development_all1 field changed
      • 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": [
        -        {
        -          "example": {
        -            "da_count": 0,
        -            "da_list": [
        -              {
        -                "area_level": "address",
        -                "area_name": "",
        -                "category": "Renovation",
        -                "date": "2026-04-15",
        -                "description": "Alterations and additions to existing dwelling.",
        -                "suburb": "Belmont North"
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "da_count": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "title": "Da Count"
        -            },
        -            "da_list": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One development-application record near the suburb.",
        -                    "properties": {
        -                      "area_level": {
        -                        "description": "'suburb' or 'address'.",
        -                        "title": "Area Level",
        -                        "type": "string"
        -                      },
        -                      "area_name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Suburb (SAL) name — may be empty for per-address rows.",
        -                        "title": "Area Name"
        -                      },
        -                      "category": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Coarse category — 'Renovation', 'New Dwelling', etc.",
        -                        "title": "Category"
        -                      },
        -                      "date": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "DA lodged date (YYYY-MM-DD).",
        -                        "title": "Date"
        -                      },
        -                      "description": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Free-text description of the proposed works.",
        -                        "title": "Description"
        -                      },
        -                      "suburb": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Suburb the DA is in (when area_level=='address').",
        -                        "title": "Suburb"
        -                      }
        -                    },
        -                    "required": [
        -                      "area_level"
        -                    ],
        -                    "title": "DaRow",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "title": "Da List"
        -            }
        -          },
        -          "title": "SuburbPlanningAll",
        -          "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[SuburbPlanningAll]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbPlanningAll_"
        -}New value: +null
    • Changedsuburbs_development_applications1 field changed
      • 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": "Recent development applications (up to 100, newest first).",
        -          "example": {
        -            "applications": [
        -              {
        -                "address": "38 Buttaba Avenue Belmont North NSW 2280",
        -                "category": "New Dwelling",
        -                "date": "2026-06-18",
        -                "dollar_value": 271740,
        -                "id": 99033512,
        -                "lat": -33.02082551,
        -                "lng": 151.676206648,
        -                "stage": "under_assessment",
        -                "stage_display": "Under Assessment",
        -                "title": "Secondary dwelling"
        -              }
        -            ],
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "categories": [
        -              {
        -                "category": "New Dwelling",
        -                "count": 21
        -              },
        -              {
        -                "category": "Renovation",
        -                "count": 48
        -              },
        -              {
        -                "category": "Demolition",
        -                "count": 9
        -              },
        -              {
        -                "category": "Other",
        -                "count": 22
        -              }
        -            ],
        -            "max_date": "2026-06-18",
        -            "min_date": "2019-12-02",
        -            "total": 100
        -          },
        -          "properties": {
        -            "applications": {
        -              "description": "DA records, newest first.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One development application.",
        -                "properties": {
        -                  "address": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Cleaned site address.",
        -                    "title": "Address"
        -                  },
        -                  "category": {
        -                    "description": "Coarse category from the title classifier.",
        -                    "title": "Category",
        -                    "type": "string"
        -                  },
        -                  "date": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Lodged date (YYYY-MM-DD).",
        -                    "title": "Date"
        -                  },
        -                  "dollar_value": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Estimated works value (AUD).",
        -                    "title": "Dollar Value"
        -                  },
        -                  "id": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Source DA record id.",
        -                    "title": "Id"
        -                  },
        -                  "lat": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Latitude (null for some sources, e.g. VIC).",
        -                    "title": "Lat"
        -                  },
        -                  "lng": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Longitude.",
        -                    "title": "Lng"
        -                  },
        -                  "stage": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Raw stage code (e.g. 'under_assessment').",
        -                    "title": "Stage"
        -                  },
        -                  "stage_display": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Human-readable stage.",
        -                    "title": "Stage Display"
        -                  },
        -                  "title": {
        -                    "description": "Proposed works description.",
        -                    "title": "Title",
        -                    "type": "string"
        -                  }
        -                },
        -                "required": [
        -                  "title",
        -                  "category"
        -                ],
        -                "title": "DevelopmentDa",
        -                "type": "object"
        -              },
        -              "title": "Applications",
        -              "type": "array"
        -            },
        -            "area_level": {
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "categories": {
        -              "description": "Category counts across the returned applications.",
        -              "items": {
        -                "description": "DA count for one category.",
        -                "properties": {
        -                  "category": {
        -                    "description": "Education / New Dwelling / Renovation / Demolition / Commercial / Other.",
        -                    "title": "Category",
        -                    "type": "string"
        -                  },
        -                  "count": {
        -                    "description": "Applications in this category.",
        -                    "title": "Count",
        -                    "type": "integer"
        -                  }
        -                },
        -                "required": [
        -                  "category",
        -                  "count"
        -                ],
        -                "title": "DaCategoryCount",
        -                "type": "object"
        -              },
        -              "title": "Categories",
        -              "type": "array"
        -            },
        -            "max_date": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Most recent DA date on record.",
        -              "title": "Max Date"
        -            },
        -            "min_date": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Earliest DA on record for the suburb (full history, not just the returned list).",
        -              "title": "Min Date"
        -            },
        -            "total": {
        -              "description": "Applications returned (capped at 100).",
        -              "title": "Total",
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "total",
        -            "categories",
        -            "applications"
        -          ],
        -          "title": "SuburbDevelopmentApplications",
        -          "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[SuburbDevelopmentApplications]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbDevelopmentApplications_"
        -}New value: +null
    • Changedsuburbs_development_building_controls1 field changed
      • 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": "Height-of-building + floor-space-ratio planning controls.\n\nEither block can be null — many LGAs map HOB but not FSR (or vice\nversa). A 404 means neither layer exists for the suburb.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "hob": {
        -              "geojson": {
        -                "features": [
        -                  {
        -                    "geometry": {
        -                      "coordinates": [
        -                        [
        -                          [
        -                            151.668,
        -                            -33.017
        -                          ],
        -                          [
        -                            151.672,
        -                            -33.017
        -                          ],
        -                          [
        -                            151.672,
        -                            -33.02
        -                          ],
        -                          [
        -                            151.668,
        -                            -33.017
        -                          ]
        -                        ]
        -                      ],
        -                      "type": "Polygon"
        -                    },
        -                    "properties": {
        -                      "band": "≤ 8.5m",
        -                      "color": "#fef9c3",
        -                      "height_m": 8.5,
        -                      "units": "m"
        -                    },
        -                    "type": "Feature"
        -                  }
        -                ],
        -                "type": "FeatureCollection"
        -              },
        -              "legend": [
        -                {
        -                  "color": "#fef9c3",
        -                  "label": "≤ 8.5m",
        -                  "pct": 84.2
        -                },
        -                {
        -                  "color": "#fbbf24",
        -                  "label": "8.5–12m",
        -                  "pct": 15.8
        -                }
        -              ],
        -              "most_common_height_m": 8.5,
        -              "pct_most_common": 71,
        -              "zones_mapped": 17
        -            }
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "fsr": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Floor-space-ratio controls summary + polygons.",
        -                  "properties": {
        -                    "breakdown": {
        -                      "description": "Area share per FSR band.",
        -                      "items": {
        -                        "description": "One legend band with its share of the mapped area.",
        -                        "properties": {
        -                          "color": {
        -                            "description": "Hex colour for map styling.",
        -                            "title": "Color",
        -                            "type": "string"
        -                          },
        -                          "label": {
        -                            "description": "Band label (e.g. '8.5–12m', '≤ 0.5:1').",
        -                            "title": "Label",
        -                            "type": "string"
        -                          },
        -                          "pct": {
        -                            "description": "Share of mapped area in this band (%).",
        -                            "title": "Pct",
        -                            "type": "number"
        -                          }
        -                        },
        -                        "required": [
        -                          "label",
        -                          "color",
        -                          "pct"
        -                        ],
        -                        "title": "BandShare",
        -                        "type": "object"
        -                      },
        -                      "title": "Breakdown",
        -                      "type": "array"
        -                    },
        -                    "geojson": {
        -                      "description": "FSR polygons. Feature properties: fsr, band, color.",
        -                      "properties": {
        -                        "features": {
        -                          "description": "Feature list.",
        -                          "items": {
        -                            "description": "RFC 7946 Feature — geometry + endpoint-specific properties.",
        -                            "properties": {
        -                              "geometry": {
        -                                "additionalProperties": true,
        -                                "description": "GeoJSON geometry (Polygon or MultiPolygon).",
        -                                "title": "Geometry",
        -                                "type": "object"
        -                              },
        -                              "properties": {
        -                                "additionalProperties": true,
        -                                "description": "Per-feature attributes — see the endpoint's example.",
        -                                "title": "Properties",
        -                                "type": "object"
        -                              },
        -                              "type": {
        -                                "const": "Feature",
        -                                "description": "Always 'Feature'.",
        -                                "title": "Type",
        -                                "type": "string"
        -                              }
        -                            },
        -                            "required": [
        -                              "type",
        -                              "geometry",
        -                              "properties"
        -                            ],
        -                            "title": "GeoJsonFeature",
        -                            "type": "object"
        -                          },
        -                          "title": "Features",
        -                          "type": "array"
        -                        },
        -                        "type": {
        -                          "const": "FeatureCollection",
        -                          "description": "Always 'FeatureCollection'.",
        -                          "title": "Type",
        -                          "type": "string"
        -                        }
        -                      },
        -                      "required": [
        -                        "type",
        -                        "features"
        -                      ],
        -                      "title": "GeoJsonFeatureCollection",
        -                      "type": "object"
        -                    },
        -                    "median_fsr": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Area-weighted median FSR (e.g. 1.5 = 1.5:1).",
        -                      "title": "Median Fsr"
        -                    }
        -                  },
        -                  "required": [
        -                    "breakdown",
        -                    "geojson"
        -                  ],
        -                  "title": "FsrControls",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Floor-space-ratio controls."
        -            },
        -            "hob": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Height-of-building controls summary + polygons.",
        -                  "properties": {
        -                    "geojson": {
        -                      "description": "HOB polygons. Feature properties: height_m, units, band, color.",
        -                      "properties": {
        -                        "features": {
        -                          "description": "Feature list.",
        -                          "items": {
        -                            "description": "RFC 7946 Feature — geometry + endpoint-specific properties.",
        -                            "properties": {
        -                              "geometry": {
        -                                "additionalProperties": true,
        -                                "description": "GeoJSON geometry (Polygon or MultiPolygon).",
        -                                "title": "Geometry",
        -                                "type": "object"
        -                              },
        -                              "properties": {
        -                                "additionalProperties": true,
        -                                "description": "Per-feature attributes — see the endpoint's example.",
        -                                "title": "Properties",
        -                                "type": "object"
        -                              },
        -                              "type": {
        -                                "const": "Feature",
        -                                "description": "Always 'Feature'.",
        -                                "title": "Type",
        -                                "type": "string"
        -                              }
        -                            },
        -                            "required": [
        -                              "type",
        -                              "geometry",
        -                              "properties"
        -                            ],
        -                            "title": "GeoJsonFeature",
        -                            "type": "object"
        -                          },
        -                          "title": "Features",
        -                          "type": "array"
        -                        },
        -                        "type": {
        -                          "const": "FeatureCollection",
        -                          "description": "Always 'FeatureCollection'.",
        -                          "title": "Type",
        -                          "type": "string"
        -                        }
        -                      },
        -                      "required": [
        -                        "type",
        -                        "features"
        -                      ],
        -                      "title": "GeoJsonFeatureCollection",
        -                      "type": "object"
        -                    },
        -                    "legend": {
        -                      "description": "Area share per height band.",
        -                      "items": {
        -                        "description": "One legend band with its share of the mapped area.",
        -                        "properties": {
        -                          "color": {
        -                            "description": "Hex colour for map styling.",
        -                            "title": "Color",
        -                            "type": "string"
        -                          },
        -                          "label": {
        -                            "description": "Band label (e.g. '8.5–12m', '≤ 0.5:1').",
        -                            "title": "Label",
        -                            "type": "string"
        -                          },
        -                          "pct": {
        -                            "description": "Share of mapped area in this band (%).",
        -                            "title": "Pct",
        -                            "type": "number"
        -                          }
        -                        },
        -                        "required": [
        -                          "label",
        -                          "color",
        -                          "pct"
        -                        ],
        -                        "title": "BandShare",
        -                        "type": "object"
        -                      },
        -                      "title": "Legend",
        -                      "type": "array"
        -                    },
        -                    "most_common_height_m": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Modal height limit across mapped zones (metres).",
        -                      "title": "Most Common Height M"
        -                    },
        -                    "pct_most_common": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Share of zones at the modal height (%).",
        -                      "title": "Pct Most Common"
        -                    },
        -                    "zones_mapped": {
        -                      "description": "Number of height-control zones counted (RL reference levels >30m excluded).",
        -                      "title": "Zones Mapped",
        -                      "type": "integer"
        -                    }
        -                  },
        -                  "required": [
        -                    "zones_mapped",
        -                    "legend",
        -                    "geojson"
        -                  ],
        -                  "title": "HobControls",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Height-of-building controls."
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "SuburbBuildingControls",
        -          "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[SuburbBuildingControls]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbBuildingControls_"
        -}New value: +null
    • Changedsuburbs_development_construction_activity1 field changed
      • 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
    • Changedsuburbs_development_council_intelligence1 field changed
      • 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": "Council capex / project-pipeline signals for the suburb's LGA.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "definition": "Council meeting-minute signals — capex commitments, infrastructure and community-facility projects, zoning amendments and environmental programs — extracted from the LGA's published minutes. pipeline_dollars is the sum of every signal's committed/estimated dollar value; signals with no stated value contribute 0.",
        -            "signals": [
        -              {
        -                "bucket": "active",
        -                "description": "Council has approved an additional $20 million for road renewal projects over the next four years, enhancing road infrastructure across the region.",
        -                "dollar_display": "$20M",
        -                "dollar_value": 20000000,
        -                "evidence": "Endorses the inclusion of an additional $20 million in Council funding to support an increase in Council's planned capital Road Renewal Program over the next four years.",
        -                "location": "LGA-wide",
        -                "meeting_date": "25 March 2025",
        -                "stage": "approved",
        -                "time_horizon": "2-5 years",
        -                "title": "10 Year Road Renewal Program",
        -                "type": "infrastructure_capex"
        -              }
        -            ],
        -            "summary": {
        -              "active_signals": 21,
        -              "n_types": 9,
        -              "pipeline_display": "$335.6M",
        -              "pipeline_dollars": 335562658.31,
        -              "total_signals": 32
        -            }
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "definition": {
        -              "description": "What these signals are and how measured.",
        -              "title": "Definition",
        -              "type": "string"
        -            },
        -            "signals": {
        -              "description": "Signals, largest dollar_value first.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One council-minute signal — a project, capex commitment or decision.",
        -                "properties": {
        -                  "bucket": {
        -                    "description": "Stage rollup: 'active' (funded/approved/committed/in_progress/under_construction), 'proposals' (proposed/planning/consultation/draft/under_review), or 'other'.",
        -                    "title": "Bucket",
        -                    "type": "string"
        -                  },
        -                  "description": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Plain-English summary of what the council resolved.",
        -                    "title": "Description"
        -                  },
        -                  "dollar_display": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Compact rendering of dollar_value, e.g. '$20M'. None when 0.",
        -                    "title": "Dollar Display"
        -                  },
        -                  "dollar_value": {
        -                    "description": "Committed / estimated value in AUD. 0 when the minutes state no figure (or the stated figure is unparseable).",
        -                    "title": "Dollar Value",
        -                    "type": "number"
        -                  },
        -                  "evidence": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Supporting quote from the council minutes.",
        -                    "title": "Evidence"
        -                  },
        -                  "location": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Where the signal applies, e.g. 'LGA-wide'.",
        -                    "title": "Location"
        -                  },
        -                  "meeting_date": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Council meeting date as minuted — free text, format varies ('25 March 2025', '22/03/2021'). None when unstated.",
        -                    "title": "Meeting Date"
        -                  },
        -                  "stage": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Raw stage slug — 'approved', 'funded', 'proposed', 'under_review', …",
        -                    "title": "Stage"
        -                  },
        -                  "time_horizon": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Stated delivery horizon, e.g. 'immediate', '2-5 years'.",
        -                    "title": "Time Horizon"
        -                  },
        -                  "title": {
        -                    "description": "Signal title as minuted. Unique within the list.",
        -                    "title": "Title",
        -                    "type": "string"
        -                  },
        -                  "type": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Signal category slug — e.g. 'infrastructure_capex', 'community_facility', 'zoning_amendment', 'environmental', 'transport', 'other'.",
        -                    "title": "Type"
        -                  }
        -                },
        -                "required": [
        -                  "title",
        -                  "bucket",
        -                  "dollar_value"
        -                ],
        -                "title": "CouncilSignal",
        -                "type": "object"
        -              },
        -              "title": "Signals",
        -              "type": "array"
        -            },
        -            "summary": {
        -              "description": "Headline rollup.",
        -              "properties": {
        -                "active_signals": {
        -                  "description": "Signals whose stage buckets as 'active'.",
        -                  "title": "Active Signals",
        -                  "type": "integer"
        -                },
        -                "n_types": {
        -                  "description": "Distinct signal types present.",
        -                  "title": "N Types",
        -                  "type": "integer"
        -                },
        -                "pipeline_display": {
        -                  "description": "Compact rendering of pipeline_dollars, e.g. '$335.6M'.",
        -                  "title": "Pipeline Display",
        -                  "type": "string"
        -                },
        -                "pipeline_dollars": {
        -                  "description": "Sum of every signal's dollar_value (AUD).",
        -                  "title": "Pipeline Dollars",
        -                  "type": "number"
        -                },
        -                "total_signals": {
        -                  "description": "Distinct signals (deduped by title).",
        -                  "title": "Total Signals",
        -                  "type": "integer"
        -                }
        -              },
        -              "required": [
        -                "total_signals",
        -                "active_signals",
        -                "pipeline_dollars",
        -                "pipeline_display",
        -                "n_types"
        -              ],
        -              "title": "CouncilIntelligenceSummary",
        -              "type": "object"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "definition",
        -            "summary",
        -            "signals"
        -          ],
        -          "title": "SuburbCouncilIntelligence",
        -          "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[SuburbCouncilIntelligence]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbCouncilIntelligence_"
        -}New value: +null
    • Changedsuburbs_development_council_rates1 field changed
      • 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": "Average annual residential council rate for the suburb's LGA.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "avg_rate_aud_yr": 1584,
        -            "data_source": "NSW_OLG_AVG",
        -            "lga": "Lake Macquarie"
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "avg_rate_aud_yr": {
        -              "description": "Average annual residential rate (AUD per year).",
        -              "title": "Avg Rate Aud Yr",
        -              "type": "integer"
        -            },
        -            "data_source": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Provenance of the rate figure (e.g. 'NSW_OLG_AVG').",
        -              "title": "Data Source"
        -            },
        -            "lga": {
        -              "description": "Local government area the suburb belongs to.",
        -              "title": "Lga",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "lga",
        -            "avg_rate_aud_yr"
        -          ],
        -          "title": "SuburbCouncilRates",
        -          "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[SuburbCouncilRates]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbCouncilRates_"
        -}New value: +null
    • Changedsuburbs_development_da_count1 field changed
      • 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": [
        -        {
        -          "example": {
        -            "da_count": 0
        -          },
        -          "properties": {
        -            "da_count": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Number of recent DAs in the suburb.",
        -              "title": "Da Count"
        -            }
        -          },
        -          "required": [
        -            "da_count"
        -          ],
        -          "title": "DaCount",
        -          "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[DaCount]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_DaCount_"
        -}New value: +null
    • Changedsuburbs_development_da_list1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One development-application record near the suburb.",
        -            "properties": {
        -              "area_level": {
        -                "description": "'suburb' or 'address'.",
        -                "title": "Area Level",
        -                "type": "string"
        -              },
        -              "area_name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Suburb (SAL) name — may be empty for per-address rows.",
        -                "title": "Area Name"
        -              },
        -              "category": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Coarse category — 'Renovation', 'New Dwelling', etc.",
        -                "title": "Category"
        -              },
        -              "date": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "DA lodged date (YYYY-MM-DD).",
        -                "title": "Date"
        -              },
        -              "description": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Free-text description of the proposed works.",
        -                "title": "Description"
        -              },
        -              "suburb": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Suburb the DA is in (when area_level=='address').",
        -                "title": "Suburb"
        -              }
        -            },
        -            "required": [
        -              "area_level"
        -            ],
        -            "title": "DaRow",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[DaRow]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_DaRow__"
        -}New value: +null
    • Changedsuburbs_development_density1 field changed
      • 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": "Dwelling and population density for a suburb, plus the land area and\ncounts behind it.\n\nTwo density measures ship together on purpose — they are computed on\ndifferent denominators and do not agree:\n\n* ``dwellings_per_km2`` / ``people_per_km2`` are the Microburbs\n  suburb-profile figures, and are what the Microburbs suburb report\n  headlines.\n* ``boundary_dwellings_per_km2`` / ``boundary_people_per_km2`` are the\n  plain whole-of-boundary ratios — exactly ``dwellings / area_km2`` and\n  ``population / area_km2``.\n\nThe profile figures are measured around the suburb's properties, not\nacross its whole polygon, so they differ from the boundary ratios in\neither direction (Belmont North: 1,002 vs 676; Bondi: 4,970 vs 6,193).\nPick the one that matches your question: profile density for \"how\nbuilt-up is the area people actually live in\", boundary density for\n\"how many dwellings per km² of suburb\".",
        -          "example": {
        -            "area_km2": 3.6314,
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "boundary_dwellings_per_km2": 675.5,
        -            "boundary_people_per_km2": 1729.4,
        -            "density_level": "Mid",
        -            "dwellings": 2453,
        -            "dwellings_per_km2": 1002,
        -            "people_per_km2": 2575,
        -            "population": 6280
        -          },
        -          "properties": {
        -            "area_km2": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Land area of the ABS SAL boundary in km², summed from the equal-area mesh-block areas ABS publishes.",
        -              "title": "Area Km2"
        -            },
        -            "area_level": {
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "boundary_dwellings_per_km2": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "`dwellings / area_km2` — the whole-of-boundary ratio.",
        -              "title": "Boundary Dwellings Per Km2"
        -            },
        -            "boundary_people_per_km2": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "`population / area_km2` — the whole-of-boundary ratio.",
        -              "title": "Boundary People Per Km2"
        -            },
        -            "density_level": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Band the report labels `dwellings_per_km2` with: Low (<1,000), Mid (1,000–2,999), High (3,000+).",
        -              "title": "Density Level"
        -            },
        -            "dwellings": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Census dwelling count across the suburb's mesh blocks.",
        -              "title": "Dwellings"
        -            },
        -            "dwellings_per_km2": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Dwelling density from the Microburbs suburb profile — the figure the suburb report headlines. Measured around the suburb's properties, so it differs from `boundary_dwellings_per_km2`. Null for suburbs with no profile row (mostly rural / non-residential SALs).",
        -              "title": "Dwellings Per Km2"
        -            },
        -            "people_per_km2": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Population density from the same suburb profile, on the same denominator as `dwellings_per_km2`.",
        -              "title": "People Per Km2"
        -            },
        -            "population": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Census usual-resident population across the suburb's mesh blocks.",
        -              "title": "Population"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "SuburbDensity",
        -          "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[SuburbDensity]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbDensity_"
        -}New value: +null
    • Changedsuburbs_development_profile1 field changed
      • 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": "Dwelling-mix scalars from the suburb-profile build.",
        -          "example": {
        -            "apartment_pct": 1.2,
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "avg_lot_m2": 758
        -          },
        -          "properties": {
        -            "apartment_pct": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Apartments as a share of the dwelling stock (%).",
        -              "title": "Apartment Pct"
        -            },
        -            "area_level": {
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "avg_lot_m2": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Average residential lot size (m²).",
        -              "title": "Avg Lot M2"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "SuburbDevelopmentProfile",
        -          "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[SuburbDevelopmentProfile]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbDevelopmentProfile_"
        -}New value: +null
    • Changedsuburbs_development_supply1 field changed
      • 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": "New dwelling supply — units vs houses per mesh block + rollup.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "mesh_blocks": [
        -              {
        -                "mb_code": "10694560000",
        -                "new_houses": 15,
        -                "new_units": 3,
        -                "pct_units": 16.7,
        -                "total_new": 18
        -              }
        -            ],
        -            "summary": {
        -              "new_houses": 650,
        -              "new_units": 410,
        -              "pct_houses": 61.3,
        -              "pct_units": 38.7,
        -              "total_new": 1060
        -            }
        -          },
        -          "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, most new supply first.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "New supply near one mesh block (0.5 km radius, last 24 months).",
        -                "properties": {
        -                  "mb_code": {
        -                    "description": "ABS mesh-block code.",
        -                    "title": "Mb Code",
        -                    "type": "string"
        -                  },
        -                  "new_houses": {
        -                    "description": "New houses appearing in GNAF.",
        -                    "title": "New Houses",
        -                    "type": "integer"
        -                  },
        -                  "new_units": {
        -                    "description": "New units appearing in GNAF.",
        -                    "title": "New Units",
        -                    "type": "integer"
        -                  },
        -                  "pct_units": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Unit share of new supply (%); null when no new supply.",
        -                    "title": "Pct Units"
        -                  },
        -                  "total_new": {
        -                    "description": "Total new dwellings (houses + units).",
        -                    "title": "Total New",
        -                    "type": "integer"
        -                  }
        -                },
        -                "required": [
        -                  "mb_code",
        -                  "new_houses",
        -                  "new_units",
        -                  "total_new"
        -                ],
        -                "title": "SupplyMb",
        -                "type": "object"
        -              },
        -              "title": "Mesh Blocks",
        -              "type": "array"
        -            },
        -            "summary": {
        -              "description": "Suburb rollup.",
        -              "properties": {
        -                "new_houses": {
        -                  "description": "Total new houses across mesh blocks.",
        -                  "title": "New Houses",
        -                  "type": "integer"
        -                },
        -                "new_units": {
        -                  "description": "Total new units across mesh blocks.",
        -                  "title": "New Units",
        -                  "type": "integer"
        -                },
        -                "pct_houses": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "House share of new supply (%); null when zero supply.",
        -                  "title": "Pct Houses"
        -                },
        -                "pct_units": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Unit share of new supply (%); null when zero supply.",
        -                  "title": "Pct Units"
        -                },
        -                "total_new": {
        -                  "description": "Total new dwellings.",
        -                  "title": "Total New",
        -                  "type": "integer"
        -                }
        -              },
        -              "required": [
        -                "new_houses",
        -                "new_units",
        -                "total_new"
        -              ],
        -              "title": "SupplySummary",
        -              "type": "object"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "summary",
        -            "mesh_blocks"
        -          ],
        -          "title": "SuburbDevelopmentSupply",
        -          "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[SuburbDevelopmentSupply]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbDevelopmentSupply_"
        -}New value: +null
    • Changedsuburbs_development_zoning_map1 field changed
      • 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": "Zoning polygons clipped to the suburb boundary, plus legend shares.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "geojson": {
        -              "features": [
        -                {
        -                  "geometry": {
        -                    "coordinates": [
        -                      [
        -                        [
        -                          151.6695,
        -                          -33.0018
        -                        ],
        -                        [
        -                          151.6702,
        -                          -33.0021
        -                        ],
        -                        [
        -                          151.6698,
        -                          -33.0027
        -                        ],
        -                        [
        -                          151.6695,
        -                          -33.0018
        -                        ]
        -                      ]
        -                    ],
        -                    "type": "Polygon"
        -                  },
        -                  "properties": {
        -                    "color": "#27ae60",
        -                    "lay_class": "Environmental Conservation",
        -                    "parent": "Environmental",
        -                    "sym_code": "C2"
        -                  },
        -                  "type": "Feature"
        -                }
        -              ],
        -              "type": "FeatureCollection"
        -            },
        -            "groups": [
        -              {
        -                "color": "#27ae60",
        -                "label": "Environmental",
        -                "pct": 24.3
        -              },
        -              {
        -                "color": "#e85d75",
        -                "label": "Residential",
        -                "pct": 64.1
        -              },
        -              {
        -                "color": "#f6c445",
        -                "label": "Commercial",
        -                "pct": 1.6
        -              },
        -              {
        -                "color": "#b8b8b8",
        -                "label": "Other",
        -                "pct": 10
        -              }
        -            ],
        -            "legend": [
        -              {
        -                "color": "#e85d75",
        -                "lay_class": "Low Density Residential",
        -                "parent": "Residential",
        -                "pct": 62.4,
        -                "sym_code": "R2"
        -              },
        -              {
        -                "color": "#27ae60",
        -                "lay_class": "Environmental Conservation",
        -                "parent": "Environmental",
        -                "pct": 21.9,
        -                "sym_code": "C2"
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "geojson": {
        -              "description": "Zoning polygons. Feature properties: lay_class, sym_code, parent, color.",
        -              "properties": {
        -                "features": {
        -                  "description": "Feature list.",
        -                  "items": {
        -                    "description": "RFC 7946 Feature — geometry + endpoint-specific properties.",
        -                    "properties": {
        -                      "geometry": {
        -                        "additionalProperties": true,
        -                        "description": "GeoJSON geometry (Polygon or MultiPolygon).",
        -                        "title": "Geometry",
        -                        "type": "object"
        -                      },
        -                      "properties": {
        -                        "additionalProperties": true,
        -                        "description": "Per-feature attributes — see the endpoint's example.",
        -                        "title": "Properties",
        -                        "type": "object"
        -                      },
        -                      "type": {
        -                        "const": "Feature",
        -                        "description": "Always 'Feature'.",
        -                        "title": "Type",
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "type",
        -                      "geometry",
        -                      "properties"
        -                    ],
        -                    "title": "GeoJsonFeature",
        -                    "type": "object"
        -                  },
        -                  "title": "Features",
        -                  "type": "array"
        -                },
        -                "type": {
        -                  "const": "FeatureCollection",
        -                  "description": "Always 'FeatureCollection'.",
        -                  "title": "Type",
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "type",
        -                "features"
        -              ],
        -              "title": "GeoJsonFeatureCollection",
        -              "type": "object"
        -            },
        -            "groups": {
        -              "description": "Parent-group area shares (Environmental / Residential / Commercial / Other).",
        -              "items": {
        -                "description": "Parent-group share of the suburb's zoned area.",
        -                "properties": {
        -                  "color": {
        -                    "description": "Hex colour for map styling.",
        -                    "title": "Color",
        -                    "type": "string"
        -                  },
        -                  "label": {
        -                    "description": "Parent group name.",
        -                    "title": "Label",
        -                    "type": "string"
        -                  },
        -                  "pct": {
        -                    "description": "Share of zoned area (%).",
        -                    "title": "Pct",
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "label",
        -                  "pct",
        -                  "color"
        -                ],
        -                "title": "ZoningGroup",
        -                "type": "object"
        -              },
        -              "title": "Groups",
        -              "type": "array"
        -            },
        -            "legend": {
        -              "description": "Per-class area shares, largest first.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One zoning class with its share of the suburb's zoned area.",
        -                "properties": {
        -                  "color": {
        -                    "description": "Hex colour for map styling.",
        -                    "title": "Color",
        -                    "type": "string"
        -                  },
        -                  "lay_class": {
        -                    "description": "Zoning layer class (e.g. 'Low Density Residential').",
        -                    "title": "Lay Class",
        -                    "type": "string"
        -                  },
        -                  "parent": {
        -                    "description": "Parent group — Environmental / Residential / Commercial / Other.",
        -                    "title": "Parent",
        -                    "type": "string"
        -                  },
        -                  "pct": {
        -                    "description": "Share of zoned area (%).",
        -                    "title": "Pct",
        -                    "type": "number"
        -                  },
        -                  "sym_code": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Zoning symbol code (e.g. 'R2').",
        -                    "title": "Sym Code"
        -                  }
        -                },
        -                "required": [
        -                  "lay_class",
        -                  "parent",
        -                  "color",
        -                  "pct"
        -                ],
        -                "title": "ZoningLegendRow",
        -                "type": "object"
        -              },
        -              "title": "Legend",
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "legend",
        -            "groups",
        -            "geojson"
        -          ],
        -          "title": "SuburbZoningMap",
        -          "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[SuburbZoningMap]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbZoningMap_"
        -}New value: +null
    • Changedsuburbs_ethnicity_all1 field changed
      • 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": [
        -        {
        -          "properties": {
        -            "ancestry": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One row of ancestry / birthplace data.",
        -                    "example": {
        -                      "ancestry": "Australians",
        -                      "area_level": "suburb",
        -                      "area_name": "Belmont North",
        -                      "proportion": 0.926304347826087
        -                    },
        -                    "properties": {
        -                      "ancestry": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Only on /ethnicity/ancestry.",
        -                        "title": "Ancestry"
        -                      },
        -                      "area_level": {
        -                        "description": "Always 'suburb'.",
        -                        "title": "Area Level",
        -                        "type": "string"
        -                      },
        -                      "area_name": {
        -                        "description": "Suburb (SAL) name.",
        -                        "title": "Area Name",
        -                        "type": "string"
        -                      },
        -                      "birthplace": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Only on /ethnicity/birthplace.",
        -                        "title": "Birthplace"
        -                      },
        -                      "proportion": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Share of the suburb identifying with this category (0–1).",
        -                        "title": "Proportion"
        -                      }
        -                    },
        -                    "required": [
        -                      "area_name",
        -                      "area_level"
        -                    ],
        -                    "title": "EthnicityRow",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "title": "Ancestry"
        -            },
        -            "birthplace": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One row of ancestry / birthplace data.",
        -                    "example": {
        -                      "ancestry": "Australians",
        -                      "area_level": "suburb",
        -                      "area_name": "Belmont North",
        -                      "proportion": 0.926304347826087
        -                    },
        -                    "properties": {
        -                      "ancestry": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Only on /ethnicity/ancestry.",
        -                        "title": "Ancestry"
        -                      },
        -                      "area_level": {
        -                        "description": "Always 'suburb'.",
        -                        "title": "Area Level",
        -                        "type": "string"
        -                      },
        -                      "area_name": {
        -                        "description": "Suburb (SAL) name.",
        -                        "title": "Area Name",
        -                        "type": "string"
        -                      },
        -                      "birthplace": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Only on /ethnicity/birthplace.",
        -                        "title": "Birthplace"
        -                      },
        -                      "proportion": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Share of the suburb identifying with this category (0–1).",
        -                        "title": "Proportion"
        -                      }
        -                    },
        -                    "required": [
        -                      "area_name",
        -                      "area_level"
        -                    ],
        -                    "title": "EthnicityRow",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "title": "Birthplace"
        -            }
        -          },
        -          "title": "EthnicityAll",
        -          "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[EthnicityAll]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_EthnicityAll_"
        -}New value: +null
    • Changedsuburbs_ethnicity_ancestry1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One row of ancestry / birthplace data.",
        -            "example": {
        -              "ancestry": "Australians",
        -              "area_level": "suburb",
        -              "area_name": "Belmont North",
        -              "proportion": 0.926304347826087
        -            },
        -            "properties": {
        -              "ancestry": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Only on /ethnicity/ancestry.",
        -                "title": "Ancestry"
        -              },
        -              "area_level": {
        -                "description": "Always 'suburb'.",
        -                "title": "Area Level",
        -                "type": "string"
        -              },
        -              "area_name": {
        -                "description": "Suburb (SAL) name.",
        -                "title": "Area Name",
        -                "type": "string"
        -              },
        -              "birthplace": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Only on /ethnicity/birthplace.",
        -                "title": "Birthplace"
        -              },
        -              "proportion": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Share of the suburb identifying with this category (0–1).",
        -                "title": "Proportion"
        -              }
        -            },
        -            "required": [
        -              "area_name",
        -              "area_level"
        -            ],
        -            "title": "EthnicityRow",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[EthnicityRow]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_EthnicityRow__"
        -}New value: +null
    • Changedsuburbs_ethnicity_birthplace1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One row of ancestry / birthplace data.",
        -            "example": {
        -              "ancestry": "Australians",
        -              "area_level": "suburb",
        -              "area_name": "Belmont North",
        -              "proportion": 0.926304347826087
        -            },
        -            "properties": {
        -              "ancestry": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Only on /ethnicity/ancestry.",
        -                "title": "Ancestry"
        -              },
        -              "area_level": {
        -                "description": "Always 'suburb'.",
        -                "title": "Area Level",
        -                "type": "string"
        -              },
        -              "area_name": {
        -                "description": "Suburb (SAL) name.",
        -                "title": "Area Name",
        -                "type": "string"
        -              },
        -              "birthplace": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Only on /ethnicity/birthplace.",
        -                "title": "Birthplace"
        -              },
        -              "proportion": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Share of the suburb identifying with this category (0–1).",
        -                "title": "Proportion"
        -              }
        -            },
        -            "required": [
        -              "area_name",
        -              "area_level"
        -            ],
        -            "title": "EthnicityRow",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[EthnicityRow]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_EthnicityRow__"
        -}New value: +null
    • Changedsuburbs_finder_count1 field changed
      • 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": [
        -        {
        -          "description": "How many suburbs match the filter — without paying for the rows.",
        -          "example": {
        -            "total": 126
        -          },
        -          "properties": {
        -            "total": {
        -              "description": "Suburbs matching every range filter (after the hard exclusions).",
        -              "title": "Total",
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "total"
        -          ],
        -          "title": "CountResponse",
        -          "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[CountResponse]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_CountResponse_"
        -}New value: +null
    • Changedsuburbs_finder_fields1 field changed
      • 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": [
        -        {
        -          "description": "The finder field catalog.",
        -          "example": {
        -            "fields": [
        -              {
        -                "key": "grossYield",
        -                "label": "Gross rental yield",
        -                "unit": "percent"
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "fields": {
        -              "description": "Every filterable / returnable field.",
        -              "items": {
        -                "description": "One filterable / sortable metric in the finder catalog.",
        -                "example": {
        -                  "key": "grossYield",
        -                  "label": "Gross rental yield",
        -                  "unit": "percent"
        -                },
        -                "properties": {
        -                  "key": {
        -                    "description": "camelCase field key — pass this in `filter` / `sort`.",
        -                    "title": "Key",
        -                    "type": "string"
        -                  },
        -                  "label": {
        -                    "description": "Human-readable label.",
        -                    "title": "Label",
        -                    "type": "string"
        -                  },
        -                  "unit": {
        -                    "description": "Unit of the value — currency | percent | count | days | km | score | index.",
        -                    "title": "Unit",
        -                    "type": "string"
        -                  }
        -                },
        -                "required": [
        -                  "key",
        -                  "label",
        -                  "unit"
        -                ],
        -                "title": "FinderField",
        -                "type": "object"
        -              },
        -              "title": "Fields",
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "fields"
        -          ],
        -          "title": "FieldsResponse",
        -          "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[FieldsResponse]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_FieldsResponse_"
        -}New value: +null
    • Changedsuburbs_finder_regions1 field changed
      • 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": [
        -        {
        -          "description": "Scope options — SA4 regions grouped by state abbreviation.",
        -          "example": {
        -            "regions": {
        -              "NSW": [
        -                "Sydney - City and Inner South",
        -                "Newcastle and Lake Macquarie"
        -              ]
        -            }
        -          },
        -          "properties": {
        -            "regions": {
        -              "additionalProperties": {
        -                "items": {
        -                  "type": "string"
        -                },
        -                "type": "array"
        -              },
        -              "description": "`{state: [sa4, ...]}` — pass a state to `states` and/or an SA4 to `regions`.",
        -              "title": "Regions",
        -              "type": "object"
        -            }
        -          },
        -          "required": [
        -            "regions"
        -          ],
        -          "title": "RegionsResponse",
        -          "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[RegionsResponse]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_RegionsResponse_"
        -}New value: +null
    • Changedsuburbs_finder_search1 field changed
      • 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": [
        -        {
        -          "description": "A page of matched suburbs.",
        -          "example": {
        -            "meta": {
        -              "limit": 25,
        -              "offset": 0,
        -              "returned": 25,
        -              "total": 126
        -            },
        -            "suburbs": [
        -              {
        -                "lga": "Lake Macquarie",
        -                "rank": 3,
        -                "sa4": "Newcastle and Lake Macquarie",
        -                "state": "NSW",
        -                "suburb": "Windale",
        -                "value": 0.163
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "meta": {
        -              "additionalProperties": true,
        -              "description": "Total + pagination.",
        -              "properties": {
        -                "limit": {
        -                  "description": "Applied page size (clamped to 25).",
        -                  "title": "Limit",
        -                  "type": "integer"
        -                },
        -                "offset": {
        -                  "description": "Applied row offset.",
        -                  "title": "Offset",
        -                  "type": "integer"
        -                },
        -                "returned": {
        -                  "description": "Rows in this page.",
        -                  "title": "Returned",
        -                  "type": "integer"
        -                },
        -                "sort_field": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Field the results are ranked by.",
        -                  "title": "Sort Field"
        -                },
        -                "total": {
        -                  "description": "Total suburbs matching the filter (ignores limit/offset).",
        -                  "title": "Total",
        -                  "type": "integer"
        -                },
        -                "values": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "How values are exposed for this search (top/bottom-5 reveal, or withheld).",
        -                  "title": "Values"
        -                }
        -              },
        -              "required": [
        -                "total",
        -                "limit",
        -                "offset",
        -                "returned"
        -              ],
        -              "title": "FinderMeta",
        -              "type": "object"
        -            },
        -            "suburbs": {
        -              "description": "Matched suburbs, sorted.",
        -              "items": {
        -                "description": "One matched suburb — rank + identity, plus the value for the first/last few.\n\n`rank` (the row's position in the ranked result, 1 = top of the sort, out of\n`meta.total`) is present on every row. `value` (the sort field's actual number)\nis present only for the first 5 and last 5 rows of the page, and only when the\nsort field is a median or a growth. For any other suburb's number, call the\nper-field endpoint (market/*, forecast/*).",
        -                "example": {
        -                  "lga": "Lake Macquarie",
        -                  "rank": 3,
        -                  "sa4": "Newcastle and Lake Macquarie",
        -                  "state": "NSW",
        -                  "suburb": "Windale",
        -                  "value": 0.163
        -                },
        -                "properties": {
        -                  "lga": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Local Government Area name.",
        -                    "title": "Lga"
        -                  },
        -                  "rank": {
        -                    "description": "Position in the ranked result, 1 = top of the sort (out of `meta.total`).",
        -                    "title": "Rank",
        -                    "type": "integer"
        -                  },
        -                  "sa4": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "SA4 region name.",
        -                    "title": "Sa4"
        -                  },
        -                  "state": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "State abbreviation (NSW, VIC, ...).",
        -                    "title": "State"
        -                  },
        -                  "suburb": {
        -                    "description": "Suburb (SAL) name.",
        -                    "title": "Suburb",
        -                    "type": "string"
        -                  },
        -                  "value": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Value of the sort field (as ranked). Present only for the first 5 and last 5 rows of the page, and only for a median or growth sort. Absent = not shown — call the per-field endpoint for this suburb.",
        -                    "title": "Value"
        -                  }
        -                },
        -                "required": [
        -                  "rank",
        -                  "suburb"
        -                ],
        -                "title": "FinderRow",
        -                "type": "object"
        -              },
        -              "title": "Suburbs",
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "suburbs",
        -            "meta"
        -          ],
        -          "title": "FinderSearchResponse",
        -          "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[FinderSearchResponse]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_FinderSearchResponse_"
        -}New value: +null
    • Changedsuburbs_forecast_sale1 field changed
      • 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": "12-month sale-price growth forecast by property type.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "house": {
        -              "confidence": 2,
        -              "high": 0.0927,
        -              "low": 0.0379,
        -              "most_likely": 0.0686
        -            },
        -            "metric": "sale_price_growth_forecast",
        -            "unit": {
        -              "confidence": 2,
        -              "high": 0.0993,
        -              "low": 0.0353,
        -              "most_likely": 0.0762
        -            }
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "house": {
        -              "anyOf": [
        -                {
        -                  "description": "A forecast expressed as a range rather than a single number — a\nmost-likely outcome with a plausible low and high either side.\n\nEverywhere this shape appears the three figures are **growth over the\nnext 12 months, as a decimal fraction**: 0.0379 means +3.79% over the\nyear, and a negative value means a fall. Multiply by 100 to display as a\npercentage. Present the band, not just `most_likely` — the width between\n`low` and `high` is the honest part of the forecast.",
        -                  "properties": {
        -                    "confidence": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "How much weight to put on the forecast, on a 0–5 scale where 5 is most confident — it is not a percentage or a probability. High confidence means the low-to-high band is tight and the underlying market has enough sales to model; low confidence usually means a thin, volatile market where the band is wide.",
        -                      "title": "Confidence"
        -                    },
        -                    "high": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Optimistic end of the 12-month growth forecast, same decimal-fraction scale as `low`. Not a ceiling.",
        -                      "title": "High"
        -                    },
        -                    "low": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Pessimistic end of the 12-month growth forecast, as a decimal fraction (0.0379 = +3.79%; negatives are falls). Not a floor — outcomes can land below it.",
        -                      "title": "Low"
        -                    },
        -                    "most_likely": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Central estimate of 12-month growth, as a decimal fraction. The single number to quote if you can only show one, but it should carry `low`/`high` with it.",
        -                      "title": "Most Likely"
        -                    }
        -                  },
        -                  "title": "ForecastBand",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "House forecast band."
        -            },
        -            "metric": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Metric label, e.g. 'sale_price_growth_forecast'.",
        -              "title": "Metric"
        -            },
        -            "unit": {
        -              "anyOf": [
        -                {
        -                  "description": "A forecast expressed as a range rather than a single number — a\nmost-likely outcome with a plausible low and high either side.\n\nEverywhere this shape appears the three figures are **growth over the\nnext 12 months, as a decimal fraction**: 0.0379 means +3.79% over the\nyear, and a negative value means a fall. Multiply by 100 to display as a\npercentage. Present the band, not just `most_likely` — the width between\n`low` and `high` is the honest part of the forecast.",
        -                  "properties": {
        -                    "confidence": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "How much weight to put on the forecast, on a 0–5 scale where 5 is most confident — it is not a percentage or a probability. High confidence means the low-to-high band is tight and the underlying market has enough sales to model; low confidence usually means a thin, volatile market where the band is wide.",
        -                      "title": "Confidence"
        -                    },
        -                    "high": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Optimistic end of the 12-month growth forecast, same decimal-fraction scale as `low`. Not a ceiling.",
        -                      "title": "High"
        -                    },
        -                    "low": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Pessimistic end of the 12-month growth forecast, as a decimal fraction (0.0379 = +3.79%; negatives are falls). Not a floor — outcomes can land below it.",
        -                      "title": "Low"
        -                    },
        -                    "most_likely": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Central estimate of 12-month growth, as a decimal fraction. The single number to quote if you can only show one, but it should carry `low`/`high` with it.",
        -                      "title": "Most Likely"
        -                    }
        -                  },
        -                  "title": "ForecastBand",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Unit forecast band."
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "ForecastSale",
        -          "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[ForecastSale]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_ForecastSale_"
        -}New value: +null
    • Changedsuburbs_hero_neighbours1 field changed
      • 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": "Nearest neighbouring suburbs, closest first.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "neighbours": [
        -              {
        -                "dist_km": 1,
        -                "sa3": "Lake Macquarie - East",
        -                "sal": "Floraville"
        -              },
        -              {
        -                "dist_km": 1.4,
        -                "sa3": "Lake Macquarie - East",
        -                "sal": "Belmont (NSW)"
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "neighbours": {
        -              "description": "Neighbouring suburbs ordered by distance (closest first).",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One neighbouring suburb.",
        -                "example": {
        -                  "dist_km": 1,
        -                  "sa3": "Lake Macquarie - East",
        -                  "sal": "Floraville"
        -                },
        -                "properties": {
        -                  "dist_km": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Straight-line distance between the two suburbs' boundary centroids (km) — not the gap between boundaries, so touching suburbs still show a positive distance.",
        -                    "title": "Dist Km"
        -                  },
        -                  "sa3": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "ABS SA3 region of the neighbour.",
        -                    "title": "Sa3"
        -                  },
        -                  "sal": {
        -                    "description": "Neighbouring suburb (SAL) name.",
        -                    "title": "Sal",
        -                    "type": "string"
        -                  }
        -                },
        -                "required": [
        -                  "sal"
        -                ],
        -                "title": "HeroNeighbourRow",
        -                "type": "object"
        -              },
        -              "title": "Neighbours",
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "neighbours"
        -          ],
        -          "title": "HeroNeighbours",
        -          "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[HeroNeighbours]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_HeroNeighbours_"
        -}New value: +null
    • Changedsuburbs_hero_price_growth_12mo1 field changed
      • 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": "12-month sale-price growth by property type.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "growth": [
        -              {
        -                "field": "prop_list_price_0_5_growth_1_year_buy_house",
        -                "pct": 12.3,
        -                "property_type": "house"
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "growth": {
        -              "description": "One entry per property type with data.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "12-month growth for one property type.",
        -                "example": {
        -                  "field": "prop_list_price_0_5_growth_1_year_buy_house",
        -                  "pct": 12.3,
        -                  "property_type": "house"
        -                },
        -                "properties": {
        -                  "current_val": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "DEPRECATED — no longer returned. `pct` now comes from the canonical published growth field rather than being re-derived from a median pair, and that field ships a rate with no current/previous values behind it. For medians use `/market/median-sale-price` and `/market/median-sale-price-series`.",
        -                    "title": "Current Val"
        -                  },
        -                  "field": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Underlying smart-median field code.",
        -                    "title": "Field"
        -                  },
        -                  "pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "12-month growth as a percentage (17.83 = +17.83%).",
        -                    "title": "Pct"
        -                  },
        -                  "prev_val": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "DEPRECATED — no longer returned. See `current_val`.",
        -                    "title": "Prev Val"
        -                  },
        -                  "property_type": {
        -                    "anyOf": [
        -                      {
        -                        "enum": [
        -                          "house",
        -                          "unit"
        -                        ],
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "'house' or 'unit' (derived from `field`).",
        -                    "title": "Property Type"
        -                  }
        -                },
        -                "title": "HeroPriceGrowthRow",
        -                "type": "object"
        -              },
        -              "title": "Growth",
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "growth"
        -          ],
        -          "title": "HeroPriceGrowth12mo",
        -          "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[HeroPriceGrowth12mo]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_HeroPriceGrowth12mo_"
        -}New value: +null
    • Changedsuburbs_hero_summary1 field changed
      • 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": "Suburb at a glance — geography chain, population, dwellings, centroid.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "dwellings": 2453,
        -            "lat": -33.01705,
        -            "lng": 151.672252,
        -            "population": 6280,
        -            "postcode": "2280",
        -            "sa3": "Lake Macquarie - East",
        -            "sa4": "Newcastle and Lake Macquarie",
        -            "state": "New South Wales",
        -            "state_abbr": "NSW"
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "dwellings": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Total dwellings (sum over the suburb's mesh blocks, ABS Census).",
        -              "title": "Dwellings"
        -            },
        -            "lat": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Latitude of the suburb boundary's centroid.",
        -              "title": "Lat"
        -            },
        -            "lng": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Longitude of the suburb boundary's centroid.",
        -              "title": "Lng"
        -            },
        -            "population": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Total population (sum over the suburb's mesh blocks, ABS Census).",
        -              "title": "Population"
        -            },
        -            "postcode": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Postcode (POA) covering the suburb.",
        -              "title": "Postcode"
        -            },
        -            "sa3": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "ABS SA3 region the suburb sits in.",
        -              "title": "Sa3"
        -            },
        -            "sa4": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "ABS SA4 region the suburb sits in.",
        -              "title": "Sa4"
        -            },
        -            "state": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "State / territory full name, e.g. 'New South Wales'.",
        -              "title": "State"
        -            },
        -            "state_abbr": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "State / territory abbreviation, e.g. 'NSW'.",
        -              "title": "State Abbr"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "HeroSummary",
        -          "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[HeroSummary]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_HeroSummary_"
        -}New value: +null
    • Changedsuburbs_lifestyle_cbd1 field changed
      • 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": "Distance to the nearest city and to the nearest capital.\n\nThese are different places and often very different distances — Belmont\nNorth is 14 km from Newcastle and 108 km from Sydney. Read whichever\nanswers your question; `nearest_city` is usually the one a buyer means.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "capital_city": {
        -              "distance_km": 108,
        -              "name": "Sydney"
        -            },
        -            "city": "Sydney",
        -            "distance_km": 108,
        -            "nearest_city": {
        -              "distance_km": 14,
        -              "name": "Newcastle"
        -            }
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "capital_city": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "A named city and the straight-line distance to it.",
        -                  "properties": {
        -                    "distance_km": {
        -                      "description": "Straight-line distance (km).",
        -                      "title": "Distance Km",
        -                      "type": "number"
        -                    },
        -                    "name": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "City name (e.g. 'Newcastle').",
        -                      "title": "Name"
        -                    }
        -                  },
        -                  "required": [
        -                    "distance_km"
        -                  ],
        -                  "title": "CityDistance",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Nearest state/territory capital, and the distance to it."
        -            },
        -            "city": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "DEPRECATED — the CAPITAL's name. Use `capital_city.name`.",
        -              "title": "City"
        -            },
        -            "distance_km": {
        -              "description": "DEPRECATED — distance to the CAPITAL, not to the nearest city. Use `capital_city.distance_km`, or `nearest_city.distance_km`.",
        -              "title": "Distance Km",
        -              "type": "number"
        -            },
        -            "nearest_city": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "A named city and the straight-line distance to it.",
        -                  "properties": {
        -                    "distance_km": {
        -                      "description": "Straight-line distance (km).",
        -                      "title": "Distance Km",
        -                      "type": "number"
        -                    },
        -                    "name": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "City name (e.g. 'Newcastle').",
        -                      "title": "Name"
        -                    }
        -                  },
        -                  "required": [
        -                    "distance_km"
        -                  ],
        -                  "title": "CityDistance",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Nearest city of any size, and the distance to it."
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "distance_km"
        -          ],
        -          "title": "LifestyleCbd",
        -          "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[LifestyleCbd]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_LifestyleCbd_"
        -}New value: +null
    • Changedsuburbs_lifestyle_landmarks1 field changed
      • 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": "Nearest beach and hospital (null = none within ~50 km).",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "nearest_beach": {
        -              "dist_km": 1.5,
        -              "name": "Redhead Beach, NSW"
        -            },
        -            "nearest_hospital": {
        -              "dist_km": 1.4,
        -              "name": "Narla Village"
        -            }
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "nearest_beach": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "A named landmark with straight-line distance.",
        -                  "properties": {
        -                    "dist_km": {
        -                      "description": "Straight-line distance (km).",
        -                      "title": "Dist Km",
        -                      "type": "number"
        -                    },
        -                    "name": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Landmark name.",
        -                      "title": "Name"
        -                    }
        -                  },
        -                  "required": [
        -                    "dist_km"
        -                  ],
        -                  "title": "LandmarkPlace",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Nearest beach."
        -            },
        -            "nearest_hospital": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "A named landmark with straight-line distance.",
        -                  "properties": {
        -                    "dist_km": {
        -                      "description": "Straight-line distance (km).",
        -                      "title": "Dist Km",
        -                      "type": "number"
        -                    },
        -                    "name": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Landmark name.",
        -                      "title": "Name"
        -                    }
        -                  },
        -                  "required": [
        -                    "dist_km"
        -                  ],
        -                  "title": "LandmarkPlace",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Nearest hospital."
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "LifestyleLandmarks",
        -          "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[LifestyleLandmarks]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_LifestyleLandmarks_"
        -}New value: +null
    • Changedsuburbs_lifestyle_livability1 field changed
      • 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": "Suburb livability scores (mesh-block average) + regional benchmark.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "benchmark": {
        -              "n_suburbs": 149,
        -              "region": "Newcastle and Lake Macquarie",
        -              "scores": {
        -                "affluence": 66.9,
        -                "hip": 59.5,
        -                "lifestyle": 73.4,
        -                "safety": 84.8
        -              }
        -            },
        -            "n_mesh_blocks": 63,
        -            "scores": [
        -              {
        -                "key": "affluence",
        -                "label": "Affluence",
        -                "level": "Moderate",
        -                "value": 56
        -              },
        -              {
        -                "key": "lifestyle",
        -                "label": "Lifestyle",
        -                "level": "Moderate",
        -                "value": 72
        -              },
        -              {
        -                "key": "safety",
        -                "label": "Safety",
        -                "level": "High",
        -                "value": 76
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "benchmark": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "SA4-region benchmark for comparing the suburb's scores.",
        -                  "properties": {
        -                    "n_suburbs": {
        -                      "description": "Suburbs in the region.",
        -                      "title": "N Suburbs",
        -                      "type": "integer"
        -                    },
        -                    "region": {
        -                      "description": "SA4 region name.",
        -                      "title": "Region",
        -                      "type": "string"
        -                    },
        -                    "scores": {
        -                      "description": "Region-average scores.",
        -                      "properties": {
        -                        "affluence": {
        -                          "anyOf": [
        -                            {
        -                              "type": "number"
        -                            },
        -                            {
        -                              "type": "null"
        -                            }
        -                          ],
        -                          "description": "Region average affluence.",
        -                          "title": "Affluence"
        -                        },
        -                        "hip": {
        -                          "anyOf": [
        -                            {
        -                              "type": "number"
        -                            },
        -                            {
        -                              "type": "null"
        -                            }
        -                          ],
        -                          "description": "Region average hip.",
        -                          "title": "Hip"
        -                        },
        -                        "lifestyle": {
        -                          "anyOf": [
        -                            {
        -                              "type": "number"
        -                            },
        -                            {
        -                              "type": "null"
        -                            }
        -                          ],
        -                          "description": "Region average lifestyle.",
        -                          "title": "Lifestyle"
        -                        },
        -                        "safety": {
        -                          "anyOf": [
        -                            {
        -                              "type": "number"
        -                            },
        -                            {
        -                              "type": "null"
        -                            }
        -                          ],
        -                          "description": "Region average safety.",
        -                          "title": "Safety"
        -                        }
        -                      },
        -                      "title": "LivabilityBenchmarkScores",
        -                      "type": "object"
        -                    }
        -                  },
        -                  "required": [
        -                    "region",
        -                    "n_suburbs",
        -                    "scores"
        -                  ],
        -                  "title": "LivabilityBenchmark",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "SA4 benchmark; null when the region has no bench row."
        -            },
        -            "n_mesh_blocks": {
        -              "description": "Mesh blocks the scores aggregate over.",
        -              "title": "N Mesh Blocks",
        -              "type": "integer"
        -            },
        -            "scores": {
        -              "description": "One entry per dimension.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One livability dimension score (0–100).",
        -                "properties": {
        -                  "key": {
        -                    "description": "Dimension key — affluence | lifestyle | hip | convenience | family | safety | tranquility.",
        -                    "title": "Key",
        -                    "type": "string"
        -                  },
        -                  "label": {
        -                    "description": "Human dimension label.",
        -                    "title": "Label",
        -                    "type": "string"
        -                  },
        -                  "level": {
        -                    "description": "Human level — Very low / Low / Moderate / High / Very high.",
        -                    "title": "Level",
        -                    "type": "string"
        -                  },
        -                  "value": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Score 0–100; null when no data.",
        -                    "title": "Value"
        -                  }
        -                },
        -                "required": [
        -                  "key",
        -                  "label",
        -                  "level"
        -                ],
        -                "title": "LivabilityScore",
        -                "type": "object"
        -              },
        -              "title": "Scores",
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "n_mesh_blocks",
        -            "scores"
        -          ],
        -          "title": "LifestyleLivability",
        -          "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[LifestyleLivability]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_LifestyleLivability_"
        -}New value: +null
    • Changedsuburbs_lifestyle_livability_map1 field changed
      • 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": "Per-microburb livability scores — the report's Livability overlays.",
        -          "example": {
        -            "definition": "Seven livability dimensions scored for each mesh block ('microburb', the smallest ABS geography, ~30-60 dwellings), rescaled from the source 0-10 to 0-100. Higher is better on every dimension, safety included — it is an inverse-scaled crime score built from the same per-mesh-block crime model /crime/by-mesh-block exposes as raw rates. Averaging a dimension across the microburbs here gives the suburb figure at /lifestyle/livability. Dimensions with no score for a microburb are omitted, not zeroed.",
        -            "dimensions": [
        -              {
        -                "description": "Reported crime rates across personal, property, drug and public-order offences compared with the state average. Inverse-scaled, so a higher score means less predicted crime.",
        -                "key": "safety",
        -                "label": "Safety"
        -              }
        -            ],
        -            "metric": "livability_scores",
        -            "microburbs": [
        -              {
        -                "levels": {
        -                  "affluence": "Low",
        -                  "convenience": "Low",
        -                  "family": "Moderate",
        -                  "hip": "Moderate",
        -                  "lifestyle": "Low",
        -                  "safety": "Moderate",
        -                  "tranquility": "Very low"
        -                },
        -                "mb": "10431160000",
        -                "scores": {
        -                  "affluence": 43,
        -                  "convenience": 46,
        -                  "family": 52,
        -                  "hip": 50,
        -                  "lifestyle": 34,
        -                  "safety": 53,
        -                  "tranquility": 8
        -                },
        -                "street": "Floraville"
        -              }
        -            ],
        -            "n_microburbs": 63,
        -            "suburb": "Belmont North",
        -            "unit": "score_0_100"
        -          },
        -          "properties": {
        -            "definition": {
        -              "description": "How the scores are derived.",
        -              "title": "Definition",
        -              "type": "string"
        -            },
        -            "dimensions": {
        -              "description": "The seven dimensions, with what each measures.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One of the seven scored dimensions.",
        -                "properties": {
        -                  "description": {
        -                    "description": "What the dimension measures.",
        -                    "title": "Description",
        -                    "type": "string"
        -                  },
        -                  "key": {
        -                    "description": "Machine key, e.g. 'safety'.",
        -                    "title": "Key",
        -                    "type": "string"
        -                  },
        -                  "label": {
        -                    "description": "Display label, e.g. 'Safety'.",
        -                    "title": "Label",
        -                    "type": "string"
        -                  }
        -                },
        -                "required": [
        -                  "key",
        -                  "label",
        -                  "description"
        -                ],
        -                "title": "LivabilityDimension",
        -                "type": "object"
        -              },
        -              "title": "Dimensions",
        -              "type": "array"
        -            },
        -            "metric": {
        -              "description": "Always 'livability_scores'.",
        -              "title": "Metric",
        -              "type": "string"
        -            },
        -            "microburbs": {
        -              "description": "Per-microburb scores, ordered by mesh-block code.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "Livability scores for one microburb (mesh block).",
        -                "properties": {
        -                  "levels": {
        -                    "additionalProperties": {
        -                      "type": "string"
        -                    },
        -                    "description": "Dimension key → human band for the same score: 'Very low' (<25), 'Low' (25-49), 'Moderate' (50-74), 'High' (75-89), 'Very high' (90+).",
        -                    "title": "Levels",
        -                    "type": "object"
        -                  },
        -                  "mb": {
        -                    "description": "ABS 2021 mesh-block code.",
        -                    "title": "Mb",
        -                    "type": "string"
        -                  },
        -                  "scores": {
        -                    "additionalProperties": {
        -                      "type": "integer"
        -                    },
        -                    "description": "Dimension key → score 0-100, higher is better. Dimensions with no score for this microburb are absent.",
        -                    "title": "Scores",
        -                    "type": "object"
        -                  },
        -                  "street": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Modal street name for the mesh block, title-cased.",
        -                    "title": "Street"
        -                  }
        -                },
        -                "required": [
        -                  "mb",
        -                  "scores",
        -                  "levels"
        -                ],
        -                "title": "LivabilityMb",
        -                "type": "object"
        -              },
        -              "title": "Microburbs",
        -              "type": "array"
        -            },
        -            "n_microburbs": {
        -              "description": "Microburbs with at least one score.",
        -              "title": "N Microburbs",
        -              "type": "integer"
        -            },
        -            "suburb": {
        -              "description": "Canonical SAL name.",
        -              "title": "Suburb",
        -              "type": "string"
        -            },
        -            "unit": {
        -              "description": "Always 'score_0_100'.",
        -              "title": "Unit",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "suburb",
        -            "metric",
        -            "unit",
        -            "definition",
        -            "dimensions",
        -            "n_microburbs",
        -            "microburbs"
        -          ],
        -          "title": "SuburbLivabilityMap",
        -          "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[SuburbLivabilityMap]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbLivabilityMap_"
        -}New value: +null
    • Changedsuburbs_lifestyle_narrative1 field changed
      • 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": "Suburb livability narrative sentences.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "sentences": {
        -              "affluence": "37% own outright. Only 10% hold university degrees. Household income $1,728/wk.",
        -              "convenience": "No train nearby (9 km). Nearest supermarket: Coles (851m). Hospital 2.9 km."
        -            }
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "sentences": {
        -              "additionalProperties": true,
        -              "description": "Per-dimension sentences.",
        -              "properties": {
        -                "affluence": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Affluence narrative.",
        -                  "title": "Affluence"
        -                },
        -                "community": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Community narrative.",
        -                  "title": "Community"
        -                },
        -                "convenience": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Convenience narrative.",
        -                  "title": "Convenience"
        -                },
        -                "family": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Family narrative.",
        -                  "title": "Family"
        -                },
        -                "hip": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Hip narrative.",
        -                  "title": "Hip"
        -                },
        -                "lifestyle": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Lifestyle narrative.",
        -                  "title": "Lifestyle"
        -                },
        -                "tranquility": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Tranquility narrative.",
        -                  "title": "Tranquility"
        -                }
        -              },
        -              "title": "NarrativeSentences",
        -              "type": "object"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "sentences"
        -          ],
        -          "title": "LifestyleNarrative",
        -          "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[LifestyleNarrative]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_LifestyleNarrative_"
        -}New value: +null
    • Changedsuburbs_lifestyle_poi_impacts1 field changed
      • 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": "What the absence of petrol / fast food / bottle shops near sold\nproperties was worth in this suburb.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Castlecrag",
        -            "drivers": [
        -              {
        -                "coverage_pct": 100,
        -                "detail": "100% of 9 recent sales in Castlecrag were at properties with no petrol station nearby. Those sales cleared about $184,500 more than comparable suburbs with petrol stations, equivalent to 4.1% of the $4,500,000 median price here.",
        -                "label": "No petrol station nearby",
        -                "pct_of_median": 4.1,
        -                "premium_dollars": 184500
        -              }
        -            ],
        -            "median_price": 4500000,
        -            "n_sales": 9,
        -            "total_premium": 263000
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "drivers": {
        -              "description": "Drivers, largest premium first.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One amenity-absence price driver.",
        -                "properties": {
        -                  "coverage_pct": {
        -                    "description": "Share of recent sales the absence applies to (%).",
        -                    "title": "Coverage Pct",
        -                    "type": "number"
        -                  },
        -                  "detail": {
        -                    "description": "Plain-English explanation of the driver.",
        -                    "title": "Detail",
        -                    "type": "string"
        -                  },
        -                  "label": {
        -                    "description": "Driver label (e.g. 'No petrol station nearby').",
        -                    "title": "Label",
        -                    "type": "string"
        -                  },
        -                  "pct_of_median": {
        -                    "description": "Premium as a share of the median price (%).",
        -                    "title": "Pct Of Median",
        -                    "type": "number"
        -                  },
        -                  "premium_dollars": {
        -                    "description": "Estimated price premium attributable to the absence (AUD).",
        -                    "title": "Premium Dollars",
        -                    "type": "integer"
        -                  }
        -                },
        -                "required": [
        -                  "label",
        -                  "premium_dollars",
        -                  "coverage_pct",
        -                  "pct_of_median",
        -                  "detail"
        -                ],
        -                "title": "PoiImpactDriver",
        -                "type": "object"
        -              },
        -              "title": "Drivers",
        -              "type": "array"
        -            },
        -            "median_price": {
        -              "description": "Median sale price across those sales (AUD).",
        -              "title": "Median Price",
        -              "type": "integer"
        -            },
        -            "n_sales": {
        -              "description": "Recent sales in the analysis window.",
        -              "title": "N Sales",
        -              "type": "integer"
        -            },
        -            "total_premium": {
        -              "description": "Combined absence premium across all drivers (AUD).",
        -              "title": "Total Premium",
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "n_sales",
        -            "median_price",
        -            "total_premium",
        -            "drivers"
        -          ],
        -          "title": "LifestylePoiImpacts",
        -          "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[LifestylePoiImpacts]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_LifestylePoiImpacts_"
        -}New value: +null
    • Changedsuburbs_lifestyle_pois1 field changed
      • 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": "Every amenity point in the suburb as GeoJSON, with category counts.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "categories": [
        -              {
        -                "category": "Shopping",
        -                "count": 32
        -              },
        -              {
        -                "category": "Sport & Fitness",
        -                "count": 26
        -              }
        -            ],
        -            "count": 177,
        -            "pois": {
        -              "features": [
        -                {
        -                  "geometry": {
        -                    "coordinates": [
        -                      151.66231,
        -                      -33.02463
        -                    ],
        -                    "type": "Point"
        -                  },
        -                  "properties": {
        -                    "category": "Shopping",
        -                    "dim": "convenience",
        -                    "name": "Ampol Foodary",
        -                    "subtype": "newsagent"
        -                  },
        -                  "type": "Feature"
        -                }
        -              ],
        -              "type": "FeatureCollection"
        -            }
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "categories": {
        -              "description": "Per-category counts across the whole suburb, largest first.",
        -              "items": {
        -                "description": "Per-display-category POI count.",
        -                "properties": {
        -                  "category": {
        -                    "description": "Display category.",
        -                    "title": "Category",
        -                    "type": "string"
        -                  },
        -                  "count": {
        -                    "description": "POIs in the category.",
        -                    "title": "Count",
        -                    "type": "integer"
        -                  }
        -                },
        -                "required": [
        -                  "category",
        -                  "count"
        -                ],
        -                "title": "PoiCategoryCount",
        -                "type": "object"
        -              },
        -              "title": "Categories",
        -              "type": "array"
        -            },
        -            "count": {
        -              "description": "POIs available in the suburb (after any `category` filter), counted before `limit`/`offset`.",
        -              "title": "Count",
        -              "type": "integer"
        -            },
        -            "pois": {
        -              "description": "GeoJSON FeatureCollection of points.",
        -              "properties": {
        -                "features": {
        -                  "description": "One feature per POI.",
        -                  "items": {
        -                    "description": "One POI as a GeoJSON Feature.",
        -                    "properties": {
        -                      "geometry": {
        -                        "description": "Point location.",
        -                        "properties": {
        -                          "coordinates": {
        -                            "description": "`[longitude, latitude]` — 2 numbers, lon first per GeoJSON.",
        -                            "items": {
        -                              "type": "number"
        -                            },
        -                            "title": "Coordinates",
        -                            "type": "array"
        -                          },
        -                          "type": {
        -                            "const": "Point",
        -                            "description": "Always 'Point'.",
        -                            "title": "Type",
        -                            "type": "string"
        -                          }
        -                        },
        -                        "required": [
        -                          "type",
        -                          "coordinates"
        -                        ],
        -                        "title": "GeoJsonPointGeometry",
        -                        "type": "object"
        -                      },
        -                      "properties": {
        -                        "additionalProperties": true,
        -                        "description": "Name/category/dim props.",
        -                        "properties": {
        -                          "category": {
        -                            "anyOf": [
        -                              {
        -                                "type": "string"
        -                              },
        -                              {
        -                                "type": "null"
        -                              }
        -                            ],
        -                            "description": "Display category (e.g. 'Restaurant / Cafe').",
        -                            "title": "Category"
        -                          },
        -                          "dim": {
        -                            "anyOf": [
        -                              {
        -                                "type": "string"
        -                              },
        -                              {
        -                                "type": "null"
        -                              }
        -                            ],
        -                            "description": "Livability dimension the POI contributes to (e.g. 'convenience').",
        -                            "title": "Dim"
        -                          },
        -                          "name": {
        -                            "anyOf": [
        -                              {
        -                                "type": "string"
        -                              },
        -                              {
        -                                "type": "null"
        -                              }
        -                            ],
        -                            "description": "POI name; null for unnamed points.",
        -                            "title": "Name"
        -                          },
        -                          "subtype": {
        -                            "anyOf": [
        -                              {
        -                                "type": "string"
        -                              },
        -                              {
        -                                "type": "null"
        -                              }
        -                            ],
        -                            "description": "L2 subtype — the specific venue type. Filter/count on this for a question like 'how many pubs': e.g. 'pub', 'bar', 'cafe', 'restaurant', 'gym', 'supermarket', 'school', 'pharmacy'.",
        -                            "title": "Subtype"
        -                          }
        -                        },
        -                        "title": "PoiFeatureProperties",
        -                        "type": "object"
        -                      },
        -                      "type": {
        -                        "const": "Feature",
        -                        "description": "Always 'Feature'.",
        -                        "title": "Type",
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "type",
        -                      "geometry",
        -                      "properties"
        -                    ],
        -                    "title": "PoiFeature",
        -                    "type": "object"
        -                  },
        -                  "title": "Features",
        -                  "type": "array"
        -                },
        -                "type": {
        -                  "const": "FeatureCollection",
        -                  "description": "Always 'FeatureCollection'.",
        -                  "title": "Type",
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "type",
        -                "features"
        -              ],
        -              "title": "PoiFeatureCollection",
        -              "type": "object"
        -            },
        -            "returned": {
        -              "description": "Features actually in this response — equals `count` when unpaged.",
        -              "title": "Returned",
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "count",
        -            "returned",
        -            "categories",
        -            "pois"
        -          ],
        -          "title": "LifestylePois",
        -          "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[LifestylePois]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_LifestylePois_"
        -}New value: +null
    • Changedsuburbs_lifestyle_summary1 field changed
      • 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": "POI category breakdown, terrain scalars and landmark flags.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "has_beach": true,
        -            "has_hospital": true,
        -            "nearest_beach_km": 1.5,
        -            "nearest_hospital_km": 1.4,
        -            "nearest_shop": {
        -              "category": "Supermarket",
        -              "dist_km": 1.2,
        -              "name": "Coles"
        -            },
        -            "nearest_train": {
        -              "dist_km": 1.4,
        -              "name": "Jewells railway station"
        -            },
        -            "poi_categories": [
        -              {
        -                "category": "Education",
        -                "count": 9,
        -                "top_subtypes": [
        -                  {
        -                    "count": 5,
        -                    "label": "School"
        -                  },
        -                  {
        -                    "count": 3,
        -                    "label": "Childcare"
        -                  },
        -                  {
        -                    "count": 1,
        -                    "label": "Preschool"
        -                  }
        -                ]
        -              }
        -            ],
        -            "terrain": {
        -              "aspect_compass": "SE",
        -              "avg_aspect_deg": 149,
        -              "median_elevation_m": 26,
        -              "median_slope_deg": 5.6,
        -              "n_flat": 698,
        -              "n_moderate": 830,
        -              "n_properties": 1759,
        -              "n_steep": 231,
        -              "pct_steep": 13
        -            },
        -            "total_pois": 43
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "has_beach": {
        -              "description": "A beach exists within ~50 km.",
        -              "title": "Has Beach",
        -              "type": "boolean"
        -            },
        -            "has_hospital": {
        -              "description": "A hospital exists within ~50 km.",
        -              "title": "Has Hospital",
        -              "type": "boolean"
        -            },
        -            "nearest_beach_km": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Distance to the nearest beach (km); null when none within ~50 km.",
        -              "title": "Nearest Beach Km"
        -            },
        -            "nearest_hospital_km": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Distance to the nearest hospital (km); null when none within ~50 km.",
        -              "title": "Nearest Hospital Km"
        -            },
        -            "nearest_shop": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Nearest major shop / shopping centre to the suburb centroid.",
        -                  "properties": {
        -                    "category": {
        -                      "description": "Shop category (e.g. 'Supermarket').",
        -                      "title": "Category",
        -                      "type": "string"
        -                    },
        -                    "dist_km": {
        -                      "description": "Straight-line distance (km).",
        -                      "title": "Dist Km",
        -                      "type": "number"
        -                    },
        -                    "name": {
        -                      "description": "Shop name (e.g. 'Coles').",
        -                      "title": "Name",
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "name",
        -                    "category",
        -                    "dist_km"
        -                  ],
        -                  "title": "NearestShop",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Nearest major shop."
        -            },
        -            "nearest_train": {
        -              "anyOf": [
        -                {
        -                  "description": "Nearest train station to the suburb centroid.",
        -                  "properties": {
        -                    "dist_km": {
        -                      "description": "Straight-line distance (km).",
        -                      "title": "Dist Km",
        -                      "type": "number"
        -                    },
        -                    "name": {
        -                      "description": "Station name.",
        -                      "title": "Name",
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "name",
        -                    "dist_km"
        -                  ],
        -                  "title": "NearestTrain",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Nearest train station."
        -            },
        -            "poi_categories": {
        -              "description": "Per-category POI counts, largest first.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One L1 POI category with its top subtypes.",
        -                "properties": {
        -                  "category": {
        -                    "description": "Friendly category name (e.g. 'Food Drink').",
        -                    "title": "Category",
        -                    "type": "string"
        -                  },
        -                  "count": {
        -                    "description": "Total POIs in this category.",
        -                    "title": "Count",
        -                    "type": "integer"
        -                  },
        -                  "top_subtypes": {
        -                    "description": "Most common subtypes inside the category.",
        -                    "items": {
        -                      "description": "One L2 subtype count inside a POI category.",
        -                      "properties": {
        -                        "count": {
        -                          "description": "Number of POIs of this subtype.",
        -                          "title": "Count",
        -                          "type": "integer"
        -                        },
        -                        "label": {
        -                          "description": "Subtype label, title-cased (e.g. 'Restaurant').",
        -                          "title": "Label",
        -                          "type": "string"
        -                        }
        -                      },
        -                      "required": [
        -                        "label",
        -                        "count"
        -                      ],
        -                      "title": "PoiSubtypeCount",
        -                      "type": "object"
        -                    },
        -                    "title": "Top Subtypes",
        -                    "type": "array"
        -                  }
        -                },
        -                "required": [
        -                  "category",
        -                  "count",
        -                  "top_subtypes"
        -                ],
        -                "title": "PoiCategoryBreakdown",
        -                "type": "object"
        -              },
        -              "title": "Poi Categories",
        -              "type": "array"
        -            },
        -            "terrain": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Pre-aggregated terrain scalars across the suburb's properties.",
        -                  "properties": {
        -                    "aspect_compass": {
        -                      "description": "Average aspect as a compass point (e.g. 'SE').",
        -                      "title": "Aspect Compass",
        -                      "type": "string"
        -                    },
        -                    "avg_aspect_deg": {
        -                      "description": "Average aspect (compass degrees, 0 = N).",
        -                      "title": "Avg Aspect Deg",
        -                      "type": "integer"
        -                    },
        -                    "median_elevation_m": {
        -                      "description": "Median elevation (metres).",
        -                      "title": "Median Elevation M",
        -                      "type": "number"
        -                    },
        -                    "median_slope_deg": {
        -                      "description": "Median block slope (degrees).",
        -                      "title": "Median Slope Deg",
        -                      "type": "number"
        -                    },
        -                    "n_flat": {
        -                      "description": "Properties on flat blocks.",
        -                      "title": "N Flat",
        -                      "type": "integer"
        -                    },
        -                    "n_moderate": {
        -                      "description": "Properties on moderate slopes.",
        -                      "title": "N Moderate",
        -                      "type": "integer"
        -                    },
        -                    "n_properties": {
        -                      "description": "Properties with terrain data.",
        -                      "title": "N Properties",
        -                      "type": "integer"
        -                    },
        -                    "n_steep": {
        -                      "description": "Properties on steep slopes.",
        -                      "title": "N Steep",
        -                      "type": "integer"
        -                    },
        -                    "pct_steep": {
        -                      "description": "Share of properties on steep slopes (%).",
        -                      "title": "Pct Steep",
        -                      "type": "integer"
        -                    }
        -                  },
        -                  "required": [
        -                    "n_properties",
        -                    "median_slope_deg",
        -                    "median_elevation_m",
        -                    "avg_aspect_deg",
        -                    "aspect_compass",
        -                    "n_steep",
        -                    "n_moderate",
        -                    "n_flat",
        -                    "pct_steep"
        -                  ],
        -                  "title": "TerrainSummary",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Terrain scalars; null when no terrain data."
        -            },
        -            "total_pois": {
        -              "description": "Total POIs across all categories.",
        -              "title": "Total Pois",
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "total_pois",
        -            "poi_categories",
        -            "has_beach",
        -            "has_hospital"
        -          ],
        -          "title": "LifestyleSummary",
        -          "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[LifestyleSummary]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_LifestyleSummary_"
        -}New value: +null
    • Changedsuburbs_list1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "description": "One row in the suburb directory — minimum to disambiguate SAL\nnames that collide across states (e.g. 'Springfield' in NSW + QLD).",
        -            "example": {
        -              "state": "New South Wales",
        -              "suburb": "Belmont North"
        -            },
        -            "properties": {
        -              "match": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "How this row matched the `q` you sent — `exact`, `contains`, or `fuzzy` (a near-miss recovered from a likely typo). Only present when `q` was supplied. **Anything other than `exact` is a suggestion, not a confirmation: tell the user which suburb and state you used before you quote numbers for it.** A `fuzzy` row in a different state from the one the user named is very often the wrong place.",
        -                "title": "Match"
        -              },
        -              "score": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Match confidence 0-1 (1.0 = exact). Only present when `q` was supplied. Use it to decide between asking the user and proceeding — not as a licence to pick silently.",
        -                "title": "Score"
        -              },
        -              "state": {
        -                "description": "State / Territory.",
        -                "title": "State",
        -                "type": "string"
        -              },
        -              "suburb": {
        -                "description": "Suburb (SAL) name.",
        -                "title": "Suburb",
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "suburb",
        -              "state"
        -            ],
        -            "title": "SuburbListItem",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[SuburbListItem]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_SuburbListItem__"
        -}New value: +null
    • Changedsuburbs_listings_for_sale1 field changed
      • 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": "Current for-sale listings snapshot for the suburb.",
        -          "example": {
        -            "results": [
        -              {
        -                "address": {
        -                  "sa1": "11101120605",
        -                  "sal": "Belmont North",
        -                  "state": "NSW",
        -                  "street": "49A John Street"
        -                },
        -                "area_level": "address",
        -                "area_name": "49A John Street, Belmont North, NSW",
        -                "attributes": {
        -                  "bathrooms": 2,
        -                  "bedrooms": 4,
        -                  "building_size": "None",
        -                  "description": "Positioned on a low-maintenance block in a quiet and family-friendly street, this substantial single-level…",
        -                  "garage_spaces": 4,
        -                  "land_size": "739 m²"
        -                },
        -                "coordinates": {
        -                  "latitude": -33.01855853,
        -                  "longitude": 151.67466394
        -                },
        -                "gnaf_pid": "GANSW716860195",
        -                "listing_date": "2026-04-30",
        -                "price": 1100000,
        -                "property_type": "House"
        -              },
        -              {
        -                "address": {
        -                  "sa1": "11101120624",
        -                  "sal": "Belmont North",
        -                  "state": "NSW",
        -                  "street": "12 Tarcoola Close"
        -                },
        -                "area_level": "address",
        -                "area_name": "12 Tarcoola Close, Belmont North, NSW",
        -                "attributes": {
        -                  "bathrooms": 2,
        -                  "bedrooms": 4,
        -                  "building_size": "345 m²",
        -                  "description": "Auction Location: On-Site",
        -                  "garage_spaces": 2,
        -                  "land_size": "1057 m²"
        -                },
        -                "coordinates": {
        -                  "latitude": -33.0104302,
        -                  "longitude": 151.67086315
        -                },
        -                "gnaf_pid": "GANSW704083987",
        -                "listing_date": "2026-04-21",
        -                "price": 1950000,
        -                "property_type": "House"
        -              },
        -              {
        -                "address": {
        -                  "sa1": "11101120613",
        -                  "sal": "Belmont North",
        -                  "state": "NSW",
        -                  "street": "51 Buttaba Avenue"
        -                },
        -                "area_level": "address",
        -                "area_name": "51 Buttaba Avenue, Belmont North, NSW",
        -                "attributes": {
        -                  "bathrooms": 1,
        -                  "bedrooms": 3,
        -                  "building_size": "None",
        -                  "description": "Positioned in a quiet, well-established street, 51 Buttaba Avenue, Belmont North presents an outstanding op…",
        -                  "garage_spaces": 2,
        -                  "land_size": "696 m²"
        -                },
        -                "coordinates": {
        -                  "latitude": -33.02038398,
        -                  "longitude": 151.67426969
        -                },
        -                "gnaf_pid": "GANSW704077837",
        -                "listing_date": "2026-04-20",
        -                "price": 900000,
        -                "property_type": "House"
        -              },
        -              {
        -                "address": {
        -                  "sa1": "11101120610",
        -                  "sal": "Belmont North",
        -                  "state": "NSW",
        -                  "street": "45A John Fisher Road"
        -                },
        -                "area_level": "address",
        -                "area_name": "45A John Fisher Road, Belmont North, NSW",
        -                "attributes": {
        -                  "bathrooms": 3,
        -                  "bedrooms": 4,
        -                  "building_size": "None",
        -                  "description": "Phone Enquiry ID: 234682",
        -                  "garage_spaces": 4,
        -                  "land_size": "None"
        -                },
        -                "coordinates": {
        -                  "latitude": -33.02450245,
        -                  "longitude": 151.66937802
        -                },
        -                "gnaf_pid": "GANSW717658525",
        -                "listing_date": "2026-04-13",
        -                "price": 1450000,
        -                "property_type": "House"
        -              },
        -              {
        -                "address": {
        -                  "sa1": "11101120636",
        -                  "sal": "Belmont North",
        -                  "state": "NSW",
        -                  "street": "18 Kananook Crescent"
        -                },
        -                "area_level": "address",
        -                "area_name": "18 Kananook Crescent, Belmont North, NSW",
        -                "attributes": {
        -                  "bathrooms": 1,
        -                  "bedrooms": 3,
        -                  "building_size": "97.0",
        -                  "description": "Set within a low-traffic circuit, where listings are more word-of-mouth than for sale, this light, airy thr…",
        -                  "garage_spaces": 2,
        -                  "land_size": "806.0"
        -                },
        -                "coordinates": {
        -                  "latitude": -33.02502381,
        -                  "longitude": 151.65944956
        -                },
        -                "gnaf_pid": "GANSW704073875",
        -                "listing_date": "2026-04-13",
        -                "price": 875000,
        -                "property_type": "House"
        -              },
        -              {
        -                "address": {
        -                  "sa1": "11101120632",
        -                  "sal": "Belmont North",
        -                  "state": "NSW",
        -                  "street": "1 Kanundra Street"
        -                },
        -                "area_level": "address",
        -                "area_name": "1 Kanundra Street, Belmont North, NSW",
        -                "attributes": {
        -                  "bathrooms": 1,
        -                  "bedrooms": 3,
        -                  "building_size": "92.0",
        -                  "description": "Your heart will skip a beat as soon as you enter this cherished home.",
        -                  "garage_spaces": 4,
        -                  "land_size": "599.0"
        -                },
        -                "coordinates": {
        -                  "latitude": -33.02082738,
        -                  "longitude": 151.66877566
        -                },
        -                "gnaf_pid": "GANSW704072450",
        -                "listing_date": "2026-04-30",
        -                "price": 975000,
        -                "property_type": "House"
        -              },
        -              {
        -                "address": {
        -                  "sa1": "11101120611",
        -                  "sal": "Belmont North",
        -                  "state": "NSW",
        -                  "street": "8 Railway Crescent"
        -                },
        -                "area_level": "address",
        -                "area_name": "8 Railway Crescent, Belmont North, NSW",
        -                "attributes": {
        -                  "bathrooms": 3,
        -                  "bedrooms": 4,
        -                  "building_size": "nan",
        -                  "description": "From the moment you step inside, this home opens into light and space, where warm timber floors and soft ne…",
        -                  "garage_spaces": 2,
        -                  "land_size": "471.0"
        -                },
        -                "coordinates": {
        -                  "latitude": -33.01968091,
        -                  "longitude": 151.68498806
        -                },
        -                "gnaf_pid": "GANSW704077180",
        -                "listing_date": "2026-04-26",
        -                "price": 1500000,
        -                "property_type": "House"
        -              },
        -              {
        -                "address": {
        -                  "sa1": "11101120603",
        -                  "sal": "Belmont North",
        -                  "state": "NSW",
        -                  "street": "32 Brentor Street"
        -                },
        -                "area_level": "address",
        -                "area_name": "32 Brentor Street, Belmont North, NSW",
        -                "attributes": {
        -                  "bathrooms": 3,
        -                  "bedrooms": 6,
        -                  "building_size": "nan",
        -                  "description": "Positioned for comfort and versatility, this well-appointed dual occupancy residence offers an ideal lifest…",
        -                  "garage_spaces": 1,
        -                  "land_size": "946.0"
        -                },
        -                "coordinates": {
        -                  "latitude": -33.02049118,
        -                  "longitude": 151.68143162
        -                },
        -                "gnaf_pid": "GANSW704077265",
        -                "listing_date": "2026-04-07",
        -                "price": 1250000,
        -                "property_type": "House"
        -              },
        -              {
        -                "address": {
        -                  "sa1": "11101120634",
        -                  "sal": "Belmont North",
        -                  "state": "NSW",
        -                  "street": "14 Park Street"
        -                },
        -                "area_level": "address",
        -                "area_name": "14 Park Street, Belmont North, NSW",
        -                "attributes": {
        -                  "bathrooms": 1,
        -                  "bedrooms": 3,
        -                  "building_size": "0.0",
        -                  "description": "Step into a beautifully updated single level home that captures the essence of relaxed Lake Macquarie living.",
        -                  "garage_spaces": 1,
        -                  "land_size": "607.0"
        -                },
        -                "coordinates": {
        -                  "latitude": -33.01930277,
        -                  "longitude": 151.66543854
        -                },
        -                "gnaf_pid": "GANSW704081740",
        -                "listing_date": "2026-03-04",
        -                "price": 1150000,
        -                "property_type": "House"
        -              },
        -              {
        -                "address": {
        -                  "sa1": "11101120624",
        -                  "sal": "Belmont North",
        -                  "state": "NSW",
        -                  "street": "11 Rengor Close"
        -                },
        -                "area_level": "address",
        -                "area_name": "11 Rengor Close, Belmont North, NSW",
        -                "attributes": {
        -                  "bathrooms": 2,
        -                  "bedrooms": 3,
        -                  "building_size": "nan",
        -                  "description": "Tucked away in a private battle-axe position at the end of a quiet cul-de-sac, this beautifully kept single…",
        -                  "garage_spaces": 3,
        -                  "land_size": "600.0"
        -                },
        -                "coordinates": {
        -                  "latitude": -33.01062815,
        -                  "longitude": 151.67029197
        -                },
        -                "gnaf_pid": "GANSW717662274",
        -                "listing_date": "2026-05-01",
        -                "price": 1200000,
        -                "property_type": "House"
        -              },
        -              {
        -                "address": {
        -                  "sa1": "11101120624",
        -                  "sal": "Belmont North",
        -                  "state": "NSW",
        -                  "street": "226 Pacific Highway"
        -                },
        -                "area_level": "address",
        -                "area_name": "226 Pacific Highway, Belmont North, NSW",
        -                "attributes": {
        -                  "building_size": "nan",
        -                  "description": "The Phone Code for this property is: 42613.",
        -                  "land_size": "2593.0"
        -                },
        -                "coordinates": {
        -                  "latitude": -33.0121138,
        -                  "longitude": 151.66959492
        -                },
        -                "gnaf_pid": "GANSW704076507",
        -                "listing_date": "2026-03-13",
        -                "price": 2375000,
        -                "property_type": "House"
        -              },
        -              {
        -                "address": {
        -                  "sa1": "11101120610",
        -                  "sal": "Belmont North",
        -                  "state": "NSW",
        -                  "street": "45 John Fisher Road"
        -                },
        -                "area_level": "address",
        -                "area_name": "45 John Fisher Road, Belmont North, NSW",
        -                "attributes": {
        -                  "bathrooms": 3,
        -                  "bedrooms": 5,
        -                  "building_size": "190.0",
        -                  "description": "Something Refreshingly DifferentAn infusion of superb quality, taste and style, where sophisticated, eclect…",
        -                  "garage_spaces": 4,
        -                  "land_size": "1253.0"
        -                },
        -                "coordinates": {
        -                  "latitude": -33.02450245,
        -                  "longitude": 151.66937802
        -                },
        -                "gnaf_pid": "GANSW704076433",
        -                "listing_date": "2026-04-24",
        -                "price": 1400000,
        -                "property_type": "House"
        -              },
        -              {
        -                "address": {
        -                  "sa1": "11101120636",
        -                  "sal": "Belmont North",
        -                  "state": "NSW",
        -                  "street": "16 Lentara Road"
        -                },
        -                "area_level": "address",
        -                "area_name": "16 Lentara Road, Belmont North, NSW",
        -                "attributes": {
        -                  "bathrooms": 2,
        -                  "bedrooms": 3,
        -                  "building_size": "nan",
        -                  "description": "Welcome to 16 Lentara Road, Belmont North a beautifully fully renovated residence that delivers modern comf…",
        -                  "garage_spaces": 2,
        -                  "land_size": "556.4"
        -                },
        -                "coordinates": {
        -                  "latitude": -33.02394858,
        -                  "longitude": 151.66016708
        -                },
        -                "gnaf_pid": "GANSW704083123",
        -                "listing_date": "2026-04-10",
        -                "price": 975000,
        -                "property_type": "House"
        -              },
        -              {
        -                "address": {
        -                  "sa1": "11101120610",
        -                  "sal": "Belmont North",
        -                  "state": "NSW",
        -                  "street": "52 John Fisher Road"
        -                },
        -                "area_level": "address",
        -                "area_name": "52 John Fisher Road, Belmont North, NSW",
        -                "attributes": {
        -                  "bathrooms": 1,
        -                  "bedrooms": 3,
        -                  "building_size": "nan",
        -                  "description": "This home has been lovingly renovated in recent years to ensure that the new owner simply moves in and enjo…",
        -                  "garage_spaces": 1,
        -                  "land_size": "554.0"
        -                },
        -                "coordinates": {
        -                  "latitude": -33.02442273,
        -                  "longitude": 151.67011253
        -                },
        -                "gnaf_pid": "GANSW704076441",
        -                "listing_date": "2026-03-30",
        -                "price": 950000,
        -                "property_type": "House"
        -              },
        -              {
        -                "address": {
        -                  "sa1": "11101120602",
        -                  "sal": "Belmont North",
        -                  "state": "NSW",
        -                  "street": "18 Sunrise Close"
        -                },
        -                "area_level": "address",
        -                "area_name": "18 Sunrise Close, Belmont North, NSW",
        -                "attributes": {
        -                  "bathrooms": 3,
        -                  "bedrooms": 4,
        -                  "building_size": "nan",
        -                  "description": "Discover a rare, private acreage lifestyle so close to town.",
        -                  "garage_spaces": 4,
        -                  "land_size": "2.5"
        -                },
        -                "coordinates": {
        -                  "latitude": -33.00933909,
        -                  "longitude": 151.67645564
        -                },
        -                "gnaf_pid": "GANSW704080709",
        -                "listing_date": "2026-02-26",
        -                "price": 1950000,
        -                "property_type": "House"
        -              },
        -              {
        -                "address": {
        -                  "sa1": "11101120609",
        -                  "sal": "Belmont North",
        -                  "state": "NSW",
        -                  "street": "2 Vincent Street"
        -                },
        -                "area_level": "address",
        -                "area_name": "2 Vincent Street, Belmont North, NSW",
        -                "attributes": {
        -                  "bathrooms": 2,
        -                  "bedrooms": 5,
        -                  "building_size": "nan",
        -                  "description": "Discover 2 Vincent Street, Belmont North a generously sized and highly adaptable home that exceeds expectat…",
        -                  "garage_spaces": 2,
        -                  "land_size": "499.0"
        -                },
        -                "coordinates": {
        -                  "latitude": -33.02323389,
        -                  "longitude": 151.66661326
        -                },
        -                "gnaf_pid": "GANSW704077217",
        -                "listing_date": "2026-04-17",
        -                "price": 1300000,
        -                "property_type": "House"
        -              },
        -              {
        -                "address": {
        -                  "sa1": "11101120636",
        -                  "sal": "Belmont North",
        -                  "state": "NSW",
        -                  "street": "24 Kananook Crescent"
        -                },
        -                "area_level": "address",
        -                "area_name": "24 Kananook Crescent, Belmont North, NSW",
        -                "attributes": {
        -                  "bathrooms": 3,
        -                  "bedrooms": 6,
        -                  "building_size": "nan",
        -                  "description": "A rare and versatile offering, this beautifully renovated residence delivers exceptional space, flexibility…",
        -                  "garage_spaces": 3,
        -                  "land_size": "632.3"
        -                },
        -                "coordinates": {
        -                  "latitude": -33.02508121,
        -                  "longitude": 151.65878714
        -                },
        -                "gnaf_pid": "GANSW704073881",
        -                "listing_date": "2026-04-07",
        -                "price": 1450000,
        -                "property_type": "House"
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "results": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One for-sale listing currently on market in the suburb.",
        -                    "properties": {
        -                      "address": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "description": "Parsed address fields for a for-sale listing.",
        -                            "properties": {
        -                              "sa1": {
        -                                "anyOf": [
        -                                  {
        -                                    "type": "string"
        -                                  },
        -                                  {
        -                                    "type": "null"
        -                                  }
        -                                ],
        -                                "description": "ABS SA1 code — the Statistical Area Level 1 (2021 ASGS, ~200–800 people) the property sits in. Useful for joining ABS census geography.",
        -                                "title": "Sa1"
        -                              },
        -                              "sal": {
        -                                "anyOf": [
        -                                  {
        -                                    "type": "string"
        -                                  },
        -                                  {
        -                                    "type": "null"
        -                                  }
        -                                ],
        -                                "description": "ABS Suburb and Locality (SAL) name the property falls in.",
        -                                "title": "Sal"
        -                              },
        -                              "state": {
        -                                "anyOf": [
        -                                  {
        -                                    "type": "string"
        -                                  },
        -                                  {
        -                                    "type": "null"
        -                                  }
        -                                ],
        -                                "description": "State/territory abbreviation (NSW, VIC, QLD, SA, WA, TAS, NT, ACT).",
        -                                "title": "State"
        -                              },
        -                              "street": {
        -                                "anyOf": [
        -                                  {
        -                                    "type": "string"
        -                                  },
        -                                  {
        -                                    "type": "null"
        -                                  }
        -                                ],
        -                                "description": "Street number and name (e.g. '49A John Street').",
        -                                "title": "Street"
        -                              }
        -                            },
        -                            "title": "ForSaleAddress",
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Parsed address components."
        -                      },
        -                      "area_level": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Geographic level of this result — always 'address' for a listing row (echoed so the response is self-describing).",
        -                        "title": "Area Level"
        -                      },
        -                      "area_name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Full display address (street, suburb, state).",
        -                        "title": "Area Name"
        -                      },
        -                      "attributes": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": true,
        -                            "description": "Listed property attributes, as scraped from the advertisement.\n\nThese come straight from the listing, so they're only as complete and\ntidy as the agent's ad — counts can be null and the size fields are\nfree-text, not normalised numbers.",
        -                            "properties": {
        -                              "bathrooms": {
        -                                "anyOf": [
        -                                  {
        -                                    "type": "number"
        -                                  },
        -                                  {
        -                                    "type": "null"
        -                                  }
        -                                ],
        -                                "description": "Advertised bathroom count; null if not stated.",
        -                                "title": "Bathrooms"
        -                              },
        -                              "bedrooms": {
        -                                "anyOf": [
        -                                  {
        -                                    "type": "number"
        -                                  },
        -                                  {
        -                                    "type": "null"
        -                                  }
        -                                ],
        -                                "description": "Advertised bedroom count; null if not stated.",
        -                                "title": "Bedrooms"
        -                              },
        -                              "building_size": {
        -                                "anyOf": [
        -                                  {
        -                                    "type": "string"
        -                                  },
        -                                  {
        -                                    "type": "null"
        -                                  }
        -                                ],
        -                                "description": "Floor/building area exactly as listed — free-text, units vary (e.g. '345 m²', '190.0'). Frequently unavailable, in which case it comes through as the literal string 'None' or 'nan' rather than a real measurement — treat those as 'not provided'.",
        -                                "title": "Building Size"
        -                              },
        -                              "description": {
        -                                "anyOf": [
        -                                  {
        -                                    "type": "string"
        -                                  },
        -                                  {
        -                                    "type": "null"
        -                                  }
        -                                ],
        -                                "description": "Raw marketing copy from the advertisement, verbatim. May include the agent's feature list, rates, and legal disclaimer text. Only returned when the request sets `verbose=true` — it averages ~1.5 KB per listing.",
        -                                "title": "Description"
        -                              },
        -                              "garage_spaces": {
        -                                "anyOf": [
        -                                  {
        -                                    "type": "number"
        -                                  },
        -                                  {
        -                                    "type": "null"
        -                                  }
        -                                ],
        -                                "description": "Advertised car/garage space count; null if not stated.",
        -                                "title": "Garage Spaces"
        -                              },
        -                              "land_size": {
        -                                "anyOf": [
        -                                  {
        -                                    "type": "string"
        -                                  },
        -                                  {
        -                                    "type": "null"
        -                                  }
        -                                ],
        -                                "description": "Lot size exactly as listed — free-text, units are NOT normalised (e.g. '739 m²', '806.0' sqm, '2.5' acres). Parse per listing; null/'None'/'nan' means not provided.",
        -                                "title": "Land Size"
        -                              }
        -                            },
        -                            "title": "ForSaleAttributes",
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Listed property attributes (as advertised)."
        -                      },
        -                      "coordinates": {
        -                        "anyOf": [
        -                          {
        -                            "description": "Listing point in WGS84 (EPSG:4326), geocoded from the GNAF address.",
        -                            "properties": {
        -                              "latitude": {
        -                                "anyOf": [
        -                                  {
        -                                    "type": "number"
        -                                  },
        -                                  {
        -                                    "type": "null"
        -                                  }
        -                                ],
        -                                "description": "Latitude in decimal degrees (WGS84).",
        -                                "title": "Latitude"
        -                              },
        -                              "longitude": {
        -                                "anyOf": [
        -                                  {
        -                                    "type": "number"
        -                                  },
        -                                  {
        -                                    "type": "null"
        -                                  }
        -                                ],
        -                                "description": "Longitude in decimal degrees (WGS84).",
        -                                "title": "Longitude"
        -                              }
        -                            },
        -                            "title": "ForSaleCoordinates",
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Geocoded WGS84 lat/long of the property."
        -                      },
        -                      "gnaf_pid": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "GNAF persistent identifier of the matched property; null if the listing couldn't be matched to a GNAF address.",
        -                        "title": "Gnaf Pid"
        -                      },
        -                      "listing_date": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Date the listing was first observed on market (YYYY-MM-DD).",
        -                        "title": "Listing Date"
        -                      },
        -                      "price": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Advertised list price in AUD; null when the ad withholds it (e.g. 'Contact Agent', POA, or price-on-auction).",
        -                        "title": "Price"
        -                      }
        -                    },
        -                    "title": "ForSaleListing",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "One entry per active for-sale listing in the suburb (empty list if none). Capped by `limit`.",
        -              "title": "Results"
        -            },
        -            "total": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Total listings on the market in this suburb — the full match count, counted before `limit` is applied, so it stays accurate when the rows are capped.",
        -              "title": "Total"
        -            }
        -          },
        -          "title": "ForSale",
        -          "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[ForSale]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_ForSale_"
        -}New value: +null
    • Changedsuburbs_market_affordability1 field changed
      • 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": "Microburbs affordability index for the suburb's postcode area.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "avg_salary": 72781.3,
        -            "cg_direction": "-",
        -            "forecast_cg_pa": 4.7,
        -            "index": 41,
        -            "pct_neg_gearing": 5.99,
        -            "poa": "2280",
        -            "price_to_salary": 17.96,
        -            "welfare_pct": 35.25,
        -            "zone": "Cautious"
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "avg_salary": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Average salary in the POA (AUD/yr).",
        -              "title": "Avg Salary"
        -            },
        -            "cg_direction": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Capital-growth direction indicator: '++' / '+' / '~' / '-' / '--'.",
        -              "title": "Cg Direction"
        -            },
        -            "forecast_cg_pa": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Forecast capital growth, percent per year (4.7 = 4.7%/yr).",
        -              "title": "Forecast Cg Pa"
        -            },
        -            "index": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Microburbs Affordability Index, 1-100 (higher = stronger affordability-driven capital-growth outlook).",
        -              "title": "Index"
        -            },
        -            "pct_neg_gearing": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Share of taxpayers negatively gearing (%).",
        -              "title": "Pct Neg Gearing"
        -            },
        -            "poa": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Postcode area (POA) the index is computed for.",
        -              "title": "Poa"
        -            },
        -            "price_to_salary": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Median house price / average salary multiple.",
        -              "title": "Price To Salary"
        -            },
        -            "welfare_pct": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Share of income earners on welfare (%).",
        -              "title": "Welfare Pct"
        -            },
        -            "zone": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Zone label: 'Strong Outlook' / 'Solid' / 'Cautious' / 'Headwind'.",
        -              "title": "Zone"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "Affordability",
        -          "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[Affordability]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_Affordability_"
        -}New value: +null
    • Changedsuburbs_market_all1 field changed
      • 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": [
        -        {
        -          "description": "Every market indicator for the suburb in a single call — prices,\nrents, growth, yield, how fast things sell and how much is selling.\n\nEach field carries exactly the payload its individual endpoint returns,\nso units are as documented on those models — and note in particular\nthat `yield_pct` and `price_growth_5y` are **decimal fractions**, not\npercentages. A field that has no data for this suburb comes back null\nrather than failing the whole call.",
        -          "properties": {
        -            "days_on_market": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Median days a listing sits on market, by property type.",
        -                  "example": {
        -                    "area_level": "suburb",
        -                    "area_name": "Belmont North",
        -                    "as_of": "2026-05-17",
        -                    "house": 23,
        -                    "unit": 31.5
        -                  },
        -                  "properties": {
        -                    "area_level": {
        -                      "description": "Always 'suburb' for these endpoints.",
        -                      "title": "Area Level",
        -                      "type": "string"
        -                    },
        -                    "area_name": {
        -                      "description": "Suburb (SAL) name.",
        -                      "title": "Area Name",
        -                      "type": "string"
        -                    },
        -                    "as_of": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Date of the most recent observation (YYYY-MM-DD).",
        -                      "title": "As Of"
        -                    },
        -                    "house": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Median DOM for houses (days).",
        -                      "title": "House"
        -                    },
        -                    "unit": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Median DOM for units (days).",
        -                      "title": "Unit"
        -                    }
        -                  },
        -                  "required": [
        -                    "area_name",
        -                    "area_level"
        -                  ],
        -                  "title": "DaysOnMarket",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Median days a listing sits before selling — a speed-of-market read, where lower means buyers are moving fast."
        -            },
        -            "median_rent": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Latest median weekly rent by property type (AUD/week).",
        -                  "example": {
        -                    "area_level": "suburb",
        -                    "area_name": "Belmont North",
        -                    "as_of": "2026-05-24",
        -                    "house": 747,
        -                    "unit": 412
        -                  },
        -                  "properties": {
        -                    "area_level": {
        -                      "description": "Always 'suburb' for these endpoints.",
        -                      "title": "Area Level",
        -                      "type": "string"
        -                    },
        -                    "area_name": {
        -                      "description": "Suburb (SAL) name.",
        -                      "title": "Area Name",
        -                      "type": "string"
        -                    },
        -                    "as_of": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Date of the most recent observation (YYYY-MM-DD).",
        -                      "title": "As Of"
        -                    },
        -                    "house": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Median weekly rent for houses (AUD).",
        -                      "title": "House"
        -                    },
        -                    "unit": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Median weekly rent for units (AUD).",
        -                      "title": "Unit"
        -                    }
        -                  },
        -                  "required": [
        -                    "area_name",
        -                    "area_level"
        -                  ],
        -                  "title": "MedianRent",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Latest median advertised rent, in AUD per week."
        -            },
        -            "median_rent_series": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Full advertised median weekly-rent history by property type.\n\nIncludes 2024–2025 observations where covered. Older observations are\ngenerally month-end and recent observations can be weekly, so clients must\nuse each point's date rather than assume a uniform cadence.",
        -                  "example": {
        -                    "area_level": "suburb",
        -                    "area_name": "Belmont North",
        -                    "house": [
        -                      {
        -                        "date": "2004-06-30",
        -                        "value": 229
        -                      },
        -                      {
        -                        "date": "2004-07-31",
        -                        "value": 230
        -                      },
        -                      {
        -                        "date": "2004-08-31",
        -                        "value": 230
        -                      },
        -                      {
        -                        "date": "2004-09-30",
        -                        "value": 253
        -                      },
        -                      {
        -                        "date": "2004-10-31",
        -                        "value": 253
        -                      },
        -                      {
        -                        "date": "2004-11-30",
        -                        "value": 253
        -                      },
        -                      {
        -                        "date": "2004-12-31",
        -                        "value": 254
        -                      },
        -                      {
        -                        "date": "2005-01-31",
        -                        "value": 255
        -                      },
        -                      {
        -                        "date": "2005-02-28",
        -                        "value": 255
        -                      },
        -                      {
        -                        "date": "2005-03-31",
        -                        "value": 256
        -                      },
        -                      {
        -                        "date": "2005-04-30",
        -                        "value": 256
        -                      },
        -                      {
        -                        "date": "2005-05-31",
        -                        "value": 258
        -                      },
        -                      {
        -                        "date": "2005-06-30",
        -                        "value": 258
        -                      },
        -                      {
        -                        "date": "2005-07-31",
        -                        "value": 259
        -                      },
        -                      {
        -                        "date": "2005-08-31",
        -                        "value": 259
        -                      },
        -                      {
        -                        "date": "2005-09-30",
        -                        "value": 258
        -                      },
        -                      {
        -                        "date": "2005-10-31",
        -                        "value": 259
        -                      },
        -                      {
        -                        "date": "2005-11-30",
        -                        "value": 261
        -                      },
        -                      {
        -                        "date": "2005-12-31",
        -                        "value": 261
        -                      },
        -                      {
        -                        "date": "2006-01-31",
        -                        "value": 262
        -                      },
        -                      {
        -                        "date": "2006-02-28",
        -                        "value": 264
        -                      },
        -                      {
        -                        "date": "2006-03-31",
        -                        "value": 264
        -                      },
        -                      {
        -                        "date": "2006-04-30",
        -                        "value": 262
        -                      },
        -                      {
        -                        "date": "2006-05-31",
        -                        "value": 264
        -                      },
        -                      {
        -                        "date": "2006-06-30",
        -                        "value": 264
        -                      },
        -                      {
        -                        "date": "2006-07-31",
        -                        "value": 264
        -                      },
        -                      {
        -                        "date": "2006-08-31",
        -                        "value": 267
        -                      },
        -                      {
        -                        "date": "2006-09-30",
        -                        "value": 271
        -                      },
        -                      {
        -                        "date": "2006-10-31",
        -                        "value": 272
        -                      },
        -                      {
        -                        "date": "2006-11-30",
        -                        "value": 273
        -                      },
        -                      {
        -                        "date": "2006-12-31",
        -                        "value": 274
        -                      },
        -                      {
        -                        "date": "2007-01-31",
        -                        "value": 275
        -                      },
        -                      {
        -                        "date": "2007-02-28",
        -                        "value": 278
        -                      },
        -                      {
        -                        "date": "2007-03-31",
        -                        "value": 286
        -                      },
        -                      {
        -                        "date": "2007-04-30",
        -                        "value": 291
        -                      },
        -                      {
        -                        "date": "2007-05-31",
        -                        "value": 297
        -                      },
        -                      {
        -                        "date": "2007-06-30",
        -                        "value": 302
        -                      },
        -                      {
        -                        "date": "2007-07-31",
        -                        "value": 300
        -                      },
        -                      {
        -                        "date": "2007-08-31",
        -                        "value": 301
        -                      },
        -                      {
        -                        "date": "2007-09-30",
        -                        "value": 306
        -                      },
        -                      {
        -                        "date": "2007-10-31",
        -                        "value": 306
        -                      },
        -                      {
        -                        "date": "2007-11-30",
        -                        "value": 306
        -                      },
        -                      {
        -                        "date": "2007-12-31",
        -                        "value": 306
        -                      },
        -                      {
        -                        "date": "2008-01-31",
        -                        "value": 307
        -                      },
        -                      {
        -                        "date": "2008-02-29",
        -                        "value": 310
        -                      },
        -                      {
        -                        "date": "2008-03-31",
        -                        "value": 315
        -                      },
        -                      {
        -                        "date": "2008-04-30",
        -                        "value": 319
        -                      },
        -                      {
        -                        "date": "2008-05-31",
        -                        "value": 319
        -                      },
        -                      {
        -                        "date": "2008-06-30",
        -                        "value": 321
        -                      },
        -                      {
        -                        "date": "2008-07-31",
        -                        "value": 322
        -                      },
        -                      {
        -                        "date": "2008-08-31",
        -                        "value": 320
        -                      },
        -                      {
        -                        "date": "2008-09-30",
        -                        "value": 320
        -                      },
        -                      {
        -                        "date": "2008-10-31",
        -                        "value": 320
        -                      },
        -                      {
        -                        "date": "2008-11-30",
        -                        "value": 320
        -                      },
        -                      {
        -                        "date": "2008-12-31",
        -                        "value": 320
        -                      },
        -                      {
        -                        "date": "2009-01-31",
        -                        "value": 321
        -                      },
        -                      {
        -                        "date": "2009-02-28",
        -                        "value": 323
        -                      },
        -                      {
        -                        "date": "2009-03-31",
        -                        "value": 325
        -                      },
        -                      {
        -                        "date": "2009-04-30",
        -                        "value": 324
        -                      },
        -                      {
        -                        "date": "2009-05-31",
        -                        "value": 327
        -                      },
        -                      {
        -                        "date": "2009-06-30",
        -                        "value": 332
        -                      },
        -                      {
        -                        "date": "2009-07-31",
        -                        "value": 335
        -                      },
        -                      {
        -                        "date": "2009-08-31",
        -                        "value": 334
        -                      },
        -                      {
        -                        "date": "2009-09-30",
        -                        "value": 337
        -                      },
        -                      {
        -                        "date": "2009-10-31",
        -                        "value": 338
        -                      },
        -                      {
        -                        "date": "2009-11-30",
        -                        "value": 336
        -                      },
        -                      {
        -                        "date": "2009-12-31",
        -                        "value": 339
        -                      },
        -                      {
        -                        "date": "2010-01-31",
        -                        "value": 340
        -                      },
        -                      {
        -                        "date": "2010-02-28",
        -                        "value": 344
        -                      },
        -                      {
        -                        "date": "2010-03-31",
        -                        "value": 345
        -                      },
        -                      {
        -                        "date": "2010-04-30",
        -                        "value": 346
        -                      },
        -                      {
        -                        "date": "2010-05-31",
        -                        "value": 351
        -                      },
        -                      {
        -                        "date": "2010-06-30",
        -                        "value": 357
        -                      },
        -                      {
        -                        "date": "2010-07-31",
        -                        "value": 357
        -                      },
        -                      {
        -                        "date": "2010-08-31",
        -                        "value": 355
        -                      },
        -                      {
        -                        "date": "2010-09-30",
        -                        "value": 354
        -                      },
        -                      {
        -                        "date": "2010-10-31",
        -                        "value": 354
        -                      },
        -                      {
        -                        "date": "2010-11-30",
        -                        "value": 354
        -                      },
        -                      {
        -                        "date": "2010-12-31",
        -                        "value": 354
        -                      },
        -                      {
        -                        "date": "2011-01-31",
        -                        "value": 354
        -                      },
        -                      {
        -                        "date": "2011-02-28",
        -                        "value": 360
        -                      },
        -                      {
        -                        "date": "2011-03-31",
        -                        "value": 363
        -                      },
        -                      {
        -                        "date": "2011-04-30",
        -                        "value": 370
        -                      },
        -                      {
        -                        "date": "2011-05-31",
        -                        "value": 373
        -                      },
        -                      {
        -                        "date": "2011-06-30",
        -                        "value": 384
        -                      },
        -                      {
        -                        "date": "2011-07-31",
        -                        "value": 388
        -                      },
        -                      {
        -                        "date": "2011-08-31",
        -                        "value": 390
        -                      },
        -                      {
        -                        "date": "2011-09-30",
        -                        "value": 394
        -                      },
        -                      {
        -                        "date": "2011-10-31",
        -                        "value": 389
        -                      },
        -                      {
        -                        "date": "2011-11-30",
        -                        "value": 394
        -                      },
        -                      {
        -                        "date": "2011-12-31",
        -                        "value": 403
        -                      },
        -                      {
        -                        "date": "2012-01-31",
        -                        "value": 407
        -                      },
        -                      {
        -                        "date": "2012-02-29",
        -                        "value": 416
        -                      },
        -                      {
        -                        "date": "2012-03-31",
        -                        "value": 425
        -                      },
        -                      {
        -                        "date": "2012-04-30",
        -                        "value": 425
        -                      },
        -                      {
        -                        "date": "2012-05-31",
        -                        "value": 429
        -                      },
        -                      {
        -                        "date": "2012-06-30",
        -                        "value": 418
        -                      },
        -                      {
        -                        "date": "2012-07-31",
        -                        "value": 411
        -                      },
        -                      {
        -                        "date": "2012-08-31",
        -                        "value": 408
        -                      },
        -                      {
        -                        "date": "2012-09-30",
        -                        "value": 408
        -                      },
        -                      {
        -                        "date": "2012-10-31",
        -                        "value": 406
        -                      },
        -                      {
        -                        "date": "2012-11-30",
        -                        "value": 407
        -                      },
        -                      {
        -                        "date": "2012-12-31",
        -                        "value": 413
        -                      },
        -                      {
        -                        "date": "2013-01-31",
        -                        "value": 414
        -                      },
        -                      {
        -                        "date": "2013-02-28",
        -                        "value": 424
        -                      },
        -                      {
        -                        "date": "2013-03-31",
        -                        "value": 419
        -                      },
        -                      {
        -                        "date": "2013-04-30",
        -                        "value": 414
        -                      },
        -                      {
        -                        "date": "2013-05-31",
        -                        "value": 413
        -                      },
        -                      {
        -                        "date": "2013-06-30",
        -                        "value": 414
        -                      },
        -                      {
        -                        "date": "2013-07-31",
        -                        "value": 429
        -                      },
        -                      {
        -                        "date": "2013-08-31",
        -                        "value": 425
        -                      },
        -                      {
        -                        "date": "2013-09-30",
        -                        "value": 422
        -                      },
        -                      {
        -                        "date": "2013-10-31",
        -                        "value": 419
        -                      },
        -                      {
        -                        "date": "2013-11-30",
        -                        "value": 422
        -                      },
        -                      {
        -                        "date": "2013-12-31",
        -                        "value": 431
        -                      },
        -                      {
        -                        "date": "2014-01-31",
        -                        "value": 434
        -                      },
        -                      {
        -                        "date": "2014-02-28",
        -                        "value": 417
        -                      },
        -                      {
        -                        "date": "2014-03-31",
        -                        "value": 422
        -                      },
        -                      {
        -                        "date": "2014-04-30",
        -                        "value": 416
        -                      },
        -                      {
        -                        "date": "2014-05-31",
        -                        "value": 410
        -                      },
        -                      {
        -                        "date": "2014-06-30",
        -                        "value": 407
        -                      },
        -                      {
        -                        "date": "2014-07-31",
        -                        "value": 410
        -                      },
        -                      {
        -                        "date": "2014-08-31",
        -                        "value": 428
        -                      },
        -                      {
        -                        "date": "2014-09-30",
        -                        "value": 428
        -                      },
        -                      {
        -                        "date": "2014-10-31",
        -                        "value": 426
        -                      },
        -                      {
        -                        "date": "2014-11-30",
        -                        "value": 428
        -                      },
        -                      {
        -                        "date": "2014-12-31",
        -                        "value": 428
        -                      },
        -                      {
        -                        "date": "2015-01-31",
        -                        "value": 427
        -                      },
        -                      {
        -                        "date": "2015-02-28",
        -                        "value": 426
        -                      },
        -                      {
        -                        "date": "2015-03-31",
        -                        "value": 430
        -                      },
        -                      {
        -                        "date": "2015-04-30",
        -                        "value": 434
        -                      },
        -                      {
        -                        "date": "2015-05-31",
        -                        "value": 439
        -                      },
        -                      {
        -                        "date": "2015-06-30",
        -                        "value": 439
        -                      },
        -                      {
        -                        "date": "2015-07-31",
        -                        "value": 439
        -                      },
        -                      {
        -                        "date": "2015-08-31",
        -                        "value": 438
        -                      },
        -                      {
        -                        "date": "2015-09-30",
        -                        "value": 438
        -                      },
        -                      {
        -                        "date": "2015-10-31",
        -                        "value": 438
        -                      },
        -                      {
        -                        "date": "2015-11-30",
        -                        "value": 424
        -                      },
        -                      {
        -                        "date": "2015-12-31",
        -                        "value": 426
        -                      },
        -                      {
        -                        "date": "2016-01-31",
        -                        "value": 427
        -                      },
        -                      {
        -                        "date": "2016-02-29",
        -                        "value": 425
        -                      },
        -                      {
        -                        "date": "2016-03-31",
        -                        "value": 425
        -                      },
        -                      {
        -                        "date": "2016-04-30",
        -                        "value": 430
        -                      },
        -                      {
        -                        "date": "2016-05-31",
        -                        "value": 437
        -                      },
        -                      {
        -                        "date": "2016-06-30",
        -                        "value": 435
        -                      },
        -                      {
        -                        "date": "2016-07-31",
        -                        "value": 433
        -                      },
        -                      {
        -                        "date": "2016-08-31",
        -                        "value": 427
        -                      },
        -                      {
        -                        "date": "2016-09-30",
        -                        "value": 424
        -                      },
        -                      {
        -                        "date": "2016-10-31",
        -                        "value": 430
        -                      },
        -                      {
        -                        "date": "2016-11-30",
        -                        "value": 436
        -                      },
        -                      {
        -                        "date": "2016-12-31",
        -                        "value": 440
        -                      },
        -                      {
        -                        "date": "2017-01-31",
        -                        "value": 446
        -                      },
        -                      {
        -                        "date": "2017-02-28",
        -                        "value": 450
        -                      },
        -                      {
        -                        "date": "2017-03-31",
        -                        "value": 450
        -                      },
        -                      {
        -                        "date": "2017-04-30",
        -                        "value": 450
        -                      },
        -                      {
        -                        "date": "2017-05-31",
        -                        "value": 450
        -                      },
        -                      {
        -                        "date": "2017-06-30",
        -                        "value": 450
        -                      },
        -                      {
        -                        "date": "2017-07-31",
        -                        "value": 453
        -                      },
        -                      {
        -                        "date": "2017-08-31",
        -                        "value": 469
        -                      },
        -                      {
        -                        "date": "2017-09-30",
        -                        "value": 460
        -                      },
        -                      {
        -                        "date": "2017-10-31",
        -                        "value": 474
        -                      },
        -                      {
        -                        "date": "2017-11-30",
        -                        "value": 475
        -                      },
        -                      {
        -                        "date": "2017-12-31",
        -                        "value": 484
        -                      },
        -                      {
        -                        "date": "2018-01-31",
        -                        "value": 487
        -                      },
        -                      {
        -                        "date": "2018-02-28",
        -                        "value": 469
        -                      },
        -                      {
        -                        "date": "2018-03-31",
        -                        "value": 468
        -                      },
        -                      {
        -                        "date": "2018-04-30",
        -                        "value": 470
        -                      },
        -                      {
        -                        "date": "2018-05-31",
        -                        "value": 472
        -                      },
        -                      {
        -                        "date": "2018-06-30",
        -                        "value": 470
        -                      },
        -                      {
        -                        "date": "2018-07-31",
        -                        "value": 465
        -                      },
        -                      {
        -                        "date": "2018-08-31",
        -                        "value": 466
        -                      },
        -                      {
        -                        "date": "2018-09-30",
        -                        "value": 462
        -                      },
        -                      {
        -                        "date": "2018-10-31",
        -                        "value": 468
        -                      },
        -                      {
        -                        "date": "2018-11-30",
        -                        "value": 464
        -                      },
        -                      {
        -                        "date": "2018-12-31",
        -                        "value": 460
        -                      },
        -                      {
        -                        "date": "2019-01-31",
        -                        "value": 457
        -                      },
        -                      {
        -                        "date": "2019-02-28",
        -                        "value": 455
        -                      },
        -                      {
        -                        "date": "2019-03-31",
        -                        "value": 457
        -                      },
        -                      {
        -                        "date": "2019-04-30",
        -                        "value": 456
        -                      },
        -                      {
        -                        "date": "2019-05-31",
        -                        "value": 455
        -                      },
        -                      {
        -                        "date": "2019-06-30",
        -                        "value": 455
        -                      },
        -                      {
        -                        "date": "2019-07-31",
        -                        "value": 457
        -                      },
        -                      {
        -                        "date": "2019-08-31",
        -                        "value": 449
        -                      },
        -                      {
        -                        "date": "2019-09-30",
        -                        "value": 449
        -                      },
        -                      {
        -                        "date": "2019-10-31",
        -                        "value": 460
        -                      },
        -                      {
        -                        "date": "2019-11-30",
        -                        "value": 465
        -                      },
        -                      {
        -                        "date": "2019-12-31",
        -                        "value": 463
        -                      },
        -                      {
        -                        "date": "2020-01-31",
        -                        "value": 464
        -                      },
        -                      {
        -                        "date": "2020-02-29",
        -                        "value": 466
        -                      },
        -                      {
        -                        "date": "2020-03-31",
        -                        "value": 466
        -                      },
        -                      {
        -                        "date": "2020-04-30",
        -                        "value": 467
        -                      },
        -                      {
        -                        "date": "2020-05-31",
        -                        "value": 472
        -                      },
        -                      {
        -                        "date": "2020-06-30",
        -                        "value": 477
        -                      },
        -                      {
        -                        "date": "2020-07-31",
        -                        "value": 479
        -                      },
        -                      {
        -                        "date": "2020-08-31",
        -                        "value": 484
        -                      },
        -                      {
        -                        "date": "2020-09-30",
        -                        "value": 496
        -                      },
        -                      {
        -                        "date": "2020-10-31",
        -                        "value": 500
        -                      },
        -                      {
        -                        "date": "2020-11-30",
        -                        "value": 507
        -                      },
        -                      {
        -                        "date": "2020-12-31",
        -                        "value": 509
        -                      },
        -                      {
        -                        "date": "2021-01-31",
        -                        "value": 511
        -                      },
        -                      {
        -                        "date": "2021-02-28",
        -                        "value": 521
        -                      },
        -                      {
        -                        "date": "2021-03-31",
        -                        "value": 522
        -                      },
        -                      {
        -                        "date": "2021-04-30",
        -                        "value": 520
        -                      },
        -                      {
        -                        "date": "2021-05-31",
        -                        "value": 520
        -                      },
        -                      {
        -                        "date": "2021-06-30",
        -                        "value": 520
        -                      },
        -                      {
        -                        "date": "2021-07-31",
        -                        "value": 535
        -                      },
        -                      {
        -                        "date": "2021-08-31",
        -                        "value": 538
        -                      },
        -                      {
        -                        "date": "2021-09-30",
        -                        "value": 536
        -                      },
        -                      {
        -                        "date": "2021-10-31",
        -                        "value": 537
        -                      },
        -                      {
        -                        "date": "2021-11-30",
        -                        "value": 541
        -                      },
        -                      {
        -                        "date": "2021-12-31",
        -                        "value": 541
        -                      },
        -                      {
        -                        "date": "2022-01-31",
        -                        "value": 542
        -                      },
        -                      {
        -                        "date": "2022-02-28",
        -                        "value": 542
        -                      },
        -                      {
        -                        "date": "2022-03-31",
        -                        "value": 544
        -                      },
        -                      {
        -                        "date": "2022-04-30",
        -                        "value": 558
        -                      },
        -                      {
        -                        "date": "2022-05-31",
        -                        "value": 577
        -                      },
        -                      {
        -                        "date": "2022-06-30",
        -                        "value": 613
        -                      },
        -                      {
        -                        "date": "2022-07-31",
        -                        "value": 626
        -                      },
        -                      {
        -                        "date": "2022-08-28",
        -                        "value": 629
        -                      },
        -                      {
        -                        "date": "2022-08-31",
        -                        "value": 628
        -                      },
        -                      {
        -                        "date": "2022-09-04",
        -                        "value": 629
        -                      },
        -                      {
        -                        "date": "2022-09-11",
        -                        "value": 629
        -                      },
        -                      {
        -                        "date": "2022-09-18",
        -                        "value": 629
        -                      },
        -                      {
        -                        "date": "2022-09-25",
        -                        "value": 628
        -                      },
        -                      {
        -                        "date": "2022-10-02",
        -                        "value": 628
        -                      },
        -                      {
        -                        "date": "2022-10-09",
        -                        "value": 628
        -                      },
        -                      {
        -                        "date": "2022-10-16",
        -                        "value": 628
        -                      },
        -                      {
        -                        "date": "2022-10-23",
        -                        "value": 628
        -                      },
        -                      {
        -                        "date": "2022-10-30",
        -                        "value": 628
        -                      },
        -                      {
        -                        "date": "2022-11-06",
        -                        "value": 626
        -                      },
        -                      {
        -                        "date": "2022-11-13",
        -                        "value": 627
        -                      },
        -                      {
        -                        "date": "2022-11-20",
        -                        "value": 618
        -                      },
        -                      {
        -                        "date": "2022-11-27",
        -                        "value": 623
        -                      },
        -                      {
        -                        "date": "2022-12-04",
        -                        "value": 623
        -                      },
        -                      {
        -                        "date": "2022-12-11",
        -                        "value": 623
        -                      },
        -                      {
        -                        "date": "2022-12-18",
        -                        "value": 623
        -                      },
        -                      {
        -                        "date": "2022-12-25",
        -                        "value": 617
        -                      },
        -                      {
        -                        "date": "2023-01-01",
        -                        "value": 617
        -                      },
        -                      {
        -                        "date": "2023-01-08",
        -                        "value": 617
        -                      },
        -                      {
        -                        "date": "2023-01-15",
        -                        "value": 615
        -                      },
        -                      {
        -                        "date": "2023-01-22",
        -                        "value": 614
        -                      },
        -                      {
        -                        "date": "2023-01-29",
        -                        "value": 614
        -                      },
        -                      {
        -                        "date": "2023-02-05",
        -                        "value": 614
        -                      },
        -                      {
        -                        "date": "2023-02-12",
        -                        "value": 614
        -                      },
        -                      {
        -                        "date": "2023-02-19",
        -                        "value": 614
        -                      },
        -                      {
        -                        "date": "2023-02-26",
        -                        "value": 614
        -                      },
        -                      {
        -                        "date": "2023-03-05",
        -                        "value": 619
        -                      },
        -                      {
        -                        "date": "2023-03-12",
        -                        "value": 620
        -                      },
        -                      {
        -                        "date": "2023-03-19",
        -                        "value": 621
        -                      },
        -                      {
        -                        "date": "2023-03-26",
        -                        "value": 621
        -                      },
        -                      {
        -                        "date": "2023-04-02",
        -                        "value": 618
        -                      },
        -                      {
        -                        "date": "2023-04-09",
        -                        "value": 618
        -                      },
        -                      {
        -                        "date": "2023-04-16",
        -                        "value": 618
        -                      },
        -                      {
        -                        "date": "2023-04-23",
        -                        "value": 618
        -                      },
        -                      {
        -                        "date": "2023-04-30",
        -                        "value": 611
        -                      },
        -                      {
        -                        "date": "2023-05-07",
        -                        "value": 609
        -                      },
        -                      {
        -                        "date": "2023-05-14",
        -                        "value": 609
        -                      },
        -                      {
        -                        "date": "2023-05-21",
        -                        "value": 609
        -                      },
        -                      {
        -                        "date": "2023-05-28",
        -                        "value": 608
        -                      },
        -                      {
        -                        "date": "2023-06-04",
        -                        "value": 608
        -                      },
        -                      {
        -                        "date": "2023-06-11",
        -                        "value": 608
        -                      },
        -                      {
        -                        "date": "2023-06-18",
        -                        "value": 605
        -                      },
        -                      {
        -                        "date": "2023-06-25",
        -                        "value": 601
        -                      },
        -                      {
        -                        "date": "2023-07-02",
        -                        "value": 602
        -                      },
        -                      {
        -                        "date": "2023-07-09",
        -                        "value": 602
        -                      },
        -                      {
        -                        "date": "2023-07-16",
        -                        "value": 602
        -                      },
        -                      {
        -                        "date": "2023-07-23",
        -                        "value": 602
        -                      },
        -                      {
        -                        "date": "2023-07-30",
        -                        "value": 601
        -                      },
        -                      {
        -                        "date": "2023-08-06",
        -                        "value": 601
        -                      },
        -                      {
        -                        "date": "2023-08-13",
        -                        "value": 601
        -                      },
        -                      {
        -                        "date": "2023-08-20",
        -                        "value": 601
        -                      },
        -                      {
        -                        "date": "2023-08-27",
        -                        "value": 601
        -                      },
        -                      {
        -                        "date": "2023-09-03",
        -                        "value": 599
        -                      },
        -                      {
        -                        "date": "2023-09-10",
        -                        "value": 598
        -                      },
        -                      {
        -                        "date": "2023-09-17",
        -                        "value": 598
        -                      },
        -                      {
        -                        "date": "2023-09-24",
        -                        "value": 598
        -                      },
        -                      {
        -                        "date": "2023-10-01",
        -                        "value": 598
        -                      },
        -                      {
        -                        "date": "2023-10-08",
        -                        "value": 598
        -                      },
        -                      {
        -                        "date": "2023-10-15",
        -                        "value": 598
        -                      },
        -                      {
        -                        "date": "2023-10-22",
        -                        "value": 598
        -                      },
        -                      {
        -                        "date": "2023-10-29",
        -                        "value": 598
        -                      },
        -                      {
        -                        "date": "2023-11-05",
        -                        "value": 598
        -                      },
        -                      {
        -                        "date": "2023-11-12",
        -                        "value": 601
        -                      },
        -                      {
        -                        "date": "2023-11-19",
        -                        "value": 611
        -                      },
        -                      {
        -                        "date": "2023-11-26",
        -                        "value": 620
        -                      },
        -                      {
        -                        "date": "2023-12-03",
        -                        "value": 653
        -                      },
        -                      {
        -                        "date": "2023-12-10",
        -                        "value": 653
        -                      },
        -                      {
        -                        "date": "2023-12-17",
        -                        "value": 659
        -                      },
        -                      {
        -                        "date": "2023-12-24",
        -                        "value": 659
        -                      },
        -                      {
        -                        "date": "2023-12-31",
        -                        "value": 659
        -                      },
        -                      {
        -                        "date": "2024-01-07",
        -                        "value": 662
        -                      },
        -                      {
        -                        "date": "2024-01-14",
        -                        "value": 667
        -                      },
        -                      {
        -                        "date": "2024-01-21",
        -                        "value": 669
        -                      },
        -                      {
        -                        "date": "2024-01-28",
        -                        "value": 671
        -                      },
        -                      {
        -                        "date": "2024-02-04",
        -                        "value": 673
        -                      },
        -                      {
        -                        "date": "2024-02-11",
        -                        "value": 674
        -                      },
        -                      {
        -                        "date": "2024-02-18",
        -                        "value": 674
        -                      },
        -                      {
        -                        "date": "2024-02-25",
        -                        "value": 674
        -                      },
        -                      {
        -                        "date": "2024-03-03",
        -                        "value": 674
        -                      },
        -                      {
        -                        "date": "2024-03-10",
        -                        "value": 684
        -                      },
        -                      {
        -                        "date": "2024-03-17",
        -                        "value": 699
        -                      },
        -                      {
        -                        "date": "2024-03-24",
        -                        "value": 704
        -                      },
        -                      {
        -                        "date": "2024-03-31",
        -                        "value": 705
        -                      },
        -                      {
        -                        "date": "2024-04-07",
        -                        "value": 706
        -                      },
        -                      {
        -                        "date": "2024-04-14",
        -                        "value": 711
        -                      },
        -                      {
        -                        "date": "2024-04-21",
        -                        "value": 729
        -                      },
        -                      {
        -                        "date": "2024-04-28",
        -                        "value": 731
        -                      },
        -                      {
        -                        "date": "2024-05-05",
        -                        "value": 732
        -                      },
        -                      {
        -                        "date": "2024-05-12",
        -                        "value": 732
        -                      },
        -                      {
        -                        "date": "2024-05-19",
        -                        "value": 737
        -                      },
        -                      {
        -                        "date": "2024-05-26",
        -                        "value": 739
        -                      },
        -                      {
        -                        "date": "2024-06-02",
        -                        "value": 741
        -                      },
        -                      {
        -                        "date": "2024-06-09",
        -                        "value": 739
        -                      },
        -                      {
        -                        "date": "2024-06-16",
        -                        "value": 739
        -                      },
        -                      {
        -                        "date": "2024-06-23",
        -                        "value": 739
        -                      },
        -                      {
        -                        "date": "2024-06-30",
        -                        "value": 739
        -                      },
        -                      {
        -                        "date": "2024-07-07",
        -                        "value": 742
        -                      },
        -                      {
        -                        "date": "2024-07-14",
        -                        "value": 733
        -                      },
        -                      {
        -                        "date": "2024-07-21",
        -                        "value": 730
        -                      },
        -                      {
        -                        "date": "2024-07-28",
        -                        "value": 729
        -                      },
        -                      {
        -                        "date": "2024-08-04",
        -                        "value": 729
        -                      },
        -                      {
        -                        "date": "2024-08-11",
        -                        "value": 714
        -                      },
        -                      {
        -                        "date": "2024-08-18",
        -                        "value": 709
        -                      },
        -                      {
        -                        "date": "2024-08-25",
        -                        "value": 709
        -                      },
        -                      {
        -                        "date": "2024-09-01",
        -                        "value": 709
        -                      },
        -                      {
        -                        "date": "2024-09-08",
        -                        "value": 702
        -                      },
        -                      {
        -                        "date": "2024-09-15",
        -                        "value": 702
        -                      },
        -                      {
        -                        "date": "2024-09-22",
        -                        "value": 699
        -                      },
        -                      {
        -                        "date": "2024-09-29",
        -                        "value": 699
        -                      },
        -                      {
        -                        "date": "2024-10-06",
        -                        "value": 699
        -                      },
        -                      {
        -                        "date": "2024-10-13",
        -                        "value": 699
        -                      },
        -                      {
        -                        "date": "2024-10-20",
        -                        "value": 693
        -                      },
        -                      {
        -                        "date": "2024-10-27",
        -                        "value": 691
        -                      },
        -                      {
        -                        "date": "2024-11-03",
        -                        "value": 685
        -                      },
        -                      {
        -                        "date": "2024-11-10",
        -                        "value": 688
        -                      },
        -                      {
        -                        "date": "2024-11-17",
        -                        "value": 689
        -                      },
        -                      {
        -                        "date": "2024-11-24",
        -                        "value": 689
        -                      },
        -                      {
        -                        "date": "2024-12-01",
        -                        "value": 689
        -                      },
        -                      {
        -                        "date": "2024-12-08",
        -                        "value": 685
        -                      },
        -                      {
        -                        "date": "2024-12-15",
        -                        "value": 683
        -                      },
        -                      {
        -                        "date": "2024-12-22",
        -                        "value": 683
        -                      },
        -                      {
        -                        "date": "2024-12-29",
        -                        "value": 683
        -                      },
        -                      {
        -                        "date": "2025-01-05",
        -                        "value": 683
        -                      },
        -                      {
        -                        "date": "2025-01-12",
        -                        "value": 683
        -                      },
        -                      {
        -                        "date": "2025-01-19",
        -                        "value": 678
        -                      },
        -                      {
        -                        "date": "2025-01-26",
        -                        "value": 678
        -                      },
        -                      {
        -                        "date": "2025-02-02",
        -                        "value": 676
        -                      },
        -                      {
        -                        "date": "2025-02-09",
        -                        "value": 685
        -                      },
        -                      {
        -                        "date": "2025-02-16",
        -                        "value": 694
        -                      },
        -                      {
        -                        "date": "2025-02-23",
        -                        "value": 697
        -                      },
        -                      {
        -                        "date": "2025-03-02",
        -                        "value": 703
        -                      },
        -                      {
        -                        "date": "2025-03-09",
        -                        "value": 711
        -                      },
        -                      {
        -                        "date": "2025-03-16",
        -                        "value": 714
        -                      },
        -                      {
        -                        "date": "2025-03-23",
        -                        "value": 719
        -                      },
        -                      {
        -                        "date": "2025-03-30",
        -                        "value": 721
        -                      },
        -                      {
        -                        "date": "2025-04-06",
        -                        "value": 717
        -                      },
        -                      {
        -                        "date": "2025-04-13",
        -                        "value": 716
        -                      },
        -                      {
        -                        "date": "2025-04-20",
        -                        "value": 716
        -                      },
        -                      {
        -                        "date": "2025-04-27",
        -                        "value": 715
        -                      },
        -                      {
        -                        "date": "2025-05-04",
        -                        "value": 715
        -                      },
        -                      {
        -                        "date": "2025-05-11",
        -                        "value": 704
        -                      },
        -                      {
        -                        "date": "2025-05-18",
        -                        "value": 704
        -                      },
        -                      {
        -                        "date": "2025-05-25",
        -                        "value": 706
        -                      },
        -                      {
        -                        "date": "2025-06-01",
        -                        "value": 706
        -                      },
        -                      {
        -                        "date": "2025-06-08",
        -                        "value": 716
        -                      },
        -                      {
        -                        "date": "2025-06-15",
        -                        "value": 716
        -                      },
        -                      {
        -                        "date": "2025-06-22",
        -                        "value": 716
        -                      },
        -                      {
        -                        "date": "2025-06-29",
        -                        "value": 716
        -                      },
        -                      {
        -                        "date": "2025-07-06",
        -                        "value": 717
        -                      },
        -                      {
        -                        "date": "2025-07-13",
        -                        "value": 730
        -                      },
        -                      {
        -                        "date": "2025-07-20",
        -                        "value": 713
        -                      },
        -                      {
        -                        "date": "2025-07-27",
        -                        "value": 717
        -                      },
        -                      {
        -                        "date": "2025-08-03",
        -                        "value": 725
        -                      },
        -                      {
        -                        "date": "2025-08-10",
        -                        "value": 728
        -                      },
        -                      {
        -                        "date": "2025-08-17",
        -                        "value": 728
        -                      },
        -                      {
        -                        "date": "2025-08-24",
        -                        "value": 709
        -                      },
        -                      {
        -                        "date": "2025-08-31",
        -                        "value": 709
        -                      },
        -                      {
        -                        "date": "2025-09-07",
        -                        "value": 724
        -                      },
        -                      {
        -                        "date": "2025-09-14",
        -                        "value": 731
        -                      },
        -                      {
        -                        "date": "2025-09-21",
        -                        "value": 731
        -                      },
        -                      {
        -                        "date": "2025-09-28",
        -                        "value": 733
        -                      },
        -                      {
        -                        "date": "2025-10-05",
        -                        "value": 736
        -                      },
        -                      {
        -                        "date": "2025-10-12",
        -                        "value": 729
        -                      },
        -                      {
        -                        "date": "2025-10-19",
        -                        "value": 747
        -                      },
        -                      {
        -                        "date": "2025-10-26",
        -                        "value": 740
        -                      },
        -                      {
        -                        "date": "2025-11-02",
        -                        "value": 752
        -                      },
        -                      {
        -                        "date": "2025-11-09",
        -                        "value": 751
        -                      },
        -                      {
        -                        "date": "2025-11-16",
        -                        "value": 756
        -                      },
        -                      {
        -                        "date": "2025-11-23",
        -                        "value": 765
        -                      },
        -                      {
        -                        "date": "2025-11-30",
        -                        "value": 749
        -                      },
        -                      {
        -                        "date": "2025-12-07",
        -                        "value": 749
        -                      },
        -                      {
        -                        "date": "2025-12-14",
        -                        "value": 750
        -                      },
        -                      {
        -                        "date": "2025-12-21",
        -                        "value": 750
        -                      },
        -                      {
        -                        "date": "2025-12-28",
        -                        "value": 750
        -                      },
        -                      {
        -                        "date": "2026-01-04",
        -                        "value": 750
        -                      },
        -                      {
        -                        "date": "2026-01-11",
        -                        "value": 743
        -                      },
        -                      {
        -                        "date": "2026-01-18",
        -                        "value": 737
        -                      },
        -                      {
        -                        "date": "2026-01-25",
        -                        "value": 746
        -                      },
        -                      {
        -                        "date": "2026-02-01",
        -                        "value": 750
        -                      },
        -                      {
        -                        "date": "2026-02-08",
        -                        "value": 748
        -                      },
        -                      {
        -                        "date": "2026-02-15",
        -                        "value": 747
        -                      },
        -                      {
        -                        "date": "2026-02-22",
        -                        "value": 750
        -                      },
        -                      {
        -                        "date": "2026-03-01",
        -                        "value": 750
        -                      },
        -                      {
        -                        "date": "2026-03-08",
        -                        "value": 750
        -                      },
        -                      {
        -                        "date": "2026-03-15",
        -                        "value": 750
        -                      },
        -                      {
        -                        "date": "2026-03-22",
        -                        "value": 750
        -                      },
        -                      {
        -                        "date": "2026-03-29",
        -                        "value": 750
        -                      },
        -                      {
        -                        "date": "2026-04-05",
        -                        "value": 750
        -                      },
        -                      {
        -                        "date": "2026-04-12",
        -                        "value": 750
        -                      },
        -                      {
        -                        "date": "2026-04-19",
        -                        "value": 750
        -                      },
        -                      {
        -                        "date": "2026-04-26",
        -                        "value": 750
        -                      }
        -                    ],
        -                    "unit": [
        -                      {
        -                        "date": "2006-12-31",
        -                        "value": 217
        -                      },
        -                      {
        -                        "date": "2007-01-31",
        -                        "value": 217
        -                      },
        -                      {
        -                        "date": "2007-02-28",
        -                        "value": 217
        -                      },
        -                      {
        -                        "date": "2007-03-31",
        -                        "value": 217
        -                      },
        -                      {
        -                        "date": "2007-04-30",
        -                        "value": 217
        -                      },
        -                      {
        -                        "date": "2007-05-31",
        -                        "value": 217
        -                      },
        -                      {
        -                        "date": "2007-06-30",
        -                        "value": 217
        -                      },
        -                      {
        -                        "date": "2007-07-31",
        -                        "value": 217
        -                      },
        -                      {
        -                        "date": "2007-08-31",
        -                        "value": 217
        -                      },
        -                      {
        -                        "date": "2007-09-30",
        -                        "value": 217
        -                      },
        -                      {
        -                        "date": "2007-10-31",
        -                        "value": 217
        -                      },
        -                      {
        -                        "date": "2007-11-30",
        -                        "value": 217
        -                      },
        -                      {
        -                        "date": "2007-12-31",
        -                        "value": 221
        -                      },
        -                      {
        -                        "date": "2008-01-31",
        -                        "value": 221
        -                      },
        -                      {
        -                        "date": "2008-02-29",
        -                        "value": 221
        -                      },
        -                      {
        -                        "date": "2008-03-31",
        -                        "value": 221
        -                      },
        -                      {
        -                        "date": "2008-04-30",
        -                        "value": 222
        -                      },
        -                      {
        -                        "date": "2008-05-31",
        -                        "value": 222
        -                      },
        -                      {
        -                        "date": "2008-06-30",
        -                        "value": 222
        -                      },
        -                      {
        -                        "date": "2008-07-31",
        -                        "value": 222
        -                      },
        -                      {
        -                        "date": "2008-08-31",
        -                        "value": 222
        -                      },
        -                      {
        -                        "date": "2008-09-30",
        -                        "value": 227
        -                      },
        -                      {
        -                        "date": "2008-10-31",
        -                        "value": 240
        -                      },
        -                      {
        -                        "date": "2008-11-30",
        -                        "value": 240
        -                      },
        -                      {
        -                        "date": "2008-12-31",
        -                        "value": 240
        -                      },
        -                      {
        -                        "date": "2009-01-31",
        -                        "value": 240
        -                      },
        -                      {
        -                        "date": "2009-02-28",
        -                        "value": 241
        -                      },
        -                      {
        -                        "date": "2009-03-31",
        -                        "value": 241
        -                      },
        -                      {
        -                        "date": "2009-04-30",
        -                        "value": 241
        -                      },
        -                      {
        -                        "date": "2009-05-31",
        -                        "value": 242
        -                      },
        -                      {
        -                        "date": "2009-06-30",
        -                        "value": 242
        -                      },
        -                      {
        -                        "date": "2009-07-31",
        -                        "value": 242
        -                      },
        -                      {
        -                        "date": "2009-08-31",
        -                        "value": 242
        -                      },
        -                      {
        -                        "date": "2009-09-30",
        -                        "value": 242
        -                      },
        -                      {
        -                        "date": "2009-10-31",
        -                        "value": 242
        -                      },
        -                      {
        -                        "date": "2009-11-30",
        -                        "value": 242
        -                      },
        -                      {
        -                        "date": "2009-12-31",
        -                        "value": 242
        -                      },
        -                      {
        -                        "date": "2010-01-31",
        -                        "value": 242
        -                      },
        -                      {
        -                        "date": "2010-02-28",
        -                        "value": 242
        -                      },
        -                      {
        -                        "date": "2010-03-31",
        -                        "value": 242
        -                      },
        -                      {
        -                        "date": "2010-04-30",
        -                        "value": 242
        -                      },
        -                      {
        -                        "date": "2010-05-31",
        -                        "value": 242
        -                      },
        -                      {
        -                        "date": "2010-06-30",
        -                        "value": 242
        -                      },
        -                      {
        -                        "date": "2010-07-31",
        -                        "value": 249
        -                      },
        -                      {
        -                        "date": "2010-08-31",
        -                        "value": 249
        -                      },
        -                      {
        -                        "date": "2010-09-30",
        -                        "value": 249
        -                      },
        -                      {
        -                        "date": "2010-10-31",
        -                        "value": 249
        -                      },
        -                      {
        -                        "date": "2010-11-30",
        -                        "value": 257
        -                      },
        -                      {
        -                        "date": "2010-12-31",
        -                        "value": 257
        -                      },
        -                      {
        -                        "date": "2011-01-31",
        -                        "value": 257
        -                      },
        -                      {
        -                        "date": "2011-02-28",
        -                        "value": 257
        -                      },
        -                      {
        -                        "date": "2011-03-31",
        -                        "value": 261
        -                      },
        -                      {
        -                        "date": "2011-04-30",
        -                        "value": 284
        -                      },
        -                      {
        -                        "date": "2011-05-31",
        -                        "value": 288
        -                      },
        -                      {
        -                        "date": "2011-06-30",
        -                        "value": 288
        -                      },
        -                      {
        -                        "date": "2011-07-31",
        -                        "value": 288
        -                      },
        -                      {
        -                        "date": "2011-08-31",
        -                        "value": 291
        -                      },
        -                      {
        -                        "date": "2011-09-30",
        -                        "value": 293
        -                      },
        -                      {
        -                        "date": "2011-10-31",
        -                        "value": 293
        -                      },
        -                      {
        -                        "date": "2011-11-30",
        -                        "value": 293
        -                      },
        -                      {
        -                        "date": "2011-12-31",
        -                        "value": 301
        -                      },
        -                      {
        -                        "date": "2012-01-31",
        -                        "value": 302
        -                      },
        -                      {
        -                        "date": "2012-02-29",
        -                        "value": 302
        -                      },
        -                      {
        -                        "date": "2012-03-31",
        -                        "value": 302
        -                      },
        -                      {
        -                        "date": "2012-04-30",
        -                        "value": 302
        -                      },
        -                      {
        -                        "date": "2012-05-31",
        -                        "value": 302
        -                      },
        -                      {
        -                        "date": "2012-06-30",
        -                        "value": 303
        -                      },
        -                      {
        -                        "date": "2012-07-31",
        -                        "value": 303
        -                      },
        -                      {
        -                        "date": "2012-08-31",
        -                        "value": 305
        -                      },
        -                      {
        -                        "date": "2012-09-30",
        -                        "value": 307
        -                      },
        -                      {
        -                        "date": "2012-10-31",
        -                        "value": 307
        -                      },
        -                      {
        -                        "date": "2012-11-30",
        -                        "value": 307
        -                      },
        -                      {
        -                        "date": "2012-12-31",
        -                        "value": 307
        -                      },
        -                      {
        -                        "date": "2013-01-31",
        -                        "value": 307
        -                      },
        -                      {
        -                        "date": "2013-02-28",
        -                        "value": 307
        -                      },
        -                      {
        -                        "date": "2013-03-31",
        -                        "value": 307
        -                      },
        -                      {
        -                        "date": "2013-04-30",
        -                        "value": 307
        -                      },
        -                      {
        -                        "date": "2013-05-31",
        -                        "value": 310
        -                      },
        -                      {
        -                        "date": "2013-06-30",
        -                        "value": 315
        -                      },
        -                      {
        -                        "date": "2013-07-31",
        -                        "value": 315
        -                      },
        -                      {
        -                        "date": "2013-08-31",
        -                        "value": 315
        -                      },
        -                      {
        -                        "date": "2013-09-30",
        -                        "value": 315
        -                      },
        -                      {
        -                        "date": "2013-10-31",
        -                        "value": 315
        -                      },
        -                      {
        -                        "date": "2013-11-30",
        -                        "value": 315
        -                      },
        -                      {
        -                        "date": "2013-12-31",
        -                        "value": 315
        -                      },
        -                      {
        -                        "date": "2014-01-31",
        -                        "value": 317
        -                      },
        -                      {
        -                        "date": "2014-02-28",
        -                        "value": 323
        -                      },
        -                      {
        -                        "date": "2014-03-31",
        -                        "value": 323
        -                      },
        -                      {
        -                        "date": "2014-04-30",
        -                        "value": 323
        -                      },
        -                      {
        -                        "date": "2014-05-31",
        -                        "value": 323
        -                      },
        -                      {
        -                        "date": "2014-06-30",
        -                        "value": 323
        -                      },
        -                      {
        -                        "date": "2014-07-31",
        -                        "value": 323
        -                      },
        -                      {
        -                        "date": "2014-08-31",
        -                        "value": 323
        -                      },
        -                      {
        -                        "date": "2014-09-30",
        -                        "value": 325
        -                      },
        -                      {
        -                        "date": "2014-10-31",
        -                        "value": 325
        -                      },
        -                      {
        -                        "date": "2014-11-30",
        -                        "value": 325
        -                      },
        -                      {
        -                        "date": "2014-12-31",
        -                        "value": 325
        -                      },
        -                      {
        -                        "date": "2015-01-31",
        -                        "value": 325
        -                      },
        -                      {
        -                        "date": "2015-02-28",
        -                        "value": 316
        -                      },
        -                      {
        -                        "date": "2015-03-31",
        -                        "value": 308
        -                      },
        -                      {
        -                        "date": "2015-04-30",
        -                        "value": 307
        -                      },
        -                      {
        -                        "date": "2015-05-31",
        -                        "value": 305
        -                      },
        -                      {
        -                        "date": "2015-06-30",
        -                        "value": 305
        -                      },
        -                      {
        -                        "date": "2015-07-31",
        -                        "value": 320
        -                      },
        -                      {
        -                        "date": "2015-08-31",
        -                        "value": 324
        -                      },
        -                      {
        -                        "date": "2015-09-30",
        -                        "value": 324
        -                      },
        -                      {
        -                        "date": "2015-10-31",
        -                        "value": 327
        -                      },
        -                      {
        -                        "date": "2015-11-30",
        -                        "value": 327
        -                      },
        -                      {
        -                        "date": "2015-12-31",
        -                        "value": 327
        -                      },
        -                      {
        -                        "date": "2016-01-31",
        -                        "value": 327
        -                      },
        -                      {
        -                        "date": "2016-02-29",
        -                        "value": 327
        -                      },
        -                      {
        -                        "date": "2016-03-31",
        -                        "value": 328
        -                      },
        -                      {
        -                        "date": "2016-04-30",
        -                        "value": 329
        -                      },
        -                      {
        -                        "date": "2016-05-31",
        -                        "value": 331
        -                      },
        -                      {
        -                        "date": "2016-06-30",
        -                        "value": 341
        -                      },
        -                      {
        -                        "date": "2016-07-31",
        -                        "value": 344
        -                      },
        -                      {
        -                        "date": "2016-08-31",
        -                        "value": 344
        -                      },
        -                      {
        -                        "date": "2016-09-30",
        -                        "value": 344
        -                      },
        -                      {
        -                        "date": "2016-10-31",
        -                        "value": 344
        -                      },
        -                      {
        -                        "date": "2016-11-30",
        -                        "value": 357
        -                      },
        -                      {
        -                        "date": "2016-12-31",
        -                        "value": 357
        -                      },
        -                      {
        -                        "date": "2017-01-31",
        -                        "value": 357
        -                      },
        -                      {
        -                        "date": "2017-02-28",
        -                        "value": 353
        -                      },
        -                      {
        -                        "date": "2017-03-31",
        -                        "value": 353
        -                      },
        -                      {
        -                        "date": "2017-04-30",
        -                        "value": 353
        -                      },
        -                      {
        -                        "date": "2017-05-31",
        -                        "value": 344
        -                      },
        -                      {
        -                        "date": "2017-06-30",
        -                        "value": 342
        -                      },
        -                      {
        -                        "date": "2017-07-31",
        -                        "value": 344
        -                      },
        -                      {
        -                        "date": "2017-08-31",
        -                        "value": 344
        -                      },
        -                      {
        -                        "date": "2017-09-30",
        -                        "value": 356
        -                      },
        -                      {
        -                        "date": "2017-10-31",
        -                        "value": 356
        -                      },
        -                      {
        -                        "date": "2017-11-30",
        -                        "value": 356
        -                      },
        -                      {
        -                        "date": "2017-12-31",
        -                        "value": 356
        -                      },
        -                      {
        -                        "date": "2018-01-31",
        -                        "value": 356
        -                      },
        -                      {
        -                        "date": "2018-02-28",
        -                        "value": 356
        -                      },
        -                      {
        -                        "date": "2018-03-31",
        -                        "value": 361
        -                      },
        -                      {
        -                        "date": "2018-04-30",
        -                        "value": 363
        -                      },
        -                      {
        -                        "date": "2018-05-31",
        -                        "value": 363
        -                      },
        -                      {
        -                        "date": "2018-06-30",
        -                        "value": 363
        -                      },
        -                      {
        -                        "date": "2018-07-31",
        -                        "value": 363
        -                      },
        -                      {
        -                        "date": "2018-08-31",
        -                        "value": 363
        -                      },
        -                      {
        -                        "date": "2018-09-30",
        -                        "value": 363
        -                      },
        -                      {
        -                        "date": "2018-10-31",
        -                        "value": 360
        -                      },
        -                      {
        -                        "date": "2018-11-30",
        -                        "value": 360
        -                      },
        -                      {
        -                        "date": "2018-12-31",
        -                        "value": 360
        -                      },
        -                      {
        -                        "date": "2019-01-31",
        -                        "value": 360
        -                      },
        -                      {
        -                        "date": "2019-02-28",
        -                        "value": 360
        -                      },
        -                      {
        -                        "date": "2019-03-31",
        -                        "value": 356
        -                      },
        -                      {
        -                        "date": "2019-04-30",
        -                        "value": 356
        -                      },
        -                      {
        -                        "date": "2019-05-31",
        -                        "value": 356
        -                      },
        -                      {
        -                        "date": "2019-06-30",
        -                        "value": 356
        -                      },
        -                      {
        -                        "date": "2019-07-31",
        -                        "value": 349
        -                      },
        -                      {
        -                        "date": "2019-08-31",
        -                        "value": 349
        -                      },
        -                      {
        -                        "date": "2019-09-30",
        -                        "value": 361
        -                      },
        -                      {
        -                        "date": "2019-10-31",
        -                        "value": 361
        -                      },
        -                      {
        -                        "date": "2019-11-30",
        -                        "value": 364
        -                      },
        -                      {
        -                        "date": "2019-12-31",
        -                        "value": 364
        -                      },
        -                      {
        -                        "date": "2020-01-31",
        -                        "value": 365
        -                      },
        -                      {
        -                        "date": "2020-02-29",
        -                        "value": 364
        -                      },
        -                      {
        -                        "date": "2020-03-31",
        -                        "value": 363
        -                      },
        -                      {
        -                        "date": "2020-04-30",
        -                        "value": 363
        -                      },
        -                      {
        -                        "date": "2020-05-31",
        -                        "value": 365
        -                      },
        -                      {
        -                        "date": "2020-06-30",
        -                        "value": 368
        -                      },
        -                      {
        -                        "date": "2020-07-31",
        -                        "value": 374
        -                      },
        -                      {
        -                        "date": "2020-08-31",
        -                        "value": 374
        -                      },
        -                      {
        -                        "date": "2020-09-30",
        -                        "value": 374
        -                      },
        -                      {
        -                        "date": "2020-10-31",
        -                        "value": 374
        -                      },
        -                      {
        -                        "date": "2020-11-30",
        -                        "value": 374
        -                      },
        -                      {
        -                        "date": "2020-12-31",
        -                        "value": 374
        -                      },
        -                      {
        -                        "date": "2021-01-31",
        -                        "value": 378
        -                      },
        -                      {
        -                        "date": "2021-02-28",
        -                        "value": 380
        -                      },
        -                      {
        -                        "date": "2021-03-31",
        -                        "value": 380
        -                      },
        -                      {
        -                        "date": "2021-04-30",
        -                        "value": 380
        -                      },
        -                      {
        -                        "date": "2021-05-31",
        -                        "value": 380
        -                      },
        -                      {
        -                        "date": "2021-06-30",
        -                        "value": 381
        -                      },
        -                      {
        -                        "date": "2021-07-31",
        -                        "value": 374
        -                      },
        -                      {
        -                        "date": "2021-08-31",
        -                        "value": 374
        -                      },
        -                      {
        -                        "date": "2021-09-30",
        -                        "value": 371
        -                      },
        -                      {
        -                        "date": "2021-10-31",
        -                        "value": 375
        -                      },
        -                      {
        -                        "date": "2021-11-30",
        -                        "value": 375
        -                      },
        -                      {
        -                        "date": "2021-12-31",
        -                        "value": 375
        -                      },
        -                      {
        -                        "date": "2022-01-31",
        -                        "value": 375
        -                      },
        -                      {
        -                        "date": "2022-02-28",
        -                        "value": 376
        -                      },
        -                      {
        -                        "date": "2022-03-31",
        -                        "value": 376
        -                      },
        -                      {
        -                        "date": "2022-04-30",
        -                        "value": 376
        -                      },
        -                      {
        -                        "date": "2022-05-31",
        -                        "value": 376
        -                      },
        -                      {
        -                        "date": "2022-06-30",
        -                        "value": 376
        -                      },
        -                      {
        -                        "date": "2022-07-31",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2022-08-28",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2022-08-31",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2022-09-04",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2022-09-11",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2022-09-18",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2022-09-25",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2022-10-02",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2022-10-09",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2022-10-16",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2022-10-23",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2022-10-30",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2022-11-06",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2022-11-13",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2022-11-20",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2022-11-27",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2022-12-04",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2022-12-11",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2022-12-18",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2022-12-25",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-01-01",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-01-08",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-01-15",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-01-22",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-01-29",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-02-05",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-02-12",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-02-19",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-02-26",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-03-05",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-03-12",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-03-19",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-03-26",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-04-02",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-04-09",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-04-16",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-04-23",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-04-30",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-05-07",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-05-14",
        -                        "value": 377
        -                      },
        -                      {
        -                        "date": "2023-05-21",
        -                        "value": 376
        -                      },
        -                      {
        -                        "date": "2023-05-28",
        -                        "value": 372
        -                      },
        -                      {
        -                        "date": "2023-06-04",
        -                        "value": 372
        -                      },
        -                      {
        -                        "date": "2023-06-11",
        -                        "value": 373
        -                      },
        -                      {
        -                        "date": "2023-06-18",
        -                        "value": 375
        -                      },
        -                      {
        -                        "date": "2023-06-25",
        -                        "value": 375
        -                      },
        -                      {
        -                        "date": "2023-07-02",
        -                        "value": 375
        -                      },
        -                      {
        -                        "date": "2023-07-09",
        -                        "value": 375
        -                      },
        -                      {
        -                        "date": "2023-07-16",
        -                        "value": 375
        -                      },
        -                      {
        -                        "date": "2023-07-23",
        -                        "value": 375
        -                      },
        -                      {
        -                        "date": "2023-07-30",
        -                        "value": 375
        -                      },
        -                      {
        -                        "date": "2023-08-06",
        -                        "value": 375
        -                      },
        -                      {
        -                        "date": "2023-08-13",
        -                        "value": 375
        -                      },
        -                      {
        -                        "date": "2023-08-20",
        -                        "value": 376
        -                      },
        -                      {
        -                        "date": "2023-08-27",
        -                        "value": 379
        -                      },
        -                      {
        -                        "date": "2023-09-03",
        -                        "value": 379
        -                      },
        -                      {
        -                        "date": "2023-09-10",
        -                        "value": 379
        -                      },
        -                      {
        -                        "date": "2023-09-17",
        -                        "value": 379
        -                      },
        -                      {
        -                        "date": "2023-09-24",
        -                        "value": 379
        -                      },
        -                      {
        -                        "date": "2023-10-01",
        -                        "value": 379
        -                      },
        -                      {
        -                        "date": "2023-10-08",
        -                        "value": 379
        -                      },
        -                      {
        -                        "date": "2023-10-15",
        -                        "value": 379
        -                      },
        -                      {
        -                        "date": "2023-10-22",
        -                        "value": 379
        -                      },
        -                      {
        -                        "date": "2023-10-29",
        -                        "value": 379
        -                      },
        -                      {
        -                        "date": "2023-11-05",
        -                        "value": 379
        -                      },
        -                      {
        -                        "date": "2023-11-12",
        -                        "value": 381
        -                      },
        -                      {
        -                        "date": "2023-11-19",
        -                        "value": 383
        -                      },
        -                      {
        -                        "date": "2023-11-26",
        -                        "value": 383
        -                      },
        -                      {
        -                        "date": "2023-12-03",
        -                        "value": 383
        -                      },
        -                      {
        -                        "date": "2023-12-10",
        -                        "value": 387
        -                      },
        -                      {
        -                        "date": "2023-12-17",
        -                        "value": 387
        -                      },
        -                      {
        -                        "date": "2023-12-24",
        -                        "value": 387
        -                      },
        -                      {
        -                        "date": "2023-12-31",
        -                        "value": 387
        -                      },
        -                      {
        -                        "date": "2024-01-07",
        -                        "value": 387
        -                      },
        -                      {
        -                        "date": "2024-01-14",
        -                        "value": 387
        -                      },
        -                      {
        -                        "date": "2024-01-21",
        -                        "value": 391
        -                      },
        -                      {
        -                        "date": "2024-01-28",
        -                        "value": 394
        -                      },
        -                      {
        -                        "date": "2024-02-04",
        -                        "value": 394
        -                      },
        -                      {
        -                        "date": "2024-02-11",
        -                        "value": 394
        -                      },
        -                      {
        -                        "date": "2024-02-18",
        -                        "value": 394
        -                      },
        -                      {
        -                        "date": "2024-02-25",
        -                        "value": 394
        -                      },
        -                      {
        -                        "date": "2024-03-03",
        -                        "value": 394
        -                      },
        -                      {
        -                        "date": "2024-03-10",
        -                        "value": 394
        -                      },
        -                      {
        -                        "date": "2024-03-17",
        -                        "value": 394
        -                      },
        -                      {
        -                        "date": "2024-03-24",
        -                        "value": 394
        -                      },
        -                      {
        -                        "date": "2024-03-31",
        -                        "value": 394
        -                      },
        -                      {
        -                        "date": "2024-04-07",
        -                        "value": 394
        -                      },
        -                      {
        -                        "date": "2024-04-14",
        -                        "value": 397
        -                      },
        -                      {
        -                        "date": "2024-04-21",
        -                        "value": 397
        -                      },
        -                      {
        -                        "date": "2024-04-28",
        -                        "value": 397
        -                      },
        -                      {
        -                        "date": "2024-05-05",
        -                        "value": 397
        -                      },
        -                      {
        -                        "date": "2024-05-12",
        -                        "value": 397
        -                      },
        -                      {
        -                        "date": "2024-05-19",
        -                        "value": 397
        -                      },
        -                      {
        -                        "date": "2024-05-26",
        -                        "value": 397
        -                      },
        -                      {
        -                        "date": "2024-06-02",
        -                        "value": 397
        -                      },
        -                      {
        -                        "date": "2024-06-09",
        -                        "value": 399
        -                      },
        -                      {
        -                        "date": "2024-06-16",
        -                        "value": 399
        -                      },
        -                      {
        -                        "date": "2024-06-23",
        -                        "value": 399
        -                      },
        -                      {
        -                        "date": "2024-06-30",
        -                        "value": 399
        -                      },
        -                      {
        -                        "date": "2024-07-07",
        -                        "value": 399
        -                      },
        -                      {
        -                        "date": "2024-07-14",
        -                        "value": 399
        -                      },
        -                      {
        -                        "date": "2024-07-21",
        -                        "value": 399
        -                      },
        -                      {
        -                        "date": "2024-07-28",
        -                        "value": 399
        -                      },
        -                      {
        -                        "date": "2024-08-04",
        -                        "value": 399
        -                      },
        -                      {
        -                        "date": "2024-08-11",
        -                        "value": 399
        -                      },
        -                      {
        -                        "date": "2024-08-18",
        -                        "value": 399
        -                      },
        -                      {
        -                        "date": "2024-08-25",
        -                        "value": 399
        -                      },
        -                      {
        -                        "date": "2024-09-01",
        -                        "value": 399
        -                      },
        -                      {
        -                        "date": "2024-09-08",
        -                        "value": 399
        -                      },
        -                      {
        -                        "date": "2024-09-15",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2024-09-22",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2024-09-29",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2024-10-06",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2024-10-13",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2024-10-20",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2024-10-27",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2024-11-03",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2024-11-10",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2024-11-17",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2024-11-24",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2024-12-01",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2024-12-08",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2024-12-15",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2024-12-22",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2024-12-29",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-01-05",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-01-12",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-01-19",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-01-26",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-02-02",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-02-09",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-02-16",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-02-23",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-03-02",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-03-09",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-03-16",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-03-23",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-03-30",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-04-06",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-04-13",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-04-20",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-04-27",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-05-04",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-05-11",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-05-18",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-05-25",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-06-01",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-06-08",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-06-15",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-06-22",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-06-29",
        -                        "value": 399
        -                      },
        -                      {
        -                        "date": "2025-07-06",
        -                        "value": 401
        -                      },
        -                      {
        -                        "date": "2025-07-13",
        -                        "value": 392
        -                      },
        -                      {
        -                        "date": "2025-07-20",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-07-27",
        -                        "value": 400
        -                      },
        -                      {
        -                        "date": "2025-08-03",
        -                        "value": 396
        -                      },
        -                      {
        -                        "date": "2025-08-10",
        -                        "value": 394
        -                      },
        -                      {
        -                        "date": "2025-08-17",
        -                        "value": 401
        -                      },
        -                      {
        -                        "date": "2025-08-24",
        -                        "value": 412
        -                      },
        -                      {
        -                        "date": "2025-08-31",
        -                        "value": 412
        -                      },
        -                      {
        -                        "date": "2025-09-07",
        -                        "value": 398
        -                      },
        -                      {
        -                        "date": "2025-09-14",
        -                        "value": 398
        -                      },
        -                      {
        -                        "date": "2025-09-21",
        -                        "value": 396
        -                      },
        -                      {
        -                        "date": "2025-09-28",
        -                        "value": 391
        -                      },
        -                      {
        -                        "date": "2025-10-05",
        -                        "value": 397
        -                      },
        -                      {
        -                        "date": "2025-10-12",
        -                        "value": 403
        -                      },
        -                      {
        -                        "date": "2025-10-19",
        -                        "value": 407
        -                      },
        -                      {
        -                        "date": "2025-10-26",
        -                        "value": 403
        -                      },
        -                      {
        -                        "date": "2025-11-02",
        -                        "value": 401
        -                      },
        -                      {
        -                        "date": "2025-11-09",
        -                        "value": 398
        -                      },
        -                      {
        -                        "date": "2025-11-16",
        -                        "value": 405
        -                      },
        -                      {
        -                        "date": "2025-11-23",
        -                        "value": 390
        -                      },
        -                      {
        -                        "date": "2025-11-30",
        -                        "value": 398
        -                      },
        -                      {
        -                        "date": "2025-12-07",
        -                        "value": 408
        -                      },
        -                      {
        -                        "date": "2025-12-14",
        -                        "value": 408
        -                      },
        -                      {
        -                        "date": "2025-12-21",
        -                        "value": 408
        -                      },
        -                      {
        -                        "date": "2025-12-28",
        -                        "value": 408
        -                      },
        -                      {
        -                        "date": "2026-01-04",
        -                        "value": 415
        -                      },
        -                      {
        -                        "date": "2026-01-11",
        -                        "value": 414
        -                      },
        -                      {
        -                        "date": "2026-01-18",
        -                        "value": 407
        -                      },
        -                      {
        -                        "date": "2026-01-25",
        -                        "value": 410
        -                      },
        -                      {
        -                        "date": "2026-02-01",
        -                        "value": 410
        -                      },
        -                      {
        -                        "date": "2026-02-08",
        -                        "value": 419
        -                      },
        -                      {
        -                        "date": "2026-02-15",
        -                        "value": 424
        -                      },
        -                      {
        -                        "date": "2026-02-22",
        -                        "value": 417
        -                      },
        -                      {
        -                        "date": "2026-03-01",
        -                        "value": 417
        -                      },
        -                      {
        -                        "date": "2026-03-08",
        -                        "value": 417
        -                      },
        -                      {
        -                        "date": "2026-03-15",
        -                        "value": 417
        -                      },
        -                      {
        -                        "date": "2026-03-22",
        -                        "value": 417
        -                      },
        -                      {
        -                        "date": "2026-03-29",
        -                        "value": 421
        -                      },
        -                      {
        -                        "date": "2026-04-05",
        -                        "value": 421
        -                      },
        -                      {
        -                        "date": "2026-04-12",
        -                        "value": 421
        -                      },
        -                      {
        -                        "date": "2026-04-19",
        -                        "value": 421
        -                      },
        -                      {
        -                        "date": "2026-04-26",
        -                        "value": 421
        -                      }
        -                    ]
        -                  },
        -                  "properties": {
        -                    "area_level": {
        -                      "description": "Always 'suburb' for these endpoints.",
        -                      "title": "Area Level",
        -                      "type": "string"
        -                    },
        -                    "area_name": {
        -                      "description": "Suburb (SAL) name.",
        -                      "title": "Area Name",
        -                      "type": "string"
        -                    },
        -                    "house": {
        -                      "anyOf": [
        -                        {
        -                          "items": {
        -                            "description": "One point in a monthly time-series (median price/rent over time).",
        -                            "example": {
        -                              "date": "2026-04-30",
        -                              "value": 1130000
        -                            },
        -                            "properties": {
        -                              "date": {
        -                                "description": "ISO date (YYYY-MM-DD), month-end.",
        -                                "title": "Date",
        -                                "type": "string"
        -                              },
        -                              "value": {
        -                                "description": "Series value at that date.",
        -                                "title": "Value",
        -                                "type": "number"
        -                              }
        -                            },
        -                            "required": [
        -                              "date",
        -                              "value"
        -                            ],
        -                            "title": "TimeSeriesPoint",
        -                            "type": "object"
        -                          },
        -                          "type": "array"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Complete available house-rent series (AUD/week), oldest first.",
        -                      "title": "House"
        -                    },
        -                    "unit": {
        -                      "anyOf": [
        -                        {
        -                          "items": {
        -                            "description": "One point in a monthly time-series (median price/rent over time).",
        -                            "example": {
        -                              "date": "2026-04-30",
        -                              "value": 1130000
        -                            },
        -                            "properties": {
        -                              "date": {
        -                                "description": "ISO date (YYYY-MM-DD), month-end.",
        -                                "title": "Date",
        -                                "type": "string"
        -                              },
        -                              "value": {
        -                                "description": "Series value at that date.",
        -                                "title": "Value",
        -                                "type": "number"
        -                              }
        -                            },
        -                            "required": [
        -                              "date",
        -                              "value"
        -                            ],
        -                            "title": "TimeSeriesPoint",
        -                            "type": "object"
        -                          },
        -                          "type": "array"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Complete available unit-rent series (AUD/week), oldest first.",
        -                      "title": "Unit"
        -                    }
        -                  },
        -                  "required": [
        -                    "area_name",
        -                    "area_level"
        -                  ],
        -                  "title": "MedianRentSeries",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Monthly history of the median weekly rent."
        -            },
        -            "median_sale_price": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Latest median sale price by property type (AUD).",
        -                  "example": {
        -                    "area_level": "suburb",
        -                    "area_name": "Belmont North",
        -                    "as_of": "2026-05-24",
        -                    "house": 1160000,
        -                    "unit": 573000
        -                  },
        -                  "properties": {
        -                    "area_level": {
        -                      "description": "Always 'suburb' for these endpoints.",
        -                      "title": "Area Level",
        -                      "type": "string"
        -                    },
        -                    "area_name": {
        -                      "description": "Suburb (SAL) name.",
        -                      "title": "Area Name",
        -                      "type": "string"
        -                    },
        -                    "as_of": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Date of the most recent observation (YYYY-MM-DD).",
        -                      "title": "As Of"
        -                    },
        -                    "house": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Median sale price for houses (AUD).",
        -                      "title": "House"
        -                    },
        -                    "unit": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Median sale price for units (AUD).",
        -                      "title": "Unit"
        -                    }
        -                  },
        -                  "required": [
        -                    "area_name",
        -                    "area_level"
        -                  ],
        -                  "title": "MedianSalePrice",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Latest median sale price, houses and units separately, in AUD."
        -            },
        -            "median_sale_price_series": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Full median sale price observation history by property type.\n\nWell-covered suburbs can span 20+ years. Observation frequency and start\ndate vary by suburb; inspect the returned dates rather than assuming a\nfixed quarterly cadence. This is a historical price series, not a formal\nconsistency score.",
        -                  "example": {
        -                    "area_level": "suburb",
        -                    "area_name": "Belmont North",
        -                    "house": [
        -                      {
        -                        "date": "2003-05-31",
        -                        "value": 277000
        -                      },
        -                      {
        -                        "date": "2003-06-30",
        -                        "value": 277000
        -                      },
        -                      {
        -                        "date": "2003-07-31",
        -                        "value": 293000
        -                      },
        -                      {
        -                        "date": "2003-08-31",
        -                        "value": 293000
        -                      },
        -                      {
        -                        "date": "2003-09-30",
        -                        "value": 295000
        -                      },
        -                      {
        -                        "date": "2003-10-31",
        -                        "value": 303000
        -                      },
        -                      {
        -                        "date": "2003-11-30",
        -                        "value": 306000
        -                      },
        -                      {
        -                        "date": "2003-12-31",
        -                        "value": 323000
        -                      },
        -                      {
        -                        "date": "2004-01-31",
        -                        "value": 329000
        -                      },
        -                      {
        -                        "date": "2004-02-29",
        -                        "value": 342000
        -                      },
        -                      {
        -                        "date": "2004-03-31",
        -                        "value": 351000
        -                      },
        -                      {
        -                        "date": "2004-04-30",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2004-05-31",
        -                        "value": 357000
        -                      },
        -                      {
        -                        "date": "2004-06-30",
        -                        "value": 357000
        -                      },
        -                      {
        -                        "date": "2004-07-31",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2004-08-31",
        -                        "value": 359000
        -                      },
        -                      {
        -                        "date": "2004-09-30",
        -                        "value": 360000
        -                      },
        -                      {
        -                        "date": "2004-10-31",
        -                        "value": 363000
        -                      },
        -                      {
        -                        "date": "2004-11-30",
        -                        "value": 372000
        -                      },
        -                      {
        -                        "date": "2004-12-31",
        -                        "value": 374000
        -                      },
        -                      {
        -                        "date": "2005-01-31",
        -                        "value": 368000
        -                      },
        -                      {
        -                        "date": "2005-02-28",
        -                        "value": 358000
        -                      },
        -                      {
        -                        "date": "2005-03-31",
        -                        "value": 347000
        -                      },
        -                      {
        -                        "date": "2005-04-30",
        -                        "value": 346000
        -                      },
        -                      {
        -                        "date": "2005-05-31",
        -                        "value": 346000
        -                      },
        -                      {
        -                        "date": "2005-06-30",
        -                        "value": 358000
        -                      },
        -                      {
        -                        "date": "2005-07-31",
        -                        "value": 357000
        -                      },
        -                      {
        -                        "date": "2005-08-31",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2005-09-30",
        -                        "value": 358000
        -                      },
        -                      {
        -                        "date": "2005-10-31",
        -                        "value": 359000
        -                      },
        -                      {
        -                        "date": "2005-11-30",
        -                        "value": 349000
        -                      },
        -                      {
        -                        "date": "2005-12-31",
        -                        "value": 350000
        -                      },
        -                      {
        -                        "date": "2006-01-31",
        -                        "value": 351000
        -                      },
        -                      {
        -                        "date": "2006-02-28",
        -                        "value": 349000
        -                      },
        -                      {
        -                        "date": "2006-03-31",
        -                        "value": 346000
        -                      },
        -                      {
        -                        "date": "2006-04-30",
        -                        "value": 339000
        -                      },
        -                      {
        -                        "date": "2006-05-31",
        -                        "value": 344000
        -                      },
        -                      {
        -                        "date": "2006-06-30",
        -                        "value": 347000
        -                      },
        -                      {
        -                        "date": "2006-07-31",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2006-08-31",
        -                        "value": 360000
        -                      },
        -                      {
        -                        "date": "2006-09-30",
        -                        "value": 360000
        -                      },
        -                      {
        -                        "date": "2006-10-31",
        -                        "value": 361000
        -                      },
        -                      {
        -                        "date": "2006-11-30",
        -                        "value": 365000
        -                      },
        -                      {
        -                        "date": "2006-12-31",
        -                        "value": 361000
        -                      },
        -                      {
        -                        "date": "2007-01-31",
        -                        "value": 360000
        -                      },
        -                      {
        -                        "date": "2007-02-28",
        -                        "value": 359000
        -                      },
        -                      {
        -                        "date": "2007-03-31",
        -                        "value": 348000
        -                      },
        -                      {
        -                        "date": "2007-04-30",
        -                        "value": 354000
        -                      },
        -                      {
        -                        "date": "2007-05-31",
        -                        "value": 344000
        -                      },
        -                      {
        -                        "date": "2007-06-30",
        -                        "value": 345000
        -                      },
        -                      {
        -                        "date": "2007-07-31",
        -                        "value": 350000
        -                      },
        -                      {
        -                        "date": "2007-08-31",
        -                        "value": 342000
        -                      },
        -                      {
        -                        "date": "2007-09-30",
        -                        "value": 337000
        -                      },
        -                      {
        -                        "date": "2007-10-31",
        -                        "value": 346000
        -                      },
        -                      {
        -                        "date": "2007-11-30",
        -                        "value": 346000
        -                      },
        -                      {
        -                        "date": "2007-12-31",
        -                        "value": 338000
        -                      },
        -                      {
        -                        "date": "2008-01-31",
        -                        "value": 330000
        -                      },
        -                      {
        -                        "date": "2008-02-29",
        -                        "value": 333000
        -                      },
        -                      {
        -                        "date": "2008-03-31",
        -                        "value": 342000
        -                      },
        -                      {
        -                        "date": "2008-04-30",
        -                        "value": 349000
        -                      },
        -                      {
        -                        "date": "2008-05-31",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2008-06-30",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2008-07-31",
        -                        "value": 351000
        -                      },
        -                      {
        -                        "date": "2008-08-31",
        -                        "value": 352000
        -                      },
        -                      {
        -                        "date": "2008-09-30",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2008-10-31",
        -                        "value": 358000
        -                      },
        -                      {
        -                        "date": "2008-11-30",
        -                        "value": 352000
        -                      },
        -                      {
        -                        "date": "2008-12-31",
        -                        "value": 348000
        -                      },
        -                      {
        -                        "date": "2009-01-31",
        -                        "value": 344000
        -                      },
        -                      {
        -                        "date": "2009-02-28",
        -                        "value": 344000
        -                      },
        -                      {
        -                        "date": "2009-03-31",
        -                        "value": 343000
        -                      },
        -                      {
        -                        "date": "2009-04-30",
        -                        "value": 339000
        -                      },
        -                      {
        -                        "date": "2009-05-31",
        -                        "value": 338000
        -                      },
        -                      {
        -                        "date": "2009-06-30",
        -                        "value": 341000
        -                      },
        -                      {
        -                        "date": "2009-07-31",
        -                        "value": 340000
        -                      },
        -                      {
        -                        "date": "2009-08-31",
        -                        "value": 340000
        -                      },
        -                      {
        -                        "date": "2009-09-30",
        -                        "value": 335000
        -                      },
        -                      {
        -                        "date": "2009-10-31",
        -                        "value": 337000
        -                      },
        -                      {
        -                        "date": "2009-11-30",
        -                        "value": 337000
        -                      },
        -                      {
        -                        "date": "2009-12-31",
        -                        "value": 339000
        -                      },
        -                      {
        -                        "date": "2010-01-31",
        -                        "value": 338000
        -                      },
        -                      {
        -                        "date": "2010-02-28",
        -                        "value": 339000
        -                      },
        -                      {
        -                        "date": "2010-03-31",
        -                        "value": 341000
        -                      },
        -                      {
        -                        "date": "2010-04-30",
        -                        "value": 343000
        -                      },
        -                      {
        -                        "date": "2010-05-31",
        -                        "value": 348000
        -                      },
        -                      {
        -                        "date": "2010-06-30",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2010-07-31",
        -                        "value": 358000
        -                      },
        -                      {
        -                        "date": "2010-08-31",
        -                        "value": 362000
        -                      },
        -                      {
        -                        "date": "2010-09-30",
        -                        "value": 362000
        -                      },
        -                      {
        -                        "date": "2010-10-31",
        -                        "value": 363000
        -                      },
        -                      {
        -                        "date": "2010-11-30",
        -                        "value": 364000
        -                      },
        -                      {
        -                        "date": "2010-12-31",
        -                        "value": 366000
        -                      },
        -                      {
        -                        "date": "2011-01-31",
        -                        "value": 366000
        -                      },
        -                      {
        -                        "date": "2011-02-28",
        -                        "value": 369000
        -                      },
        -                      {
        -                        "date": "2011-03-31",
        -                        "value": 379000
        -                      },
        -                      {
        -                        "date": "2011-04-30",
        -                        "value": 385000
        -                      },
        -                      {
        -                        "date": "2011-05-31",
        -                        "value": 385000
        -                      },
        -                      {
        -                        "date": "2011-06-30",
        -                        "value": 384000
        -                      },
        -                      {
        -                        "date": "2011-07-31",
        -                        "value": 384000
        -                      },
        -                      {
        -                        "date": "2011-08-31",
        -                        "value": 384000
        -                      },
        -                      {
        -                        "date": "2011-09-30",
        -                        "value": 387000
        -                      },
        -                      {
        -                        "date": "2011-10-31",
        -                        "value": 389000
        -                      },
        -                      {
        -                        "date": "2011-11-30",
        -                        "value": 392000
        -                      },
        -                      {
        -                        "date": "2011-12-31",
        -                        "value": 396000
        -                      },
        -                      {
        -                        "date": "2012-01-31",
        -                        "value": 391000
        -                      },
        -                      {
        -                        "date": "2012-02-29",
        -                        "value": 390000
        -                      },
        -                      {
        -                        "date": "2012-03-31",
        -                        "value": 392000
        -                      },
        -                      {
        -                        "date": "2012-04-30",
        -                        "value": 383000
        -                      },
        -                      {
        -                        "date": "2012-05-31",
        -                        "value": 390000
        -                      },
        -                      {
        -                        "date": "2012-06-30",
        -                        "value": 381000
        -                      },
        -                      {
        -                        "date": "2012-07-31",
        -                        "value": 389000
        -                      },
        -                      {
        -                        "date": "2012-08-31",
        -                        "value": 389000
        -                      },
        -                      {
        -                        "date": "2012-09-30",
        -                        "value": 383000
        -                      },
        -                      {
        -                        "date": "2012-10-31",
        -                        "value": 384000
        -                      },
        -                      {
        -                        "date": "2012-11-30",
        -                        "value": 392000
        -                      },
        -                      {
        -                        "date": "2012-12-31",
        -                        "value": 391000
        -                      },
        -                      {
        -                        "date": "2013-01-31",
        -                        "value": 388000
        -                      },
        -                      {
        -                        "date": "2013-02-28",
        -                        "value": 390000
        -                      },
        -                      {
        -                        "date": "2013-03-31",
        -                        "value": 392000
        -                      },
        -                      {
        -                        "date": "2013-04-30",
        -                        "value": 389000
        -                      },
        -                      {
        -                        "date": "2013-05-31",
        -                        "value": 391000
        -                      },
        -                      {
        -                        "date": "2013-06-30",
        -                        "value": 388000
        -                      },
        -                      {
        -                        "date": "2013-07-31",
        -                        "value": 390000
        -                      },
        -                      {
        -                        "date": "2013-08-31",
        -                        "value": 394000
        -                      },
        -                      {
        -                        "date": "2013-09-30",
        -                        "value": 393000
        -                      },
        -                      {
        -                        "date": "2013-10-31",
        -                        "value": 391000
        -                      },
        -                      {
        -                        "date": "2013-11-30",
        -                        "value": 392000
        -                      },
        -                      {
        -                        "date": "2013-12-31",
        -                        "value": 392000
        -                      },
        -                      {
        -                        "date": "2014-01-31",
        -                        "value": 397000
        -                      },
        -                      {
        -                        "date": "2014-02-28",
        -                        "value": 398000
        -                      },
        -                      {
        -                        "date": "2014-03-31",
        -                        "value": 413000
        -                      },
        -                      {
        -                        "date": "2014-04-30",
        -                        "value": 417000
        -                      },
        -                      {
        -                        "date": "2014-05-31",
        -                        "value": 425000
        -                      },
        -                      {
        -                        "date": "2014-06-30",
        -                        "value": 424000
        -                      },
        -                      {
        -                        "date": "2014-07-31",
        -                        "value": 428000
        -                      },
        -                      {
        -                        "date": "2014-08-31",
        -                        "value": 426000
        -                      },
        -                      {
        -                        "date": "2014-09-30",
        -                        "value": 430000
        -                      },
        -                      {
        -                        "date": "2014-10-31",
        -                        "value": 430000
        -                      },
        -                      {
        -                        "date": "2014-11-30",
        -                        "value": 437000
        -                      },
        -                      {
        -                        "date": "2014-12-31",
        -                        "value": 438000
        -                      },
        -                      {
        -                        "date": "2015-01-31",
        -                        "value": 444000
        -                      },
        -                      {
        -                        "date": "2015-02-28",
        -                        "value": 443000
        -                      },
        -                      {
        -                        "date": "2015-03-31",
        -                        "value": 451000
        -                      },
        -                      {
        -                        "date": "2015-04-30",
        -                        "value": 462000
        -                      },
        -                      {
        -                        "date": "2015-05-31",
        -                        "value": 469000
        -                      },
        -                      {
        -                        "date": "2015-06-30",
        -                        "value": 469000
        -                      },
        -                      {
        -                        "date": "2015-07-31",
        -                        "value": 470000
        -                      },
        -                      {
        -                        "date": "2015-08-31",
        -                        "value": 470000
        -                      },
        -                      {
        -                        "date": "2015-09-30",
        -                        "value": 468000
        -                      },
        -                      {
        -                        "date": "2015-10-31",
        -                        "value": 462000
        -                      },
        -                      {
        -                        "date": "2015-11-30",
        -                        "value": 461000
        -                      },
        -                      {
        -                        "date": "2015-12-31",
        -                        "value": 461000
        -                      },
        -                      {
        -                        "date": "2016-01-31",
        -                        "value": 461000
        -                      },
        -                      {
        -                        "date": "2016-02-29",
        -                        "value": 467000
        -                      },
        -                      {
        -                        "date": "2016-03-31",
        -                        "value": 465000
        -                      },
        -                      {
        -                        "date": "2016-04-30",
        -                        "value": 462000
        -                      },
        -                      {
        -                        "date": "2016-05-31",
        -                        "value": 467000
        -                      },
        -                      {
        -                        "date": "2016-06-30",
        -                        "value": 479000
        -                      },
        -                      {
        -                        "date": "2016-07-31",
        -                        "value": 488000
        -                      },
        -                      {
        -                        "date": "2016-08-31",
        -                        "value": 491000
        -                      },
        -                      {
        -                        "date": "2016-09-30",
        -                        "value": 500000
        -                      },
        -                      {
        -                        "date": "2016-10-31",
        -                        "value": 498000
        -                      },
        -                      {
        -                        "date": "2016-11-30",
        -                        "value": 506000
        -                      },
        -                      {
        -                        "date": "2016-12-31",
        -                        "value": 510000
        -                      },
        -                      {
        -                        "date": "2017-01-31",
        -                        "value": 510000
        -                      },
        -                      {
        -                        "date": "2017-02-28",
        -                        "value": 510000
        -                      },
        -                      {
        -                        "date": "2017-03-31",
        -                        "value": 516000
        -                      },
        -                      {
        -                        "date": "2017-04-30",
        -                        "value": 519000
        -                      },
        -                      {
        -                        "date": "2017-05-31",
        -                        "value": 521000
        -                      },
        -                      {
        -                        "date": "2017-06-30",
        -                        "value": 536000
        -                      },
        -                      {
        -                        "date": "2017-07-31",
        -                        "value": 535000
        -                      },
        -                      {
        -                        "date": "2017-08-31",
        -                        "value": 554000
        -                      },
        -                      {
        -                        "date": "2017-09-30",
        -                        "value": 556000
        -                      },
        -                      {
        -                        "date": "2017-10-31",
        -                        "value": 562000
        -                      },
        -                      {
        -                        "date": "2017-11-30",
        -                        "value": 573000
        -                      },
        -                      {
        -                        "date": "2017-12-31",
        -                        "value": 581000
        -                      },
        -                      {
        -                        "date": "2018-01-31",
        -                        "value": 581000
        -                      },
        -                      {
        -                        "date": "2018-02-28",
        -                        "value": 590000
        -                      },
        -                      {
        -                        "date": "2018-03-31",
        -                        "value": 598000
        -                      },
        -                      {
        -                        "date": "2018-04-30",
        -                        "value": 602000
        -                      },
        -                      {
        -                        "date": "2018-05-31",
        -                        "value": 622000
        -                      },
        -                      {
        -                        "date": "2018-06-30",
        -                        "value": 622000
        -                      },
        -                      {
        -                        "date": "2018-07-31",
        -                        "value": 623000
        -                      },
        -                      {
        -                        "date": "2018-08-31",
        -                        "value": 633000
        -                      },
        -                      {
        -                        "date": "2018-09-30",
        -                        "value": 632000
        -                      },
        -                      {
        -                        "date": "2018-10-31",
        -                        "value": 637000
        -                      },
        -                      {
        -                        "date": "2018-11-30",
        -                        "value": 632000
        -                      },
        -                      {
        -                        "date": "2018-12-31",
        -                        "value": 624000
        -                      },
        -                      {
        -                        "date": "2019-01-31",
        -                        "value": 625000
        -                      },
        -                      {
        -                        "date": "2019-02-28",
        -                        "value": 630000
        -                      },
        -                      {
        -                        "date": "2019-03-31",
        -                        "value": 629000
        -                      },
        -                      {
        -                        "date": "2019-04-30",
        -                        "value": 626000
        -                      },
        -                      {
        -                        "date": "2019-05-31",
        -                        "value": 624000
        -                      },
        -                      {
        -                        "date": "2019-06-30",
        -                        "value": 611000
        -                      },
        -                      {
        -                        "date": "2019-07-31",
        -                        "value": 605000
        -                      },
        -                      {
        -                        "date": "2019-08-31",
        -                        "value": 598000
        -                      },
        -                      {
        -                        "date": "2019-09-30",
        -                        "value": 582000
        -                      },
        -                      {
        -                        "date": "2019-10-31",
        -                        "value": 567000
        -                      },
        -                      {
        -                        "date": "2019-11-30",
        -                        "value": 566000
        -                      },
        -                      {
        -                        "date": "2019-12-31",
        -                        "value": 574000
        -                      },
        -                      {
        -                        "date": "2020-01-31",
        -                        "value": 582000
        -                      },
        -                      {
        -                        "date": "2020-02-29",
        -                        "value": 576000
        -                      },
        -                      {
        -                        "date": "2020-03-31",
        -                        "value": 572000
        -                      },
        -                      {
        -                        "date": "2020-04-30",
        -                        "value": 587000
        -                      },
        -                      {
        -                        "date": "2020-05-31",
        -                        "value": 593000
        -                      },
        -                      {
        -                        "date": "2020-06-30",
        -                        "value": 593000
        -                      },
        -                      {
        -                        "date": "2020-07-31",
        -                        "value": 602000
        -                      },
        -                      {
        -                        "date": "2020-08-31",
        -                        "value": 607000
        -                      },
        -                      {
        -                        "date": "2020-09-30",
        -                        "value": 597000
        -                      },
        -                      {
        -                        "date": "2020-10-31",
        -                        "value": 598000
        -                      },
        -                      {
        -                        "date": "2020-11-30",
        -                        "value": 611000
        -                      },
        -                      {
        -                        "date": "2020-12-31",
        -                        "value": 620000
        -                      },
        -                      {
        -                        "date": "2021-01-31",
        -                        "value": 635000
        -                      },
        -                      {
        -                        "date": "2021-02-28",
        -                        "value": 639000
        -                      },
        -                      {
        -                        "date": "2021-03-31",
        -                        "value": 657000
        -                      },
        -                      {
        -                        "date": "2021-04-30",
        -                        "value": 678000
        -                      },
        -                      {
        -                        "date": "2021-05-31",
        -                        "value": 686000
        -                      },
        -                      {
        -                        "date": "2021-06-30",
        -                        "value": 689000
        -                      },
        -                      {
        -                        "date": "2021-07-31",
        -                        "value": 698000
        -                      },
        -                      {
        -                        "date": "2021-08-31",
        -                        "value": 705000
        -                      },
        -                      {
        -                        "date": "2021-09-30",
        -                        "value": 720000
        -                      },
        -                      {
        -                        "date": "2021-10-31",
        -                        "value": 748000
        -                      },
        -                      {
        -                        "date": "2021-11-30",
        -                        "value": 759000
        -                      },
        -                      {
        -                        "date": "2021-12-31",
        -                        "value": 775000
        -                      },
        -                      {
        -                        "date": "2022-01-31",
        -                        "value": 810000
        -                      },
        -                      {
        -                        "date": "2022-02-28",
        -                        "value": 843000
        -                      },
        -                      {
        -                        "date": "2022-03-31",
        -                        "value": 890000
        -                      },
        -                      {
        -                        "date": "2022-04-30",
        -                        "value": 901000
        -                      },
        -                      {
        -                        "date": "2022-05-31",
        -                        "value": 910000
        -                      },
        -                      {
        -                        "date": "2022-06-30",
        -                        "value": 911000
        -                      },
        -                      {
        -                        "date": "2022-07-31",
        -                        "value": 907000
        -                      },
        -                      {
        -                        "date": "2022-08-28",
        -                        "value": 906000
        -                      },
        -                      {
        -                        "date": "2022-08-31",
        -                        "value": 906000
        -                      },
        -                      {
        -                        "date": "2022-09-04",
        -                        "value": 906000
        -                      },
        -                      {
        -                        "date": "2022-09-11",
        -                        "value": 906000
        -                      },
        -                      {
        -                        "date": "2022-09-18",
        -                        "value": 904000
        -                      },
        -                      {
        -                        "date": "2022-09-25",
        -                        "value": 902000
        -                      },
        -                      {
        -                        "date": "2022-10-02",
        -                        "value": 902000
        -                      },
        -                      {
        -                        "date": "2022-10-09",
        -                        "value": 901000
        -                      },
        -                      {
        -                        "date": "2022-10-16",
        -                        "value": 901000
        -                      },
        -                      {
        -                        "date": "2022-10-23",
        -                        "value": 897000
        -                      },
        -                      {
        -                        "date": "2022-10-30",
        -                        "value": 898000
        -                      },
        -                      {
        -                        "date": "2022-11-06",
        -                        "value": 900000
        -                      },
        -                      {
        -                        "date": "2022-11-13",
        -                        "value": 900000
        -                      },
        -                      {
        -                        "date": "2022-11-20",
        -                        "value": 900000
        -                      },
        -                      {
        -                        "date": "2022-11-27",
        -                        "value": 904000
        -                      },
        -                      {
        -                        "date": "2022-12-04",
        -                        "value": 900000
        -                      },
        -                      {
        -                        "date": "2022-12-11",
        -                        "value": 897000
        -                      },
        -                      {
        -                        "date": "2022-12-18",
        -                        "value": 897000
        -                      },
        -                      {
        -                        "date": "2022-12-25",
        -                        "value": 897000
        -                      },
        -                      {
        -                        "date": "2023-01-01",
        -                        "value": 897000
        -                      },
        -                      {
        -                        "date": "2023-01-08",
        -                        "value": 897000
        -                      },
        -                      {
        -                        "date": "2023-01-15",
        -                        "value": 896000
        -                      },
        -                      {
        -                        "date": "2023-01-22",
        -                        "value": 896000
        -                      },
        -                      {
        -                        "date": "2023-01-29",
        -                        "value": 896000
        -                      },
        -                      {
        -                        "date": "2023-02-05",
        -                        "value": 893000
        -                      },
        -                      {
        -                        "date": "2023-02-12",
        -                        "value": 889000
        -                      },
        -                      {
        -                        "date": "2023-02-19",
        -                        "value": 877000
        -                      },
        -                      {
        -                        "date": "2023-02-26",
        -                        "value": 874000
        -                      },
        -                      {
        -                        "date": "2023-03-05",
        -                        "value": 856000
        -                      },
        -                      {
        -                        "date": "2023-03-12",
        -                        "value": 851000
        -                      },
        -                      {
        -                        "date": "2023-03-19",
        -                        "value": 849000
        -                      },
        -                      {
        -                        "date": "2023-03-26",
        -                        "value": 840000
        -                      },
        -                      {
        -                        "date": "2023-04-02",
        -                        "value": 837000
        -                      },
        -                      {
        -                        "date": "2023-04-09",
        -                        "value": 837000
        -                      },
        -                      {
        -                        "date": "2023-04-16",
        -                        "value": 836000
        -                      },
        -                      {
        -                        "date": "2023-04-23",
        -                        "value": 835000
        -                      },
        -                      {
        -                        "date": "2023-04-30",
        -                        "value": 834000
        -                      },
        -                      {
        -                        "date": "2023-05-07",
        -                        "value": 835000
        -                      },
        -                      {
        -                        "date": "2023-05-14",
        -                        "value": 843000
        -                      },
        -                      {
        -                        "date": "2023-05-21",
        -                        "value": 848000
        -                      },
        -                      {
        -                        "date": "2023-05-28",
        -                        "value": 847000
        -                      },
        -                      {
        -                        "date": "2023-06-04",
        -                        "value": 846000
        -                      },
        -                      {
        -                        "date": "2023-06-11",
        -                        "value": 846000
        -                      },
        -                      {
        -                        "date": "2023-06-18",
        -                        "value": 847000
        -                      },
        -                      {
        -                        "date": "2023-06-25",
        -                        "value": 847000
        -                      },
        -                      {
        -                        "date": "2023-07-02",
        -                        "value": 853000
        -                      },
        -                      {
        -                        "date": "2023-07-09",
        -                        "value": 850000
        -                      },
        -                      {
        -                        "date": "2023-07-16",
        -                        "value": 846000
        -                      },
        -                      {
        -                        "date": "2023-07-23",
        -                        "value": 845000
        -                      },
        -                      {
        -                        "date": "2023-07-30",
        -                        "value": 845000
        -                      },
        -                      {
        -                        "date": "2023-08-06",
        -                        "value": 845000
        -                      },
        -                      {
        -                        "date": "2023-08-13",
        -                        "value": 847000
        -                      },
        -                      {
        -                        "date": "2023-08-20",
        -                        "value": 847000
        -                      },
        -                      {
        -                        "date": "2023-08-27",
        -                        "value": 844000
        -                      },
        -                      {
        -                        "date": "2023-09-03",
        -                        "value": 843000
        -                      },
        -                      {
        -                        "date": "2023-09-10",
        -                        "value": 843000
        -                      },
        -                      {
        -                        "date": "2023-09-17",
        -                        "value": 843000
        -                      },
        -                      {
        -                        "date": "2023-09-24",
        -                        "value": 844000
        -                      },
        -                      {
        -                        "date": "2023-10-01",
        -                        "value": 844000
        -                      },
        -                      {
        -                        "date": "2023-10-08",
        -                        "value": 845000
        -                      },
        -                      {
        -                        "date": "2023-10-15",
        -                        "value": 845000
        -                      },
        -                      {
        -                        "date": "2023-10-22",
        -                        "value": 845000
        -                      },
        -                      {
        -                        "date": "2023-10-29",
        -                        "value": 844000
        -                      },
        -                      {
        -                        "date": "2023-11-05",
        -                        "value": 846000
        -                      },
        -                      {
        -                        "date": "2023-11-12",
        -                        "value": 847000
        -                      },
        -                      {
        -                        "date": "2023-11-19",
        -                        "value": 846000
        -                      },
        -                      {
        -                        "date": "2023-11-26",
        -                        "value": 844000
        -                      },
        -                      {
        -                        "date": "2023-12-03",
        -                        "value": 843000
        -                      },
        -                      {
        -                        "date": "2023-12-10",
        -                        "value": 843000
        -                      },
        -                      {
        -                        "date": "2023-12-17",
        -                        "value": 844000
        -                      },
        -                      {
        -                        "date": "2023-12-24",
        -                        "value": 844000
        -                      },
        -                      {
        -                        "date": "2023-12-31",
        -                        "value": 844000
        -                      },
        -                      {
        -                        "date": "2024-01-07",
        -                        "value": 848000
        -                      },
        -                      {
        -                        "date": "2024-01-14",
        -                        "value": 850000
        -                      },
        -                      {
        -                        "date": "2024-01-21",
        -                        "value": 853000
        -                      },
        -                      {
        -                        "date": "2024-01-28",
        -                        "value": 854000
        -                      },
        -                      {
        -                        "date": "2024-02-04",
        -                        "value": 858000
        -                      },
        -                      {
        -                        "date": "2024-02-11",
        -                        "value": 856000
        -                      },
        -                      {
        -                        "date": "2024-02-18",
        -                        "value": 858000
        -                      },
        -                      {
        -                        "date": "2024-02-25",
        -                        "value": 858000
        -                      },
        -                      {
        -                        "date": "2024-03-03",
        -                        "value": 859000
        -                      },
        -                      {
        -                        "date": "2024-03-10",
        -                        "value": 861000
        -                      },
        -                      {
        -                        "date": "2024-03-17",
        -                        "value": 862000
        -                      },
        -                      {
        -                        "date": "2024-03-24",
        -                        "value": 866000
        -                      },
        -                      {
        -                        "date": "2024-03-31",
        -                        "value": 866000
        -                      },
        -                      {
        -                        "date": "2024-04-07",
        -                        "value": 876000
        -                      },
        -                      {
        -                        "date": "2024-04-14",
        -                        "value": 879000
        -                      },
        -                      {
        -                        "date": "2024-04-21",
        -                        "value": 900000
        -                      },
        -                      {
        -                        "date": "2024-04-28",
        -                        "value": 908000
        -                      },
        -                      {
        -                        "date": "2024-05-05",
        -                        "value": 924000
        -                      },
        -                      {
        -                        "date": "2024-05-12",
        -                        "value": 929000
        -                      },
        -                      {
        -                        "date": "2024-05-19",
        -                        "value": 931000
        -                      },
        -                      {
        -                        "date": "2024-05-26",
        -                        "value": 918000
        -                      },
        -                      {
        -                        "date": "2024-06-02",
        -                        "value": 927000
        -                      },
        -                      {
        -                        "date": "2024-06-09",
        -                        "value": 933000
        -                      },
        -                      {
        -                        "date": "2024-06-16",
        -                        "value": 937000
        -                      },
        -                      {
        -                        "date": "2024-06-23",
        -                        "value": 939000
        -                      },
        -                      {
        -                        "date": "2024-06-30",
        -                        "value": 934000
        -                      },
        -                      {
        -                        "date": "2024-07-07",
        -                        "value": 937000
        -                      },
        -                      {
        -                        "date": "2024-07-14",
        -                        "value": 937000
        -                      },
        -                      {
        -                        "date": "2024-07-21",
        -                        "value": 937000
        -                      },
        -                      {
        -                        "date": "2024-07-28",
        -                        "value": 937000
        -                      },
        -                      {
        -                        "date": "2024-08-04",
        -                        "value": 922000
        -                      },
        -                      {
        -                        "date": "2024-08-11",
        -                        "value": 922000
        -                      },
        -                      {
        -                        "date": "2024-08-18",
        -                        "value": 897000
        -                      },
        -                      {
        -                        "date": "2024-08-25",
        -                        "value": 877000
        -                      },
        -                      {
        -                        "date": "2024-09-01",
        -                        "value": 869000
        -                      },
        -                      {
        -                        "date": "2024-09-08",
        -                        "value": 868000
        -                      },
        -                      {
        -                        "date": "2024-09-15",
        -                        "value": 863000
        -                      },
        -                      {
        -                        "date": "2024-09-22",
        -                        "value": 860000
        -                      },
        -                      {
        -                        "date": "2024-09-29",
        -                        "value": 861000
        -                      },
        -                      {
        -                        "date": "2024-10-06",
        -                        "value": 863000
        -                      },
        -                      {
        -                        "date": "2024-10-13",
        -                        "value": 862000
        -                      },
        -                      {
        -                        "date": "2024-10-20",
        -                        "value": 861000
        -                      },
        -                      {
        -                        "date": "2024-10-27",
        -                        "value": 866000
        -                      },
        -                      {
        -                        "date": "2024-11-03",
        -                        "value": 867000
        -                      },
        -                      {
        -                        "date": "2024-11-10",
        -                        "value": 868000
        -                      },
        -                      {
        -                        "date": "2024-11-17",
        -                        "value": 868000
        -                      },
        -                      {
        -                        "date": "2024-11-24",
        -                        "value": 874000
        -                      },
        -                      {
        -                        "date": "2024-12-01",
        -                        "value": 874000
        -                      },
        -                      {
        -                        "date": "2024-12-08",
        -                        "value": 885000
        -                      },
        -                      {
        -                        "date": "2024-12-15",
        -                        "value": 885000
        -                      },
        -                      {
        -                        "date": "2024-12-22",
        -                        "value": 885000
        -                      },
        -                      {
        -                        "date": "2024-12-29",
        -                        "value": 885000
        -                      },
        -                      {
        -                        "date": "2025-01-05",
        -                        "value": 885000
        -                      },
        -                      {
        -                        "date": "2025-01-12",
        -                        "value": 885000
        -                      },
        -                      {
        -                        "date": "2025-01-19",
        -                        "value": 885000
        -                      },
        -                      {
        -                        "date": "2025-01-26",
        -                        "value": 893000
        -                      },
        -                      {
        -                        "date": "2025-02-02",
        -                        "value": 893000
        -                      },
        -                      {
        -                        "date": "2025-02-09",
        -                        "value": 898000
        -                      },
        -                      {
        -                        "date": "2025-02-16",
        -                        "value": 897000
        -                      },
        -                      {
        -                        "date": "2025-02-23",
        -                        "value": 897000
        -                      },
        -                      {
        -                        "date": "2025-03-02",
        -                        "value": 899000
        -                      },
        -                      {
        -                        "date": "2025-03-09",
        -                        "value": 900000
        -                      },
        -                      {
        -                        "date": "2025-03-16",
        -                        "value": 902000
        -                      },
        -                      {
        -                        "date": "2025-03-23",
        -                        "value": 908000
        -                      },
        -                      {
        -                        "date": "2025-03-30",
        -                        "value": 909000
        -                      },
        -                      {
        -                        "date": "2025-04-06",
        -                        "value": 909000
        -                      },
        -                      {
        -                        "date": "2025-04-13",
        -                        "value": 938000
        -                      },
        -                      {
        -                        "date": "2025-04-20",
        -                        "value": 932000
        -                      },
        -                      {
        -                        "date": "2025-04-27",
        -                        "value": 945000
        -                      },
        -                      {
        -                        "date": "2025-05-04",
        -                        "value": 955000
        -                      },
        -                      {
        -                        "date": "2025-05-11",
        -                        "value": 959000
        -                      },
        -                      {
        -                        "date": "2025-05-18",
        -                        "value": 962000
        -                      },
        -                      {
        -                        "date": "2025-05-25",
        -                        "value": 963000
        -                      },
        -                      {
        -                        "date": "2025-06-01",
        -                        "value": 963000
        -                      },
        -                      {
        -                        "date": "2025-06-08",
        -                        "value": 964000
        -                      },
        -                      {
        -                        "date": "2025-06-15",
        -                        "value": 965000
        -                      },
        -                      {
        -                        "date": "2025-06-22",
        -                        "value": 964000
        -                      },
        -                      {
        -                        "date": "2025-06-29",
        -                        "value": 964000
        -                      },
        -                      {
        -                        "date": "2025-07-06",
        -                        "value": 951000
        -                      },
        -                      {
        -                        "date": "2025-07-13",
        -                        "value": 924000
        -                      },
        -                      {
        -                        "date": "2025-07-20",
        -                        "value": 967000
        -                      },
        -                      {
        -                        "date": "2025-07-27",
        -                        "value": 990000
        -                      },
        -                      {
        -                        "date": "2025-08-03",
        -                        "value": 1010000
        -                      },
        -                      {
        -                        "date": "2025-08-10",
        -                        "value": 976000
        -                      },
        -                      {
        -                        "date": "2025-08-17",
        -                        "value": 987000
        -                      },
        -                      {
        -                        "date": "2025-08-24",
        -                        "value": 1000000
        -                      },
        -                      {
        -                        "date": "2025-08-31",
        -                        "value": 1000000
        -                      },
        -                      {
        -                        "date": "2025-09-07",
        -                        "value": 1020000
        -                      },
        -                      {
        -                        "date": "2025-09-14",
        -                        "value": 1040000
        -                      },
        -                      {
        -                        "date": "2025-09-21",
        -                        "value": 1030000
        -                      },
        -                      {
        -                        "date": "2025-09-28",
        -                        "value": 1040000
        -                      },
        -                      {
        -                        "date": "2025-10-05",
        -                        "value": 1030000
        -                      },
        -                      {
        -                        "date": "2025-10-12",
        -                        "value": 1020000
        -                      },
        -                      {
        -                        "date": "2025-10-19",
        -                        "value": 1040000
        -                      },
        -                      {
        -                        "date": "2025-10-26",
        -                        "value": 1030000
        -                      },
        -                      {
        -                        "date": "2025-11-02",
        -                        "value": 1040000
        -                      },
        -                      {
        -                        "date": "2025-11-09",
        -                        "value": 1050000
        -                      },
        -                      {
        -                        "date": "2025-11-16",
        -                        "value": 1040000
        -                      },
        -                      {
        -                        "date": "2025-11-23",
        -                        "value": 1060000
        -                      },
        -                      {
        -                        "date": "2025-11-30",
        -                        "value": 1050000
        -                      },
        -                      {
        -                        "date": "2025-12-07",
        -                        "value": 1060000
        -                      },
        -                      {
        -                        "date": "2025-12-14",
        -                        "value": 1070000
        -                      },
        -                      {
        -                        "date": "2025-12-21",
        -                        "value": 1070000
        -                      },
        -                      {
        -                        "date": "2025-12-28",
        -                        "value": 1070000
        -                      },
        -                      {
        -                        "date": "2026-01-04",
        -                        "value": 1090000
        -                      },
        -                      {
        -                        "date": "2026-01-11",
        -                        "value": 1080000
        -                      },
        -                      {
        -                        "date": "2026-01-18",
        -                        "value": 1090000
        -                      },
        -                      {
        -                        "date": "2026-01-25",
        -                        "value": 1080000
        -                      },
        -                      {
        -                        "date": "2026-02-01",
        -                        "value": 1110000
        -                      },
        -                      {
        -                        "date": "2026-02-08",
        -                        "value": 1100000
        -                      },
        -                      {
        -                        "date": "2026-02-15",
        -                        "value": 1080000
        -                      },
        -                      {
        -                        "date": "2026-02-22",
        -                        "value": 1080000
        -                      },
        -                      {
        -                        "date": "2026-03-01",
        -                        "value": 1090000
        -                      },
        -                      {
        -                        "date": "2026-03-08",
        -                        "value": 1090000
        -                      },
        -                      {
        -                        "date": "2026-03-15",
        -                        "value": 1090000
        -                      },
        -                      {
        -                        "date": "2026-03-22",
        -                        "value": 1090000
        -                      },
        -                      {
        -                        "date": "2026-03-29",
        -                        "value": 1100000
        -                      },
        -                      {
        -                        "date": "2026-04-05",
        -                        "value": 1100000
        -                      },
        -                      {
        -                        "date": "2026-04-12",
        -                        "value": 1100000
        -                      },
        -                      {
        -                        "date": "2026-04-19",
        -                        "value": 1100000
        -                      },
        -                      {
        -                        "date": "2026-04-26",
        -                        "value": 1130000
        -                      }
        -                    ],
        -                    "unit": [
        -                      {
        -                        "date": "2004-02-29",
        -                        "value": 347000
        -                      },
        -                      {
        -                        "date": "2004-03-31",
        -                        "value": 347000
        -                      },
        -                      {
        -                        "date": "2004-04-30",
        -                        "value": 347000
        -                      },
        -                      {
        -                        "date": "2004-05-31",
        -                        "value": 347000
        -                      },
        -                      {
        -                        "date": "2004-06-30",
        -                        "value": 347000
        -                      },
        -                      {
        -                        "date": "2004-07-31",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2004-08-31",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2004-09-30",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2004-10-31",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2004-11-30",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2004-12-31",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2005-01-31",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2005-02-28",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2005-03-31",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2005-04-30",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2005-05-31",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2005-06-30",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2005-07-31",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2005-08-31",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2005-09-30",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2005-10-31",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2005-11-30",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2005-12-31",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2006-01-31",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2006-02-28",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2006-03-31",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2006-04-30",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2006-05-31",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2006-06-30",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2006-07-31",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2006-08-31",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2006-09-30",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2006-10-31",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2006-11-30",
        -                        "value": 349000
        -                      },
        -                      {
        -                        "date": "2006-12-31",
        -                        "value": 349000
        -                      },
        -                      {
        -                        "date": "2007-01-31",
        -                        "value": 347000
        -                      },
        -                      {
        -                        "date": "2007-02-28",
        -                        "value": 340000
        -                      },
        -                      {
        -                        "date": "2007-03-31",
        -                        "value": 339000
        -                      },
        -                      {
        -                        "date": "2007-04-30",
        -                        "value": 339000
        -                      },
        -                      {
        -                        "date": "2007-05-31",
        -                        "value": 348000
        -                      },
        -                      {
        -                        "date": "2007-06-30",
        -                        "value": 348000
        -                      },
        -                      {
        -                        "date": "2007-07-31",
        -                        "value": 352000
        -                      },
        -                      {
        -                        "date": "2007-08-31",
        -                        "value": 352000
        -                      },
        -                      {
        -                        "date": "2007-09-30",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2007-10-31",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2007-11-30",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2007-12-31",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2008-01-31",
        -                        "value": 355000
        -                      },
        -                      {
        -                        "date": "2008-02-29",
        -                        "value": 349000
        -                      },
        -                      {
        -                        "date": "2008-03-31",
        -                        "value": 349000
        -                      },
        -                      {
        -                        "date": "2008-04-30",
        -                        "value": 340000
        -                      },
        -                      {
        -                        "date": "2008-05-31",
        -                        "value": 340000
        -                      },
        -                      {
        -                        "date": "2008-06-30",
        -                        "value": 339000
        -                      },
        -                      {
        -                        "date": "2008-07-31",
        -                        "value": 340000
        -                      },
        -                      {
        -                        "date": "2008-08-31",
        -                        "value": 344000
        -                      },
        -                      {
        -                        "date": "2008-09-30",
        -                        "value": 346000
        -                      },
        -                      {
        -                        "date": "2008-10-31",
        -                        "value": 346000
        -                      },
        -                      {
        -                        "date": "2008-11-30",
        -                        "value": 346000
        -                      },
        -                      {
        -                        "date": "2008-12-31",
        -                        "value": 346000
        -                      },
        -                      {
        -                        "date": "2009-01-31",
        -                        "value": 346000
        -                      },
        -                      {
        -                        "date": "2009-02-28",
        -                        "value": 350000
        -                      },
        -                      {
        -                        "date": "2009-03-31",
        -                        "value": 351000
        -                      },
        -                      {
        -                        "date": "2009-04-30",
        -                        "value": 353000
        -                      },
        -                      {
        -                        "date": "2009-05-31",
        -                        "value": 353000
        -                      },
        -                      {
        -                        "date": "2009-06-30",
        -                        "value": 354000
        -                      },
        -                      {
        -                        "date": "2009-07-31",
        -                        "value": 354000
        -                      },
        -                      {
        -                        "date": "2009-08-31",
        -                        "value": 354000
        -                      },
        -                      {
        -                        "date": "2009-09-30",
        -                        "value": 354000
        -                      },
        -                      {
        -                        "date": "2009-10-31",
        -                        "value": 354000
        -                      },
        -                      {
        -                        "date": "2009-11-30",
        -                        "value": 352000
        -                      },
        -                      {
        -                        "date": "2009-12-31",
        -                        "value": 352000
        -                      },
        -                      {
        -                        "date": "2010-01-31",
        -                        "value": 352000
        -                      },
        -                      {
        -                        "date": "2010-02-28",
        -                        "value": 352000
        -                      },
        -                      {
        -                        "date": "2010-03-31",
        -                        "value": 350000
        -                      },
        -                      {
        -                        "date": "2010-04-30",
        -                        "value": 349000
        -                      },
        -                      {
        -                        "date": "2010-05-31",
        -                        "value": 349000
        -                      },
        -                      {
        -                        "date": "2010-06-30",
        -                        "value": 349000
        -                      },
        -                      {
        -                        "date": "2010-07-31",
        -                        "value": 349000
        -                      },
        -                      {
        -                        "date": "2010-08-31",
        -                        "value": 354000
        -                      },
        -                      {
        -                        "date": "2010-09-30",
        -                        "value": 354000
        -                      },
        -                      {
        -                        "date": "2010-10-31",
        -                        "value": 354000
        -                      },
        -                      {
        -                        "date": "2010-11-30",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2010-12-31",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2011-01-31",
        -                        "value": 356000
        -                      },
        -                      {
        -                        "date": "2011-02-28",
        -                        "value": 358000
        -                      },
        -                      {
        -                        "date": "2011-03-31",
        -                        "value": 359000
        -                      },
        -                      {
        -                        "date": "2011-04-30",
        -                        "value": 358000
        -                      },
        -                      {
        -                        "date": "2011-05-31",
        -                        "value": 353000
        -                      },
        -                      {
        -                        "date": "2011-06-30",
        -                        "value": 348000
        -                      },
        -                      {
        -                        "date": "2011-07-31",
        -                        "value": 348000
        -                      },
        -                      {
        -                        "date": "2011-08-31",
        -                        "value": 346000
        -                      },
        -                      {
        -                        "date": "2011-09-30",
        -                        "value": 346000
        -                      },
        -                      {
        -                        "date": "2011-10-31",
        -                        "value": 346000
        -                      },
        -                      {
        -                        "date": "2011-11-30",
        -                        "value": 346000
        -                      },
        -                      {
        -                        "date": "2011-12-31",
        -                        "value": 346000
        -                      },
        -                      {
        -                        "date": "2012-01-31",
        -                        "value": 349000
        -                      },
        -                      {
        -                        "date": "2012-02-29",
        -                        "value": 349000
        -                      },
        -                      {
        -                        "date": "2012-03-31",
        -                        "value": 350000
        -                      },
        -                      {
        -                        "date": "2012-04-30",
        -                        "value": 350000
        -                      },
        -                      {
        -                        "date": "2012-05-31",
        -                        "value": 350000
        -                      },
        -                      {
        -                        "date": "2012-06-30",
        -                        "value": 350000
        -                      },
        -                      {
        -                        "date": "2012-07-31",
        -                        "value": 364000
        -                      },
        -                      {
        -                        "date": "2012-08-31",
        -                        "value": 365000
        -                      },
        -                      {
        -                        "date": "2012-09-30",
        -                        "value": 361000
        -                      },
        -                      {
        -                        "date": "2012-10-31",
        -                        "value": 361000
        -                      },
        -                      {
        -                        "date": "2012-11-30",
        -                        "value": 361000
        -                      },
        -                      {
        -                        "date": "2012-12-31",
        -                        "value": 367000
        -                      },
        -                      {
        -                        "date": "2013-01-31",
        -                        "value": 372000
        -                      },
        -                      {
        -                        "date": "2013-02-28",
        -                        "value": 372000
        -                      },
        -                      {
        -                        "date": "2013-03-31",
        -                        "value": 372000
        -                      },
        -                      {
        -                        "date": "2013-04-30",
        -                        "value": 372000
        -                      },
        -                      {
        -                        "date": "2013-05-31",
        -                        "value": 372000
        -                      },
        -                      {
        -                        "date": "2013-06-30",
        -                        "value": 373000
        -                      },
        -                      {
        -                        "date": "2013-07-31",
        -                        "value": 373000
        -                      },
        -                      {
        -                        "date": "2013-08-31",
        -                        "value": 373000
        -                      },
        -                      {
        -                        "date": "2013-09-30",
        -                        "value": 373000
        -                      },
        -                      {
        -                        "date": "2013-10-31",
        -                        "value": 378000
        -                      },
        -                      {
        -                        "date": "2013-11-30",
        -                        "value": 381000
        -                      },
        -                      {
        -                        "date": "2013-12-31",
        -                        "value": 385000
        -                      },
        -                      {
        -                        "date": "2014-01-31",
        -                        "value": 385000
        -                      },
        -                      {
        -                        "date": "2014-02-28",
        -                        "value": 388000
        -                      },
        -                      {
        -                        "date": "2014-03-31",
        -                        "value": 388000
        -                      },
        -                      {
        -                        "date": "2014-04-30",
        -                        "value": 388000
        -                      },
        -                      {
        -                        "date": "2014-05-31",
        -                        "value": 388000
        -                      },
        -                      {
        -                        "date": "2014-06-30",
        -                        "value": 388000
        -                      },
        -                      {
        -                        "date": "2014-07-31",
        -                        "value": 388000
        -                      },
        -                      {
        -                        "date": "2014-08-31",
        -                        "value": 388000
        -                      },
        -                      {
        -                        "date": "2014-09-30",
        -                        "value": 388000
        -                      },
        -                      {
        -                        "date": "2014-10-31",
        -                        "value": 388000
        -                      },
        -                      {
        -                        "date": "2014-11-30",
        -                        "value": 390000
        -                      },
        -                      {
        -                        "date": "2014-12-31",
        -                        "value": 395000
        -                      },
        -                      {
        -                        "date": "2015-01-31",
        -                        "value": 395000
        -                      },
        -                      {
        -                        "date": "2015-02-28",
        -                        "value": 395000
        -                      },
        -                      {
        -                        "date": "2015-03-31",
        -                        "value": 395000
        -                      },
        -                      {
        -                        "date": "2015-04-30",
        -                        "value": 397000
        -                      },
        -                      {
        -                        "date": "2015-05-31",
        -                        "value": 400000
        -                      },
        -                      {
        -                        "date": "2015-06-30",
        -                        "value": 400000
        -                      },
        -                      {
        -                        "date": "2015-07-31",
        -                        "value": 400000
        -                      },
        -                      {
        -                        "date": "2015-08-31",
        -                        "value": 400000
        -                      },
        -                      {
        -                        "date": "2015-09-30",
        -                        "value": 400000
        -                      },
        -                      {
        -                        "date": "2015-10-31",
        -                        "value": 400000
        -                      },
        -                      {
        -                        "date": "2015-11-30",
        -                        "value": 400000
        -                      },
        -                      {
        -                        "date": "2015-12-31",
        -                        "value": 403000
        -                      },
        -                      {
        -                        "date": "2016-01-31",
        -                        "value": 409000
        -                      },
        -                      {
        -                        "date": "2016-02-29",
        -                        "value": 414000
        -                      },
        -                      {
        -                        "date": "2016-03-31",
        -                        "value": 414000
        -                      },
        -                      {
        -                        "date": "2016-04-30",
        -                        "value": 414000
        -                      },
        -                      {
        -                        "date": "2016-05-31",
        -                        "value": 414000
        -                      },
        -                      {
        -                        "date": "2016-06-30",
        -                        "value": 414000
        -                      },
        -                      {
        -                        "date": "2016-07-31",
        -                        "value": 419000
        -                      },
        -                      {
        -                        "date": "2016-08-31",
        -                        "value": 419000
        -                      },
        -                      {
        -                        "date": "2016-09-30",
        -                        "value": 423000
        -                      },
        -                      {
        -                        "date": "2016-10-31",
        -                        "value": 425000
        -                      },
        -                      {
        -                        "date": "2016-11-30",
        -                        "value": 425000
        -                      },
        -                      {
        -                        "date": "2016-12-31",
        -                        "value": 425000
        -                      },
        -                      {
        -                        "date": "2017-01-31",
        -                        "value": 425000
        -                      },
        -                      {
        -                        "date": "2017-02-28",
        -                        "value": 426000
        -                      },
        -                      {
        -                        "date": "2017-03-31",
        -                        "value": 426000
        -                      },
        -                      {
        -                        "date": "2017-04-30",
        -                        "value": 426000
        -                      },
        -                      {
        -                        "date": "2017-05-31",
        -                        "value": 426000
        -                      },
        -                      {
        -                        "date": "2017-06-30",
        -                        "value": 426000
        -                      },
        -                      {
        -                        "date": "2017-07-31",
        -                        "value": 426000
        -                      },
        -                      {
        -                        "date": "2017-08-31",
        -                        "value": 426000
        -                      },
        -                      {
        -                        "date": "2017-09-30",
        -                        "value": 426000
        -                      },
        -                      {
        -                        "date": "2017-10-31",
        -                        "value": 426000
        -                      },
        -                      {
        -                        "date": "2017-11-30",
        -                        "value": 428000
        -                      },
        -                      {
        -                        "date": "2017-12-31",
        -                        "value": 431000
        -                      },
        -                      {
        -                        "date": "2018-01-31",
        -                        "value": 431000
        -                      },
        -                      {
        -                        "date": "2018-02-28",
        -                        "value": 431000
        -                      },
        -                      {
        -                        "date": "2018-03-31",
        -                        "value": 439000
        -                      },
        -                      {
        -                        "date": "2018-04-30",
        -                        "value": 445000
        -                      },
        -                      {
        -                        "date": "2018-05-31",
        -                        "value": 446000
        -                      },
        -                      {
        -                        "date": "2018-06-30",
        -                        "value": 446000
        -                      },
        -                      {
        -                        "date": "2018-07-31",
        -                        "value": 451000
        -                      },
        -                      {
        -                        "date": "2018-08-31",
        -                        "value": 453000
        -                      },
        -                      {
        -                        "date": "2018-09-30",
        -                        "value": 453000
        -                      },
        -                      {
        -                        "date": "2018-10-31",
        -                        "value": 453000
        -                      },
        -                      {
        -                        "date": "2018-11-30",
        -                        "value": 453000
        -                      },
        -                      {
        -                        "date": "2018-12-31",
        -                        "value": 453000
        -                      },
        -                      {
        -                        "date": "2019-01-31",
        -                        "value": 453000
        -                      },
        -                      {
        -                        "date": "2019-02-28",
        -                        "value": 453000
        -                      },
        -                      {
        -                        "date": "2019-03-31",
        -                        "value": 457000
        -                      },
        -                      {
        -                        "date": "2019-04-30",
        -                        "value": 457000
        -                      },
        -                      {
        -                        "date": "2019-05-31",
        -                        "value": 457000
        -                      },
        -                      {
        -                        "date": "2019-06-30",
        -                        "value": 457000
        -                      },
        -                      {
        -                        "date": "2019-07-31",
        -                        "value": 462000
        -                      },
        -                      {
        -                        "date": "2019-08-31",
        -                        "value": 467000
        -                      },
        -                      {
        -                        "date": "2019-09-30",
        -                        "value": 475000
        -                      },
        -                      {
        -                        "date": "2019-10-31",
        -                        "value": 482000
        -                      },
        -                      {
        -                        "date": "2019-11-30",
        -                        "value": 482000
        -                      },
        -                      {
        -                        "date": "2019-12-31",
        -                        "value": 482000
        -                      },
        -                      {
        -                        "date": "2020-01-31",
        -                        "value": 482000
        -                      },
        -                      {
        -                        "date": "2020-02-29",
        -                        "value": 493000
        -                      },
        -                      {
        -                        "date": "2020-03-31",
        -                        "value": 500000
        -                      },
        -                      {
        -                        "date": "2020-04-30",
        -                        "value": 499000
        -                      },
        -                      {
        -                        "date": "2020-05-31",
        -                        "value": 501000
        -                      },
        -                      {
        -                        "date": "2020-06-30",
        -                        "value": 501000
        -                      },
        -                      {
        -                        "date": "2020-07-31",
        -                        "value": 501000
        -                      },
        -                      {
        -                        "date": "2020-08-31",
        -                        "value": 500000
        -                      },
        -                      {
        -                        "date": "2020-09-30",
        -                        "value": 500000
        -                      },
        -                      {
        -                        "date": "2020-10-31",
        -                        "value": 500000
        -                      },
        -                      {
        -                        "date": "2020-11-30",
        -                        "value": 500000
        -                      },
        -                      {
        -                        "date": "2020-12-31",
        -                        "value": 515000
        -                      },
        -                      {
        -                        "date": "2021-01-31",
        -                        "value": 521000
        -                      },
        -                      {
        -                        "date": "2021-02-28",
        -                        "value": 521000
        -                      },
        -                      {
        -                        "date": "2021-03-31",
        -                        "value": 525000
        -                      },
        -                      {
        -                        "date": "2021-04-30",
        -                        "value": 525000
        -                      },
        -                      {
        -                        "date": "2021-05-31",
        -                        "value": 528000
        -                      },
        -                      {
        -                        "date": "2021-06-30",
        -                        "value": 530000
        -                      },
        -                      {
        -                        "date": "2021-07-31",
        -                        "value": 533000
        -                      },
        -                      {
        -                        "date": "2021-08-31",
        -                        "value": 537000
        -                      },
        -                      {
        -                        "date": "2021-09-30",
        -                        "value": 537000
        -                      },
        -                      {
        -                        "date": "2021-10-31",
        -                        "value": 537000
        -                      },
        -                      {
        -                        "date": "2021-11-30",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2021-12-31",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2022-01-31",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2022-02-28",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2022-03-31",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2022-04-30",
        -                        "value": 540000
        -                      },
        -                      {
        -                        "date": "2022-05-31",
        -                        "value": 540000
        -                      },
        -                      {
        -                        "date": "2022-06-30",
        -                        "value": 542000
        -                      },
        -                      {
        -                        "date": "2022-07-31",
        -                        "value": 545000
        -                      },
        -                      {
        -                        "date": "2022-08-28",
        -                        "value": 548000
        -                      },
        -                      {
        -                        "date": "2022-08-31",
        -                        "value": 545000
        -                      },
        -                      {
        -                        "date": "2022-09-04",
        -                        "value": 548000
        -                      },
        -                      {
        -                        "date": "2022-09-11",
        -                        "value": 548000
        -                      },
        -                      {
        -                        "date": "2022-09-18",
        -                        "value": 548000
        -                      },
        -                      {
        -                        "date": "2022-09-25",
        -                        "value": 548000
        -                      },
        -                      {
        -                        "date": "2022-10-02",
        -                        "value": 551000
        -                      },
        -                      {
        -                        "date": "2022-10-09",
        -                        "value": 551000
        -                      },
        -                      {
        -                        "date": "2022-10-16",
        -                        "value": 551000
        -                      },
        -                      {
        -                        "date": "2022-10-23",
        -                        "value": 551000
        -                      },
        -                      {
        -                        "date": "2022-10-30",
        -                        "value": 555000
        -                      },
        -                      {
        -                        "date": "2022-11-06",
        -                        "value": 555000
        -                      },
        -                      {
        -                        "date": "2022-11-13",
        -                        "value": 555000
        -                      },
        -                      {
        -                        "date": "2022-11-20",
        -                        "value": 555000
        -                      },
        -                      {
        -                        "date": "2022-11-27",
        -                        "value": 555000
        -                      },
        -                      {
        -                        "date": "2022-12-04",
        -                        "value": 555000
        -                      },
        -                      {
        -                        "date": "2022-12-11",
        -                        "value": 555000
        -                      },
        -                      {
        -                        "date": "2022-12-18",
        -                        "value": 552000
        -                      },
        -                      {
        -                        "date": "2022-12-25",
        -                        "value": 552000
        -                      },
        -                      {
        -                        "date": "2023-01-01",
        -                        "value": 552000
        -                      },
        -                      {
        -                        "date": "2023-01-08",
        -                        "value": 552000
        -                      },
        -                      {
        -                        "date": "2023-01-15",
        -                        "value": 552000
        -                      },
        -                      {
        -                        "date": "2023-01-22",
        -                        "value": 552000
        -                      },
        -                      {
        -                        "date": "2023-01-29",
        -                        "value": 552000
        -                      },
        -                      {
        -                        "date": "2023-02-05",
        -                        "value": 546000
        -                      },
        -                      {
        -                        "date": "2023-02-12",
        -                        "value": 546000
        -                      },
        -                      {
        -                        "date": "2023-02-19",
        -                        "value": 546000
        -                      },
        -                      {
        -                        "date": "2023-02-26",
        -                        "value": 546000
        -                      },
        -                      {
        -                        "date": "2023-03-05",
        -                        "value": 546000
        -                      },
        -                      {
        -                        "date": "2023-03-12",
        -                        "value": 546000
        -                      },
        -                      {
        -                        "date": "2023-03-19",
        -                        "value": 544000
        -                      },
        -                      {
        -                        "date": "2023-03-26",
        -                        "value": 544000
        -                      },
        -                      {
        -                        "date": "2023-04-02",
        -                        "value": 544000
        -                      },
        -                      {
        -                        "date": "2023-04-09",
        -                        "value": 544000
        -                      },
        -                      {
        -                        "date": "2023-04-16",
        -                        "value": 542000
        -                      },
        -                      {
        -                        "date": "2023-04-23",
        -                        "value": 542000
        -                      },
        -                      {
        -                        "date": "2023-04-30",
        -                        "value": 542000
        -                      },
        -                      {
        -                        "date": "2023-05-07",
        -                        "value": 542000
        -                      },
        -                      {
        -                        "date": "2023-05-14",
        -                        "value": 542000
        -                      },
        -                      {
        -                        "date": "2023-05-21",
        -                        "value": 542000
        -                      },
        -                      {
        -                        "date": "2023-05-28",
        -                        "value": 542000
        -                      },
        -                      {
        -                        "date": "2023-06-04",
        -                        "value": 542000
        -                      },
        -                      {
        -                        "date": "2023-06-11",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-06-18",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-06-25",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-07-02",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-07-09",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-07-16",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-07-23",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-07-30",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-08-06",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-08-13",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-08-20",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-08-27",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-09-03",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-09-10",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-09-17",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-09-24",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-10-01",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-10-08",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-10-15",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-10-22",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-10-29",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-11-05",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-11-12",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-11-19",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-11-26",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-12-03",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-12-10",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-12-17",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-12-24",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2023-12-31",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-01-07",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-01-14",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-01-21",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-01-28",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-02-04",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-02-11",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-02-18",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-02-25",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-03-03",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-03-10",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-03-17",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-03-24",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-03-31",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-04-07",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-04-14",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-04-21",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-04-28",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-05-05",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-05-12",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-05-19",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-05-26",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-06-02",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-06-09",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-06-16",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-06-23",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-06-30",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-07-07",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-07-14",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-07-21",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-07-28",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-08-04",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-08-11",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-08-18",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-08-25",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-09-01",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-09-08",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-09-15",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-09-22",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-09-29",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-10-06",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-10-13",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-10-20",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-10-27",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-11-03",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-11-10",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-11-17",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-11-24",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-12-01",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-12-08",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-12-15",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-12-22",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2024-12-29",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2025-01-05",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2025-01-12",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2025-01-19",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2025-01-26",
        -                        "value": 540000
        -                      },
        -                      {
        -                        "date": "2025-02-02",
        -                        "value": 540000
        -                      },
        -                      {
        -                        "date": "2025-02-09",
        -                        "value": 540000
        -                      },
        -                      {
        -                        "date": "2025-02-16",
        -                        "value": 540000
        -                      },
        -                      {
        -                        "date": "2025-02-23",
        -                        "value": 540000
        -                      },
        -                      {
        -                        "date": "2025-03-02",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2025-03-09",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2025-03-16",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2025-03-23",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2025-03-30",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2025-04-06",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2025-04-13",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2025-04-20",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2025-04-27",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2025-05-04",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2025-05-11",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2025-05-18",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2025-05-25",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2025-06-01",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2025-06-08",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2025-06-15",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2025-06-22",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2025-06-29",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2025-07-06",
        -                        "value": 540000
        -                      },
        -                      {
        -                        "date": "2025-07-13",
        -                        "value": 540000
        -                      },
        -                      {
        -                        "date": "2025-07-20",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2025-07-27",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2025-08-03",
        -                        "value": 568000
        -                      },
        -                      {
        -                        "date": "2025-08-10",
        -                        "value": 539000
        -                      },
        -                      {
        -                        "date": "2025-08-17",
        -                        "value": 562000
        -                      },
        -                      {
        -                        "date": "2025-08-24",
        -                        "value": 555000
        -                      },
        -                      {
        -                        "date": "2025-08-31",
        -                        "value": 555000
        -                      },
        -                      {
        -                        "date": "2025-09-07",
        -                        "value": 571000
        -                      },
        -                      {
        -                        "date": "2025-09-14",
        -                        "value": 566000
        -                      },
        -                      {
        -                        "date": "2025-09-21",
        -                        "value": 541000
        -                      },
        -                      {
        -                        "date": "2025-09-28",
        -                        "value": 561000
        -                      },
        -                      {
        -                        "date": "2025-10-05",
        -                        "value": 553000
        -                      },
        -                      {
        -                        "date": "2025-10-12",
        -                        "value": 554000
        -                      },
        -                      {
        -                        "date": "2025-10-19",
        -                        "value": 569000
        -                      },
        -                      {
        -                        "date": "2025-10-26",
        -                        "value": 556000
        -                      },
        -                      {
        -                        "date": "2025-11-02",
        -                        "value": 544000
        -                      },
        -                      {
        -                        "date": "2025-11-09",
        -                        "value": 543000
        -                      },
        -                      {
        -                        "date": "2025-11-16",
        -                        "value": 540000
        -                      },
        -                      {
        -                        "date": "2025-11-23",
        -                        "value": 561000
        -                      },
        -                      {
        -                        "date": "2025-11-30",
        -                        "value": 570000
        -                      },
        -                      {
        -                        "date": "2025-12-07",
        -                        "value": 581000
        -                      },
        -                      {
        -                        "date": "2025-12-14",
        -                        "value": 583000
        -                      },
        -                      {
        -                        "date": "2025-12-21",
        -                        "value": 570000
        -                      },
        -                      {
        -                        "date": "2025-12-28",
        -                        "value": 570000
        -                      },
        -                      {
        -                        "date": "2026-01-04",
        -                        "value": 557000
        -                      },
        -                      {
        -                        "date": "2026-01-11",
        -                        "value": 585000
        -                      },
        -                      {
        -                        "date": "2026-01-18",
        -                        "value": 572000
        -                      },
        -                      {
        -                        "date": "2026-01-25",
        -                        "value": 590000
        -                      },
        -                      {
        -                        "date": "2026-02-01",
        -                        "value": 575000
        -                      },
        -                      {
        -                        "date": "2026-02-08",
        -                        "value": 576000
        -                      },
        -                      {
        -                        "date": "2026-02-15",
        -                        "value": 589000
        -                      },
        -                      {
        -                        "date": "2026-02-22",
        -                        "value": 562000
        -                      },
        -                      {
        -                        "date": "2026-03-01",
        -                        "value": 569000
        -                      },
        -                      {
        -                        "date": "2026-03-08",
        -                        "value": 575000
        -                      },
        -                      {
        -                        "date": "2026-03-15",
        -                        "value": 575000
        -                      },
        -                      {
        -                        "date": "2026-03-22",
        -                        "value": 575000
        -                      },
        -                      {
        -                        "date": "2026-03-29",
        -                        "value": 575000
        -                      },
        -                      {
        -                        "date": "2026-04-05",
        -                        "value": 575000
        -                      },
        -                      {
        -                        "date": "2026-04-12",
        -                        "value": 575000
        -                      },
        -                      {
        -                        "date": "2026-04-19",
        -                        "value": 575000
        -                      },
        -                      {
        -                        "date": "2026-04-26",
        -                        "value": 575000
        -                      }
        -                    ]
        -                  },
        -                  "properties": {
        -                    "area_level": {
        -                      "description": "Always 'suburb' for these endpoints.",
        -                      "title": "Area Level",
        -                      "type": "string"
        -                    },
        -                    "area_name": {
        -                      "description": "Suburb (SAL) name.",
        -                      "title": "Area Name",
        -                      "type": "string"
        -                    },
        -                    "house": {
        -                      "anyOf": [
        -                        {
        -                          "items": {
        -                            "description": "One point in a monthly time-series (median price/rent over time).",
        -                            "example": {
        -                              "date": "2026-04-30",
        -                              "value": 1130000
        -                            },
        -                            "properties": {
        -                              "date": {
        -                                "description": "ISO date (YYYY-MM-DD), month-end.",
        -                                "title": "Date",
        -                                "type": "string"
        -                              },
        -                              "value": {
        -                                "description": "Series value at that date.",
        -                                "title": "Value",
        -                                "type": "number"
        -                              }
        -                            },
        -                            "required": [
        -                              "date",
        -                              "value"
        -                            ],
        -                            "title": "TimeSeriesPoint",
        -                            "type": "object"
        -                          },
        -                          "type": "array"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Complete available house series, oldest first.",
        -                      "title": "House"
        -                    },
        -                    "unit": {
        -                      "anyOf": [
        -                        {
        -                          "items": {
        -                            "description": "One point in a monthly time-series (median price/rent over time).",
        -                            "example": {
        -                              "date": "2026-04-30",
        -                              "value": 1130000
        -                            },
        -                            "properties": {
        -                              "date": {
        -                                "description": "ISO date (YYYY-MM-DD), month-end.",
        -                                "title": "Date",
        -                                "type": "string"
        -                              },
        -                              "value": {
        -                                "description": "Series value at that date.",
        -                                "title": "Value",
        -                                "type": "number"
        -                              }
        -                            },
        -                            "required": [
        -                              "date",
        -                              "value"
        -                            ],
        -                            "title": "TimeSeriesPoint",
        -                            "type": "object"
        -                          },
        -                          "type": "array"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Complete available unit series, oldest first.",
        -                      "title": "Unit"
        -                    }
        -                  },
        -                  "required": [
        -                    "area_name",
        -                    "area_level"
        -                  ],
        -                  "title": "MedianSalePriceSeries",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Monthly history of the median sale price, for charting the trend."
        -            },
        -            "price_growth_5y": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "5-year compound sale-price growth by property type (decimal).",
        -                  "example": {
        -                    "area_level": "suburb",
        -                    "area_name": "Belmont North",
        -                    "as_of": "2026-05-24",
        -                    "house": 0.684,
        -                    "metric": "growth_5_year",
        -                    "unit": 0.06
        -                  },
        -                  "properties": {
        -                    "area_level": {
        -                      "description": "Always 'suburb' for these endpoints.",
        -                      "title": "Area Level",
        -                      "type": "string"
        -                    },
        -                    "area_name": {
        -                      "description": "Suburb (SAL) name.",
        -                      "title": "Area Name",
        -                      "type": "string"
        -                    },
        -                    "as_of": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Date of the most recent observation (YYYY-MM-DD).",
        -                      "title": "As Of"
        -                    },
        -                    "house": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "House 5-year compound growth (decimal, e.g. 0.42 = +42%).",
        -                      "title": "House"
        -                    },
        -                    "metric": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Metric label, e.g. 'growth_5_year'.",
        -                      "title": "Metric"
        -                    },
        -                    "unit": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Unit 5-year compound growth (decimal).",
        -                      "title": "Unit"
        -                    }
        -                  },
        -                  "required": [
        -                    "area_name",
        -                    "area_level"
        -                  ],
        -                  "title": "PriceGrowth5y",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Total price growth over the past five years, as a decimal fraction (0.42 = +42%) — past performance, not a forecast."
        -            },
        -            "transaction_volume": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "30-day sold count by property type, with monthly history.",
        -                  "example": {
        -                    "area_level": "suburb",
        -                    "area_name": "Belmont North",
        -                    "house": {
        -                      "series": [
        -                        {
        -                          "date": "2002-12-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2003-01-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2003-02-28",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2003-03-31",
        -                          "value": 11.5
        -                        },
        -                        {
        -                          "date": "2003-04-30",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2003-05-31",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2003-06-30",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2003-07-31",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2003-08-31",
        -                          "value": 7.5
        -                        },
        -                        {
        -                          "date": "2003-09-30",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2003-10-31",
        -                          "value": 7.5
        -                        },
        -                        {
        -                          "date": "2003-11-30",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2003-12-31",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2004-01-31",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2004-02-29",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2004-03-31",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2004-04-30",
        -                          "value": 6.5
        -                        },
        -                        {
        -                          "date": "2004-05-31",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2004-06-30",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2004-07-31",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2004-08-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2004-09-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2004-10-31",
        -                          "value": 5.5
        -                        },
        -                        {
        -                          "date": "2004-11-30",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2004-12-31",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2005-01-31",
        -                          "value": 2.5
        -                        },
        -                        {
        -                          "date": "2005-02-28",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2005-03-31",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2005-04-30",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2005-05-31",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2005-06-30",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2005-07-31",
        -                          "value": 7.5
        -                        },
        -                        {
        -                          "date": "2005-08-31",
        -                          "value": 4.5
        -                        },
        -                        {
        -                          "date": "2005-09-30",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2005-10-31",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2005-11-30",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2005-12-31",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2006-01-31",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2006-02-28",
        -                          "value": 8.5
        -                        },
        -                        {
        -                          "date": "2006-03-31",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2006-04-30",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2006-05-31",
        -                          "value": 11.5
        -                        },
        -                        {
        -                          "date": "2006-06-30",
        -                          "value": 18
        -                        },
        -                        {
        -                          "date": "2006-07-31",
        -                          "value": 5.5
        -                        },
        -                        {
        -                          "date": "2006-08-31",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2006-09-30",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2006-10-31",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2006-11-30",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2006-12-31",
        -                          "value": 4.5
        -                        },
        -                        {
        -                          "date": "2007-01-31",
        -                          "value": 5.5
        -                        },
        -                        {
        -                          "date": "2007-02-28",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2007-03-31",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2007-04-30",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2007-05-31",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2007-06-30",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2007-07-31",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2007-08-31",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2007-09-30",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2007-10-31",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2007-11-30",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2007-12-31",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2008-01-31",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2008-02-29",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2008-03-31",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2008-04-30",
        -                          "value": 13
        -                        },
        -                        {
        -                          "date": "2008-05-31",
        -                          "value": 9.5
        -                        },
        -                        {
        -                          "date": "2008-06-30",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2008-07-31",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2008-08-31",
        -                          "value": 9.5
        -                        },
        -                        {
        -                          "date": "2008-09-30",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2008-10-31",
        -                          "value": 5.5
        -                        },
        -                        {
        -                          "date": "2008-11-30",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2008-12-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2009-01-31",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2009-02-28",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2009-03-31",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2009-04-30",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2009-05-31",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2009-06-30",
        -                          "value": 14.5
        -                        },
        -                        {
        -                          "date": "2009-07-31",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2009-08-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2009-09-30",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2009-10-31",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2009-11-30",
        -                          "value": 5.5
        -                        },
        -                        {
        -                          "date": "2009-12-31",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2010-01-31",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2010-02-28",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2010-03-31",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2010-04-30",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2010-05-31",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2010-06-30",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2010-07-31",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2010-08-31",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2010-09-30",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2010-10-31",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2010-11-30",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2010-12-31",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2011-01-31",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2011-02-28",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2011-03-31",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2011-04-30",
        -                          "value": 11.5
        -                        },
        -                        {
        -                          "date": "2011-05-31",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2011-06-30",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2011-07-31",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2011-08-31",
        -                          "value": 9.5
        -                        },
        -                        {
        -                          "date": "2011-09-30",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2011-10-31",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2011-11-30",
        -                          "value": 7.5
        -                        },
        -                        {
        -                          "date": "2011-12-31",
        -                          "value": 13.5
        -                        },
        -                        {
        -                          "date": "2012-01-31",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2012-02-29",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2012-03-31",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2012-04-30",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2012-05-31",
        -                          "value": 6.5
        -                        },
        -                        {
        -                          "date": "2012-06-30",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2012-07-31",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2012-08-31",
        -                          "value": 14
        -                        },
        -                        {
        -                          "date": "2012-09-30",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2012-10-31",
        -                          "value": 13.5
        -                        },
        -                        {
        -                          "date": "2012-11-30",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2012-12-31",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2013-01-31",
        -                          "value": 10.5
        -                        },
        -                        {
        -                          "date": "2013-02-28",
        -                          "value": 5.5
        -                        },
        -                        {
        -                          "date": "2013-03-31",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2013-04-30",
        -                          "value": 7.5
        -                        },
        -                        {
        -                          "date": "2013-05-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2013-06-30",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2013-07-31",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2013-08-31",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2013-09-30",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2013-10-31",
        -                          "value": 9.5
        -                        },
        -                        {
        -                          "date": "2013-11-30",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2013-12-31",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2014-01-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2014-02-28",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2014-03-31",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2014-04-30",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2014-05-31",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2014-06-30",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2014-07-31",
        -                          "value": 5.5
        -                        },
        -                        {
        -                          "date": "2014-08-31",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2014-09-30",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2014-10-31",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2014-11-30",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2014-12-31",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2015-01-31",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2015-02-28",
        -                          "value": 7.5
        -                        },
        -                        {
        -                          "date": "2015-03-31",
        -                          "value": 14
        -                        },
        -                        {
        -                          "date": "2015-04-30",
        -                          "value": 18
        -                        },
        -                        {
        -                          "date": "2015-05-31",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2015-06-30",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2015-07-31",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2015-08-31",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2015-09-30",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2015-10-31",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2015-11-30",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2015-12-31",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2016-01-31",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2016-02-29",
        -                          "value": 7.5
        -                        },
        -                        {
        -                          "date": "2016-03-31",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2016-04-30",
        -                          "value": 8.5
        -                        },
        -                        {
        -                          "date": "2016-05-31",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2016-06-30",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2016-07-31",
        -                          "value": 13
        -                        },
        -                        {
        -                          "date": "2016-08-31",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2016-09-30",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2016-10-31",
        -                          "value": 13
        -                        },
        -                        {
        -                          "date": "2016-11-30",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2016-12-31",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2017-01-31",
        -                          "value": 4.5
        -                        },
        -                        {
        -                          "date": "2017-02-28",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2017-03-31",
        -                          "value": 14
        -                        },
        -                        {
        -                          "date": "2017-04-30",
        -                          "value": 15
        -                        },
        -                        {
        -                          "date": "2017-05-31",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2017-06-30",
        -                          "value": 15
        -                        },
        -                        {
        -                          "date": "2017-07-31",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2017-08-31",
        -                          "value": 14.5
        -                        },
        -                        {
        -                          "date": "2017-09-30",
        -                          "value": 7.5
        -                        },
        -                        {
        -                          "date": "2017-10-31",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2017-11-30",
        -                          "value": 13
        -                        },
        -                        {
        -                          "date": "2017-12-31",
        -                          "value": 12.5
        -                        },
        -                        {
        -                          "date": "2018-01-31",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2018-02-28",
        -                          "value": 11.5
        -                        },
        -                        {
        -                          "date": "2018-03-31",
        -                          "value": 13
        -                        },
        -                        {
        -                          "date": "2018-04-30",
        -                          "value": 13
        -                        },
        -                        {
        -                          "date": "2018-05-31",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2018-06-30",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2018-07-31",
        -                          "value": 5.5
        -                        },
        -                        {
        -                          "date": "2018-08-31",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2018-09-30",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2018-10-31",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2018-11-30",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2018-12-31",
        -                          "value": 14
        -                        },
        -                        {
        -                          "date": "2019-01-31",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2019-02-28",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2019-03-31",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2019-04-30",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2019-05-31",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2019-06-30",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2019-07-31",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2019-08-31",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2019-09-30",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2019-10-31",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2019-11-30",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2019-12-31",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2020-01-31",
        -                          "value": 7.5
        -                        },
        -                        {
        -                          "date": "2020-02-29",
        -                          "value": 14
        -                        },
        -                        {
        -                          "date": "2020-03-31",
        -                          "value": 15
        -                        },
        -                        {
        -                          "date": "2020-04-30",
        -                          "value": 9.5
        -                        },
        -                        {
        -                          "date": "2020-05-31",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2020-06-30",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2020-07-31",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2020-08-31",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2020-09-30",
        -                          "value": 13
        -                        },
        -                        {
        -                          "date": "2020-10-31",
        -                          "value": 21
        -                        },
        -                        {
        -                          "date": "2020-11-30",
        -                          "value": 11.5
        -                        },
        -                        {
        -                          "date": "2020-12-31",
        -                          "value": 20.5
        -                        },
        -                        {
        -                          "date": "2021-01-31",
        -                          "value": 12.5
        -                        },
        -                        {
        -                          "date": "2021-02-28",
        -                          "value": 13
        -                        },
        -                        {
        -                          "date": "2021-03-31",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2021-04-30",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2021-05-31",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2021-06-30",
        -                          "value": 6.5
        -                        },
        -                        {
        -                          "date": "2021-07-31",
        -                          "value": 5.5
        -                        },
        -                        {
        -                          "date": "2021-08-31",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2021-09-30",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2021-10-31",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2021-11-30",
        -                          "value": 8.5
        -                        },
        -                        {
        -                          "date": "2021-12-31",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2022-01-31",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2022-02-28",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2022-03-31",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2022-04-30",
        -                          "value": 15
        -                        },
        -                        {
        -                          "date": "2022-05-31",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2022-06-30",
        -                          "value": 8.5
        -                        },
        -                        {
        -                          "date": "2022-07-31",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2022-08-28",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2022-08-31",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2022-09-04",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2022-09-11",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2022-09-18",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2022-09-25",
        -                          "value": 15
        -                        },
        -                        {
        -                          "date": "2022-10-02",
        -                          "value": 13
        -                        },
        -                        {
        -                          "date": "2022-10-09",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2022-10-23",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2022-10-30",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2022-11-06",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2022-11-13",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2022-11-27",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2022-12-04",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2022-12-11",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2022-12-18",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2022-12-25",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2023-01-15",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2023-02-05",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2023-02-12",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2023-02-19",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2023-02-26",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2023-03-05",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2023-03-12",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2023-03-19",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2023-03-26",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2023-04-02",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2023-04-16",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2023-04-23",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2023-04-30",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2023-05-07",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2023-05-14",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2023-05-21",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2023-05-28",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2023-06-04",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2023-06-11",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2023-06-18",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2023-06-25",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2023-07-02",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2023-07-09",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2023-07-16",
        -                          "value": 13
        -                        },
        -                        {
        -                          "date": "2023-07-23",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2023-07-30",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2023-08-06",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2023-08-13",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2023-08-20",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2023-08-27",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2023-09-03",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2023-09-24",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2023-10-08",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2023-10-15",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2023-10-22",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2023-10-29",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2023-11-05",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2023-11-12",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2023-11-19",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2023-11-26",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2023-12-03",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2023-12-17",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2024-01-07",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2024-01-14",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2024-01-21",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2024-01-28",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2024-02-04",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2024-02-11",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2024-02-18",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2024-03-03",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2024-03-10",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2024-03-17",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2024-03-24",
        -                          "value": 13
        -                        },
        -                        {
        -                          "date": "2024-04-07",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2024-04-14",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2024-04-21",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2024-04-28",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2024-05-12",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2024-05-19",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2024-05-26",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2024-06-02",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2024-06-09",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2024-06-16",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2024-06-23",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2024-06-30",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2024-07-07",
        -                          "value": 14
        -                        },
        -                        {
        -                          "date": "2024-07-14",
        -                          "value": 14
        -                        },
        -                        {
        -                          "date": "2024-07-21",
        -                          "value": 14
        -                        },
        -                        {
        -                          "date": "2024-07-28",
        -                          "value": 16
        -                        },
        -                        {
        -                          "date": "2024-08-04",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2024-08-18",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2024-08-25",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2024-09-01",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2024-09-08",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2024-09-15",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2024-09-22",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2024-09-29",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2024-10-06",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2024-10-13",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2024-10-20",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2024-10-27",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2024-11-03",
        -                          "value": 14
        -                        },
        -                        {
        -                          "date": "2024-11-24",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2024-12-08",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2024-12-15",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2024-12-22",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2025-01-19",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2025-01-26",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2025-02-09",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2025-02-16",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2025-02-23",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2025-03-02",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2025-03-09",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2025-03-16",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2025-03-23",
        -                          "value": 13
        -                        },
        -                        {
        -                          "date": "2025-03-30",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2025-04-13",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2025-04-20",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2025-04-27",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2025-05-04",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2025-05-11",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2025-05-18",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2025-05-25",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2025-06-01",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2025-06-08",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2025-06-15",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2025-06-22",
        -                          "value": 13
        -                        },
        -                        {
        -                          "date": "2025-06-29",
        -                          "value": 13
        -                        },
        -                        {
        -                          "date": "2025-07-06",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2025-07-13",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2025-07-20",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2025-07-27",
        -                          "value": 14
        -                        },
        -                        {
        -                          "date": "2025-08-03",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2025-08-10",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2025-08-17",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2025-08-24",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2025-09-07",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2025-09-21",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2025-09-28",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2025-10-05",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2025-10-12",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2025-10-19",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2025-10-26",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2025-11-02",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2025-11-16",
        -                          "value": 12
        -                        },
        -                        {
        -                          "date": "2025-11-23",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2025-12-07",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2025-12-14",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2025-12-21",
        -                          "value": 10
        -                        },
        -                        {
        -                          "date": "2026-01-11",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2026-02-01",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2026-02-08",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2026-02-15",
        -                          "value": 7
        -                        },
        -                        {
        -                          "date": "2026-02-22",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2026-03-01",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2026-03-15",
        -                          "value": 11
        -                        },
        -                        {
        -                          "date": "2026-03-22",
        -                          "value": 13
        -                        },
        -                        {
        -                          "date": "2026-03-29",
        -                          "value": 14
        -                        },
        -                        {
        -                          "date": "2026-04-05",
        -                          "value": 16
        -                        },
        -                        {
        -                          "date": "2026-04-12",
        -                          "value": 14
        -                        },
        -                        {
        -                          "date": "2026-04-19",
        -                          "value": 14
        -                        },
        -                        {
        -                          "date": "2026-04-19",
        -                          "value": 14
        -                        }
        -                      ],
        -                      "value": 14
        -                    },
        -                    "metric": "sold_count_30d",
        -                    "unit": {
        -                      "series": [
        -                        {
        -                          "date": "2003-02-28",
        -                          "value": 1.5
        -                        },
        -                        {
        -                          "date": "2003-03-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2003-04-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2003-05-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2003-06-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2003-07-31",
        -                          "value": 2.5
        -                        },
        -                        {
        -                          "date": "2003-08-31",
        -                          "value": 6.5
        -                        },
        -                        {
        -                          "date": "2003-09-30",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2003-10-31",
        -                          "value": 2.5
        -                        },
        -                        {
        -                          "date": "2003-11-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2003-12-31",
        -                          "value": 3.5
        -                        },
        -                        {
        -                          "date": "2004-01-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2004-02-29",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2004-03-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2004-04-30",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2004-05-31",
        -                          "value": 9
        -                        },
        -                        {
        -                          "date": "2004-06-30",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2004-07-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2004-08-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2004-09-30",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2004-10-31",
        -                          "value": 2.5
        -                        },
        -                        {
        -                          "date": "2004-11-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2004-12-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2005-01-31",
        -                          "value": 1.5
        -                        },
        -                        {
        -                          "date": "2005-02-28",
        -                          "value": 2.5
        -                        },
        -                        {
        -                          "date": "2005-03-31",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2005-04-30",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2005-05-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2005-06-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2005-07-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2005-08-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2005-09-30",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2005-10-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2005-11-30",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2005-12-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2006-01-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2006-02-28",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2006-03-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2006-04-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2006-05-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2006-06-30",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2006-07-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2006-08-31",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2006-09-30",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2006-10-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2006-11-30",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2006-12-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2007-01-31",
        -                          "value": 1.5
        -                        },
        -                        {
        -                          "date": "2007-02-28",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2007-03-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2007-04-30",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2007-05-31",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2007-06-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2007-07-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2007-08-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2007-09-30",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2007-10-31",
        -                          "value": 1.5
        -                        },
        -                        {
        -                          "date": "2007-11-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2007-12-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2008-01-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2008-02-29",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2008-03-31",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2008-04-30",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2008-05-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2008-06-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2008-07-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2008-08-31",
        -                          "value": 2.5
        -                        },
        -                        {
        -                          "date": "2008-09-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2008-10-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2008-11-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2008-12-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2009-01-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2009-02-28",
        -                          "value": 5
        -                        },
        -                        {
        -                          "date": "2009-03-31",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2009-04-30",
        -                          "value": 3.5
        -                        },
        -                        {
        -                          "date": "2009-05-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2009-06-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2009-07-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2009-08-31",
        -                          "value": 1.5
        -                        },
        -                        {
        -                          "date": "2009-09-30",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2009-10-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2009-11-30",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2009-12-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2010-01-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2010-02-28",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2010-03-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2010-04-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2010-05-31",
        -                          "value": 2.5
        -                        },
        -                        {
        -                          "date": "2010-06-30",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2010-07-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2010-08-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2010-09-30",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2010-10-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2010-11-30",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2010-12-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2011-01-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2011-02-28",
        -                          "value": 1.5
        -                        },
        -                        {
        -                          "date": "2011-03-31",
        -                          "value": 39.5
        -                        },
        -                        {
        -                          "date": "2011-04-30",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2011-05-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2011-06-30",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2011-07-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2011-08-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2011-09-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2011-10-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2011-11-30",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2011-12-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2012-01-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2012-02-29",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2012-03-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2012-04-30",
        -                          "value": 1.5
        -                        },
        -                        {
        -                          "date": "2012-05-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2012-06-30",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2012-07-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2012-08-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2012-09-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2012-10-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2012-11-30",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2012-12-31",
        -                          "value": 3.5
        -                        },
        -                        {
        -                          "date": "2013-01-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2013-02-28",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2013-03-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2013-04-30",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2013-05-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2013-06-30",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2013-07-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2013-08-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2013-09-30",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2013-10-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2013-11-30",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2013-12-31",
        -                          "value": 1.5
        -                        },
        -                        {
        -                          "date": "2014-01-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2014-02-28",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2014-03-31",
        -                          "value": 2.5
        -                        },
        -                        {
        -                          "date": "2014-04-30",
        -                          "value": 3.5
        -                        },
        -                        {
        -                          "date": "2014-05-31",
        -                          "value": 1.5
        -                        },
        -                        {
        -                          "date": "2014-06-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2014-07-31",
        -                          "value": 2.5
        -                        },
        -                        {
        -                          "date": "2014-08-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2014-09-30",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2014-10-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2014-11-30",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2014-12-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2015-01-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2015-02-28",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2015-03-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2015-04-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2015-05-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2015-06-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2015-07-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2015-08-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2015-09-30",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2015-10-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2015-11-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2015-12-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2016-01-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2016-02-29",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2016-03-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2016-04-30",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2016-05-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2016-06-30",
        -                          "value": 2.5
        -                        },
        -                        {
        -                          "date": "2016-07-31",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2016-08-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2016-09-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2016-10-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2016-11-30",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2016-12-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2017-01-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2017-02-28",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2017-03-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2017-04-30",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2017-05-31",
        -                          "value": 1.5
        -                        },
        -                        {
        -                          "date": "2017-06-30",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2017-07-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2017-08-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2017-09-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2017-10-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2017-11-30",
        -                          "value": 5.5
        -                        },
        -                        {
        -                          "date": "2017-12-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2018-01-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2018-02-28",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2018-03-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2018-04-30",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2018-05-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2018-06-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2018-07-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2018-08-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2018-09-30",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2018-10-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2018-11-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2018-12-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2019-01-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2019-02-28",
        -                          "value": 3.5
        -                        },
        -                        {
        -                          "date": "2019-03-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2019-04-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2019-05-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2019-06-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2019-07-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2019-08-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2019-09-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2019-10-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2019-11-30",
        -                          "value": 1.5
        -                        },
        -                        {
        -                          "date": "2019-12-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2020-01-31",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2020-02-29",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2020-03-31",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2020-04-30",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2020-05-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2020-06-30",
        -                          "value": 2.5
        -                        },
        -                        {
        -                          "date": "2020-07-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2020-08-31",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2020-09-30",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2020-10-31",
        -                          "value": 5.5
        -                        },
        -                        {
        -                          "date": "2020-11-30",
        -                          "value": 8
        -                        },
        -                        {
        -                          "date": "2020-12-31",
        -                          "value": 4.5
        -                        },
        -                        {
        -                          "date": "2021-01-31",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2021-02-28",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2021-03-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2021-04-30",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2021-05-31",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2021-06-30",
        -                          "value": 2.5
        -                        },
        -                        {
        -                          "date": "2021-07-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2021-08-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2021-09-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2021-10-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2021-11-30",
        -                          "value": 26.5
        -                        },
        -                        {
        -                          "date": "2021-12-31",
        -                          "value": 37
        -                        },
        -                        {
        -                          "date": "2022-01-31",
        -                          "value": 22
        -                        },
        -                        {
        -                          "date": "2022-02-28",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2022-03-31",
        -                          "value": 2.5
        -                        },
        -                        {
        -                          "date": "2022-04-30",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2022-05-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2022-06-30",
        -                          "value": 4
        -                        },
        -                        {
        -                          "date": "2022-07-31",
        -                          "value": 6
        -                        },
        -                        {
        -                          "date": "2022-08-28",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2022-08-31",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2022-09-04",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2022-09-11",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2022-09-18",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2022-09-25",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2022-10-02",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2022-10-09",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2022-10-23",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2022-10-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2022-11-06",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2022-11-13",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2022-11-27",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2022-12-04",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2022-12-11",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2022-12-18",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2022-12-25",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-01-15",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-02-05",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2023-02-12",
        -                          "value": 3
        -                        },
        -                        {
        -                          "date": "2023-02-19",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-02-26",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-03-05",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-03-12",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2023-03-19",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2023-03-26",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2023-04-02",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2023-04-16",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2023-04-23",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2023-04-30",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2023-05-07",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2023-05-14",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2023-05-21",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2023-05-28",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2023-06-04",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2023-06-11",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2023-06-18",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2023-06-25",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2023-07-02",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2023-07-09",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2023-07-16",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2023-07-23",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-07-30",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-08-06",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-08-13",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-08-20",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-08-27",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-09-03",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-09-24",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-10-08",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-10-15",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-10-22",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-10-29",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-11-05",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-11-12",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-11-19",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-11-26",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-12-03",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2023-12-17",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2024-01-07",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2024-01-14",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2024-01-21",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2024-01-28",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2024-02-04",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2024-02-11",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2024-02-18",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2024-03-03",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2024-03-10",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2024-03-17",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2024-03-24",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2024-04-07",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2024-04-14",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2024-04-21",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2024-04-28",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2024-05-12",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2024-05-19",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-05-26",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-06-02",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-06-09",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-06-16",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-06-23",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-06-30",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-07-07",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-07-14",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-07-21",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-07-28",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-08-04",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-08-18",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-08-25",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-09-01",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-09-08",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-09-15",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-09-22",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-09-29",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-10-06",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-10-13",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-10-20",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-10-27",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-11-03",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-11-24",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-12-08",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-12-15",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2024-12-22",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-01-19",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-01-26",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-02-09",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-02-16",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-02-23",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-03-02",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-03-09",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-03-16",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-03-23",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-03-30",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-04-13",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-04-20",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-04-27",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-05-04",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-05-11",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-05-18",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-05-25",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-06-01",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-06-08",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-06-15",
        -                          "value": 1
        -                        },
        -                        {
        -                          "date": "2025-06-22",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-06-29",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-07-06",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-07-13",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-07-20",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-07-27",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-08-03",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-08-10",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-08-17",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-08-24",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-09-07",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-09-21",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-09-28",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-10-05",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-10-12",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-10-19",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-10-26",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-11-02",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-11-16",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-11-23",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-12-07",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-12-14",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2025-12-21",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2026-01-11",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2026-02-01",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2026-02-08",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2026-02-15",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2026-02-22",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2026-03-01",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2026-03-15",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2026-03-22",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2026-03-29",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2026-04-05",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2026-04-12",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2026-04-19",
        -                          "value": 2
        -                        },
        -                        {
        -                          "date": "2026-04-19",
        -                          "value": 2
        -                        }
        -                      ],
        -                      "value": 2
        -                    }
        -                  },
        -                  "properties": {
        -                    "area_level": {
        -                      "description": "Always 'suburb' for these endpoints.",
        -                      "title": "Area Level",
        -                      "type": "string"
        -                    },
        -                    "area_name": {
        -                      "description": "Suburb (SAL) name.",
        -                      "title": "Area Name",
        -                      "type": "string"
        -                    },
        -                    "house": {
        -                      "anyOf": [
        -                        {
        -                          "description": "Latest count + its monthly history for one property type.",
        -                          "properties": {
        -                            "series": {
        -                              "anyOf": [
        -                                {
        -                                  "items": {
        -                                    "description": "One point in a monthly time-series (median price/rent over time).",
        -                                    "example": {
        -                                      "date": "2026-04-30",
        -                                      "value": 1130000
        -                                    },
        -                                    "properties": {
        -                                      "date": {
        -                                        "description": "ISO date (YYYY-MM-DD), month-end.",
        -                                        "title": "Date",
        -                                        "type": "string"
        -                                      },
        -                                      "value": {
        -                                        "description": "Series value at that date.",
        -                                        "title": "Value",
        -                                        "type": "number"
        -                                      }
        -                                    },
        -                                    "required": [
        -                                      "date",
        -                                      "value"
        -                                    ],
        -                                    "title": "TimeSeriesPoint",
        -                                    "type": "object"
        -                                  },
        -                                  "type": "array"
        -                                },
        -                                {
        -                                  "type": "null"
        -                                }
        -                              ],
        -                              "description": "Monthly sold-count history.",
        -                              "title": "Series"
        -                            },
        -                            "value": {
        -                              "anyOf": [
        -                                {
        -                                  "type": "number"
        -                                },
        -                                {
        -                                  "type": "null"
        -                                }
        -                              ],
        -                              "description": "Latest 30-day sold count.",
        -                              "title": "Value"
        -                            }
        -                          },
        -                          "title": "TransactionVolumeBucket",
        -                          "type": "object"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Sold-count for houses."
        -                    },
        -                    "metric": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Metric label, e.g. 'sold_count_30d'.",
        -                      "title": "Metric"
        -                    },
        -                    "unit": {
        -                      "anyOf": [
        -                        {
        -                          "description": "Latest count + its monthly history for one property type.",
        -                          "properties": {
        -                            "series": {
        -                              "anyOf": [
        -                                {
        -                                  "items": {
        -                                    "description": "One point in a monthly time-series (median price/rent over time).",
        -                                    "example": {
        -                                      "date": "2026-04-30",
        -                                      "value": 1130000
        -                                    },
        -                                    "properties": {
        -                                      "date": {
        -                                        "description": "ISO date (YYYY-MM-DD), month-end.",
        -                                        "title": "Date",
        -                                        "type": "string"
        -                                      },
        -                                      "value": {
        -                                        "description": "Series value at that date.",
        -                                        "title": "Value",
        -                                        "type": "number"
        -                                      }
        -                                    },
        -                                    "required": [
        -                                      "date",
        -                                      "value"
        -                                    ],
        -                                    "title": "TimeSeriesPoint",
        -                                    "type": "object"
        -                                  },
        -                                  "type": "array"
        -                                },
        -                                {
        -                                  "type": "null"
        -                                }
        -                              ],
        -                              "description": "Monthly sold-count history.",
        -                              "title": "Series"
        -                            },
        -                            "value": {
        -                              "anyOf": [
        -                                {
        -                                  "type": "number"
        -                                },
        -                                {
        -                                  "type": "null"
        -                                }
        -                              ],
        -                              "description": "Latest 30-day sold count.",
        -                              "title": "Value"
        -                            }
        -                          },
        -                          "title": "TransactionVolumeBucket",
        -                          "type": "object"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Sold-count for units."
        -                    }
        -                  },
        -                  "required": [
        -                    "area_name",
        -                    "area_level"
        -                  ],
        -                  "title": "TransactionVolume",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "How many properties actually sold recently, with monthly history — the liquidity check behind every other figure here."
        -            },
        -            "yield_pct": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Gross rental yield for the suburb, houses and units separately.\n\n⚠️ **Unit trap:** despite the `_pct` name, the figures here are\n**decimal fractions** — `0.0346` means 3.46%, so multiply by 100 to\ndisplay. The per-microburb version of the same metric\n(`/market/yield-map`) reports it the other way, as a percent (3.46).\nBoth are deliberate; just be sure which endpoint you are reading.\n\nGross throughout: annual rent over price, before rates, strata,\nmanagement, insurance or vacancy.",
        -                  "example": {
        -                    "area_level": "suburb",
        -                    "area_name": "Belmont North",
        -                    "as_of": "2026-05-24",
        -                    "house": 0.0335,
        -                    "unit": 0.0384
        -                  },
        -                  "properties": {
        -                    "area_level": {
        -                      "description": "Always 'suburb' for these endpoints.",
        -                      "title": "Area Level",
        -                      "type": "string"
        -                    },
        -                    "area_name": {
        -                      "description": "Suburb (SAL) name.",
        -                      "title": "Area Name",
        -                      "type": "string"
        -                    },
        -                    "as_of": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Date of the most recent observation (YYYY-MM-DD).",
        -                      "title": "As Of"
        -                    },
        -                    "house": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Gross rental yield for houses as a decimal fraction (0.0346 = 3.46%) — median weekly house rent × 52 ÷ median house price.",
        -                      "title": "House"
        -                    },
        -                    "unit": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Gross rental yield for units as a decimal fraction (0.0384 = 3.84%), same calculation as `house`. Usually higher than the house yield, since units cost less relative to the rent they earn.",
        -                      "title": "Unit"
        -                    }
        -                  },
        -                  "required": [
        -                    "area_name",
        -                    "area_level"
        -                  ],
        -                  "title": "YieldPct",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Gross rental yield as a decimal fraction (0.0346 = 3.46%). The per-microburb `/market/yield-map` gives the same metric as a percent."
        -            }
        -          },
        -          "title": "MarketAll",
        -          "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[MarketAll]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_MarketAll_"
        -}New value: +null
    • Changedsuburbs_market_bedroom_stats1 field changed
      • 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": "Per-bedroom-count house/unit price, sales volume, medians and stock mix.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "bedrooms": [
        -              {
        -                "bedrooms": 3,
        -                "house_price": 952000,
        -                "median_bath": 1,
        -                "median_car": 2,
        -                "median_land": 613,
        -                "n_sales": 4364,
        -                "pct_house": 88,
        -                "pct_townhouse": 5,
        -                "pct_unit": 1,
        -                "unit_price": 705000
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "bedrooms": {
        -              "description": "One row per bedroom count.",
        -              "items": {
        -                "description": "Price / sales / medians / stock mix for one bedroom count.",
        -                "properties": {
        -                  "bedrooms": {
        -                    "description": "Bedroom count.",
        -                    "title": "Bedrooms",
        -                    "type": "integer"
        -                  },
        -                  "house_price": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Latest smart-median asking price for a house of this bedroom count (AUD). Omitted when the suburb has no house listings at this bedroom count.",
        -                    "title": "House Price"
        -                  },
        -                  "median_bath": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Median bathrooms.",
        -                    "title": "Median Bath"
        -                  },
        -                  "median_car": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Median car spaces.",
        -                    "title": "Median Car"
        -                  },
        -                  "median_land": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Median land size (sqm).",
        -                    "title": "Median Land"
        -                  },
        -                  "n_sales": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Historical sales at this bedroom count.",
        -                    "title": "N Sales"
        -                  },
        -                  "pct_house": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Share of stock that is houses (%).",
        -                    "title": "Pct House"
        -                  },
        -                  "pct_townhouse": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Share of stock that is townhouses (%).",
        -                    "title": "Pct Townhouse"
        -                  },
        -                  "pct_unit": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Share of stock that is units (%).",
        -                    "title": "Pct Unit"
        -                  },
        -                  "unit_price": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Latest smart-median asking price for a unit of this bedroom count (AUD). Omitted when the suburb has no unit listings at this bedroom count.",
        -                    "title": "Unit Price"
        -                  }
        -                },
        -                "required": [
        -                  "bedrooms"
        -                ],
        -                "title": "BedroomStatsRow",
        -                "type": "object"
        -              },
        -              "title": "Bedrooms",
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "bedrooms"
        -          ],
        -          "title": "BedroomStats",
        -          "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[BedroomStats]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_BedroomStats_"
        -}New value: +null
    • Changedsuburbs_market_built_year1 field changed
      • 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": "Suburb build-year aggregate + per-mesh-block medians.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "mbs": [
        -              {
        -                "mb": "10439043000",
        -                "median_yr": 1991,
        -                "modal_era": "1980_1999",
        -                "n_props": 61,
        -                "p10_yr": 1980,
        -                "p90_yr": 2000
        -              }
        -            ],
        -            "median_yr": 1979,
        -            "modal_era": "1980_1999",
        -            "n_mbs": 78,
        -            "n_props": 3405,
        -            "p10_yr": 1955,
        -            "p90_yr": 2010
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "mbs": {
        -              "description": "Per-mesh-block estimates.",
        -              "items": {
        -                "description": "Build-year estimates for one mesh block (FAMOUS model).",
        -                "properties": {
        -                  "mb": {
        -                    "description": "ABS mesh-block code (MB_CODE21).",
        -                    "title": "Mb",
        -                    "type": "string"
        -                  },
        -                  "median_yr": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Median estimated build year for the mesh block, rounded to a whole year (typed float for backwards compatibility, so it serialises as 2006.0). An interpolated percentile — a mesh block has no single true build year, so read it as the middle of its range.",
        -                    "title": "Median Yr"
        -                  },
        -                  "modal_era": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Modal era label, e.g. '1980_1999'.",
        -                    "title": "Modal Era"
        -                  },
        -                  "n_props": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Properties behind the estimate.",
        -                    "title": "N Props"
        -                  },
        -                  "p10_yr": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "10th-percentile build year — 10% of dwellings here are older. Whole years.",
        -                    "title": "P10 Yr"
        -                  },
        -                  "p90_yr": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "90th-percentile build year — 10% of dwellings here are newer. Whole years.",
        -                    "title": "P90 Yr"
        -                  }
        -                },
        -                "required": [
        -                  "mb"
        -                ],
        -                "title": "BuiltYearMb",
        -                "type": "object"
        -              },
        -              "title": "Mbs",
        -              "type": "array"
        -            },
        -            "median_yr": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Suburb median build year (median of MB medians).",
        -              "title": "Median Yr"
        -            },
        -            "modal_era": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Dominant era label across MBs, e.g. '1980_1999'.",
        -              "title": "Modal Era"
        -            },
        -            "n_mbs": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Mesh blocks with build-year data.",
        -              "title": "N Mbs"
        -            },
        -            "n_props": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Total properties behind the aggregate.",
        -              "title": "N Props"
        -            },
        -            "p10_yr": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Earliest MB 10th-percentile year (range floor).",
        -              "title": "P10 Yr"
        -            },
        -            "p90_yr": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Latest MB 90th-percentile year (range ceiling).",
        -              "title": "P90 Yr"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "mbs"
        -          ],
        -          "title": "BuiltYear",
        -          "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[BuiltYear]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_BuiltYear_"
        -}New value: +null
    • Changedsuburbs_market_comparable_suburbs1 field changed
      • 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": "Same-SA3 comparable-suburb candidates.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "comparable_suburbs": [
        -              "Argenton",
        -              "Belmont (NSW)",
        -              "Belmont South"
        -            ],
        -            "n": 49
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "comparable_suburbs": {
        -              "description": "Canonical SAL names in the same SA3.",
        -              "items": {
        -                "type": "string"
        -              },
        -              "title": "Comparable Suburbs",
        -              "type": "array"
        -            },
        -            "n": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Number of candidates.",
        -              "title": "N"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "comparable_suburbs"
        -          ],
        -          "title": "ComparableSuburbs",
        -          "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[ComparableSuburbs]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_ComparableSuburbs_"
        -}New value: +null
    • Changedsuburbs_market_days_on_market1 field changed
      • 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": "Median days a listing sits on market, by property type.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "as_of": "2026-05-17",
        -            "house": 23,
        -            "unit": 31.5
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "as_of": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Date of the most recent observation (YYYY-MM-DD).",
        -              "title": "As Of"
        -            },
        -            "house": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Median DOM for houses (days).",
        -              "title": "House"
        -            },
        -            "unit": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Median DOM for units (days).",
        -              "title": "Unit"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "DaysOnMarket",
        -          "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[DaysOnMarket]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_DaysOnMarket_"
        -}New value: +null
    • Changedsuburbs_market_days_on_market_benchmark1 field changed
      • 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": "Regional (GCCSA) median days-on-market benchmark.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "days_on_market": 34,
        -            "gccsa": "Rest of NSW",
        -            "n_suburbs": 1846
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "days_on_market": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Median days on market across the region's suburbs.",
        -              "title": "Days On Market"
        -            },
        -            "gccsa": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Greater capital city statistical area, e.g. 'Rest of NSW'.",
        -              "title": "Gccsa"
        -            },
        -            "n_suburbs": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Suburbs behind the benchmark median.",
        -              "title": "N Suburbs"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "DomBenchmark",
        -          "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[DomBenchmark]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_DomBenchmark_"
        -}New value: +null
    • Changedsuburbs_market_growth_drivers1 field changed
      • 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": "Every capital-growth driver the v6 report attributes to a suburb.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "drivers": [
        -              {
        -                "band": "(0.999, 1.51]",
        -                "basis": "nat_rel",
        -                "category": "supply_demand",
        -                "direction": "positive",
        -                "horizon_years": 2,
        -                "impact_pct_per_year": 1.11,
        -                "indicator": "Months of Supply",
        -                "key": "prop_list_months_of_supply",
        -                "source": "thresholds_v3_prod",
        -                "unit": "months",
        -                "value": 1
        -              },
        -              {
        -                "band": "present",
        -                "basis": "matched_control",
        -                "category": "risks",
        -                "direction": "neutral",
        -                "horizon_years": 1,
        -                "impact_pct_per_year": -0.29,
        -                "indicator": "Contamination",
        -                "key": "contamination",
        -                "source": "dbyd_matched_cg",
        -                "unit": "%",
        -                "value": 18.19
        -              },
        -              {
        -                "band": "Top",
        -                "basis": "nat_bin",
        -                "category": "demographics",
        -                "direction": "positive",
        -                "horizon_years": 4,
        -                "impact_pct_per_year": 0.43,
        -                "indicator": "Cultural Integration",
        -                "key": "cultural_integration",
        -                "source": "cultural_integration_sal",
        -                "unit": "score_0_100",
        -                "value": 61.8
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for this endpoint.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "drivers": {
        -              "description": "One row per indicator that carries an attributed impact. Indicators with no value for this suburb, or no matching band, are omitted rather than returned as zero.",
        -              "items": {
        -                "description": "One indicator and the capital-growth differential attributed to it.",
        -                "properties": {
        -                  "band": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "The band the suburb's value fell into: a numeric interval for threshold-model drivers, 'present'/'absent' for risks, or the tier name for cultural integration.",
        -                    "title": "Band"
        -                  },
        -                  "basis": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Control group the differential is relative to: 'nat_rel' (national), 'gccsa_rel' (capital-city region), 'nat_bin' (national tier), 'matched_control' (matched address pairs).",
        -                    "title": "Basis"
        -                  },
        -                  "category": {
        -                    "description": "Report section the driver belongs to: 'supply_demand', 'market', 'risks' or 'demographics'.",
        -                    "title": "Category",
        -                    "type": "string"
        -                  },
        -                  "direction": {
        -                    "description": "'positive', 'negative' or 'neutral' — the tone the report gives the chip.",
        -                    "title": "Direction",
        -                    "type": "string"
        -                  },
        -                  "horizon_years": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Window the differential was measured over. Threshold-model studies run 2 or 4 years and the report presents the raw differential as an annual rate; the cultural-integration model annualises its 4-year figure first; risk coefficients are already per-year.",
        -                    "title": "Horizon Years"
        -                  },
        -                  "impact_pct_per_year": {
        -                    "description": "Capital-growth differential attributed to this indicator, in percentage points, exactly as the report renders it.",
        -                    "title": "Impact Pct Per Year",
        -                    "type": "number"
        -                  },
        -                  "indicator": {
        -                    "description": "Human label, matching the report's row label.",
        -                    "title": "Indicator",
        -                    "type": "string"
        -                  },
        -                  "key": {
        -                    "description": "Stable machine identifier for the indicator.",
        -                    "title": "Key",
        -                    "type": "string"
        -                  },
        -                  "source": {
        -                    "description": "Model the row came from: 'thresholds_v3_prod', 'dbyd_matched_cg' or 'cultural_integration_sal'.",
        -                    "title": "Source",
        -                    "type": "string"
        -                  },
        -                  "unit": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Unit of `value` — e.g. 'months', 'fraction', 'AUD', '%', 'ANEF', 'score_0_100'.",
        -                    "title": "Unit"
        -                  },
        -                  "value": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "The suburb's own value for this indicator (see `unit`).",
        -                    "title": "Value"
        -                  }
        -                },
        -                "required": [
        -                  "category",
        -                  "key",
        -                  "indicator",
        -                  "direction",
        -                  "impact_pct_per_year",
        -                  "source"
        -                ],
        -                "title": "GrowthDriver",
        -                "type": "object"
        -              },
        -              "title": "Drivers",
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "drivers"
        -          ],
        -          "title": "GrowthDrivers",
        -          "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[GrowthDrivers]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_GrowthDrivers_"
        -}New value: +null
    • Changedsuburbs_market_investor_concentration1 field changed
      • 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": "Per-mesh-block investor share + suburb-wide rollup.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "mbs": [
        -              {
        -                "avg_annual_growth": 0.0705,
        -                "mb": "11205845900",
        -                "pct_investment": 28.95,
        -                "rental_properties": 11,
        -                "total_properties": 38
        -              }
        -            ],
        -            "rental_properties": 966,
        -            "rental_share_pct": 27.4,
        -            "total_properties": 3521
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "mbs": {
        -              "description": "Per-mesh-block breakdown.",
        -              "items": {
        -                "description": "Investor (rental) concentration for one mesh block.",
        -                "properties": {
        -                  "avg_annual_growth": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Average annual price growth for the MB (decimal, 0.07 = 7%/yr).",
        -                    "title": "Avg Annual Growth"
        -                  },
        -                  "mb": {
        -                    "description": "ABS mesh-block code (MB_CODE21).",
        -                    "title": "Mb",
        -                    "type": "string"
        -                  },
        -                  "pct_investment": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Share of dwellings that are rentals (%).",
        -                    "title": "Pct Investment"
        -                  },
        -                  "rental_properties": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Rental dwellings in the MB (numerator).",
        -                    "title": "Rental Properties"
        -                  },
        -                  "total_properties": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Occupied dwellings in the MB (denominator).",
        -                    "title": "Total Properties"
        -                  }
        -                },
        -                "required": [
        -                  "mb"
        -                ],
        -                "title": "InvestorConcentrationMb",
        -                "type": "object"
        -              },
        -              "title": "Mbs",
        -              "type": "array"
        -            },
        -            "rental_properties": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Total rental dwellings across the suburb's MBs.",
        -              "title": "Rental Properties"
        -            },
        -            "rental_share_pct": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Suburb rollup: rentals / total dwellings across all MBs (%).",
        -              "title": "Rental Share Pct"
        -            },
        -            "total_properties": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Total occupied dwellings across the suburb's MBs.",
        -              "title": "Total Properties"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "mbs"
        -          ],
        -          "title": "InvestorConcentration",
        -          "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[InvestorConcentration]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_InvestorConcentration_"
        -}New value: +null
    • Changedsuburbs_market_land_values1 field changed
      • 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": "Suburb land-value medians + per-mesh-block $/sqm.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "land_share_of_price": 0.546,
        -            "mbs": [
        -              {
        -                "lv_sqm": 748.2,
        -                "mb": "10431160000",
        -                "n_parcels": 21
        -              }
        -            ],
        -            "median_land_size": 645,
        -            "median_land_value": 426078,
        -            "median_lv_sqm": 657,
        -            "median_price": 780000,
        -            "n_parcels": 1549
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "land_share_of_price": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Land value as share of property price (decimal, 0.55 = 55%).",
        -              "title": "Land Share Of Price"
        -            },
        -            "mbs": {
        -              "description": "Per-mesh-block land values.",
        -              "items": {
        -                "description": "Land value $/sqm for one mesh block.",
        -                "properties": {
        -                  "lv_sqm": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Median land value per square metre (AUD).",
        -                    "title": "Lv Sqm"
        -                  },
        -                  "mb": {
        -                    "description": "ABS mesh-block code (MB_CODE21).",
        -                    "title": "Mb",
        -                    "type": "string"
        -                  },
        -                  "n_parcels": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Parcels behind the median.",
        -                    "title": "N Parcels"
        -                  }
        -                },
        -                "required": [
        -                  "mb"
        -                ],
        -                "title": "LandValueMb",
        -                "type": "object"
        -              },
        -              "title": "Mbs",
        -              "type": "array"
        -            },
        -            "median_land_size": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Median lot size (sqm).",
        -              "title": "Median Land Size"
        -            },
        -            "median_land_value": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Median total parcel land value (AUD).",
        -              "title": "Median Land Value"
        -            },
        -            "median_lv_sqm": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Median land value per square metre (AUD).",
        -              "title": "Median Lv Sqm"
        -            },
        -            "median_price": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Median property price (AUD) — denominator of the land share.",
        -              "title": "Median Price"
        -            },
        -            "n_parcels": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Parcels behind the suburb medians.",
        -              "title": "N Parcels"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "mbs"
        -          ],
        -          "title": "SuburbLandValues",
        -          "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[SuburbLandValues]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbLandValues_"
        -}New value: +null
    • Changedsuburbs_market_median_price_map1 field changed
      • 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": "Per-microburb median house price — the report's `mb_price` overlay.",
        -          "example": {
        -            "as_of": "2026-08-09",
        -            "definition": "Modelled median (50th-percentile) house price for the mesh block, from the modelled per-microburb price surface. Mesh block = 'microburb', the smallest ABS geography (~30-60 dwellings). Mesh blocks with too little signal are absent rather than zero.",
        -            "highest": {
        -              "mb": "10434032000",
        -              "median_price": 3843000,
        -              "street": "Pacific"
        -            },
        -            "lowest": {
        -              "mb": "10439043000",
        -              "median_price": 625900,
        -              "street": "Lentara"
        -            },
        -            "metric": "median_house_price",
        -            "microburbs": [
        -              {
        -                "mb": "10434032000",
        -                "median_price": 3843000,
        -                "street": "Pacific"
        -              }
        -            ],
        -            "n_microburbs": 63,
        -            "suburb": "Belmont North",
        -            "unit": "AUD"
        -          },
        -          "properties": {
        -            "as_of": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Date of the price surface (YYYY-MM-DD).",
        -              "title": "As Of"
        -            },
        -            "definition": {
        -              "description": "How the figure is derived.",
        -              "title": "Definition",
        -              "type": "string"
        -            },
        -            "highest": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Median house price for one microburb (mesh block).",
        -                  "properties": {
        -                    "mb": {
        -                      "description": "ABS 2021 mesh-block code.",
        -                      "title": "Mb",
        -                      "type": "string"
        -                    },
        -                    "median_price": {
        -                      "description": "Median house price, AUD.",
        -                      "title": "Median Price",
        -                      "type": "integer"
        -                    },
        -                    "street": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Modal street name for the mesh block, title-cased.",
        -                      "title": "Street"
        -                    }
        -                  },
        -                  "required": [
        -                    "mb",
        -                    "median_price"
        -                  ],
        -                  "title": "MedianPriceMb",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Dearest microburb. None when there is no spread."
        -            },
        -            "lowest": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Median house price for one microburb (mesh block).",
        -                  "properties": {
        -                    "mb": {
        -                      "description": "ABS 2021 mesh-block code.",
        -                      "title": "Mb",
        -                      "type": "string"
        -                    },
        -                    "median_price": {
        -                      "description": "Median house price, AUD.",
        -                      "title": "Median Price",
        -                      "type": "integer"
        -                    },
        -                    "street": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Modal street name for the mesh block, title-cased.",
        -                      "title": "Street"
        -                    }
        -                  },
        -                  "required": [
        -                    "mb",
        -                    "median_price"
        -                  ],
        -                  "title": "MedianPriceMb",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Cheapest microburb. None when there is no spread."
        -            },
        -            "metric": {
        -              "description": "Always 'median_house_price'.",
        -              "title": "Metric",
        -              "type": "string"
        -            },
        -            "microburbs": {
        -              "description": "Per-microburb prices, highest first.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "Median house price for one microburb (mesh block).",
        -                "properties": {
        -                  "mb": {
        -                    "description": "ABS 2021 mesh-block code.",
        -                    "title": "Mb",
        -                    "type": "string"
        -                  },
        -                  "median_price": {
        -                    "description": "Median house price, AUD.",
        -                    "title": "Median Price",
        -                    "type": "integer"
        -                  },
        -                  "street": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Modal street name for the mesh block, title-cased.",
        -                    "title": "Street"
        -                  }
        -                },
        -                "required": [
        -                  "mb",
        -                  "median_price"
        -                ],
        -                "title": "MedianPriceMb",
        -                "type": "object"
        -              },
        -              "title": "Microburbs",
        -              "type": "array"
        -            },
        -            "n_microburbs": {
        -              "description": "Microburbs with a price.",
        -              "title": "N Microburbs",
        -              "type": "integer"
        -            },
        -            "suburb": {
        -              "description": "Canonical SAL name.",
        -              "title": "Suburb",
        -              "type": "string"
        -            },
        -            "unit": {
        -              "description": "Always 'AUD'.",
        -              "title": "Unit",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "suburb",
        -            "metric",
        -            "unit",
        -            "definition",
        -            "n_microburbs",
        -            "microburbs"
        -          ],
        -          "title": "SuburbMedianPriceMap",
        -          "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[SuburbMedianPriceMap]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbMedianPriceMap_"
        -}New value: +null
    • Changedsuburbs_market_median_rent1 field changed
      • 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": "Latest median weekly rent by property type (AUD/week).",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "as_of": "2026-05-24",
        -            "house": 747,
        -            "unit": 412
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "as_of": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Date of the most recent observation (YYYY-MM-DD).",
        -              "title": "As Of"
        -            },
        -            "house": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Median weekly rent for houses (AUD).",
        -              "title": "House"
        -            },
        -            "unit": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Median weekly rent for units (AUD).",
        -              "title": "Unit"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "MedianRent",
        -          "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[MedianRent]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_MedianRent_"
        -}New value: +null
    • Changedsuburbs_market_median_rent_series1 field changed
      • 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": "Full advertised median weekly-rent history by property type.\n\nIncludes 2024–2025 observations where covered. Older observations are\ngenerally month-end and recent observations can be weekly, so clients must\nuse each point's date rather than assume a uniform cadence.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "house": [
        -              {
        -                "date": "2004-06-30",
        -                "value": 229
        -              },
        -              {
        -                "date": "2004-07-31",
        -                "value": 230
        -              },
        -              {
        -                "date": "2004-08-31",
        -                "value": 230
        -              },
        -              {
        -                "date": "2004-09-30",
        -                "value": 253
        -              },
        -              {
        -                "date": "2004-10-31",
        -                "value": 253
        -              },
        -              {
        -                "date": "2004-11-30",
        -                "value": 253
        -              },
        -              {
        -                "date": "2004-12-31",
        -                "value": 254
        -              },
        -              {
        -                "date": "2005-01-31",
        -                "value": 255
        -              },
        -              {
        -                "date": "2005-02-28",
        -                "value": 255
        -              },
        -              {
        -                "date": "2005-03-31",
        -                "value": 256
        -              },
        -              {
        -                "date": "2005-04-30",
        -                "value": 256
        -              },
        -              {
        -                "date": "2005-05-31",
        -                "value": 258
        -              },
        -              {
        -                "date": "2005-06-30",
        -                "value": 258
        -              },
        -              {
        -                "date": "2005-07-31",
        -                "value": 259
        -              },
        -              {
        -                "date": "2005-08-31",
        -                "value": 259
        -              },
        -              {
        -                "date": "2005-09-30",
        -                "value": 258
        -              },
        -              {
        -                "date": "2005-10-31",
        -                "value": 259
        -              },
        -              {
        -                "date": "2005-11-30",
        -                "value": 261
        -              },
        -              {
        -                "date": "2005-12-31",
        -                "value": 261
        -              },
        -              {
        -                "date": "2006-01-31",
        -                "value": 262
        -              },
        -              {
        -                "date": "2006-02-28",
        -                "value": 264
        -              },
        -              {
        -                "date": "2006-03-31",
        -                "value": 264
        -              },
        -              {
        -                "date": "2006-04-30",
        -                "value": 262
        -              },
        -              {
        -                "date": "2006-05-31",
        -                "value": 264
        -              },
        -              {
        -                "date": "2006-06-30",
        -                "value": 264
        -              },
        -              {
        -                "date": "2006-07-31",
        -                "value": 264
        -              },
        -              {
        -                "date": "2006-08-31",
        -                "value": 267
        -              },
        -              {
        -                "date": "2006-09-30",
        -                "value": 271
        -              },
        -              {
        -                "date": "2006-10-31",
        -                "value": 272
        -              },
        -              {
        -                "date": "2006-11-30",
        -                "value": 273
        -              },
        -              {
        -                "date": "2006-12-31",
        -                "value": 274
        -              },
        -              {
        -                "date": "2007-01-31",
        -                "value": 275
        -              },
        -              {
        -                "date": "2007-02-28",
        -                "value": 278
        -              },
        -              {
        -                "date": "2007-03-31",
        -                "value": 286
        -              },
        -              {
        -                "date": "2007-04-30",
        -                "value": 291
        -              },
        -              {
        -                "date": "2007-05-31",
        -                "value": 297
        -              },
        -              {
        -                "date": "2007-06-30",
        -                "value": 302
        -              },
        -              {
        -                "date": "2007-07-31",
        -                "value": 300
        -              },
        -              {
        -                "date": "2007-08-31",
        -                "value": 301
        -              },
        -              {
        -                "date": "2007-09-30",
        -                "value": 306
        -              },
        -              {
        -                "date": "2007-10-31",
        -                "value": 306
        -              },
        -              {
        -                "date": "2007-11-30",
        -                "value": 306
        -              },
        -              {
        -                "date": "2007-12-31",
        -                "value": 306
        -              },
        -              {
        -                "date": "2008-01-31",
        -                "value": 307
        -              },
        -              {
        -                "date": "2008-02-29",
        -                "value": 310
        -              },
        -              {
        -                "date": "2008-03-31",
        -                "value": 315
        -              },
        -              {
        -                "date": "2008-04-30",
        -                "value": 319
        -              },
        -              {
        -                "date": "2008-05-31",
        -                "value": 319
        -              },
        -              {
        -                "date": "2008-06-30",
        -                "value": 321
        -              },
        -              {
        -                "date": "2008-07-31",
        -                "value": 322
        -              },
        -              {
        -                "date": "2008-08-31",
        -                "value": 320
        -              },
        -              {
        -                "date": "2008-09-30",
        -                "value": 320
        -              },
        -              {
        -                "date": "2008-10-31",
        -                "value": 320
        -              },
        -              {
        -                "date": "2008-11-30",
        -                "value": 320
        -              },
        -              {
        -                "date": "2008-12-31",
        -                "value": 320
        -              },
        -              {
        -                "date": "2009-01-31",
        -                "value": 321
        -              },
        -              {
        -                "date": "2009-02-28",
        -                "value": 323
        -              },
        -              {
        -                "date": "2009-03-31",
        -                "value": 325
        -              },
        -              {
        -                "date": "2009-04-30",
        -                "value": 324
        -              },
        -              {
        -                "date": "2009-05-31",
        -                "value": 327
        -              },
        -              {
        -                "date": "2009-06-30",
        -                "value": 332
        -              },
        -              {
        -                "date": "2009-07-31",
        -                "value": 335
        -              },
        -              {
        -                "date": "2009-08-31",
        -                "value": 334
        -              },
        -              {
        -                "date": "2009-09-30",
        -                "value": 337
        -              },
        -              {
        -                "date": "2009-10-31",
        -                "value": 338
        -              },
        -              {
        -                "date": "2009-11-30",
        -                "value": 336
        -              },
        -              {
        -                "date": "2009-12-31",
        -                "value": 339
        -              },
        -              {
        -                "date": "2010-01-31",
        -                "value": 340
        -              },
        -              {
        -                "date": "2010-02-28",
        -                "value": 344
        -              },
        -              {
        -                "date": "2010-03-31",
        -                "value": 345
        -              },
        -              {
        -                "date": "2010-04-30",
        -                "value": 346
        -              },
        -              {
        -                "date": "2010-05-31",
        -                "value": 351
        -              },
        -              {
        -                "date": "2010-06-30",
        -                "value": 357
        -              },
        -              {
        -                "date": "2010-07-31",
        -                "value": 357
        -              },
        -              {
        -                "date": "2010-08-31",
        -                "value": 355
        -              },
        -              {
        -                "date": "2010-09-30",
        -                "value": 354
        -              },
        -              {
        -                "date": "2010-10-31",
        -                "value": 354
        -              },
        -              {
        -                "date": "2010-11-30",
        -                "value": 354
        -              },
        -              {
        -                "date": "2010-12-31",
        -                "value": 354
        -              },
        -              {
        -                "date": "2011-01-31",
        -                "value": 354
        -              },
        -              {
        -                "date": "2011-02-28",
        -                "value": 360
        -              },
        -              {
        -                "date": "2011-03-31",
        -                "value": 363
        -              },
        -              {
        -                "date": "2011-04-30",
        -                "value": 370
        -              },
        -              {
        -                "date": "2011-05-31",
        -                "value": 373
        -              },
        -              {
        -                "date": "2011-06-30",
        -                "value": 384
        -              },
        -              {
        -                "date": "2011-07-31",
        -                "value": 388
        -              },
        -              {
        -                "date": "2011-08-31",
        -                "value": 390
        -              },
        -              {
        -                "date": "2011-09-30",
        -                "value": 394
        -              },
        -              {
        -                "date": "2011-10-31",
        -                "value": 389
        -              },
        -              {
        -                "date": "2011-11-30",
        -                "value": 394
        -              },
        -              {
        -                "date": "2011-12-31",
        -                "value": 403
        -              },
        -              {
        -                "date": "2012-01-31",
        -                "value": 407
        -              },
        -              {
        -                "date": "2012-02-29",
        -                "value": 416
        -              },
        -              {
        -                "date": "2012-03-31",
        -                "value": 425
        -              },
        -              {
        -                "date": "2012-04-30",
        -                "value": 425
        -              },
        -              {
        -                "date": "2012-05-31",
        -                "value": 429
        -              },
        -              {
        -                "date": "2012-06-30",
        -                "value": 418
        -              },
        -              {
        -                "date": "2012-07-31",
        -                "value": 411
        -              },
        -              {
        -                "date": "2012-08-31",
        -                "value": 408
        -              },
        -              {
        -                "date": "2012-09-30",
        -                "value": 408
        -              },
        -              {
        -                "date": "2012-10-31",
        -                "value": 406
        -              },
        -              {
        -                "date": "2012-11-30",
        -                "value": 407
        -              },
        -              {
        -                "date": "2012-12-31",
        -                "value": 413
        -              },
        -              {
        -                "date": "2013-01-31",
        -                "value": 414
        -              },
        -              {
        -                "date": "2013-02-28",
        -                "value": 424
        -              },
        -              {
        -                "date": "2013-03-31",
        -                "value": 419
        -              },
        -              {
        -                "date": "2013-04-30",
        -                "value": 414
        -              },
        -              {
        -                "date": "2013-05-31",
        -                "value": 413
        -              },
        -              {
        -                "date": "2013-06-30",
        -                "value": 414
        -              },
        -              {
        -                "date": "2013-07-31",
        -                "value": 429
        -              },
        -              {
        -                "date": "2013-08-31",
        -                "value": 425
        -              },
        -              {
        -                "date": "2013-09-30",
        -                "value": 422
        -              },
        -              {
        -                "date": "2013-10-31",
        -                "value": 419
        -              },
        -              {
        -                "date": "2013-11-30",
        -                "value": 422
        -              },
        -              {
        -                "date": "2013-12-31",
        -                "value": 431
        -              },
        -              {
        -                "date": "2014-01-31",
        -                "value": 434
        -              },
        -              {
        -                "date": "2014-02-28",
        -                "value": 417
        -              },
        -              {
        -                "date": "2014-03-31",
        -                "value": 422
        -              },
        -              {
        -                "date": "2014-04-30",
        -                "value": 416
        -              },
        -              {
        -                "date": "2014-05-31",
        -                "value": 410
        -              },
        -              {
        -                "date": "2014-06-30",
        -                "value": 407
        -              },
        -              {
        -                "date": "2014-07-31",
        -                "value": 410
        -              },
        -              {
        -                "date": "2014-08-31",
        -                "value": 428
        -              },
        -              {
        -                "date": "2014-09-30",
        -                "value": 428
        -              },
        -              {
        -                "date": "2014-10-31",
        -                "value": 426
        -              },
        -              {
        -                "date": "2014-11-30",
        -                "value": 428
        -              },
        -              {
        -                "date": "2014-12-31",
        -                "value": 428
        -              },
        -              {
        -                "date": "2015-01-31",
        -                "value": 427
        -              },
        -              {
        -                "date": "2015-02-28",
        -                "value": 426
        -              },
        -              {
        -                "date": "2015-03-31",
        -                "value": 430
        -              },
        -              {
        -                "date": "2015-04-30",
        -                "value": 434
        -              },
        -              {
        -                "date": "2015-05-31",
        -                "value": 439
        -              },
        -              {
        -                "date": "2015-06-30",
        -                "value": 439
        -              },
        -              {
        -                "date": "2015-07-31",
        -                "value": 439
        -              },
        -              {
        -                "date": "2015-08-31",
        -                "value": 438
        -              },
        -              {
        -                "date": "2015-09-30",
        -                "value": 438
        -              },
        -              {
        -                "date": "2015-10-31",
        -                "value": 438
        -              },
        -              {
        -                "date": "2015-11-30",
        -                "value": 424
        -              },
        -              {
        -                "date": "2015-12-31",
        -                "value": 426
        -              },
        -              {
        -                "date": "2016-01-31",
        -                "value": 427
        -              },
        -              {
        -                "date": "2016-02-29",
        -                "value": 425
        -              },
        -              {
        -                "date": "2016-03-31",
        -                "value": 425
        -              },
        -              {
        -                "date": "2016-04-30",
        -                "value": 430
        -              },
        -              {
        -                "date": "2016-05-31",
        -                "value": 437
        -              },
        -              {
        -                "date": "2016-06-30",
        -                "value": 435
        -              },
        -              {
        -                "date": "2016-07-31",
        -                "value": 433
        -              },
        -              {
        -                "date": "2016-08-31",
        -                "value": 427
        -              },
        -              {
        -                "date": "2016-09-30",
        -                "value": 424
        -              },
        -              {
        -                "date": "2016-10-31",
        -                "value": 430
        -              },
        -              {
        -                "date": "2016-11-30",
        -                "value": 436
        -              },
        -              {
        -                "date": "2016-12-31",
        -                "value": 440
        -              },
        -              {
        -                "date": "2017-01-31",
        -                "value": 446
        -              },
        -              {
        -                "date": "2017-02-28",
        -                "value": 450
        -              },
        -              {
        -                "date": "2017-03-31",
        -                "value": 450
        -              },
        -              {
        -                "date": "2017-04-30",
        -                "value": 450
        -              },
        -              {
        -                "date": "2017-05-31",
        -                "value": 450
        -              },
        -              {
        -                "date": "2017-06-30",
        -                "value": 450
        -              },
        -              {
        -                "date": "2017-07-31",
        -                "value": 453
        -              },
        -              {
        -                "date": "2017-08-31",
        -                "value": 469
        -              },
        -              {
        -                "date": "2017-09-30",
        -                "value": 460
        -              },
        -              {
        -                "date": "2017-10-31",
        -                "value": 474
        -              },
        -              {
        -                "date": "2017-11-30",
        -                "value": 475
        -              },
        -              {
        -                "date": "2017-12-31",
        -                "value": 484
        -              },
        -              {
        -                "date": "2018-01-31",
        -                "value": 487
        -              },
        -              {
        -                "date": "2018-02-28",
        -                "value": 469
        -              },
        -              {
        -                "date": "2018-03-31",
        -                "value": 468
        -              },
        -              {
        -                "date": "2018-04-30",
        -                "value": 470
        -              },
        -              {
        -                "date": "2018-05-31",
        -                "value": 472
        -              },
        -              {
        -                "date": "2018-06-30",
        -                "value": 470
        -              },
        -              {
        -                "date": "2018-07-31",
        -                "value": 465
        -              },
        -              {
        -                "date": "2018-08-31",
        -                "value": 466
        -              },
        -              {
        -                "date": "2018-09-30",
        -                "value": 462
        -              },
        -              {
        -                "date": "2018-10-31",
        -                "value": 468
        -              },
        -              {
        -                "date": "2018-11-30",
        -                "value": 464
        -              },
        -              {
        -                "date": "2018-12-31",
        -                "value": 460
        -              },
        -              {
        -                "date": "2019-01-31",
        -                "value": 457
        -              },
        -              {
        -                "date": "2019-02-28",
        -                "value": 455
        -              },
        -              {
        -                "date": "2019-03-31",
        -                "value": 457
        -              },
        -              {
        -                "date": "2019-04-30",
        -                "value": 456
        -              },
        -              {
        -                "date": "2019-05-31",
        -                "value": 455
        -              },
        -              {
        -                "date": "2019-06-30",
        -                "value": 455
        -              },
        -              {
        -                "date": "2019-07-31",
        -                "value": 457
        -              },
        -              {
        -                "date": "2019-08-31",
        -                "value": 449
        -              },
        -              {
        -                "date": "2019-09-30",
        -                "value": 449
        -              },
        -              {
        -                "date": "2019-10-31",
        -                "value": 460
        -              },
        -              {
        -                "date": "2019-11-30",
        -                "value": 465
        -              },
        -              {
        -                "date": "2019-12-31",
        -                "value": 463
        -              },
        -              {
        -                "date": "2020-01-31",
        -                "value": 464
        -              },
        -              {
        -                "date": "2020-02-29",
        -                "value": 466
        -              },
        -              {
        -                "date": "2020-03-31",
        -                "value": 466
        -              },
        -              {
        -                "date": "2020-04-30",
        -                "value": 467
        -              },
        -              {
        -                "date": "2020-05-31",
        -                "value": 472
        -              },
        -              {
        -                "date": "2020-06-30",
        -                "value": 477
        -              },
        -              {
        -                "date": "2020-07-31",
        -                "value": 479
        -              },
        -              {
        -                "date": "2020-08-31",
        -                "value": 484
        -              },
        -              {
        -                "date": "2020-09-30",
        -                "value": 496
        -              },
        -              {
        -                "date": "2020-10-31",
        -                "value": 500
        -              },
        -              {
        -                "date": "2020-11-30",
        -                "value": 507
        -              },
        -              {
        -                "date": "2020-12-31",
        -                "value": 509
        -              },
        -              {
        -                "date": "2021-01-31",
        -                "value": 511
        -              },
        -              {
        -                "date": "2021-02-28",
        -                "value": 521
        -              },
        -              {
        -                "date": "2021-03-31",
        -                "value": 522
        -              },
        -              {
        -                "date": "2021-04-30",
        -                "value": 520
        -              },
        -              {
        -                "date": "2021-05-31",
        -                "value": 520
        -              },
        -              {
        -                "date": "2021-06-30",
        -                "value": 520
        -              },
        -              {
        -                "date": "2021-07-31",
        -                "value": 535
        -              },
        -              {
        -                "date": "2021-08-31",
        -                "value": 538
        -              },
        -              {
        -                "date": "2021-09-30",
        -                "value": 536
        -              },
        -              {
        -                "date": "2021-10-31",
        -                "value": 537
        -              },
        -              {
        -                "date": "2021-11-30",
        -                "value": 541
        -              },
        -              {
        -                "date": "2021-12-31",
        -                "value": 541
        -              },
        -              {
        -                "date": "2022-01-31",
        -                "value": 542
        -              },
        -              {
        -                "date": "2022-02-28",
        -                "value": 542
        -              },
        -              {
        -                "date": "2022-03-31",
        -                "value": 544
        -              },
        -              {
        -                "date": "2022-04-30",
        -                "value": 558
        -              },
        -              {
        -                "date": "2022-05-31",
        -                "value": 577
        -              },
        -              {
        -                "date": "2022-06-30",
        -                "value": 613
        -              },
        -              {
        -                "date": "2022-07-31",
        -                "value": 626
        -              },
        -              {
        -                "date": "2022-08-28",
        -                "value": 629
        -              },
        -              {
        -                "date": "2022-08-31",
        -                "value": 628
        -              },
        -              {
        -                "date": "2022-09-04",
        -                "value": 629
        -              },
        -              {
        -                "date": "2022-09-11",
        -                "value": 629
        -              },
        -              {
        -                "date": "2022-09-18",
        -                "value": 629
        -              },
        -              {
        -                "date": "2022-09-25",
        -                "value": 628
        -              },
        -              {
        -                "date": "2022-10-02",
        -                "value": 628
        -              },
        -              {
        -                "date": "2022-10-09",
        -                "value": 628
        -              },
        -              {
        -                "date": "2022-10-16",
        -                "value": 628
        -              },
        -              {
        -                "date": "2022-10-23",
        -                "value": 628
        -              },
        -              {
        -                "date": "2022-10-30",
        -                "value": 628
        -              },
        -              {
        -                "date": "2022-11-06",
        -                "value": 626
        -              },
        -              {
        -                "date": "2022-11-13",
        -                "value": 627
        -              },
        -              {
        -                "date": "2022-11-20",
        -                "value": 618
        -              },
        -              {
        -                "date": "2022-11-27",
        -                "value": 623
        -              },
        -              {
        -                "date": "2022-12-04",
        -                "value": 623
        -              },
        -              {
        -                "date": "2022-12-11",
        -                "value": 623
        -              },
        -              {
        -                "date": "2022-12-18",
        -                "value": 623
        -              },
        -              {
        -                "date": "2022-12-25",
        -                "value": 617
        -              },
        -              {
        -                "date": "2023-01-01",
        -                "value": 617
        -              },
        -              {
        -                "date": "2023-01-08",
        -                "value": 617
        -              },
        -              {
        -                "date": "2023-01-15",
        -                "value": 615
        -              },
        -              {
        -                "date": "2023-01-22",
        -                "value": 614
        -              },
        -              {
        -                "date": "2023-01-29",
        -                "value": 614
        -              },
        -              {
        -                "date": "2023-02-05",
        -                "value": 614
        -              },
        -              {
        -                "date": "2023-02-12",
        -                "value": 614
        -              },
        -              {
        -                "date": "2023-02-19",
        -                "value": 614
        -              },
        -              {
        -                "date": "2023-02-26",
        -                "value": 614
        -              },
        -              {
        -                "date": "2023-03-05",
        -                "value": 619
        -              },
        -              {
        -                "date": "2023-03-12",
        -                "value": 620
        -              },
        -              {
        -                "date": "2023-03-19",
        -                "value": 621
        -              },
        -              {
        -                "date": "2023-03-26",
        -                "value": 621
        -              },
        -              {
        -                "date": "2023-04-02",
        -                "value": 618
        -              },
        -              {
        -                "date": "2023-04-09",
        -                "value": 618
        -              },
        -              {
        -                "date": "2023-04-16",
        -                "value": 618
        -              },
        -              {
        -                "date": "2023-04-23",
        -                "value": 618
        -              },
        -              {
        -                "date": "2023-04-30",
        -                "value": 611
        -              },
        -              {
        -                "date": "2023-05-07",
        -                "value": 609
        -              },
        -              {
        -                "date": "2023-05-14",
        -                "value": 609
        -              },
        -              {
        -                "date": "2023-05-21",
        -                "value": 609
        -              },
        -              {
        -                "date": "2023-05-28",
        -                "value": 608
        -              },
        -              {
        -                "date": "2023-06-04",
        -                "value": 608
        -              },
        -              {
        -                "date": "2023-06-11",
        -                "value": 608
        -              },
        -              {
        -                "date": "2023-06-18",
        -                "value": 605
        -              },
        -              {
        -                "date": "2023-06-25",
        -                "value": 601
        -              },
        -              {
        -                "date": "2023-07-02",
        -                "value": 602
        -              },
        -              {
        -                "date": "2023-07-09",
        -                "value": 602
        -              },
        -              {
        -                "date": "2023-07-16",
        -                "value": 602
        -              },
        -              {
        -                "date": "2023-07-23",
        -                "value": 602
        -              },
        -              {
        -                "date": "2023-07-30",
        -                "value": 601
        -              },
        -              {
        -                "date": "2023-08-06",
        -                "value": 601
        -              },
        -              {
        -                "date": "2023-08-13",
        -                "value": 601
        -              },
        -              {
        -                "date": "2023-08-20",
        -                "value": 601
        -              },
        -              {
        -                "date": "2023-08-27",
        -                "value": 601
        -              },
        -              {
        -                "date": "2023-09-03",
        -                "value": 599
        -              },
        -              {
        -                "date": "2023-09-10",
        -                "value": 598
        -              },
        -              {
        -                "date": "2023-09-17",
        -                "value": 598
        -              },
        -              {
        -                "date": "2023-09-24",
        -                "value": 598
        -              },
        -              {
        -                "date": "2023-10-01",
        -                "value": 598
        -              },
        -              {
        -                "date": "2023-10-08",
        -                "value": 598
        -              },
        -              {
        -                "date": "2023-10-15",
        -                "value": 598
        -              },
        -              {
        -                "date": "2023-10-22",
        -                "value": 598
        -              },
        -              {
        -                "date": "2023-10-29",
        -                "value": 598
        -              },
        -              {
        -                "date": "2023-11-05",
        -                "value": 598
        -              },
        -              {
        -                "date": "2023-11-12",
        -                "value": 601
        -              },
        -              {
        -                "date": "2023-11-19",
        -                "value": 611
        -              },
        -              {
        -                "date": "2023-11-26",
        -                "value": 620
        -              },
        -              {
        -                "date": "2023-12-03",
        -                "value": 653
        -              },
        -              {
        -                "date": "2023-12-10",
        -                "value": 653
        -              },
        -              {
        -                "date": "2023-12-17",
        -                "value": 659
        -              },
        -              {
        -                "date": "2023-12-24",
        -                "value": 659
        -              },
        -              {
        -                "date": "2023-12-31",
        -                "value": 659
        -              },
        -              {
        -                "date": "2024-01-07",
        -                "value": 662
        -              },
        -              {
        -                "date": "2024-01-14",
        -                "value": 667
        -              },
        -              {
        -                "date": "2024-01-21",
        -                "value": 669
        -              },
        -              {
        -                "date": "2024-01-28",
        -                "value": 671
        -              },
        -              {
        -                "date": "2024-02-04",
        -                "value": 673
        -              },
        -              {
        -                "date": "2024-02-11",
        -                "value": 674
        -              },
        -              {
        -                "date": "2024-02-18",
        -                "value": 674
        -              },
        -              {
        -                "date": "2024-02-25",
        -                "value": 674
        -              },
        -              {
        -                "date": "2024-03-03",
        -                "value": 674
        -              },
        -              {
        -                "date": "2024-03-10",
        -                "value": 684
        -              },
        -              {
        -                "date": "2024-03-17",
        -                "value": 699
        -              },
        -              {
        -                "date": "2024-03-24",
        -                "value": 704
        -              },
        -              {
        -                "date": "2024-03-31",
        -                "value": 705
        -              },
        -              {
        -                "date": "2024-04-07",
        -                "value": 706
        -              },
        -              {
        -                "date": "2024-04-14",
        -                "value": 711
        -              },
        -              {
        -                "date": "2024-04-21",
        -                "value": 729
        -              },
        -              {
        -                "date": "2024-04-28",
        -                "value": 731
        -              },
        -              {
        -                "date": "2024-05-05",
        -                "value": 732
        -              },
        -              {
        -                "date": "2024-05-12",
        -                "value": 732
        -              },
        -              {
        -                "date": "2024-05-19",
        -                "value": 737
        -              },
        -              {
        -                "date": "2024-05-26",
        -                "value": 739
        -              },
        -              {
        -                "date": "2024-06-02",
        -                "value": 741
        -              },
        -              {
        -                "date": "2024-06-09",
        -                "value": 739
        -              },
        -              {
        -                "date": "2024-06-16",
        -                "value": 739
        -              },
        -              {
        -                "date": "2024-06-23",
        -                "value": 739
        -              },
        -              {
        -                "date": "2024-06-30",
        -                "value": 739
        -              },
        -              {
        -                "date": "2024-07-07",
        -                "value": 742
        -              },
        -              {
        -                "date": "2024-07-14",
        -                "value": 733
        -              },
        -              {
        -                "date": "2024-07-21",
        -                "value": 730
        -              },
        -              {
        -                "date": "2024-07-28",
        -                "value": 729
        -              },
        -              {
        -                "date": "2024-08-04",
        -                "value": 729
        -              },
        -              {
        -                "date": "2024-08-11",
        -                "value": 714
        -              },
        -              {
        -                "date": "2024-08-18",
        -                "value": 709
        -              },
        -              {
        -                "date": "2024-08-25",
        -                "value": 709
        -              },
        -              {
        -                "date": "2024-09-01",
        -                "value": 709
        -              },
        -              {
        -                "date": "2024-09-08",
        -                "value": 702
        -              },
        -              {
        -                "date": "2024-09-15",
        -                "value": 702
        -              },
        -              {
        -                "date": "2024-09-22",
        -                "value": 699
        -              },
        -              {
        -                "date": "2024-09-29",
        -                "value": 699
        -              },
        -              {
        -                "date": "2024-10-06",
        -                "value": 699
        -              },
        -              {
        -                "date": "2024-10-13",
        -                "value": 699
        -              },
        -              {
        -                "date": "2024-10-20",
        -                "value": 693
        -              },
        -              {
        -                "date": "2024-10-27",
        -                "value": 691
        -              },
        -              {
        -                "date": "2024-11-03",
        -                "value": 685
        -              },
        -              {
        -                "date": "2024-11-10",
        -                "value": 688
        -              },
        -              {
        -                "date": "2024-11-17",
        -                "value": 689
        -              },
        -              {
        -                "date": "2024-11-24",
        -                "value": 689
        -              },
        -              {
        -                "date": "2024-12-01",
        -                "value": 689
        -              },
        -              {
        -                "date": "2024-12-08",
        -                "value": 685
        -              },
        -              {
        -                "date": "2024-12-15",
        -                "value": 683
        -              },
        -              {
        -                "date": "2024-12-22",
        -                "value": 683
        -              },
        -              {
        -                "date": "2024-12-29",
        -                "value": 683
        -              },
        -              {
        -                "date": "2025-01-05",
        -                "value": 683
        -              },
        -              {
        -                "date": "2025-01-12",
        -                "value": 683
        -              },
        -              {
        -                "date": "2025-01-19",
        -                "value": 678
        -              },
        -              {
        -                "date": "2025-01-26",
        -                "value": 678
        -              },
        -              {
        -                "date": "2025-02-02",
        -                "value": 676
        -              },
        -              {
        -                "date": "2025-02-09",
        -                "value": 685
        -              },
        -              {
        -                "date": "2025-02-16",
        -                "value": 694
        -              },
        -              {
        -                "date": "2025-02-23",
        -                "value": 697
        -              },
        -              {
        -                "date": "2025-03-02",
        -                "value": 703
        -              },
        -              {
        -                "date": "2025-03-09",
        -                "value": 711
        -              },
        -              {
        -                "date": "2025-03-16",
        -                "value": 714
        -              },
        -              {
        -                "date": "2025-03-23",
        -                "value": 719
        -              },
        -              {
        -                "date": "2025-03-30",
        -                "value": 721
        -              },
        -              {
        -                "date": "2025-04-06",
        -                "value": 717
        -              },
        -              {
        -                "date": "2025-04-13",
        -                "value": 716
        -              },
        -              {
        -                "date": "2025-04-20",
        -                "value": 716
        -              },
        -              {
        -                "date": "2025-04-27",
        -                "value": 715
        -              },
        -              {
        -                "date": "2025-05-04",
        -                "value": 715
        -              },
        -              {
        -                "date": "2025-05-11",
        -                "value": 704
        -              },
        -              {
        -                "date": "2025-05-18",
        -                "value": 704
        -              },
        -              {
        -                "date": "2025-05-25",
        -                "value": 706
        -              },
        -              {
        -                "date": "2025-06-01",
        -                "value": 706
        -              },
        -              {
        -                "date": "2025-06-08",
        -                "value": 716
        -              },
        -              {
        -                "date": "2025-06-15",
        -                "value": 716
        -              },
        -              {
        -                "date": "2025-06-22",
        -                "value": 716
        -              },
        -              {
        -                "date": "2025-06-29",
        -                "value": 716
        -              },
        -              {
        -                "date": "2025-07-06",
        -                "value": 717
        -              },
        -              {
        -                "date": "2025-07-13",
        -                "value": 730
        -              },
        -              {
        -                "date": "2025-07-20",
        -                "value": 713
        -              },
        -              {
        -                "date": "2025-07-27",
        -                "value": 717
        -              },
        -              {
        -                "date": "2025-08-03",
        -                "value": 725
        -              },
        -              {
        -                "date": "2025-08-10",
        -                "value": 728
        -              },
        -              {
        -                "date": "2025-08-17",
        -                "value": 728
        -              },
        -              {
        -                "date": "2025-08-24",
        -                "value": 709
        -              },
        -              {
        -                "date": "2025-08-31",
        -                "value": 709
        -              },
        -              {
        -                "date": "2025-09-07",
        -                "value": 724
        -              },
        -              {
        -                "date": "2025-09-14",
        -                "value": 731
        -              },
        -              {
        -                "date": "2025-09-21",
        -                "value": 731
        -              },
        -              {
        -                "date": "2025-09-28",
        -                "value": 733
        -              },
        -              {
        -                "date": "2025-10-05",
        -                "value": 736
        -              },
        -              {
        -                "date": "2025-10-12",
        -                "value": 729
        -              },
        -              {
        -                "date": "2025-10-19",
        -                "value": 747
        -              },
        -              {
        -                "date": "2025-10-26",
        -                "value": 740
        -              },
        -              {
        -                "date": "2025-11-02",
        -                "value": 752
        -              },
        -              {
        -                "date": "2025-11-09",
        -                "value": 751
        -              },
        -              {
        -                "date": "2025-11-16",
        -                "value": 756
        -              },
        -              {
        -                "date": "2025-11-23",
        -                "value": 765
        -              },
        -              {
        -                "date": "2025-11-30",
        -                "value": 749
        -              },
        -              {
        -                "date": "2025-12-07",
        -                "value": 749
        -              },
        -              {
        -                "date": "2025-12-14",
        -                "value": 750
        -              },
        -              {
        -                "date": "2025-12-21",
        -                "value": 750
        -              },
        -              {
        -                "date": "2025-12-28",
        -                "value": 750
        -              },
        -              {
        -                "date": "2026-01-04",
        -                "value": 750
        -              },
        -              {
        -                "date": "2026-01-11",
        -                "value": 743
        -              },
        -              {
        -                "date": "2026-01-18",
        -                "value": 737
        -              },
        -              {
        -                "date": "2026-01-25",
        -                "value": 746
        -              },
        -              {
        -                "date": "2026-02-01",
        -                "value": 750
        -              },
        -              {
        -                "date": "2026-02-08",
        -                "value": 748
        -              },
        -              {
        -                "date": "2026-02-15",
        -                "value": 747
        -              },
        -              {
        -                "date": "2026-02-22",
        -                "value": 750
        -              },
        -              {
        -                "date": "2026-03-01",
        -                "value": 750
        -              },
        -              {
        -                "date": "2026-03-08",
        -                "value": 750
        -              },
        -              {
        -                "date": "2026-03-15",
        -                "value": 750
        -              },
        -              {
        -                "date": "2026-03-22",
        -                "value": 750
        -              },
        -              {
        -                "date": "2026-03-29",
        -                "value": 750
        -              },
        -              {
        -                "date": "2026-04-05",
        -                "value": 750
        -              },
        -              {
        -                "date": "2026-04-12",
        -                "value": 750
        -              },
        -              {
        -                "date": "2026-04-19",
        -                "value": 750
        -              },
        -              {
        -                "date": "2026-04-26",
        -                "value": 750
        -              }
        -            ],
        -            "unit": [
        -              {
        -                "date": "2006-12-31",
        -                "value": 217
        -              },
        -              {
        -                "date": "2007-01-31",
        -                "value": 217
        -              },
        -              {
        -                "date": "2007-02-28",
        -                "value": 217
        -              },
        -              {
        -                "date": "2007-03-31",
        -                "value": 217
        -              },
        -              {
        -                "date": "2007-04-30",
        -                "value": 217
        -              },
        -              {
        -                "date": "2007-05-31",
        -                "value": 217
        -              },
        -              {
        -                "date": "2007-06-30",
        -                "value": 217
        -              },
        -              {
        -                "date": "2007-07-31",
        -                "value": 217
        -              },
        -              {
        -                "date": "2007-08-31",
        -                "value": 217
        -              },
        -              {
        -                "date": "2007-09-30",
        -                "value": 217
        -              },
        -              {
        -                "date": "2007-10-31",
        -                "value": 217
        -              },
        -              {
        -                "date": "2007-11-30",
        -                "value": 217
        -              },
        -              {
        -                "date": "2007-12-31",
        -                "value": 221
        -              },
        -              {
        -                "date": "2008-01-31",
        -                "value": 221
        -              },
        -              {
        -                "date": "2008-02-29",
        -                "value": 221
        -              },
        -              {
        -                "date": "2008-03-31",
        -                "value": 221
        -              },
        -              {
        -                "date": "2008-04-30",
        -                "value": 222
        -              },
        -              {
        -                "date": "2008-05-31",
        -                "value": 222
        -              },
        -              {
        -                "date": "2008-06-30",
        -                "value": 222
        -              },
        -              {
        -                "date": "2008-07-31",
        -                "value": 222
        -              },
        -              {
        -                "date": "2008-08-31",
        -                "value": 222
        -              },
        -              {
        -                "date": "2008-09-30",
        -                "value": 227
        -              },
        -              {
        -                "date": "2008-10-31",
        -                "value": 240
        -              },
        -              {
        -                "date": "2008-11-30",
        -                "value": 240
        -              },
        -              {
        -                "date": "2008-12-31",
        -                "value": 240
        -              },
        -              {
        -                "date": "2009-01-31",
        -                "value": 240
        -              },
        -              {
        -                "date": "2009-02-28",
        -                "value": 241
        -              },
        -              {
        -                "date": "2009-03-31",
        -                "value": 241
        -              },
        -              {
        -                "date": "2009-04-30",
        -                "value": 241
        -              },
        -              {
        -                "date": "2009-05-31",
        -                "value": 242
        -              },
        -              {
        -                "date": "2009-06-30",
        -                "value": 242
        -              },
        -              {
        -                "date": "2009-07-31",
        -                "value": 242
        -              },
        -              {
        -                "date": "2009-08-31",
        -                "value": 242
        -              },
        -              {
        -                "date": "2009-09-30",
        -                "value": 242
        -              },
        -              {
        -                "date": "2009-10-31",
        -                "value": 242
        -              },
        -              {
        -                "date": "2009-11-30",
        -                "value": 242
        -              },
        -              {
        -                "date": "2009-12-31",
        -                "value": 242
        -              },
        -              {
        -                "date": "2010-01-31",
        -                "value": 242
        -              },
        -              {
        -                "date": "2010-02-28",
        -                "value": 242
        -              },
        -              {
        -                "date": "2010-03-31",
        -                "value": 242
        -              },
        -              {
        -                "date": "2010-04-30",
        -                "value": 242
        -              },
        -              {
        -                "date": "2010-05-31",
        -                "value": 242
        -              },
        -              {
        -                "date": "2010-06-30",
        -                "value": 242
        -              },
        -              {
        -                "date": "2010-07-31",
        -                "value": 249
        -              },
        -              {
        -                "date": "2010-08-31",
        -                "value": 249
        -              },
        -              {
        -                "date": "2010-09-30",
        -                "value": 249
        -              },
        -              {
        -                "date": "2010-10-31",
        -                "value": 249
        -              },
        -              {
        -                "date": "2010-11-30",
        -                "value": 257
        -              },
        -              {
        -                "date": "2010-12-31",
        -                "value": 257
        -              },
        -              {
        -                "date": "2011-01-31",
        -                "value": 257
        -              },
        -              {
        -                "date": "2011-02-28",
        -                "value": 257
        -              },
        -              {
        -                "date": "2011-03-31",
        -                "value": 261
        -              },
        -              {
        -                "date": "2011-04-30",
        -                "value": 284
        -              },
        -              {
        -                "date": "2011-05-31",
        -                "value": 288
        -              },
        -              {
        -                "date": "2011-06-30",
        -                "value": 288
        -              },
        -              {
        -                "date": "2011-07-31",
        -                "value": 288
        -              },
        -              {
        -                "date": "2011-08-31",
        -                "value": 291
        -              },
        -              {
        -                "date": "2011-09-30",
        -                "value": 293
        -              },
        -              {
        -                "date": "2011-10-31",
        -                "value": 293
        -              },
        -              {
        -                "date": "2011-11-30",
        -                "value": 293
        -              },
        -              {
        -                "date": "2011-12-31",
        -                "value": 301
        -              },
        -              {
        -                "date": "2012-01-31",
        -                "value": 302
        -              },
        -              {
        -                "date": "2012-02-29",
        -                "value": 302
        -              },
        -              {
        -                "date": "2012-03-31",
        -                "value": 302
        -              },
        -              {
        -                "date": "2012-04-30",
        -                "value": 302
        -              },
        -              {
        -                "date": "2012-05-31",
        -                "value": 302
        -              },
        -              {
        -                "date": "2012-06-30",
        -                "value": 303
        -              },
        -              {
        -                "date": "2012-07-31",
        -                "value": 303
        -              },
        -              {
        -                "date": "2012-08-31",
        -                "value": 305
        -              },
        -              {
        -                "date": "2012-09-30",
        -                "value": 307
        -              },
        -              {
        -                "date": "2012-10-31",
        -                "value": 307
        -              },
        -              {
        -                "date": "2012-11-30",
        -                "value": 307
        -              },
        -              {
        -                "date": "2012-12-31",
        -                "value": 307
        -              },
        -              {
        -                "date": "2013-01-31",
        -                "value": 307
        -              },
        -              {
        -                "date": "2013-02-28",
        -                "value": 307
        -              },
        -              {
        -                "date": "2013-03-31",
        -                "value": 307
        -              },
        -              {
        -                "date": "2013-04-30",
        -                "value": 307
        -              },
        -              {
        -                "date": "2013-05-31",
        -                "value": 310
        -              },
        -              {
        -                "date": "2013-06-30",
        -                "value": 315
        -              },
        -              {
        -                "date": "2013-07-31",
        -                "value": 315
        -              },
        -              {
        -                "date": "2013-08-31",
        -                "value": 315
        -              },
        -              {
        -                "date": "2013-09-30",
        -                "value": 315
        -              },
        -              {
        -                "date": "2013-10-31",
        -                "value": 315
        -              },
        -              {
        -                "date": "2013-11-30",
        -                "value": 315
        -              },
        -              {
        -                "date": "2013-12-31",
        -                "value": 315
        -              },
        -              {
        -                "date": "2014-01-31",
        -                "value": 317
        -              },
        -              {
        -                "date": "2014-02-28",
        -                "value": 323
        -              },
        -              {
        -                "date": "2014-03-31",
        -                "value": 323
        -              },
        -              {
        -                "date": "2014-04-30",
        -                "value": 323
        -              },
        -              {
        -                "date": "2014-05-31",
        -                "value": 323
        -              },
        -              {
        -                "date": "2014-06-30",
        -                "value": 323
        -              },
        -              {
        -                "date": "2014-07-31",
        -                "value": 323
        -              },
        -              {
        -                "date": "2014-08-31",
        -                "value": 323
        -              },
        -              {
        -                "date": "2014-09-30",
        -                "value": 325
        -              },
        -              {
        -                "date": "2014-10-31",
        -                "value": 325
        -              },
        -              {
        -                "date": "2014-11-30",
        -                "value": 325
        -              },
        -              {
        -                "date": "2014-12-31",
        -                "value": 325
        -              },
        -              {
        -                "date": "2015-01-31",
        -                "value": 325
        -              },
        -              {
        -                "date": "2015-02-28",
        -                "value": 316
        -              },
        -              {
        -                "date": "2015-03-31",
        -                "value": 308
        -              },
        -              {
        -                "date": "2015-04-30",
        -                "value": 307
        -              },
        -              {
        -                "date": "2015-05-31",
        -                "value": 305
        -              },
        -              {
        -                "date": "2015-06-30",
        -                "value": 305
        -              },
        -              {
        -                "date": "2015-07-31",
        -                "value": 320
        -              },
        -              {
        -                "date": "2015-08-31",
        -                "value": 324
        -              },
        -              {
        -                "date": "2015-09-30",
        -                "value": 324
        -              },
        -              {
        -                "date": "2015-10-31",
        -                "value": 327
        -              },
        -              {
        -                "date": "2015-11-30",
        -                "value": 327
        -              },
        -              {
        -                "date": "2015-12-31",
        -                "value": 327
        -              },
        -              {
        -                "date": "2016-01-31",
        -                "value": 327
        -              },
        -              {
        -                "date": "2016-02-29",
        -                "value": 327
        -              },
        -              {
        -                "date": "2016-03-31",
        -                "value": 328
        -              },
        -              {
        -                "date": "2016-04-30",
        -                "value": 329
        -              },
        -              {
        -                "date": "2016-05-31",
        -                "value": 331
        -              },
        -              {
        -                "date": "2016-06-30",
        -                "value": 341
        -              },
        -              {
        -                "date": "2016-07-31",
        -                "value": 344
        -              },
        -              {
        -                "date": "2016-08-31",
        -                "value": 344
        -              },
        -              {
        -                "date": "2016-09-30",
        -                "value": 344
        -              },
        -              {
        -                "date": "2016-10-31",
        -                "value": 344
        -              },
        -              {
        -                "date": "2016-11-30",
        -                "value": 357
        -              },
        -              {
        -                "date": "2016-12-31",
        -                "value": 357
        -              },
        -              {
        -                "date": "2017-01-31",
        -                "value": 357
        -              },
        -              {
        -                "date": "2017-02-28",
        -                "value": 353
        -              },
        -              {
        -                "date": "2017-03-31",
        -                "value": 353
        -              },
        -              {
        -                "date": "2017-04-30",
        -                "value": 353
        -              },
        -              {
        -                "date": "2017-05-31",
        -                "value": 344
        -              },
        -              {
        -                "date": "2017-06-30",
        -                "value": 342
        -              },
        -              {
        -                "date": "2017-07-31",
        -                "value": 344
        -              },
        -              {
        -                "date": "2017-08-31",
        -                "value": 344
        -              },
        -              {
        -                "date": "2017-09-30",
        -                "value": 356
        -              },
        -              {
        -                "date": "2017-10-31",
        -                "value": 356
        -              },
        -              {
        -                "date": "2017-11-30",
        -                "value": 356
        -              },
        -              {
        -                "date": "2017-12-31",
        -                "value": 356
        -              },
        -              {
        -                "date": "2018-01-31",
        -                "value": 356
        -              },
        -              {
        -                "date": "2018-02-28",
        -                "value": 356
        -              },
        -              {
        -                "date": "2018-03-31",
        -                "value": 361
        -              },
        -              {
        -                "date": "2018-04-30",
        -                "value": 363
        -              },
        -              {
        -                "date": "2018-05-31",
        -                "value": 363
        -              },
        -              {
        -                "date": "2018-06-30",
        -                "value": 363
        -              },
        -              {
        -                "date": "2018-07-31",
        -                "value": 363
        -              },
        -              {
        -                "date": "2018-08-31",
        -                "value": 363
        -              },
        -              {
        -                "date": "2018-09-30",
        -                "value": 363
        -              },
        -              {
        -                "date": "2018-10-31",
        -                "value": 360
        -              },
        -              {
        -                "date": "2018-11-30",
        -                "value": 360
        -              },
        -              {
        -                "date": "2018-12-31",
        -                "value": 360
        -              },
        -              {
        -                "date": "2019-01-31",
        -                "value": 360
        -              },
        -              {
        -                "date": "2019-02-28",
        -                "value": 360
        -              },
        -              {
        -                "date": "2019-03-31",
        -                "value": 356
        -              },
        -              {
        -                "date": "2019-04-30",
        -                "value": 356
        -              },
        -              {
        -                "date": "2019-05-31",
        -                "value": 356
        -              },
        -              {
        -                "date": "2019-06-30",
        -                "value": 356
        -              },
        -              {
        -                "date": "2019-07-31",
        -                "value": 349
        -              },
        -              {
        -                "date": "2019-08-31",
        -                "value": 349
        -              },
        -              {
        -                "date": "2019-09-30",
        -                "value": 361
        -              },
        -              {
        -                "date": "2019-10-31",
        -                "value": 361
        -              },
        -              {
        -                "date": "2019-11-30",
        -                "value": 364
        -              },
        -              {
        -                "date": "2019-12-31",
        -                "value": 364
        -              },
        -              {
        -                "date": "2020-01-31",
        -                "value": 365
        -              },
        -              {
        -                "date": "2020-02-29",
        -                "value": 364
        -              },
        -              {
        -                "date": "2020-03-31",
        -                "value": 363
        -              },
        -              {
        -                "date": "2020-04-30",
        -                "value": 363
        -              },
        -              {
        -                "date": "2020-05-31",
        -                "value": 365
        -              },
        -              {
        -                "date": "2020-06-30",
        -                "value": 368
        -              },
        -              {
        -                "date": "2020-07-31",
        -                "value": 374
        -              },
        -              {
        -                "date": "2020-08-31",
        -                "value": 374
        -              },
        -              {
        -                "date": "2020-09-30",
        -                "value": 374
        -              },
        -              {
        -                "date": "2020-10-31",
        -                "value": 374
        -              },
        -              {
        -                "date": "2020-11-30",
        -                "value": 374
        -              },
        -              {
        -                "date": "2020-12-31",
        -                "value": 374
        -              },
        -              {
        -                "date": "2021-01-31",
        -                "value": 378
        -              },
        -              {
        -                "date": "2021-02-28",
        -                "value": 380
        -              },
        -              {
        -                "date": "2021-03-31",
        -                "value": 380
        -              },
        -              {
        -                "date": "2021-04-30",
        -                "value": 380
        -              },
        -              {
        -                "date": "2021-05-31",
        -                "value": 380
        -              },
        -              {
        -                "date": "2021-06-30",
        -                "value": 381
        -              },
        -              {
        -                "date": "2021-07-31",
        -                "value": 374
        -              },
        -              {
        -                "date": "2021-08-31",
        -                "value": 374
        -              },
        -              {
        -                "date": "2021-09-30",
        -                "value": 371
        -              },
        -              {
        -                "date": "2021-10-31",
        -                "value": 375
        -              },
        -              {
        -                "date": "2021-11-30",
        -                "value": 375
        -              },
        -              {
        -                "date": "2021-12-31",
        -                "value": 375
        -              },
        -              {
        -                "date": "2022-01-31",
        -                "value": 375
        -              },
        -              {
        -                "date": "2022-02-28",
        -                "value": 376
        -              },
        -              {
        -                "date": "2022-03-31",
        -                "value": 376
        -              },
        -              {
        -                "date": "2022-04-30",
        -                "value": 376
        -              },
        -              {
        -                "date": "2022-05-31",
        -                "value": 376
        -              },
        -              {
        -                "date": "2022-06-30",
        -                "value": 376
        -              },
        -              {
        -                "date": "2022-07-31",
        -                "value": 377
        -              },
        -              {
        -                "date": "2022-08-28",
        -                "value": 377
        -              },
        -              {
        -                "date": "2022-08-31",
        -                "value": 377
        -              },
        -              {
        -                "date": "2022-09-04",
        -                "value": 377
        -              },
        -              {
        -                "date": "2022-09-11",
        -                "value": 377
        -              },
        -              {
        -                "date": "2022-09-18",
        -                "value": 377
        -              },
        -              {
        -                "date": "2022-09-25",
        -                "value": 377
        -              },
        -              {
        -                "date": "2022-10-02",
        -                "value": 377
        -              },
        -              {
        -                "date": "2022-10-09",
        -                "value": 377
        -              },
        -              {
        -                "date": "2022-10-16",
        -                "value": 377
        -              },
        -              {
        -                "date": "2022-10-23",
        -                "value": 377
        -              },
        -              {
        -                "date": "2022-10-30",
        -                "value": 377
        -              },
        -              {
        -                "date": "2022-11-06",
        -                "value": 377
        -              },
        -              {
        -                "date": "2022-11-13",
        -                "value": 377
        -              },
        -              {
        -                "date": "2022-11-20",
        -                "value": 377
        -              },
        -              {
        -                "date": "2022-11-27",
        -                "value": 377
        -              },
        -              {
        -                "date": "2022-12-04",
        -                "value": 377
        -              },
        -              {
        -                "date": "2022-12-11",
        -                "value": 377
        -              },
        -              {
        -                "date": "2022-12-18",
        -                "value": 377
        -              },
        -              {
        -                "date": "2022-12-25",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-01-01",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-01-08",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-01-15",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-01-22",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-01-29",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-02-05",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-02-12",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-02-19",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-02-26",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-03-05",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-03-12",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-03-19",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-03-26",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-04-02",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-04-09",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-04-16",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-04-23",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-04-30",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-05-07",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-05-14",
        -                "value": 377
        -              },
        -              {
        -                "date": "2023-05-21",
        -                "value": 376
        -              },
        -              {
        -                "date": "2023-05-28",
        -                "value": 372
        -              },
        -              {
        -                "date": "2023-06-04",
        -                "value": 372
        -              },
        -              {
        -                "date": "2023-06-11",
        -                "value": 373
        -              },
        -              {
        -                "date": "2023-06-18",
        -                "value": 375
        -              },
        -              {
        -                "date": "2023-06-25",
        -                "value": 375
        -              },
        -              {
        -                "date": "2023-07-02",
        -                "value": 375
        -              },
        -              {
        -                "date": "2023-07-09",
        -                "value": 375
        -              },
        -              {
        -                "date": "2023-07-16",
        -                "value": 375
        -              },
        -              {
        -                "date": "2023-07-23",
        -                "value": 375
        -              },
        -              {
        -                "date": "2023-07-30",
        -                "value": 375
        -              },
        -              {
        -                "date": "2023-08-06",
        -                "value": 375
        -              },
        -              {
        -                "date": "2023-08-13",
        -                "value": 375
        -              },
        -              {
        -                "date": "2023-08-20",
        -                "value": 376
        -              },
        -              {
        -                "date": "2023-08-27",
        -                "value": 379
        -              },
        -              {
        -                "date": "2023-09-03",
        -                "value": 379
        -              },
        -              {
        -                "date": "2023-09-10",
        -                "value": 379
        -              },
        -              {
        -                "date": "2023-09-17",
        -                "value": 379
        -              },
        -              {
        -                "date": "2023-09-24",
        -                "value": 379
        -              },
        -              {
        -                "date": "2023-10-01",
        -                "value": 379
        -              },
        -              {
        -                "date": "2023-10-08",
        -                "value": 379
        -              },
        -              {
        -                "date": "2023-10-15",
        -                "value": 379
        -              },
        -              {
        -                "date": "2023-10-22",
        -                "value": 379
        -              },
        -              {
        -                "date": "2023-10-29",
        -                "value": 379
        -              },
        -              {
        -                "date": "2023-11-05",
        -                "value": 379
        -              },
        -              {
        -                "date": "2023-11-12",
        -                "value": 381
        -              },
        -              {
        -                "date": "2023-11-19",
        -                "value": 383
        -              },
        -              {
        -                "date": "2023-11-26",
        -                "value": 383
        -              },
        -              {
        -                "date": "2023-12-03",
        -                "value": 383
        -              },
        -              {
        -                "date": "2023-12-10",
        -                "value": 387
        -              },
        -              {
        -                "date": "2023-12-17",
        -                "value": 387
        -              },
        -              {
        -                "date": "2023-12-24",
        -                "value": 387
        -              },
        -              {
        -                "date": "2023-12-31",
        -                "value": 387
        -              },
        -              {
        -                "date": "2024-01-07",
        -                "value": 387
        -              },
        -              {
        -                "date": "2024-01-14",
        -                "value": 387
        -              },
        -              {
        -                "date": "2024-01-21",
        -                "value": 391
        -              },
        -              {
        -                "date": "2024-01-28",
        -                "value": 394
        -              },
        -              {
        -                "date": "2024-02-04",
        -                "value": 394
        -              },
        -              {
        -                "date": "2024-02-11",
        -                "value": 394
        -              },
        -              {
        -                "date": "2024-02-18",
        -                "value": 394
        -              },
        -              {
        -                "date": "2024-02-25",
        -                "value": 394
        -              },
        -              {
        -                "date": "2024-03-03",
        -                "value": 394
        -              },
        -              {
        -                "date": "2024-03-10",
        -                "value": 394
        -              },
        -              {
        -                "date": "2024-03-17",
        -                "value": 394
        -              },
        -              {
        -                "date": "2024-03-24",
        -                "value": 394
        -              },
        -              {
        -                "date": "2024-03-31",
        -                "value": 394
        -              },
        -              {
        -                "date": "2024-04-07",
        -                "value": 394
        -              },
        -              {
        -                "date": "2024-04-14",
        -                "value": 397
        -              },
        -              {
        -                "date": "2024-04-21",
        -                "value": 397
        -              },
        -              {
        -                "date": "2024-04-28",
        -                "value": 397
        -              },
        -              {
        -                "date": "2024-05-05",
        -                "value": 397
        -              },
        -              {
        -                "date": "2024-05-12",
        -                "value": 397
        -              },
        -              {
        -                "date": "2024-05-19",
        -                "value": 397
        -              },
        -              {
        -                "date": "2024-05-26",
        -                "value": 397
        -              },
        -              {
        -                "date": "2024-06-02",
        -                "value": 397
        -              },
        -              {
        -                "date": "2024-06-09",
        -                "value": 399
        -              },
        -              {
        -                "date": "2024-06-16",
        -                "value": 399
        -              },
        -              {
        -                "date": "2024-06-23",
        -                "value": 399
        -              },
        -              {
        -                "date": "2024-06-30",
        -                "value": 399
        -              },
        -              {
        -                "date": "2024-07-07",
        -                "value": 399
        -              },
        -              {
        -                "date": "2024-07-14",
        -                "value": 399
        -              },
        -              {
        -                "date": "2024-07-21",
        -                "value": 399
        -              },
        -              {
        -                "date": "2024-07-28",
        -                "value": 399
        -              },
        -              {
        -                "date": "2024-08-04",
        -                "value": 399
        -              },
        -              {
        -                "date": "2024-08-11",
        -                "value": 399
        -              },
        -              {
        -                "date": "2024-08-18",
        -                "value": 399
        -              },
        -              {
        -                "date": "2024-08-25",
        -                "value": 399
        -              },
        -              {
        -                "date": "2024-09-01",
        -                "value": 399
        -              },
        -              {
        -                "date": "2024-09-08",
        -                "value": 399
        -              },
        -              {
        -                "date": "2024-09-15",
        -                "value": 400
        -              },
        -              {
        -                "date": "2024-09-22",
        -                "value": 400
        -              },
        -              {
        -                "date": "2024-09-29",
        -                "value": 400
        -              },
        -              {
        -                "date": "2024-10-06",
        -                "value": 400
        -              },
        -              {
        -                "date": "2024-10-13",
        -                "value": 400
        -              },
        -              {
        -                "date": "2024-10-20",
        -                "value": 400
        -              },
        -              {
        -                "date": "2024-10-27",
        -                "value": 400
        -              },
        -              {
        -                "date": "2024-11-03",
        -                "value": 400
        -              },
        -              {
        -                "date": "2024-11-10",
        -                "value": 400
        -              },
        -              {
        -                "date": "2024-11-17",
        -                "value": 400
        -              },
        -              {
        -                "date": "2024-11-24",
        -                "value": 400
        -              },
        -              {
        -                "date": "2024-12-01",
        -                "value": 400
        -              },
        -              {
        -                "date": "2024-12-08",
        -                "value": 400
        -              },
        -              {
        -                "date": "2024-12-15",
        -                "value": 400
        -              },
        -              {
        -                "date": "2024-12-22",
        -                "value": 400
        -              },
        -              {
        -                "date": "2024-12-29",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-01-05",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-01-12",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-01-19",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-01-26",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-02-02",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-02-09",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-02-16",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-02-23",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-03-02",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-03-09",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-03-16",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-03-23",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-03-30",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-04-06",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-04-13",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-04-20",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-04-27",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-05-04",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-05-11",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-05-18",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-05-25",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-06-01",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-06-08",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-06-15",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-06-22",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-06-29",
        -                "value": 399
        -              },
        -              {
        -                "date": "2025-07-06",
        -                "value": 401
        -              },
        -              {
        -                "date": "2025-07-13",
        -                "value": 392
        -              },
        -              {
        -                "date": "2025-07-20",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-07-27",
        -                "value": 400
        -              },
        -              {
        -                "date": "2025-08-03",
        -                "value": 396
        -              },
        -              {
        -                "date": "2025-08-10",
        -                "value": 394
        -              },
        -              {
        -                "date": "2025-08-17",
        -                "value": 401
        -              },
        -              {
        -                "date": "2025-08-24",
        -                "value": 412
        -              },
        -              {
        -                "date": "2025-08-31",
        -                "value": 412
        -              },
        -              {
        -                "date": "2025-09-07",
        -                "value": 398
        -              },
        -              {
        -                "date": "2025-09-14",
        -                "value": 398
        -              },
        -              {
        -                "date": "2025-09-21",
        -                "value": 396
        -              },
        -              {
        -                "date": "2025-09-28",
        -                "value": 391
        -              },
        -              {
        -                "date": "2025-10-05",
        -                "value": 397
        -              },
        -              {
        -                "date": "2025-10-12",
        -                "value": 403
        -              },
        -              {
        -                "date": "2025-10-19",
        -                "value": 407
        -              },
        -              {
        -                "date": "2025-10-26",
        -                "value": 403
        -              },
        -              {
        -                "date": "2025-11-02",
        -                "value": 401
        -              },
        -              {
        -                "date": "2025-11-09",
        -                "value": 398
        -              },
        -              {
        -                "date": "2025-11-16",
        -                "value": 405
        -              },
        -              {
        -                "date": "2025-11-23",
        -                "value": 390
        -              },
        -              {
        -                "date": "2025-11-30",
        -                "value": 398
        -              },
        -              {
        -                "date": "2025-12-07",
        -                "value": 408
        -              },
        -              {
        -                "date": "2025-12-14",
        -                "value": 408
        -              },
        -              {
        -                "date": "2025-12-21",
        -                "value": 408
        -              },
        -              {
        -                "date": "2025-12-28",
        -                "value": 408
        -              },
        -              {
        -                "date": "2026-01-04",
        -                "value": 415
        -              },
        -              {
        -                "date": "2026-01-11",
        -                "value": 414
        -              },
        -              {
        -                "date": "2026-01-18",
        -                "value": 407
        -              },
        -              {
        -                "date": "2026-01-25",
        -                "value": 410
        -              },
        -              {
        -                "date": "2026-02-01",
        -                "value": 410
        -              },
        -              {
        -                "date": "2026-02-08",
        -                "value": 419
        -              },
        -              {
        -                "date": "2026-02-15",
        -                "value": 424
        -              },
        -              {
        -                "date": "2026-02-22",
        -                "value": 417
        -              },
        -              {
        -                "date": "2026-03-01",
        -                "value": 417
        -              },
        -              {
        -                "date": "2026-03-08",
        -                "value": 417
        -              },
        -              {
        -                "date": "2026-03-15",
        -                "value": 417
        -              },
        -              {
        -                "date": "2026-03-22",
        -                "value": 417
        -              },
        -              {
        -                "date": "2026-03-29",
        -                "value": 421
        -              },
        -              {
        -                "date": "2026-04-05",
        -                "value": 421
        -              },
        -              {
        -                "date": "2026-04-12",
        -                "value": 421
        -              },
        -              {
        -                "date": "2026-04-19",
        -                "value": 421
        -              },
        -              {
        -                "date": "2026-04-26",
        -                "value": 421
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "house": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "description": "One point in a monthly time-series (median price/rent over time).",
        -                    "example": {
        -                      "date": "2026-04-30",
        -                      "value": 1130000
        -                    },
        -                    "properties": {
        -                      "date": {
        -                        "description": "ISO date (YYYY-MM-DD), month-end.",
        -                        "title": "Date",
        -                        "type": "string"
        -                      },
        -                      "value": {
        -                        "description": "Series value at that date.",
        -                        "title": "Value",
        -                        "type": "number"
        -                      }
        -                    },
        -                    "required": [
        -                      "date",
        -                      "value"
        -                    ],
        -                    "title": "TimeSeriesPoint",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Complete available house-rent series (AUD/week), oldest first.",
        -              "title": "House"
        -            },
        -            "unit": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "description": "One point in a monthly time-series (median price/rent over time).",
        -                    "example": {
        -                      "date": "2026-04-30",
        -                      "value": 1130000
        -                    },
        -                    "properties": {
        -                      "date": {
        -                        "description": "ISO date (YYYY-MM-DD), month-end.",
        -                        "title": "Date",
        -                        "type": "string"
        -                      },
        -                      "value": {
        -                        "description": "Series value at that date.",
        -                        "title": "Value",
        -                        "type": "number"
        -                      }
        -                    },
        -                    "required": [
        -                      "date",
        -                      "value"
        -                    ],
        -                    "title": "TimeSeriesPoint",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Complete available unit-rent series (AUD/week), oldest first.",
        -              "title": "Unit"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "MedianRentSeries",
        -          "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[MedianRentSeries]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_MedianRentSeries_"
        -}New value: +null
    • Changedsuburbs_market_median_sale_price1 field changed
      • 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": "Latest median sale price by property type (AUD).",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "as_of": "2026-05-24",
        -            "house": 1160000,
        -            "unit": 573000
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "as_of": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Date of the most recent observation (YYYY-MM-DD).",
        -              "title": "As Of"
        -            },
        -            "house": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Median sale price for houses (AUD).",
        -              "title": "House"
        -            },
        -            "unit": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Median sale price for units (AUD).",
        -              "title": "Unit"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "MedianSalePrice",
        -          "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[MedianSalePrice]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_MedianSalePrice_"
        -}New value: +null
    • Changedsuburbs_market_median_sale_price_series1 field changed
      • 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": "Full median sale price observation history by property type.\n\nWell-covered suburbs can span 20+ years. Observation frequency and start\ndate vary by suburb; inspect the returned dates rather than assuming a\nfixed quarterly cadence. This is a historical price series, not a formal\nconsistency score.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "house": [
        -              {
        -                "date": "2003-05-31",
        -                "value": 277000
        -              },
        -              {
        -                "date": "2003-06-30",
        -                "value": 277000
        -              },
        -              {
        -                "date": "2003-07-31",
        -                "value": 293000
        -              },
        -              {
        -                "date": "2003-08-31",
        -                "value": 293000
        -              },
        -              {
        -                "date": "2003-09-30",
        -                "value": 295000
        -              },
        -              {
        -                "date": "2003-10-31",
        -                "value": 303000
        -              },
        -              {
        -                "date": "2003-11-30",
        -                "value": 306000
        -              },
        -              {
        -                "date": "2003-12-31",
        -                "value": 323000
        -              },
        -              {
        -                "date": "2004-01-31",
        -                "value": 329000
        -              },
        -              {
        -                "date": "2004-02-29",
        -                "value": 342000
        -              },
        -              {
        -                "date": "2004-03-31",
        -                "value": 351000
        -              },
        -              {
        -                "date": "2004-04-30",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2004-05-31",
        -                "value": 357000
        -              },
        -              {
        -                "date": "2004-06-30",
        -                "value": 357000
        -              },
        -              {
        -                "date": "2004-07-31",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2004-08-31",
        -                "value": 359000
        -              },
        -              {
        -                "date": "2004-09-30",
        -                "value": 360000
        -              },
        -              {
        -                "date": "2004-10-31",
        -                "value": 363000
        -              },
        -              {
        -                "date": "2004-11-30",
        -                "value": 372000
        -              },
        -              {
        -                "date": "2004-12-31",
        -                "value": 374000
        -              },
        -              {
        -                "date": "2005-01-31",
        -                "value": 368000
        -              },
        -              {
        -                "date": "2005-02-28",
        -                "value": 358000
        -              },
        -              {
        -                "date": "2005-03-31",
        -                "value": 347000
        -              },
        -              {
        -                "date": "2005-04-30",
        -                "value": 346000
        -              },
        -              {
        -                "date": "2005-05-31",
        -                "value": 346000
        -              },
        -              {
        -                "date": "2005-06-30",
        -                "value": 358000
        -              },
        -              {
        -                "date": "2005-07-31",
        -                "value": 357000
        -              },
        -              {
        -                "date": "2005-08-31",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2005-09-30",
        -                "value": 358000
        -              },
        -              {
        -                "date": "2005-10-31",
        -                "value": 359000
        -              },
        -              {
        -                "date": "2005-11-30",
        -                "value": 349000
        -              },
        -              {
        -                "date": "2005-12-31",
        -                "value": 350000
        -              },
        -              {
        -                "date": "2006-01-31",
        -                "value": 351000
        -              },
        -              {
        -                "date": "2006-02-28",
        -                "value": 349000
        -              },
        -              {
        -                "date": "2006-03-31",
        -                "value": 346000
        -              },
        -              {
        -                "date": "2006-04-30",
        -                "value": 339000
        -              },
        -              {
        -                "date": "2006-05-31",
        -                "value": 344000
        -              },
        -              {
        -                "date": "2006-06-30",
        -                "value": 347000
        -              },
        -              {
        -                "date": "2006-07-31",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2006-08-31",
        -                "value": 360000
        -              },
        -              {
        -                "date": "2006-09-30",
        -                "value": 360000
        -              },
        -              {
        -                "date": "2006-10-31",
        -                "value": 361000
        -              },
        -              {
        -                "date": "2006-11-30",
        -                "value": 365000
        -              },
        -              {
        -                "date": "2006-12-31",
        -                "value": 361000
        -              },
        -              {
        -                "date": "2007-01-31",
        -                "value": 360000
        -              },
        -              {
        -                "date": "2007-02-28",
        -                "value": 359000
        -              },
        -              {
        -                "date": "2007-03-31",
        -                "value": 348000
        -              },
        -              {
        -                "date": "2007-04-30",
        -                "value": 354000
        -              },
        -              {
        -                "date": "2007-05-31",
        -                "value": 344000
        -              },
        -              {
        -                "date": "2007-06-30",
        -                "value": 345000
        -              },
        -              {
        -                "date": "2007-07-31",
        -                "value": 350000
        -              },
        -              {
        -                "date": "2007-08-31",
        -                "value": 342000
        -              },
        -              {
        -                "date": "2007-09-30",
        -                "value": 337000
        -              },
        -              {
        -                "date": "2007-10-31",
        -                "value": 346000
        -              },
        -              {
        -                "date": "2007-11-30",
        -                "value": 346000
        -              },
        -              {
        -                "date": "2007-12-31",
        -                "value": 338000
        -              },
        -              {
        -                "date": "2008-01-31",
        -                "value": 330000
        -              },
        -              {
        -                "date": "2008-02-29",
        -                "value": 333000
        -              },
        -              {
        -                "date": "2008-03-31",
        -                "value": 342000
        -              },
        -              {
        -                "date": "2008-04-30",
        -                "value": 349000
        -              },
        -              {
        -                "date": "2008-05-31",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2008-06-30",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2008-07-31",
        -                "value": 351000
        -              },
        -              {
        -                "date": "2008-08-31",
        -                "value": 352000
        -              },
        -              {
        -                "date": "2008-09-30",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2008-10-31",
        -                "value": 358000
        -              },
        -              {
        -                "date": "2008-11-30",
        -                "value": 352000
        -              },
        -              {
        -                "date": "2008-12-31",
        -                "value": 348000
        -              },
        -              {
        -                "date": "2009-01-31",
        -                "value": 344000
        -              },
        -              {
        -                "date": "2009-02-28",
        -                "value": 344000
        -              },
        -              {
        -                "date": "2009-03-31",
        -                "value": 343000
        -              },
        -              {
        -                "date": "2009-04-30",
        -                "value": 339000
        -              },
        -              {
        -                "date": "2009-05-31",
        -                "value": 338000
        -              },
        -              {
        -                "date": "2009-06-30",
        -                "value": 341000
        -              },
        -              {
        -                "date": "2009-07-31",
        -                "value": 340000
        -              },
        -              {
        -                "date": "2009-08-31",
        -                "value": 340000
        -              },
        -              {
        -                "date": "2009-09-30",
        -                "value": 335000
        -              },
        -              {
        -                "date": "2009-10-31",
        -                "value": 337000
        -              },
        -              {
        -                "date": "2009-11-30",
        -                "value": 337000
        -              },
        -              {
        -                "date": "2009-12-31",
        -                "value": 339000
        -              },
        -              {
        -                "date": "2010-01-31",
        -                "value": 338000
        -              },
        -              {
        -                "date": "2010-02-28",
        -                "value": 339000
        -              },
        -              {
        -                "date": "2010-03-31",
        -                "value": 341000
        -              },
        -              {
        -                "date": "2010-04-30",
        -                "value": 343000
        -              },
        -              {
        -                "date": "2010-05-31",
        -                "value": 348000
        -              },
        -              {
        -                "date": "2010-06-30",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2010-07-31",
        -                "value": 358000
        -              },
        -              {
        -                "date": "2010-08-31",
        -                "value": 362000
        -              },
        -              {
        -                "date": "2010-09-30",
        -                "value": 362000
        -              },
        -              {
        -                "date": "2010-10-31",
        -                "value": 363000
        -              },
        -              {
        -                "date": "2010-11-30",
        -                "value": 364000
        -              },
        -              {
        -                "date": "2010-12-31",
        -                "value": 366000
        -              },
        -              {
        -                "date": "2011-01-31",
        -                "value": 366000
        -              },
        -              {
        -                "date": "2011-02-28",
        -                "value": 369000
        -              },
        -              {
        -                "date": "2011-03-31",
        -                "value": 379000
        -              },
        -              {
        -                "date": "2011-04-30",
        -                "value": 385000
        -              },
        -              {
        -                "date": "2011-05-31",
        -                "value": 385000
        -              },
        -              {
        -                "date": "2011-06-30",
        -                "value": 384000
        -              },
        -              {
        -                "date": "2011-07-31",
        -                "value": 384000
        -              },
        -              {
        -                "date": "2011-08-31",
        -                "value": 384000
        -              },
        -              {
        -                "date": "2011-09-30",
        -                "value": 387000
        -              },
        -              {
        -                "date": "2011-10-31",
        -                "value": 389000
        -              },
        -              {
        -                "date": "2011-11-30",
        -                "value": 392000
        -              },
        -              {
        -                "date": "2011-12-31",
        -                "value": 396000
        -              },
        -              {
        -                "date": "2012-01-31",
        -                "value": 391000
        -              },
        -              {
        -                "date": "2012-02-29",
        -                "value": 390000
        -              },
        -              {
        -                "date": "2012-03-31",
        -                "value": 392000
        -              },
        -              {
        -                "date": "2012-04-30",
        -                "value": 383000
        -              },
        -              {
        -                "date": "2012-05-31",
        -                "value": 390000
        -              },
        -              {
        -                "date": "2012-06-30",
        -                "value": 381000
        -              },
        -              {
        -                "date": "2012-07-31",
        -                "value": 389000
        -              },
        -              {
        -                "date": "2012-08-31",
        -                "value": 389000
        -              },
        -              {
        -                "date": "2012-09-30",
        -                "value": 383000
        -              },
        -              {
        -                "date": "2012-10-31",
        -                "value": 384000
        -              },
        -              {
        -                "date": "2012-11-30",
        -                "value": 392000
        -              },
        -              {
        -                "date": "2012-12-31",
        -                "value": 391000
        -              },
        -              {
        -                "date": "2013-01-31",
        -                "value": 388000
        -              },
        -              {
        -                "date": "2013-02-28",
        -                "value": 390000
        -              },
        -              {
        -                "date": "2013-03-31",
        -                "value": 392000
        -              },
        -              {
        -                "date": "2013-04-30",
        -                "value": 389000
        -              },
        -              {
        -                "date": "2013-05-31",
        -                "value": 391000
        -              },
        -              {
        -                "date": "2013-06-30",
        -                "value": 388000
        -              },
        -              {
        -                "date": "2013-07-31",
        -                "value": 390000
        -              },
        -              {
        -                "date": "2013-08-31",
        -                "value": 394000
        -              },
        -              {
        -                "date": "2013-09-30",
        -                "value": 393000
        -              },
        -              {
        -                "date": "2013-10-31",
        -                "value": 391000
        -              },
        -              {
        -                "date": "2013-11-30",
        -                "value": 392000
        -              },
        -              {
        -                "date": "2013-12-31",
        -                "value": 392000
        -              },
        -              {
        -                "date": "2014-01-31",
        -                "value": 397000
        -              },
        -              {
        -                "date": "2014-02-28",
        -                "value": 398000
        -              },
        -              {
        -                "date": "2014-03-31",
        -                "value": 413000
        -              },
        -              {
        -                "date": "2014-04-30",
        -                "value": 417000
        -              },
        -              {
        -                "date": "2014-05-31",
        -                "value": 425000
        -              },
        -              {
        -                "date": "2014-06-30",
        -                "value": 424000
        -              },
        -              {
        -                "date": "2014-07-31",
        -                "value": 428000
        -              },
        -              {
        -                "date": "2014-08-31",
        -                "value": 426000
        -              },
        -              {
        -                "date": "2014-09-30",
        -                "value": 430000
        -              },
        -              {
        -                "date": "2014-10-31",
        -                "value": 430000
        -              },
        -              {
        -                "date": "2014-11-30",
        -                "value": 437000
        -              },
        -              {
        -                "date": "2014-12-31",
        -                "value": 438000
        -              },
        -              {
        -                "date": "2015-01-31",
        -                "value": 444000
        -              },
        -              {
        -                "date": "2015-02-28",
        -                "value": 443000
        -              },
        -              {
        -                "date": "2015-03-31",
        -                "value": 451000
        -              },
        -              {
        -                "date": "2015-04-30",
        -                "value": 462000
        -              },
        -              {
        -                "date": "2015-05-31",
        -                "value": 469000
        -              },
        -              {
        -                "date": "2015-06-30",
        -                "value": 469000
        -              },
        -              {
        -                "date": "2015-07-31",
        -                "value": 470000
        -              },
        -              {
        -                "date": "2015-08-31",
        -                "value": 470000
        -              },
        -              {
        -                "date": "2015-09-30",
        -                "value": 468000
        -              },
        -              {
        -                "date": "2015-10-31",
        -                "value": 462000
        -              },
        -              {
        -                "date": "2015-11-30",
        -                "value": 461000
        -              },
        -              {
        -                "date": "2015-12-31",
        -                "value": 461000
        -              },
        -              {
        -                "date": "2016-01-31",
        -                "value": 461000
        -              },
        -              {
        -                "date": "2016-02-29",
        -                "value": 467000
        -              },
        -              {
        -                "date": "2016-03-31",
        -                "value": 465000
        -              },
        -              {
        -                "date": "2016-04-30",
        -                "value": 462000
        -              },
        -              {
        -                "date": "2016-05-31",
        -                "value": 467000
        -              },
        -              {
        -                "date": "2016-06-30",
        -                "value": 479000
        -              },
        -              {
        -                "date": "2016-07-31",
        -                "value": 488000
        -              },
        -              {
        -                "date": "2016-08-31",
        -                "value": 491000
        -              },
        -              {
        -                "date": "2016-09-30",
        -                "value": 500000
        -              },
        -              {
        -                "date": "2016-10-31",
        -                "value": 498000
        -              },
        -              {
        -                "date": "2016-11-30",
        -                "value": 506000
        -              },
        -              {
        -                "date": "2016-12-31",
        -                "value": 510000
        -              },
        -              {
        -                "date": "2017-01-31",
        -                "value": 510000
        -              },
        -              {
        -                "date": "2017-02-28",
        -                "value": 510000
        -              },
        -              {
        -                "date": "2017-03-31",
        -                "value": 516000
        -              },
        -              {
        -                "date": "2017-04-30",
        -                "value": 519000
        -              },
        -              {
        -                "date": "2017-05-31",
        -                "value": 521000
        -              },
        -              {
        -                "date": "2017-06-30",
        -                "value": 536000
        -              },
        -              {
        -                "date": "2017-07-31",
        -                "value": 535000
        -              },
        -              {
        -                "date": "2017-08-31",
        -                "value": 554000
        -              },
        -              {
        -                "date": "2017-09-30",
        -                "value": 556000
        -              },
        -              {
        -                "date": "2017-10-31",
        -                "value": 562000
        -              },
        -              {
        -                "date": "2017-11-30",
        -                "value": 573000
        -              },
        -              {
        -                "date": "2017-12-31",
        -                "value": 581000
        -              },
        -              {
        -                "date": "2018-01-31",
        -                "value": 581000
        -              },
        -              {
        -                "date": "2018-02-28",
        -                "value": 590000
        -              },
        -              {
        -                "date": "2018-03-31",
        -                "value": 598000
        -              },
        -              {
        -                "date": "2018-04-30",
        -                "value": 602000
        -              },
        -              {
        -                "date": "2018-05-31",
        -                "value": 622000
        -              },
        -              {
        -                "date": "2018-06-30",
        -                "value": 622000
        -              },
        -              {
        -                "date": "2018-07-31",
        -                "value": 623000
        -              },
        -              {
        -                "date": "2018-08-31",
        -                "value": 633000
        -              },
        -              {
        -                "date": "2018-09-30",
        -                "value": 632000
        -              },
        -              {
        -                "date": "2018-10-31",
        -                "value": 637000
        -              },
        -              {
        -                "date": "2018-11-30",
        -                "value": 632000
        -              },
        -              {
        -                "date": "2018-12-31",
        -                "value": 624000
        -              },
        -              {
        -                "date": "2019-01-31",
        -                "value": 625000
        -              },
        -              {
        -                "date": "2019-02-28",
        -                "value": 630000
        -              },
        -              {
        -                "date": "2019-03-31",
        -                "value": 629000
        -              },
        -              {
        -                "date": "2019-04-30",
        -                "value": 626000
        -              },
        -              {
        -                "date": "2019-05-31",
        -                "value": 624000
        -              },
        -              {
        -                "date": "2019-06-30",
        -                "value": 611000
        -              },
        -              {
        -                "date": "2019-07-31",
        -                "value": 605000
        -              },
        -              {
        -                "date": "2019-08-31",
        -                "value": 598000
        -              },
        -              {
        -                "date": "2019-09-30",
        -                "value": 582000
        -              },
        -              {
        -                "date": "2019-10-31",
        -                "value": 567000
        -              },
        -              {
        -                "date": "2019-11-30",
        -                "value": 566000
        -              },
        -              {
        -                "date": "2019-12-31",
        -                "value": 574000
        -              },
        -              {
        -                "date": "2020-01-31",
        -                "value": 582000
        -              },
        -              {
        -                "date": "2020-02-29",
        -                "value": 576000
        -              },
        -              {
        -                "date": "2020-03-31",
        -                "value": 572000
        -              },
        -              {
        -                "date": "2020-04-30",
        -                "value": 587000
        -              },
        -              {
        -                "date": "2020-05-31",
        -                "value": 593000
        -              },
        -              {
        -                "date": "2020-06-30",
        -                "value": 593000
        -              },
        -              {
        -                "date": "2020-07-31",
        -                "value": 602000
        -              },
        -              {
        -                "date": "2020-08-31",
        -                "value": 607000
        -              },
        -              {
        -                "date": "2020-09-30",
        -                "value": 597000
        -              },
        -              {
        -                "date": "2020-10-31",
        -                "value": 598000
        -              },
        -              {
        -                "date": "2020-11-30",
        -                "value": 611000
        -              },
        -              {
        -                "date": "2020-12-31",
        -                "value": 620000
        -              },
        -              {
        -                "date": "2021-01-31",
        -                "value": 635000
        -              },
        -              {
        -                "date": "2021-02-28",
        -                "value": 639000
        -              },
        -              {
        -                "date": "2021-03-31",
        -                "value": 657000
        -              },
        -              {
        -                "date": "2021-04-30",
        -                "value": 678000
        -              },
        -              {
        -                "date": "2021-05-31",
        -                "value": 686000
        -              },
        -              {
        -                "date": "2021-06-30",
        -                "value": 689000
        -              },
        -              {
        -                "date": "2021-07-31",
        -                "value": 698000
        -              },
        -              {
        -                "date": "2021-08-31",
        -                "value": 705000
        -              },
        -              {
        -                "date": "2021-09-30",
        -                "value": 720000
        -              },
        -              {
        -                "date": "2021-10-31",
        -                "value": 748000
        -              },
        -              {
        -                "date": "2021-11-30",
        -                "value": 759000
        -              },
        -              {
        -                "date": "2021-12-31",
        -                "value": 775000
        -              },
        -              {
        -                "date": "2022-01-31",
        -                "value": 810000
        -              },
        -              {
        -                "date": "2022-02-28",
        -                "value": 843000
        -              },
        -              {
        -                "date": "2022-03-31",
        -                "value": 890000
        -              },
        -              {
        -                "date": "2022-04-30",
        -                "value": 901000
        -              },
        -              {
        -                "date": "2022-05-31",
        -                "value": 910000
        -              },
        -              {
        -                "date": "2022-06-30",
        -                "value": 911000
        -              },
        -              {
        -                "date": "2022-07-31",
        -                "value": 907000
        -              },
        -              {
        -                "date": "2022-08-28",
        -                "value": 906000
        -              },
        -              {
        -                "date": "2022-08-31",
        -                "value": 906000
        -              },
        -              {
        -                "date": "2022-09-04",
        -                "value": 906000
        -              },
        -              {
        -                "date": "2022-09-11",
        -                "value": 906000
        -              },
        -              {
        -                "date": "2022-09-18",
        -                "value": 904000
        -              },
        -              {
        -                "date": "2022-09-25",
        -                "value": 902000
        -              },
        -              {
        -                "date": "2022-10-02",
        -                "value": 902000
        -              },
        -              {
        -                "date": "2022-10-09",
        -                "value": 901000
        -              },
        -              {
        -                "date": "2022-10-16",
        -                "value": 901000
        -              },
        -              {
        -                "date": "2022-10-23",
        -                "value": 897000
        -              },
        -              {
        -                "date": "2022-10-30",
        -                "value": 898000
        -              },
        -              {
        -                "date": "2022-11-06",
        -                "value": 900000
        -              },
        -              {
        -                "date": "2022-11-13",
        -                "value": 900000
        -              },
        -              {
        -                "date": "2022-11-20",
        -                "value": 900000
        -              },
        -              {
        -                "date": "2022-11-27",
        -                "value": 904000
        -              },
        -              {
        -                "date": "2022-12-04",
        -                "value": 900000
        -              },
        -              {
        -                "date": "2022-12-11",
        -                "value": 897000
        -              },
        -              {
        -                "date": "2022-12-18",
        -                "value": 897000
        -              },
        -              {
        -                "date": "2022-12-25",
        -                "value": 897000
        -              },
        -              {
        -                "date": "2023-01-01",
        -                "value": 897000
        -              },
        -              {
        -                "date": "2023-01-08",
        -                "value": 897000
        -              },
        -              {
        -                "date": "2023-01-15",
        -                "value": 896000
        -              },
        -              {
        -                "date": "2023-01-22",
        -                "value": 896000
        -              },
        -              {
        -                "date": "2023-01-29",
        -                "value": 896000
        -              },
        -              {
        -                "date": "2023-02-05",
        -                "value": 893000
        -              },
        -              {
        -                "date": "2023-02-12",
        -                "value": 889000
        -              },
        -              {
        -                "date": "2023-02-19",
        -                "value": 877000
        -              },
        -              {
        -                "date": "2023-02-26",
        -                "value": 874000
        -              },
        -              {
        -                "date": "2023-03-05",
        -                "value": 856000
        -              },
        -              {
        -                "date": "2023-03-12",
        -                "value": 851000
        -              },
        -              {
        -                "date": "2023-03-19",
        -                "value": 849000
        -              },
        -              {
        -                "date": "2023-03-26",
        -                "value": 840000
        -              },
        -              {
        -                "date": "2023-04-02",
        -                "value": 837000
        -              },
        -              {
        -                "date": "2023-04-09",
        -                "value": 837000
        -              },
        -              {
        -                "date": "2023-04-16",
        -                "value": 836000
        -              },
        -              {
        -                "date": "2023-04-23",
        -                "value": 835000
        -              },
        -              {
        -                "date": "2023-04-30",
        -                "value": 834000
        -              },
        -              {
        -                "date": "2023-05-07",
        -                "value": 835000
        -              },
        -              {
        -                "date": "2023-05-14",
        -                "value": 843000
        -              },
        -              {
        -                "date": "2023-05-21",
        -                "value": 848000
        -              },
        -              {
        -                "date": "2023-05-28",
        -                "value": 847000
        -              },
        -              {
        -                "date": "2023-06-04",
        -                "value": 846000
        -              },
        -              {
        -                "date": "2023-06-11",
        -                "value": 846000
        -              },
        -              {
        -                "date": "2023-06-18",
        -                "value": 847000
        -              },
        -              {
        -                "date": "2023-06-25",
        -                "value": 847000
        -              },
        -              {
        -                "date": "2023-07-02",
        -                "value": 853000
        -              },
        -              {
        -                "date": "2023-07-09",
        -                "value": 850000
        -              },
        -              {
        -                "date": "2023-07-16",
        -                "value": 846000
        -              },
        -              {
        -                "date": "2023-07-23",
        -                "value": 845000
        -              },
        -              {
        -                "date": "2023-07-30",
        -                "value": 845000
        -              },
        -              {
        -                "date": "2023-08-06",
        -                "value": 845000
        -              },
        -              {
        -                "date": "2023-08-13",
        -                "value": 847000
        -              },
        -              {
        -                "date": "2023-08-20",
        -                "value": 847000
        -              },
        -              {
        -                "date": "2023-08-27",
        -                "value": 844000
        -              },
        -              {
        -                "date": "2023-09-03",
        -                "value": 843000
        -              },
        -              {
        -                "date": "2023-09-10",
        -                "value": 843000
        -              },
        -              {
        -                "date": "2023-09-17",
        -                "value": 843000
        -              },
        -              {
        -                "date": "2023-09-24",
        -                "value": 844000
        -              },
        -              {
        -                "date": "2023-10-01",
        -                "value": 844000
        -              },
        -              {
        -                "date": "2023-10-08",
        -                "value": 845000
        -              },
        -              {
        -                "date": "2023-10-15",
        -                "value": 845000
        -              },
        -              {
        -                "date": "2023-10-22",
        -                "value": 845000
        -              },
        -              {
        -                "date": "2023-10-29",
        -                "value": 844000
        -              },
        -              {
        -                "date": "2023-11-05",
        -                "value": 846000
        -              },
        -              {
        -                "date": "2023-11-12",
        -                "value": 847000
        -              },
        -              {
        -                "date": "2023-11-19",
        -                "value": 846000
        -              },
        -              {
        -                "date": "2023-11-26",
        -                "value": 844000
        -              },
        -              {
        -                "date": "2023-12-03",
        -                "value": 843000
        -              },
        -              {
        -                "date": "2023-12-10",
        -                "value": 843000
        -              },
        -              {
        -                "date": "2023-12-17",
        -                "value": 844000
        -              },
        -              {
        -                "date": "2023-12-24",
        -                "value": 844000
        -              },
        -              {
        -                "date": "2023-12-31",
        -                "value": 844000
        -              },
        -              {
        -                "date": "2024-01-07",
        -                "value": 848000
        -              },
        -              {
        -                "date": "2024-01-14",
        -                "value": 850000
        -              },
        -              {
        -                "date": "2024-01-21",
        -                "value": 853000
        -              },
        -              {
        -                "date": "2024-01-28",
        -                "value": 854000
        -              },
        -              {
        -                "date": "2024-02-04",
        -                "value": 858000
        -              },
        -              {
        -                "date": "2024-02-11",
        -                "value": 856000
        -              },
        -              {
        -                "date": "2024-02-18",
        -                "value": 858000
        -              },
        -              {
        -                "date": "2024-02-25",
        -                "value": 858000
        -              },
        -              {
        -                "date": "2024-03-03",
        -                "value": 859000
        -              },
        -              {
        -                "date": "2024-03-10",
        -                "value": 861000
        -              },
        -              {
        -                "date": "2024-03-17",
        -                "value": 862000
        -              },
        -              {
        -                "date": "2024-03-24",
        -                "value": 866000
        -              },
        -              {
        -                "date": "2024-03-31",
        -                "value": 866000
        -              },
        -              {
        -                "date": "2024-04-07",
        -                "value": 876000
        -              },
        -              {
        -                "date": "2024-04-14",
        -                "value": 879000
        -              },
        -              {
        -                "date": "2024-04-21",
        -                "value": 900000
        -              },
        -              {
        -                "date": "2024-04-28",
        -                "value": 908000
        -              },
        -              {
        -                "date": "2024-05-05",
        -                "value": 924000
        -              },
        -              {
        -                "date": "2024-05-12",
        -                "value": 929000
        -              },
        -              {
        -                "date": "2024-05-19",
        -                "value": 931000
        -              },
        -              {
        -                "date": "2024-05-26",
        -                "value": 918000
        -              },
        -              {
        -                "date": "2024-06-02",
        -                "value": 927000
        -              },
        -              {
        -                "date": "2024-06-09",
        -                "value": 933000
        -              },
        -              {
        -                "date": "2024-06-16",
        -                "value": 937000
        -              },
        -              {
        -                "date": "2024-06-23",
        -                "value": 939000
        -              },
        -              {
        -                "date": "2024-06-30",
        -                "value": 934000
        -              },
        -              {
        -                "date": "2024-07-07",
        -                "value": 937000
        -              },
        -              {
        -                "date": "2024-07-14",
        -                "value": 937000
        -              },
        -              {
        -                "date": "2024-07-21",
        -                "value": 937000
        -              },
        -              {
        -                "date": "2024-07-28",
        -                "value": 937000
        -              },
        -              {
        -                "date": "2024-08-04",
        -                "value": 922000
        -              },
        -              {
        -                "date": "2024-08-11",
        -                "value": 922000
        -              },
        -              {
        -                "date": "2024-08-18",
        -                "value": 897000
        -              },
        -              {
        -                "date": "2024-08-25",
        -                "value": 877000
        -              },
        -              {
        -                "date": "2024-09-01",
        -                "value": 869000
        -              },
        -              {
        -                "date": "2024-09-08",
        -                "value": 868000
        -              },
        -              {
        -                "date": "2024-09-15",
        -                "value": 863000
        -              },
        -              {
        -                "date": "2024-09-22",
        -                "value": 860000
        -              },
        -              {
        -                "date": "2024-09-29",
        -                "value": 861000
        -              },
        -              {
        -                "date": "2024-10-06",
        -                "value": 863000
        -              },
        -              {
        -                "date": "2024-10-13",
        -                "value": 862000
        -              },
        -              {
        -                "date": "2024-10-20",
        -                "value": 861000
        -              },
        -              {
        -                "date": "2024-10-27",
        -                "value": 866000
        -              },
        -              {
        -                "date": "2024-11-03",
        -                "value": 867000
        -              },
        -              {
        -                "date": "2024-11-10",
        -                "value": 868000
        -              },
        -              {
        -                "date": "2024-11-17",
        -                "value": 868000
        -              },
        -              {
        -                "date": "2024-11-24",
        -                "value": 874000
        -              },
        -              {
        -                "date": "2024-12-01",
        -                "value": 874000
        -              },
        -              {
        -                "date": "2024-12-08",
        -                "value": 885000
        -              },
        -              {
        -                "date": "2024-12-15",
        -                "value": 885000
        -              },
        -              {
        -                "date": "2024-12-22",
        -                "value": 885000
        -              },
        -              {
        -                "date": "2024-12-29",
        -                "value": 885000
        -              },
        -              {
        -                "date": "2025-01-05",
        -                "value": 885000
        -              },
        -              {
        -                "date": "2025-01-12",
        -                "value": 885000
        -              },
        -              {
        -                "date": "2025-01-19",
        -                "value": 885000
        -              },
        -              {
        -                "date": "2025-01-26",
        -                "value": 893000
        -              },
        -              {
        -                "date": "2025-02-02",
        -                "value": 893000
        -              },
        -              {
        -                "date": "2025-02-09",
        -                "value": 898000
        -              },
        -              {
        -                "date": "2025-02-16",
        -                "value": 897000
        -              },
        -              {
        -                "date": "2025-02-23",
        -                "value": 897000
        -              },
        -              {
        -                "date": "2025-03-02",
        -                "value": 899000
        -              },
        -              {
        -                "date": "2025-03-09",
        -                "value": 900000
        -              },
        -              {
        -                "date": "2025-03-16",
        -                "value": 902000
        -              },
        -              {
        -                "date": "2025-03-23",
        -                "value": 908000
        -              },
        -              {
        -                "date": "2025-03-30",
        -                "value": 909000
        -              },
        -              {
        -                "date": "2025-04-06",
        -                "value": 909000
        -              },
        -              {
        -                "date": "2025-04-13",
        -                "value": 938000
        -              },
        -              {
        -                "date": "2025-04-20",
        -                "value": 932000
        -              },
        -              {
        -                "date": "2025-04-27",
        -                "value": 945000
        -              },
        -              {
        -                "date": "2025-05-04",
        -                "value": 955000
        -              },
        -              {
        -                "date": "2025-05-11",
        -                "value": 959000
        -              },
        -              {
        -                "date": "2025-05-18",
        -                "value": 962000
        -              },
        -              {
        -                "date": "2025-05-25",
        -                "value": 963000
        -              },
        -              {
        -                "date": "2025-06-01",
        -                "value": 963000
        -              },
        -              {
        -                "date": "2025-06-08",
        -                "value": 964000
        -              },
        -              {
        -                "date": "2025-06-15",
        -                "value": 965000
        -              },
        -              {
        -                "date": "2025-06-22",
        -                "value": 964000
        -              },
        -              {
        -                "date": "2025-06-29",
        -                "value": 964000
        -              },
        -              {
        -                "date": "2025-07-06",
        -                "value": 951000
        -              },
        -              {
        -                "date": "2025-07-13",
        -                "value": 924000
        -              },
        -              {
        -                "date": "2025-07-20",
        -                "value": 967000
        -              },
        -              {
        -                "date": "2025-07-27",
        -                "value": 990000
        -              },
        -              {
        -                "date": "2025-08-03",
        -                "value": 1010000
        -              },
        -              {
        -                "date": "2025-08-10",
        -                "value": 976000
        -              },
        -              {
        -                "date": "2025-08-17",
        -                "value": 987000
        -              },
        -              {
        -                "date": "2025-08-24",
        -                "value": 1000000
        -              },
        -              {
        -                "date": "2025-08-31",
        -                "value": 1000000
        -              },
        -              {
        -                "date": "2025-09-07",
        -                "value": 1020000
        -              },
        -              {
        -                "date": "2025-09-14",
        -                "value": 1040000
        -              },
        -              {
        -                "date": "2025-09-21",
        -                "value": 1030000
        -              },
        -              {
        -                "date": "2025-09-28",
        -                "value": 1040000
        -              },
        -              {
        -                "date": "2025-10-05",
        -                "value": 1030000
        -              },
        -              {
        -                "date": "2025-10-12",
        -                "value": 1020000
        -              },
        -              {
        -                "date": "2025-10-19",
        -                "value": 1040000
        -              },
        -              {
        -                "date": "2025-10-26",
        -                "value": 1030000
        -              },
        -              {
        -                "date": "2025-11-02",
        -                "value": 1040000
        -              },
        -              {
        -                "date": "2025-11-09",
        -                "value": 1050000
        -              },
        -              {
        -                "date": "2025-11-16",
        -                "value": 1040000
        -              },
        -              {
        -                "date": "2025-11-23",
        -                "value": 1060000
        -              },
        -              {
        -                "date": "2025-11-30",
        -                "value": 1050000
        -              },
        -              {
        -                "date": "2025-12-07",
        -                "value": 1060000
        -              },
        -              {
        -                "date": "2025-12-14",
        -                "value": 1070000
        -              },
        -              {
        -                "date": "2025-12-21",
        -                "value": 1070000
        -              },
        -              {
        -                "date": "2025-12-28",
        -                "value": 1070000
        -              },
        -              {
        -                "date": "2026-01-04",
        -                "value": 1090000
        -              },
        -              {
        -                "date": "2026-01-11",
        -                "value": 1080000
        -              },
        -              {
        -                "date": "2026-01-18",
        -                "value": 1090000
        -              },
        -              {
        -                "date": "2026-01-25",
        -                "value": 1080000
        -              },
        -              {
        -                "date": "2026-02-01",
        -                "value": 1110000
        -              },
        -              {
        -                "date": "2026-02-08",
        -                "value": 1100000
        -              },
        -              {
        -                "date": "2026-02-15",
        -                "value": 1080000
        -              },
        -              {
        -                "date": "2026-02-22",
        -                "value": 1080000
        -              },
        -              {
        -                "date": "2026-03-01",
        -                "value": 1090000
        -              },
        -              {
        -                "date": "2026-03-08",
        -                "value": 1090000
        -              },
        -              {
        -                "date": "2026-03-15",
        -                "value": 1090000
        -              },
        -              {
        -                "date": "2026-03-22",
        -                "value": 1090000
        -              },
        -              {
        -                "date": "2026-03-29",
        -                "value": 1100000
        -              },
        -              {
        -                "date": "2026-04-05",
        -                "value": 1100000
        -              },
        -              {
        -                "date": "2026-04-12",
        -                "value": 1100000
        -              },
        -              {
        -                "date": "2026-04-19",
        -                "value": 1100000
        -              },
        -              {
        -                "date": "2026-04-26",
        -                "value": 1130000
        -              }
        -            ],
        -            "unit": [
        -              {
        -                "date": "2004-02-29",
        -                "value": 347000
        -              },
        -              {
        -                "date": "2004-03-31",
        -                "value": 347000
        -              },
        -              {
        -                "date": "2004-04-30",
        -                "value": 347000
        -              },
        -              {
        -                "date": "2004-05-31",
        -                "value": 347000
        -              },
        -              {
        -                "date": "2004-06-30",
        -                "value": 347000
        -              },
        -              {
        -                "date": "2004-07-31",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2004-08-31",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2004-09-30",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2004-10-31",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2004-11-30",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2004-12-31",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2005-01-31",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2005-02-28",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2005-03-31",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2005-04-30",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2005-05-31",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2005-06-30",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2005-07-31",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2005-08-31",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2005-09-30",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2005-10-31",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2005-11-30",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2005-12-31",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2006-01-31",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2006-02-28",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2006-03-31",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2006-04-30",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2006-05-31",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2006-06-30",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2006-07-31",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2006-08-31",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2006-09-30",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2006-10-31",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2006-11-30",
        -                "value": 349000
        -              },
        -              {
        -                "date": "2006-12-31",
        -                "value": 349000
        -              },
        -              {
        -                "date": "2007-01-31",
        -                "value": 347000
        -              },
        -              {
        -                "date": "2007-02-28",
        -                "value": 340000
        -              },
        -              {
        -                "date": "2007-03-31",
        -                "value": 339000
        -              },
        -              {
        -                "date": "2007-04-30",
        -                "value": 339000
        -              },
        -              {
        -                "date": "2007-05-31",
        -                "value": 348000
        -              },
        -              {
        -                "date": "2007-06-30",
        -                "value": 348000
        -              },
        -              {
        -                "date": "2007-07-31",
        -                "value": 352000
        -              },
        -              {
        -                "date": "2007-08-31",
        -                "value": 352000
        -              },
        -              {
        -                "date": "2007-09-30",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2007-10-31",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2007-11-30",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2007-12-31",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2008-01-31",
        -                "value": 355000
        -              },
        -              {
        -                "date": "2008-02-29",
        -                "value": 349000
        -              },
        -              {
        -                "date": "2008-03-31",
        -                "value": 349000
        -              },
        -              {
        -                "date": "2008-04-30",
        -                "value": 340000
        -              },
        -              {
        -                "date": "2008-05-31",
        -                "value": 340000
        -              },
        -              {
        -                "date": "2008-06-30",
        -                "value": 339000
        -              },
        -              {
        -                "date": "2008-07-31",
        -                "value": 340000
        -              },
        -              {
        -                "date": "2008-08-31",
        -                "value": 344000
        -              },
        -              {
        -                "date": "2008-09-30",
        -                "value": 346000
        -              },
        -              {
        -                "date": "2008-10-31",
        -                "value": 346000
        -              },
        -              {
        -                "date": "2008-11-30",
        -                "value": 346000
        -              },
        -              {
        -                "date": "2008-12-31",
        -                "value": 346000
        -              },
        -              {
        -                "date": "2009-01-31",
        -                "value": 346000
        -              },
        -              {
        -                "date": "2009-02-28",
        -                "value": 350000
        -              },
        -              {
        -                "date": "2009-03-31",
        -                "value": 351000
        -              },
        -              {
        -                "date": "2009-04-30",
        -                "value": 353000
        -              },
        -              {
        -                "date": "2009-05-31",
        -                "value": 353000
        -              },
        -              {
        -                "date": "2009-06-30",
        -                "value": 354000
        -              },
        -              {
        -                "date": "2009-07-31",
        -                "value": 354000
        -              },
        -              {
        -                "date": "2009-08-31",
        -                "value": 354000
        -              },
        -              {
        -                "date": "2009-09-30",
        -                "value": 354000
        -              },
        -              {
        -                "date": "2009-10-31",
        -                "value": 354000
        -              },
        -              {
        -                "date": "2009-11-30",
        -                "value": 352000
        -              },
        -              {
        -                "date": "2009-12-31",
        -                "value": 352000
        -              },
        -              {
        -                "date": "2010-01-31",
        -                "value": 352000
        -              },
        -              {
        -                "date": "2010-02-28",
        -                "value": 352000
        -              },
        -              {
        -                "date": "2010-03-31",
        -                "value": 350000
        -              },
        -              {
        -                "date": "2010-04-30",
        -                "value": 349000
        -              },
        -              {
        -                "date": "2010-05-31",
        -                "value": 349000
        -              },
        -              {
        -                "date": "2010-06-30",
        -                "value": 349000
        -              },
        -              {
        -                "date": "2010-07-31",
        -                "value": 349000
        -              },
        -              {
        -                "date": "2010-08-31",
        -                "value": 354000
        -              },
        -              {
        -                "date": "2010-09-30",
        -                "value": 354000
        -              },
        -              {
        -                "date": "2010-10-31",
        -                "value": 354000
        -              },
        -              {
        -                "date": "2010-11-30",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2010-12-31",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2011-01-31",
        -                "value": 356000
        -              },
        -              {
        -                "date": "2011-02-28",
        -                "value": 358000
        -              },
        -              {
        -                "date": "2011-03-31",
        -                "value": 359000
        -              },
        -              {
        -                "date": "2011-04-30",
        -                "value": 358000
        -              },
        -              {
        -                "date": "2011-05-31",
        -                "value": 353000
        -              },
        -              {
        -                "date": "2011-06-30",
        -                "value": 348000
        -              },
        -              {
        -                "date": "2011-07-31",
        -                "value": 348000
        -              },
        -              {
        -                "date": "2011-08-31",
        -                "value": 346000
        -              },
        -              {
        -                "date": "2011-09-30",
        -                "value": 346000
        -              },
        -              {
        -                "date": "2011-10-31",
        -                "value": 346000
        -              },
        -              {
        -                "date": "2011-11-30",
        -                "value": 346000
        -              },
        -              {
        -                "date": "2011-12-31",
        -                "value": 346000
        -              },
        -              {
        -                "date": "2012-01-31",
        -                "value": 349000
        -              },
        -              {
        -                "date": "2012-02-29",
        -                "value": 349000
        -              },
        -              {
        -                "date": "2012-03-31",
        -                "value": 350000
        -              },
        -              {
        -                "date": "2012-04-30",
        -                "value": 350000
        -              },
        -              {
        -                "date": "2012-05-31",
        -                "value": 350000
        -              },
        -              {
        -                "date": "2012-06-30",
        -                "value": 350000
        -              },
        -              {
        -                "date": "2012-07-31",
        -                "value": 364000
        -              },
        -              {
        -                "date": "2012-08-31",
        -                "value": 365000
        -              },
        -              {
        -                "date": "2012-09-30",
        -                "value": 361000
        -              },
        -              {
        -                "date": "2012-10-31",
        -                "value": 361000
        -              },
        -              {
        -                "date": "2012-11-30",
        -                "value": 361000
        -              },
        -              {
        -                "date": "2012-12-31",
        -                "value": 367000
        -              },
        -              {
        -                "date": "2013-01-31",
        -                "value": 372000
        -              },
        -              {
        -                "date": "2013-02-28",
        -                "value": 372000
        -              },
        -              {
        -                "date": "2013-03-31",
        -                "value": 372000
        -              },
        -              {
        -                "date": "2013-04-30",
        -                "value": 372000
        -              },
        -              {
        -                "date": "2013-05-31",
        -                "value": 372000
        -              },
        -              {
        -                "date": "2013-06-30",
        -                "value": 373000
        -              },
        -              {
        -                "date": "2013-07-31",
        -                "value": 373000
        -              },
        -              {
        -                "date": "2013-08-31",
        -                "value": 373000
        -              },
        -              {
        -                "date": "2013-09-30",
        -                "value": 373000
        -              },
        -              {
        -                "date": "2013-10-31",
        -                "value": 378000
        -              },
        -              {
        -                "date": "2013-11-30",
        -                "value": 381000
        -              },
        -              {
        -                "date": "2013-12-31",
        -                "value": 385000
        -              },
        -              {
        -                "date": "2014-01-31",
        -                "value": 385000
        -              },
        -              {
        -                "date": "2014-02-28",
        -                "value": 388000
        -              },
        -              {
        -                "date": "2014-03-31",
        -                "value": 388000
        -              },
        -              {
        -                "date": "2014-04-30",
        -                "value": 388000
        -              },
        -              {
        -                "date": "2014-05-31",
        -                "value": 388000
        -              },
        -              {
        -                "date": "2014-06-30",
        -                "value": 388000
        -              },
        -              {
        -                "date": "2014-07-31",
        -                "value": 388000
        -              },
        -              {
        -                "date": "2014-08-31",
        -                "value": 388000
        -              },
        -              {
        -                "date": "2014-09-30",
        -                "value": 388000
        -              },
        -              {
        -                "date": "2014-10-31",
        -                "value": 388000
        -              },
        -              {
        -                "date": "2014-11-30",
        -                "value": 390000
        -              },
        -              {
        -                "date": "2014-12-31",
        -                "value": 395000
        -              },
        -              {
        -                "date": "2015-01-31",
        -                "value": 395000
        -              },
        -              {
        -                "date": "2015-02-28",
        -                "value": 395000
        -              },
        -              {
        -                "date": "2015-03-31",
        -                "value": 395000
        -              },
        -              {
        -                "date": "2015-04-30",
        -                "value": 397000
        -              },
        -              {
        -                "date": "2015-05-31",
        -                "value": 400000
        -              },
        -              {
        -                "date": "2015-06-30",
        -                "value": 400000
        -              },
        -              {
        -                "date": "2015-07-31",
        -                "value": 400000
        -              },
        -              {
        -                "date": "2015-08-31",
        -                "value": 400000
        -              },
        -              {
        -                "date": "2015-09-30",
        -                "value": 400000
        -              },
        -              {
        -                "date": "2015-10-31",
        -                "value": 400000
        -              },
        -              {
        -                "date": "2015-11-30",
        -                "value": 400000
        -              },
        -              {
        -                "date": "2015-12-31",
        -                "value": 403000
        -              },
        -              {
        -                "date": "2016-01-31",
        -                "value": 409000
        -              },
        -              {
        -                "date": "2016-02-29",
        -                "value": 414000
        -              },
        -              {
        -                "date": "2016-03-31",
        -                "value": 414000
        -              },
        -              {
        -                "date": "2016-04-30",
        -                "value": 414000
        -              },
        -              {
        -                "date": "2016-05-31",
        -                "value": 414000
        -              },
        -              {
        -                "date": "2016-06-30",
        -                "value": 414000
        -              },
        -              {
        -                "date": "2016-07-31",
        -                "value": 419000
        -              },
        -              {
        -                "date": "2016-08-31",
        -                "value": 419000
        -              },
        -              {
        -                "date": "2016-09-30",
        -                "value": 423000
        -              },
        -              {
        -                "date": "2016-10-31",
        -                "value": 425000
        -              },
        -              {
        -                "date": "2016-11-30",
        -                "value": 425000
        -              },
        -              {
        -                "date": "2016-12-31",
        -                "value": 425000
        -              },
        -              {
        -                "date": "2017-01-31",
        -                "value": 425000
        -              },
        -              {
        -                "date": "2017-02-28",
        -                "value": 426000
        -              },
        -              {
        -                "date": "2017-03-31",
        -                "value": 426000
        -              },
        -              {
        -                "date": "2017-04-30",
        -                "value": 426000
        -              },
        -              {
        -                "date": "2017-05-31",
        -                "value": 426000
        -              },
        -              {
        -                "date": "2017-06-30",
        -                "value": 426000
        -              },
        -              {
        -                "date": "2017-07-31",
        -                "value": 426000
        -              },
        -              {
        -                "date": "2017-08-31",
        -                "value": 426000
        -              },
        -              {
        -                "date": "2017-09-30",
        -                "value": 426000
        -              },
        -              {
        -                "date": "2017-10-31",
        -                "value": 426000
        -              },
        -              {
        -                "date": "2017-11-30",
        -                "value": 428000
        -              },
        -              {
        -                "date": "2017-12-31",
        -                "value": 431000
        -              },
        -              {
        -                "date": "2018-01-31",
        -                "value": 431000
        -              },
        -              {
        -                "date": "2018-02-28",
        -                "value": 431000
        -              },
        -              {
        -                "date": "2018-03-31",
        -                "value": 439000
        -              },
        -              {
        -                "date": "2018-04-30",
        -                "value": 445000
        -              },
        -              {
        -                "date": "2018-05-31",
        -                "value": 446000
        -              },
        -              {
        -                "date": "2018-06-30",
        -                "value": 446000
        -              },
        -              {
        -                "date": "2018-07-31",
        -                "value": 451000
        -              },
        -              {
        -                "date": "2018-08-31",
        -                "value": 453000
        -              },
        -              {
        -                "date": "2018-09-30",
        -                "value": 453000
        -              },
        -              {
        -                "date": "2018-10-31",
        -                "value": 453000
        -              },
        -              {
        -                "date": "2018-11-30",
        -                "value": 453000
        -              },
        -              {
        -                "date": "2018-12-31",
        -                "value": 453000
        -              },
        -              {
        -                "date": "2019-01-31",
        -                "value": 453000
        -              },
        -              {
        -                "date": "2019-02-28",
        -                "value": 453000
        -              },
        -              {
        -                "date": "2019-03-31",
        -                "value": 457000
        -              },
        -              {
        -                "date": "2019-04-30",
        -                "value": 457000
        -              },
        -              {
        -                "date": "2019-05-31",
        -                "value": 457000
        -              },
        -              {
        -                "date": "2019-06-30",
        -                "value": 457000
        -              },
        -              {
        -                "date": "2019-07-31",
        -                "value": 462000
        -              },
        -              {
        -                "date": "2019-08-31",
        -                "value": 467000
        -              },
        -              {
        -                "date": "2019-09-30",
        -                "value": 475000
        -              },
        -              {
        -                "date": "2019-10-31",
        -                "value": 482000
        -              },
        -              {
        -                "date": "2019-11-30",
        -                "value": 482000
        -              },
        -              {
        -                "date": "2019-12-31",
        -                "value": 482000
        -              },
        -              {
        -                "date": "2020-01-31",
        -                "value": 482000
        -              },
        -              {
        -                "date": "2020-02-29",
        -                "value": 493000
        -              },
        -              {
        -                "date": "2020-03-31",
        -                "value": 500000
        -              },
        -              {
        -                "date": "2020-04-30",
        -                "value": 499000
        -              },
        -              {
        -                "date": "2020-05-31",
        -                "value": 501000
        -              },
        -              {
        -                "date": "2020-06-30",
        -                "value": 501000
        -              },
        -              {
        -                "date": "2020-07-31",
        -                "value": 501000
        -              },
        -              {
        -                "date": "2020-08-31",
        -                "value": 500000
        -              },
        -              {
        -                "date": "2020-09-30",
        -                "value": 500000
        -              },
        -              {
        -                "date": "2020-10-31",
        -                "value": 500000
        -              },
        -              {
        -                "date": "2020-11-30",
        -                "value": 500000
        -              },
        -              {
        -                "date": "2020-12-31",
        -                "value": 515000
        -              },
        -              {
        -                "date": "2021-01-31",
        -                "value": 521000
        -              },
        -              {
        -                "date": "2021-02-28",
        -                "value": 521000
        -              },
        -              {
        -                "date": "2021-03-31",
        -                "value": 525000
        -              },
        -              {
        -                "date": "2021-04-30",
        -                "value": 525000
        -              },
        -              {
        -                "date": "2021-05-31",
        -                "value": 528000
        -              },
        -              {
        -                "date": "2021-06-30",
        -                "value": 530000
        -              },
        -              {
        -                "date": "2021-07-31",
        -                "value": 533000
        -              },
        -              {
        -                "date": "2021-08-31",
        -                "value": 537000
        -              },
        -              {
        -                "date": "2021-09-30",
        -                "value": 537000
        -              },
        -              {
        -                "date": "2021-10-31",
        -                "value": 537000
        -              },
        -              {
        -                "date": "2021-11-30",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2021-12-31",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2022-01-31",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2022-02-28",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2022-03-31",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2022-04-30",
        -                "value": 540000
        -              },
        -              {
        -                "date": "2022-05-31",
        -                "value": 540000
        -              },
        -              {
        -                "date": "2022-06-30",
        -                "value": 542000
        -              },
        -              {
        -                "date": "2022-07-31",
        -                "value": 545000
        -              },
        -              {
        -                "date": "2022-08-28",
        -                "value": 548000
        -              },
        -              {
        -                "date": "2022-08-31",
        -                "value": 545000
        -              },
        -              {
        -                "date": "2022-09-04",
        -                "value": 548000
        -              },
        -              {
        -                "date": "2022-09-11",
        -                "value": 548000
        -              },
        -              {
        -                "date": "2022-09-18",
        -                "value": 548000
        -              },
        -              {
        -                "date": "2022-09-25",
        -                "value": 548000
        -              },
        -              {
        -                "date": "2022-10-02",
        -                "value": 551000
        -              },
        -              {
        -                "date": "2022-10-09",
        -                "value": 551000
        -              },
        -              {
        -                "date": "2022-10-16",
        -                "value": 551000
        -              },
        -              {
        -                "date": "2022-10-23",
        -                "value": 551000
        -              },
        -              {
        -                "date": "2022-10-30",
        -                "value": 555000
        -              },
        -              {
        -                "date": "2022-11-06",
        -                "value": 555000
        -              },
        -              {
        -                "date": "2022-11-13",
        -                "value": 555000
        -              },
        -              {
        -                "date": "2022-11-20",
        -                "value": 555000
        -              },
        -              {
        -                "date": "2022-11-27",
        -                "value": 555000
        -              },
        -              {
        -                "date": "2022-12-04",
        -                "value": 555000
        -              },
        -              {
        -                "date": "2022-12-11",
        -                "value": 555000
        -              },
        -              {
        -                "date": "2022-12-18",
        -                "value": 552000
        -              },
        -              {
        -                "date": "2022-12-25",
        -                "value": 552000
        -              },
        -              {
        -                "date": "2023-01-01",
        -                "value": 552000
        -              },
        -              {
        -                "date": "2023-01-08",
        -                "value": 552000
        -              },
        -              {
        -                "date": "2023-01-15",
        -                "value": 552000
        -              },
        -              {
        -                "date": "2023-01-22",
        -                "value": 552000
        -              },
        -              {
        -                "date": "2023-01-29",
        -                "value": 552000
        -              },
        -              {
        -                "date": "2023-02-05",
        -                "value": 546000
        -              },
        -              {
        -                "date": "2023-02-12",
        -                "value": 546000
        -              },
        -              {
        -                "date": "2023-02-19",
        -                "value": 546000
        -              },
        -              {
        -                "date": "2023-02-26",
        -                "value": 546000
        -              },
        -              {
        -                "date": "2023-03-05",
        -                "value": 546000
        -              },
        -              {
        -                "date": "2023-03-12",
        -                "value": 546000
        -              },
        -              {
        -                "date": "2023-03-19",
        -                "value": 544000
        -              },
        -              {
        -                "date": "2023-03-26",
        -                "value": 544000
        -              },
        -              {
        -                "date": "2023-04-02",
        -                "value": 544000
        -              },
        -              {
        -                "date": "2023-04-09",
        -                "value": 544000
        -              },
        -              {
        -                "date": "2023-04-16",
        -                "value": 542000
        -              },
        -              {
        -                "date": "2023-04-23",
        -                "value": 542000
        -              },
        -              {
        -                "date": "2023-04-30",
        -                "value": 542000
        -              },
        -              {
        -                "date": "2023-05-07",
        -                "value": 542000
        -              },
        -              {
        -                "date": "2023-05-14",
        -                "value": 542000
        -              },
        -              {
        -                "date": "2023-05-21",
        -                "value": 542000
        -              },
        -              {
        -                "date": "2023-05-28",
        -                "value": 542000
        -              },
        -              {
        -                "date": "2023-06-04",
        -                "value": 542000
        -              },
        -              {
        -                "date": "2023-06-11",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-06-18",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-06-25",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-07-02",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-07-09",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-07-16",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-07-23",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-07-30",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-08-06",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-08-13",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-08-20",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-08-27",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-09-03",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-09-10",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-09-17",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-09-24",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-10-01",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-10-08",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-10-15",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-10-22",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-10-29",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-11-05",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-11-12",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-11-19",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-11-26",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-12-03",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-12-10",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-12-17",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-12-24",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2023-12-31",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-01-07",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-01-14",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-01-21",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-01-28",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-02-04",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-02-11",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-02-18",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-02-25",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-03-03",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-03-10",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-03-17",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-03-24",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-03-31",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-04-07",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-04-14",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-04-21",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-04-28",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-05-05",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-05-12",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-05-19",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-05-26",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-06-02",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-06-09",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-06-16",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-06-23",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-06-30",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-07-07",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-07-14",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-07-21",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-07-28",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-08-04",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-08-11",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-08-18",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-08-25",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-09-01",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-09-08",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-09-15",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-09-22",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-09-29",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-10-06",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-10-13",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-10-20",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-10-27",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-11-03",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-11-10",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-11-17",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-11-24",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-12-01",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-12-08",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-12-15",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-12-22",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2024-12-29",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2025-01-05",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2025-01-12",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2025-01-19",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2025-01-26",
        -                "value": 540000
        -              },
        -              {
        -                "date": "2025-02-02",
        -                "value": 540000
        -              },
        -              {
        -                "date": "2025-02-09",
        -                "value": 540000
        -              },
        -              {
        -                "date": "2025-02-16",
        -                "value": 540000
        -              },
        -              {
        -                "date": "2025-02-23",
        -                "value": 540000
        -              },
        -              {
        -                "date": "2025-03-02",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2025-03-09",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2025-03-16",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2025-03-23",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2025-03-30",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2025-04-06",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2025-04-13",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2025-04-20",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2025-04-27",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2025-05-04",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2025-05-11",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2025-05-18",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2025-05-25",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2025-06-01",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2025-06-08",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2025-06-15",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2025-06-22",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2025-06-29",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2025-07-06",
        -                "value": 540000
        -              },
        -              {
        -                "date": "2025-07-13",
        -                "value": 540000
        -              },
        -              {
        -                "date": "2025-07-20",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2025-07-27",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2025-08-03",
        -                "value": 568000
        -              },
        -              {
        -                "date": "2025-08-10",
        -                "value": 539000
        -              },
        -              {
        -                "date": "2025-08-17",
        -                "value": 562000
        -              },
        -              {
        -                "date": "2025-08-24",
        -                "value": 555000
        -              },
        -              {
        -                "date": "2025-08-31",
        -                "value": 555000
        -              },
        -              {
        -                "date": "2025-09-07",
        -                "value": 571000
        -              },
        -              {
        -                "date": "2025-09-14",
        -                "value": 566000
        -              },
        -              {
        -                "date": "2025-09-21",
        -                "value": 541000
        -              },
        -              {
        -                "date": "2025-09-28",
        -                "value": 561000
        -              },
        -              {
        -                "date": "2025-10-05",
        -                "value": 553000
        -              },
        -              {
        -                "date": "2025-10-12",
        -                "value": 554000
        -              },
        -              {
        -                "date": "2025-10-19",
        -                "value": 569000
        -              },
        -              {
        -                "date": "2025-10-26",
        -                "value": 556000
        -              },
        -              {
        -                "date": "2025-11-02",
        -                "value": 544000
        -              },
        -              {
        -                "date": "2025-11-09",
        -                "value": 543000
        -              },
        -              {
        -                "date": "2025-11-16",
        -                "value": 540000
        -              },
        -              {
        -                "date": "2025-11-23",
        -                "value": 561000
        -              },
        -              {
        -                "date": "2025-11-30",
        -                "value": 570000
        -              },
        -              {
        -                "date": "2025-12-07",
        -                "value": 581000
        -              },
        -              {
        -                "date": "2025-12-14",
        -                "value": 583000
        -              },
        -              {
        -                "date": "2025-12-21",
        -                "value": 570000
        -              },
        -              {
        -                "date": "2025-12-28",
        -                "value": 570000
        -              },
        -              {
        -                "date": "2026-01-04",
        -                "value": 557000
        -              },
        -              {
        -                "date": "2026-01-11",
        -                "value": 585000
        -              },
        -              {
        -                "date": "2026-01-18",
        -                "value": 572000
        -              },
        -              {
        -                "date": "2026-01-25",
        -                "value": 590000
        -              },
        -              {
        -                "date": "2026-02-01",
        -                "value": 575000
        -              },
        -              {
        -                "date": "2026-02-08",
        -                "value": 576000
        -              },
        -              {
        -                "date": "2026-02-15",
        -                "value": 589000
        -              },
        -              {
        -                "date": "2026-02-22",
        -                "value": 562000
        -              },
        -              {
        -                "date": "2026-03-01",
        -                "value": 569000
        -              },
        -              {
        -                "date": "2026-03-08",
        -                "value": 575000
        -              },
        -              {
        -                "date": "2026-03-15",
        -                "value": 575000
        -              },
        -              {
        -                "date": "2026-03-22",
        -                "value": 575000
        -              },
        -              {
        -                "date": "2026-03-29",
        -                "value": 575000
        -              },
        -              {
        -                "date": "2026-04-05",
        -                "value": 575000
        -              },
        -              {
        -                "date": "2026-04-12",
        -                "value": 575000
        -              },
        -              {
        -                "date": "2026-04-19",
        -                "value": 575000
        -              },
        -              {
        -                "date": "2026-04-26",
        -                "value": 575000
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "house": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "description": "One point in a monthly time-series (median price/rent over time).",
        -                    "example": {
        -                      "date": "2026-04-30",
        -                      "value": 1130000
        -                    },
        -                    "properties": {
        -                      "date": {
        -                        "description": "ISO date (YYYY-MM-DD), month-end.",
        -                        "title": "Date",
        -                        "type": "string"
        -                      },
        -                      "value": {
        -                        "description": "Series value at that date.",
        -                        "title": "Value",
        -                        "type": "number"
        -                      }
        -                    },
        -                    "required": [
        -                      "date",
        -                      "value"
        -                    ],
        -                    "title": "TimeSeriesPoint",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Complete available house series, oldest first.",
        -              "title": "House"
        -            },
        -            "unit": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "description": "One point in a monthly time-series (median price/rent over time).",
        -                    "example": {
        -                      "date": "2026-04-30",
        -                      "value": 1130000
        -                    },
        -                    "properties": {
        -                      "date": {
        -                        "description": "ISO date (YYYY-MM-DD), month-end.",
        -                        "title": "Date",
        -                        "type": "string"
        -                      },
        -                      "value": {
        -                        "description": "Series value at that date.",
        -                        "title": "Value",
        -                        "type": "number"
        -                      }
        -                    },
        -                    "required": [
        -                      "date",
        -                      "value"
        -                    ],
        -                    "title": "TimeSeriesPoint",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Complete available unit series, oldest first.",
        -              "title": "Unit"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "MedianSalePriceSeries",
        -          "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[MedianSalePriceSeries]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_MedianSalePriceSeries_"
        -}New value: +null
    • Changedsuburbs_market_months_of_supply1 field changed
      • 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": "How long current for-sale stock lasts at the suburb's sales rate.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "areas": 79,
        -            "months_of_supply": 1,
        -            "rank": 53
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "areas": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Size of the peer group the rank is out of.",
        -              "title": "Areas"
        -            },
        -            "months_of_supply": {
        -              "description": "Months of for-sale stock at the current sales rate. Under 2 = a seller's market.",
        -              "title": "Months Of Supply",
        -              "type": "number"
        -            },
        -            "rank": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Position among peer suburbs (1 = most supply).",
        -              "title": "Rank"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "months_of_supply"
        -          ],
        -          "title": "MonthsOfSupply",
        -          "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[MonthsOfSupply]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_MonthsOfSupply_"
        -}New value: +null
    • Changedsuburbs_market_mortgage_stress1 field changed
      • 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": "Suburb mortgage-stress score with per-mesh-block breakdown.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "mbs": [
        -              {
        -                "mb": "10431160000",
        -                "score": 42
        -              },
        -              {
        -                "mb": "10431170000",
        -                "score": 31
        -              }
        -            ],
        -            "score": 37
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "mbs": {
        -              "description": "Per-mesh-block scores.",
        -              "items": {
        -                "description": "Mortgage-stress score for one mesh block.",
        -                "properties": {
        -                  "mb": {
        -                    "description": "ABS mesh-block code (MB_CODE21).",
        -                    "title": "Mb",
        -                    "type": "string"
        -                  },
        -                  "score": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Stress score, 0-100 (higher = more stress).",
        -                    "title": "Score"
        -                  }
        -                },
        -                "required": [
        -                  "mb"
        -                ],
        -                "title": "MortgageStressMb",
        -                "type": "object"
        -              },
        -              "title": "Mbs",
        -              "type": "array"
        -            },
        -            "score": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Suburb-level stress score, 0-100 (higher = more stress).",
        -              "title": "Score"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "mbs"
        -          ],
        -          "title": "MortgageStress",
        -          "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[MortgageStress]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_MortgageStress_"
        -}New value: +null
    • Changedsuburbs_market_price_growth1 field changed
      • 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": "Past compound sale-price growth over 1 / 3 / 5 / 10 years, by type.\n\n`house` and `unit` are objects keyed by horizon — `'1yr'`, `'3yr'`,\n`'5yr'`, `'10yr'` — each a decimal (0.42 = +42%). The 3y / 10y values are\nthe same figures the Suburb Finder ranks on (`growth3yrCagr` /\n`growth10yrCagr`).",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "as_of": "2026-05-24",
        -            "house": {
        -              "10yr": 1.24,
        -              "1yr": 0.08,
        -              "3yr": 0.36,
        -              "5yr": 0.684
        -            },
        -            "unit": {
        -              "10yr": 0.61,
        -              "1yr": 0.02,
        -              "3yr": 0.04,
        -              "5yr": 0.06
        -            }
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "as_of": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Date of the most recent observation (YYYY-MM-DD).",
        -              "title": "As Of"
        -            },
        -            "house": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ]
        -                  },
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "House compound growth by horizon: keys '1yr','3yr','5yr','10yr' (decimal).",
        -              "title": "House"
        -            },
        -            "unit": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ]
        -                  },
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Unit compound growth by horizon, same keys (decimal).",
        -              "title": "Unit"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "PriceGrowthAll",
        -          "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[PriceGrowthAll]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_PriceGrowthAll_"
        -}New value: +null
    • Changedsuburbs_market_price_growth_5y1 field changed
      • 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": "5-year compound sale-price growth by property type (decimal).",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "as_of": "2026-05-24",
        -            "house": 0.684,
        -            "metric": "growth_5_year",
        -            "unit": 0.06
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "as_of": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Date of the most recent observation (YYYY-MM-DD).",
        -              "title": "As Of"
        -            },
        -            "house": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "House 5-year compound growth (decimal, e.g. 0.42 = +42%).",
        -              "title": "House"
        -            },
        -            "metric": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Metric label, e.g. 'growth_5_year'.",
        -              "title": "Metric"
        -            },
        -            "unit": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Unit 5-year compound growth (decimal).",
        -              "title": "Unit"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "PriceGrowth5y",
        -          "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[PriceGrowth5y]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_PriceGrowth5y_"
        -}New value: +null
    • Changedsuburbs_market_recent_price_movement1 field changed
      • 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": "The last 4 weekly smart-median observations, oldest → newest.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "weeks": [
        -              {
        -                "date": "2026-07-19",
        -                "house_price": 1120000,
        -                "house_price_change_pct": 0,
        -                "house_rent": 650,
        -                "house_rent_change_pct": 0
        -              },
        -              {
        -                "date": "2026-08-09",
        -                "house_price": 1130000,
        -                "house_price_change_pct": 0.89,
        -                "house_rent": 660,
        -                "house_rent_change_pct": 1.54
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "weeks": {
        -              "description": "Up to 4 weekly rows, oldest first.",
        -              "items": {
        -                "description": "One weekly smart-median observation with week-on-week change.",
        -                "properties": {
        -                  "date": {
        -                    "description": "ISO date (YYYY-MM-DD) of the weekly observation.",
        -                    "title": "Date",
        -                    "type": "string"
        -                  },
        -                  "house_price": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Median house sale price that week.",
        -                    "title": "House Price"
        -                  },
        -                  "house_price_change_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Change vs the previous week, in percent (e.g. 0.89 = +0.89%).",
        -                    "title": "House Price Change Pct"
        -                  },
        -                  "house_rent": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Median weekly house rent that week.",
        -                    "title": "House Rent"
        -                  },
        -                  "house_rent_change_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Change vs the previous week, in percent.",
        -                    "title": "House Rent Change Pct"
        -                  },
        -                  "unit_price": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Median unit sale price that week.",
        -                    "title": "Unit Price"
        -                  },
        -                  "unit_price_change_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Change vs the previous week, in percent.",
        -                    "title": "Unit Price Change Pct"
        -                  }
        -                },
        -                "required": [
        -                  "date"
        -                ],
        -                "title": "RecentPriceWeek",
        -                "type": "object"
        -              },
        -              "title": "Weeks",
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "weeks"
        -          ],
        -          "title": "RecentPriceMovement",
        -          "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[RecentPriceMovement]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_RecentPriceMovement_"
        -}New value: +null
    • Changedsuburbs_market_rent_map1 field changed
      • 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": "Per-microburb median weekly rent — the report's `rent` overlay.",
        -          "example": {
        -            "as_of": "2026-08-16",
        -            "definition": "Modelled median (50th-percentile) advertised weekly rent for a house in the mesh block. Mesh block = 'microburb', the smallest ABS geography (~30-60 dwellings). Microburbs with too little rental signal are absent rather than zero. Compare the suburb-wide figure at /market/median-rent.",
        -            "highest": {
        -              "mb": "10439020000",
        -              "street": "Floraville",
        -              "weekly_rent": 1140
        -            },
        -            "lowest": {
        -              "mb": "10434270000",
        -              "street": "Somerset",
        -              "weekly_rent": 519
        -            },
        -            "metric": "median_weekly_rent_house",
        -            "microburbs": [
        -              {
        -                "mb": "10439020000",
        -                "street": "Floraville",
        -                "weekly_rent": 1140
        -              }
        -            ],
        -            "n_microburbs": 58,
        -            "suburb": "Belmont North",
        -            "unit": "AUD_per_week"
        -          },
        -          "properties": {
        -            "as_of": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Date of the rent surface (YYYY-MM-DD).",
        -              "title": "As Of"
        -            },
        -            "definition": {
        -              "description": "How the figure is derived.",
        -              "title": "Definition",
        -              "type": "string"
        -            },
        -            "highest": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Median weekly house rent for one microburb (mesh block).",
        -                  "properties": {
        -                    "mb": {
        -                      "description": "ABS 2021 mesh-block code.",
        -                      "title": "Mb",
        -                      "type": "string"
        -                    },
        -                    "street": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Modal street name for the mesh block, title-cased.",
        -                      "title": "Street"
        -                    },
        -                    "weekly_rent": {
        -                      "description": "Median advertised weekly house rent, AUD.",
        -                      "title": "Weekly Rent",
        -                      "type": "integer"
        -                    }
        -                  },
        -                  "required": [
        -                    "mb",
        -                    "weekly_rent"
        -                  ],
        -                  "title": "RentMb",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Dearest microburb. None when there is no spread."
        -            },
        -            "lowest": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Median weekly house rent for one microburb (mesh block).",
        -                  "properties": {
        -                    "mb": {
        -                      "description": "ABS 2021 mesh-block code.",
        -                      "title": "Mb",
        -                      "type": "string"
        -                    },
        -                    "street": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Modal street name for the mesh block, title-cased.",
        -                      "title": "Street"
        -                    },
        -                    "weekly_rent": {
        -                      "description": "Median advertised weekly house rent, AUD.",
        -                      "title": "Weekly Rent",
        -                      "type": "integer"
        -                    }
        -                  },
        -                  "required": [
        -                    "mb",
        -                    "weekly_rent"
        -                  ],
        -                  "title": "RentMb",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Cheapest microburb. None when there is no spread."
        -            },
        -            "metric": {
        -              "description": "Always 'median_weekly_rent_house'.",
        -              "title": "Metric",
        -              "type": "string"
        -            },
        -            "microburbs": {
        -              "description": "Per-microburb rents, dearest first.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "Median weekly house rent for one microburb (mesh block).",
        -                "properties": {
        -                  "mb": {
        -                    "description": "ABS 2021 mesh-block code.",
        -                    "title": "Mb",
        -                    "type": "string"
        -                  },
        -                  "street": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Modal street name for the mesh block, title-cased.",
        -                    "title": "Street"
        -                  },
        -                  "weekly_rent": {
        -                    "description": "Median advertised weekly house rent, AUD.",
        -                    "title": "Weekly Rent",
        -                    "type": "integer"
        -                  }
        -                },
        -                "required": [
        -                  "mb",
        -                  "weekly_rent"
        -                ],
        -                "title": "RentMb",
        -                "type": "object"
        -              },
        -              "title": "Microburbs",
        -              "type": "array"
        -            },
        -            "n_microburbs": {
        -              "description": "Microburbs with a rent.",
        -              "title": "N Microburbs",
        -              "type": "integer"
        -            },
        -            "suburb": {
        -              "description": "Canonical SAL name.",
        -              "title": "Suburb",
        -              "type": "string"
        -            },
        -            "unit": {
        -              "description": "Always 'AUD_per_week'.",
        -              "title": "Unit",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "suburb",
        -            "metric",
        -            "unit",
        -            "definition",
        -            "n_microburbs",
        -            "microburbs"
        -          ],
        -          "title": "SuburbRentMap",
        -          "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[SuburbRentMap]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbRentMap_"
        -}New value: +null
    • Changedsuburbs_market_repeat_sales1 field changed
      • 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": "Repeat-sale summary + per-pair points (max 500, newest first).",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "avg_annual_growth_pct": 9.01,
        -            "n": 2081,
        -            "n_loss": 0,
        -            "points": [
        -              {
        -                "address": "UNIT 2, 23 BIMBADEEN CLOSE",
        -                "annual_growth_pct": 8.28,
        -                "buy_date": "Jul 2022",
        -                "buy_price": 670000,
        -                "gnaf_pid": "GANSW704079753",
        -                "hold_years": 1.2,
        -                "lat": -33.01894618,
        -                "lng": 151.67840667,
        -                "sell_date": "Oct 2023",
        -                "sell_price": 740000
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "avg_annual_growth_pct": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Average realised annual growth across pairs (%).",
        -              "title": "Avg Annual Growth Pct"
        -            },
        -            "n": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Repeat-sale pairs observed in the suburb.",
        -              "title": "N"
        -            },
        -            "n_loss": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Pairs that resold at a loss.",
        -              "title": "N Loss"
        -            },
        -            "points": {
        -              "description": "Individual buy/sell pairs (capped at 500).",
        -              "items": {
        -                "description": "One buy/sell pair with realised annual growth.",
        -                "properties": {
        -                  "address": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Street address, when available.",
        -                    "title": "Address"
        -                  },
        -                  "annual_growth_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Realised annual growth between buy and sell (%).",
        -                    "title": "Annual Growth Pct"
        -                  },
        -                  "buy_date": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Buy date ('Mon YYYY').",
        -                    "title": "Buy Date"
        -                  },
        -                  "buy_price": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Buy price (AUD).",
        -                    "title": "Buy Price"
        -                  },
        -                  "gnaf_pid": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "GNAF principal address ID.",
        -                    "title": "Gnaf Pid"
        -                  },
        -                  "hold_years": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Hold period (years, decimal).",
        -                    "title": "Hold Years"
        -                  },
        -                  "lat": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Latitude of the property.",
        -                    "title": "Lat"
        -                  },
        -                  "lng": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Longitude of the property.",
        -                    "title": "Lng"
        -                  },
        -                  "sell_date": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Sell date ('Mon YYYY').",
        -                    "title": "Sell Date"
        -                  },
        -                  "sell_price": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Sell price (AUD).",
        -                    "title": "Sell Price"
        -                  }
        -                },
        -                "title": "RepeatSalePoint",
        -                "type": "object"
        -              },
        -              "title": "Points",
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "points"
        -          ],
        -          "title": "RepeatSales",
        -          "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[RepeatSales]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_RepeatSales_"
        -}New value: +null
    • Changedsuburbs_market_stock_on_market1 field changed
      • 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": "Properties currently listed for sale in the suburb.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "areas": 131,
        -            "as_of": "2026-08-09",
        -            "house": 20,
        -            "rank": 30,
        -            "stock_on_market": 21,
        -            "unit": 1
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "areas": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Size of the peer group the rank is out of.",
        -              "title": "Areas"
        -            },
        -            "as_of": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Date of the observation (YYYY-MM-DD).",
        -              "title": "As Of"
        -            },
        -            "house": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Houses listed for sale.",
        -              "title": "House"
        -            },
        -            "rank": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Position among peer suburbs (1 = most stock).",
        -              "title": "Rank"
        -            },
        -            "stock_on_market": {
        -              "description": "Total properties listed for sale.",
        -              "title": "Stock On Market",
        -              "type": "number"
        -            },
        -            "unit": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Units listed for sale.",
        -              "title": "Unit"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "stock_on_market"
        -          ],
        -          "title": "StockOnMarket",
        -          "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[StockOnMarket]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_StockOnMarket_"
        -}New value: +null
    • Changedsuburbs_market_strata_levies1 field changed
      • 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": "Median estimated annual strata levy for the suburb.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "median_levy_annual": 2291.4,
        -            "n_properties": 4
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "median_levy_annual": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Median estimated annual strata levy (AUD/yr).",
        -              "title": "Median Levy Annual"
        -            },
        -            "n_properties": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Strata properties behind the median.",
        -              "title": "N Properties"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "StrataLevies",
        -          "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[StrataLevies]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_StrataLevies_"
        -}New value: +null
    • Changedsuburbs_market_supply_pressure1 field changed
      • 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": "Per-mesh-block supply pressure + suburb rollup.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "dwellings": 3980,
        -            "listings_90d": 42,
        -            "listings_per_100_dwellings": 1.06,
        -            "mbs": [
        -              {
        -                "dwellings": 54,
        -                "listings_90d": 0,
        -                "listings_per_100_dwellings": 0,
        -                "mb": "11205845900"
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "dwellings": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Total dwelling stock across the suburb's MBs.",
        -              "title": "Dwellings"
        -            },
        -            "listings_90d": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Total 90-day listings across the suburb's MBs.",
        -              "title": "Listings 90D"
        -            },
        -            "listings_per_100_dwellings": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Suburb rollup: listings per 100 dwellings, last 90 days.",
        -              "title": "Listings Per 100 Dwellings"
        -            },
        -            "mbs": {
        -              "description": "Per-mesh-block breakdown.",
        -              "items": {
        -                "description": "Supply pressure for one mesh block.",
        -                "properties": {
        -                  "dwellings": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Dwelling stock in the MB.",
        -                    "title": "Dwellings"
        -                  },
        -                  "listings_90d": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Raw 90-day listings count.",
        -                    "title": "Listings 90D"
        -                  },
        -                  "listings_per_100_dwellings": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "For-sale listings per 100 dwellings, last 90 days.",
        -                    "title": "Listings Per 100 Dwellings"
        -                  },
        -                  "mb": {
        -                    "description": "ABS mesh-block code (MB_CODE21).",
        -                    "title": "Mb",
        -                    "type": "string"
        -                  }
        -                },
        -                "required": [
        -                  "mb"
        -                ],
        -                "title": "SupplyPressureMb",
        -                "type": "object"
        -              },
        -              "title": "Mbs",
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "mbs"
        -          ],
        -          "title": "SupplyPressure",
        -          "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[SupplyPressure]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SupplyPressure_"
        -}New value: +null
    • Changedsuburbs_market_transaction_volume1 field changed
      • 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": "30-day sold count by property type, with monthly history.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "house": {
        -              "series": [
        -                {
        -                  "date": "2002-12-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2003-01-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2003-02-28",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2003-03-31",
        -                  "value": 11.5
        -                },
        -                {
        -                  "date": "2003-04-30",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2003-05-31",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2003-06-30",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2003-07-31",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2003-08-31",
        -                  "value": 7.5
        -                },
        -                {
        -                  "date": "2003-09-30",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2003-10-31",
        -                  "value": 7.5
        -                },
        -                {
        -                  "date": "2003-11-30",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2003-12-31",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2004-01-31",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2004-02-29",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2004-03-31",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2004-04-30",
        -                  "value": 6.5
        -                },
        -                {
        -                  "date": "2004-05-31",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2004-06-30",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2004-07-31",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2004-08-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2004-09-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2004-10-31",
        -                  "value": 5.5
        -                },
        -                {
        -                  "date": "2004-11-30",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2004-12-31",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2005-01-31",
        -                  "value": 2.5
        -                },
        -                {
        -                  "date": "2005-02-28",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2005-03-31",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2005-04-30",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2005-05-31",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2005-06-30",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2005-07-31",
        -                  "value": 7.5
        -                },
        -                {
        -                  "date": "2005-08-31",
        -                  "value": 4.5
        -                },
        -                {
        -                  "date": "2005-09-30",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2005-10-31",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2005-11-30",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2005-12-31",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2006-01-31",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2006-02-28",
        -                  "value": 8.5
        -                },
        -                {
        -                  "date": "2006-03-31",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2006-04-30",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2006-05-31",
        -                  "value": 11.5
        -                },
        -                {
        -                  "date": "2006-06-30",
        -                  "value": 18
        -                },
        -                {
        -                  "date": "2006-07-31",
        -                  "value": 5.5
        -                },
        -                {
        -                  "date": "2006-08-31",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2006-09-30",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2006-10-31",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2006-11-30",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2006-12-31",
        -                  "value": 4.5
        -                },
        -                {
        -                  "date": "2007-01-31",
        -                  "value": 5.5
        -                },
        -                {
        -                  "date": "2007-02-28",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2007-03-31",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2007-04-30",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2007-05-31",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2007-06-30",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2007-07-31",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2007-08-31",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2007-09-30",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2007-10-31",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2007-11-30",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2007-12-31",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2008-01-31",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2008-02-29",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2008-03-31",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2008-04-30",
        -                  "value": 13
        -                },
        -                {
        -                  "date": "2008-05-31",
        -                  "value": 9.5
        -                },
        -                {
        -                  "date": "2008-06-30",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2008-07-31",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2008-08-31",
        -                  "value": 9.5
        -                },
        -                {
        -                  "date": "2008-09-30",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2008-10-31",
        -                  "value": 5.5
        -                },
        -                {
        -                  "date": "2008-11-30",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2008-12-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2009-01-31",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2009-02-28",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2009-03-31",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2009-04-30",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2009-05-31",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2009-06-30",
        -                  "value": 14.5
        -                },
        -                {
        -                  "date": "2009-07-31",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2009-08-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2009-09-30",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2009-10-31",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2009-11-30",
        -                  "value": 5.5
        -                },
        -                {
        -                  "date": "2009-12-31",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2010-01-31",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2010-02-28",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2010-03-31",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2010-04-30",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2010-05-31",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2010-06-30",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2010-07-31",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2010-08-31",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2010-09-30",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2010-10-31",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2010-11-30",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2010-12-31",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2011-01-31",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2011-02-28",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2011-03-31",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2011-04-30",
        -                  "value": 11.5
        -                },
        -                {
        -                  "date": "2011-05-31",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2011-06-30",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2011-07-31",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2011-08-31",
        -                  "value": 9.5
        -                },
        -                {
        -                  "date": "2011-09-30",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2011-10-31",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2011-11-30",
        -                  "value": 7.5
        -                },
        -                {
        -                  "date": "2011-12-31",
        -                  "value": 13.5
        -                },
        -                {
        -                  "date": "2012-01-31",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2012-02-29",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2012-03-31",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2012-04-30",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2012-05-31",
        -                  "value": 6.5
        -                },
        -                {
        -                  "date": "2012-06-30",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2012-07-31",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2012-08-31",
        -                  "value": 14
        -                },
        -                {
        -                  "date": "2012-09-30",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2012-10-31",
        -                  "value": 13.5
        -                },
        -                {
        -                  "date": "2012-11-30",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2012-12-31",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2013-01-31",
        -                  "value": 10.5
        -                },
        -                {
        -                  "date": "2013-02-28",
        -                  "value": 5.5
        -                },
        -                {
        -                  "date": "2013-03-31",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2013-04-30",
        -                  "value": 7.5
        -                },
        -                {
        -                  "date": "2013-05-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2013-06-30",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2013-07-31",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2013-08-31",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2013-09-30",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2013-10-31",
        -                  "value": 9.5
        -                },
        -                {
        -                  "date": "2013-11-30",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2013-12-31",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2014-01-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2014-02-28",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2014-03-31",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2014-04-30",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2014-05-31",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2014-06-30",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2014-07-31",
        -                  "value": 5.5
        -                },
        -                {
        -                  "date": "2014-08-31",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2014-09-30",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2014-10-31",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2014-11-30",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2014-12-31",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2015-01-31",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2015-02-28",
        -                  "value": 7.5
        -                },
        -                {
        -                  "date": "2015-03-31",
        -                  "value": 14
        -                },
        -                {
        -                  "date": "2015-04-30",
        -                  "value": 18
        -                },
        -                {
        -                  "date": "2015-05-31",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2015-06-30",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2015-07-31",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2015-08-31",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2015-09-30",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2015-10-31",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2015-11-30",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2015-12-31",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2016-01-31",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2016-02-29",
        -                  "value": 7.5
        -                },
        -                {
        -                  "date": "2016-03-31",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2016-04-30",
        -                  "value": 8.5
        -                },
        -                {
        -                  "date": "2016-05-31",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2016-06-30",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2016-07-31",
        -                  "value": 13
        -                },
        -                {
        -                  "date": "2016-08-31",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2016-09-30",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2016-10-31",
        -                  "value": 13
        -                },
        -                {
        -                  "date": "2016-11-30",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2016-12-31",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2017-01-31",
        -                  "value": 4.5
        -                },
        -                {
        -                  "date": "2017-02-28",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2017-03-31",
        -                  "value": 14
        -                },
        -                {
        -                  "date": "2017-04-30",
        -                  "value": 15
        -                },
        -                {
        -                  "date": "2017-05-31",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2017-06-30",
        -                  "value": 15
        -                },
        -                {
        -                  "date": "2017-07-31",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2017-08-31",
        -                  "value": 14.5
        -                },
        -                {
        -                  "date": "2017-09-30",
        -                  "value": 7.5
        -                },
        -                {
        -                  "date": "2017-10-31",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2017-11-30",
        -                  "value": 13
        -                },
        -                {
        -                  "date": "2017-12-31",
        -                  "value": 12.5
        -                },
        -                {
        -                  "date": "2018-01-31",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2018-02-28",
        -                  "value": 11.5
        -                },
        -                {
        -                  "date": "2018-03-31",
        -                  "value": 13
        -                },
        -                {
        -                  "date": "2018-04-30",
        -                  "value": 13
        -                },
        -                {
        -                  "date": "2018-05-31",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2018-06-30",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2018-07-31",
        -                  "value": 5.5
        -                },
        -                {
        -                  "date": "2018-08-31",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2018-09-30",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2018-10-31",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2018-11-30",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2018-12-31",
        -                  "value": 14
        -                },
        -                {
        -                  "date": "2019-01-31",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2019-02-28",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2019-03-31",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2019-04-30",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2019-05-31",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2019-06-30",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2019-07-31",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2019-08-31",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2019-09-30",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2019-10-31",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2019-11-30",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2019-12-31",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2020-01-31",
        -                  "value": 7.5
        -                },
        -                {
        -                  "date": "2020-02-29",
        -                  "value": 14
        -                },
        -                {
        -                  "date": "2020-03-31",
        -                  "value": 15
        -                },
        -                {
        -                  "date": "2020-04-30",
        -                  "value": 9.5
        -                },
        -                {
        -                  "date": "2020-05-31",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2020-06-30",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2020-07-31",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2020-08-31",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2020-09-30",
        -                  "value": 13
        -                },
        -                {
        -                  "date": "2020-10-31",
        -                  "value": 21
        -                },
        -                {
        -                  "date": "2020-11-30",
        -                  "value": 11.5
        -                },
        -                {
        -                  "date": "2020-12-31",
        -                  "value": 20.5
        -                },
        -                {
        -                  "date": "2021-01-31",
        -                  "value": 12.5
        -                },
        -                {
        -                  "date": "2021-02-28",
        -                  "value": 13
        -                },
        -                {
        -                  "date": "2021-03-31",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2021-04-30",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2021-05-31",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2021-06-30",
        -                  "value": 6.5
        -                },
        -                {
        -                  "date": "2021-07-31",
        -                  "value": 5.5
        -                },
        -                {
        -                  "date": "2021-08-31",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2021-09-30",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2021-10-31",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2021-11-30",
        -                  "value": 8.5
        -                },
        -                {
        -                  "date": "2021-12-31",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2022-01-31",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2022-02-28",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2022-03-31",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2022-04-30",
        -                  "value": 15
        -                },
        -                {
        -                  "date": "2022-05-31",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2022-06-30",
        -                  "value": 8.5
        -                },
        -                {
        -                  "date": "2022-07-31",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2022-08-28",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2022-08-31",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2022-09-04",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2022-09-11",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2022-09-18",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2022-09-25",
        -                  "value": 15
        -                },
        -                {
        -                  "date": "2022-10-02",
        -                  "value": 13
        -                },
        -                {
        -                  "date": "2022-10-09",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2022-10-23",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2022-10-30",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2022-11-06",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2022-11-13",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2022-11-27",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2022-12-04",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2022-12-11",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2022-12-18",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2022-12-25",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2023-01-15",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2023-02-05",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2023-02-12",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2023-02-19",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2023-02-26",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2023-03-05",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2023-03-12",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2023-03-19",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2023-03-26",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2023-04-02",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2023-04-16",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2023-04-23",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2023-04-30",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2023-05-07",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2023-05-14",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2023-05-21",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2023-05-28",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2023-06-04",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2023-06-11",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2023-06-18",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2023-06-25",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2023-07-02",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2023-07-09",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2023-07-16",
        -                  "value": 13
        -                },
        -                {
        -                  "date": "2023-07-23",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2023-07-30",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2023-08-06",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2023-08-13",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2023-08-20",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2023-08-27",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2023-09-03",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2023-09-24",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2023-10-08",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2023-10-15",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2023-10-22",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2023-10-29",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2023-11-05",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2023-11-12",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2023-11-19",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2023-11-26",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2023-12-03",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2023-12-17",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2024-01-07",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2024-01-14",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2024-01-21",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2024-01-28",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2024-02-04",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2024-02-11",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2024-02-18",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2024-03-03",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2024-03-10",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2024-03-17",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2024-03-24",
        -                  "value": 13
        -                },
        -                {
        -                  "date": "2024-04-07",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2024-04-14",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2024-04-21",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2024-04-28",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2024-05-12",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2024-05-19",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2024-05-26",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2024-06-02",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2024-06-09",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2024-06-16",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2024-06-23",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2024-06-30",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2024-07-07",
        -                  "value": 14
        -                },
        -                {
        -                  "date": "2024-07-14",
        -                  "value": 14
        -                },
        -                {
        -                  "date": "2024-07-21",
        -                  "value": 14
        -                },
        -                {
        -                  "date": "2024-07-28",
        -                  "value": 16
        -                },
        -                {
        -                  "date": "2024-08-04",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2024-08-18",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2024-08-25",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2024-09-01",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2024-09-08",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2024-09-15",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2024-09-22",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2024-09-29",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2024-10-06",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2024-10-13",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2024-10-20",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2024-10-27",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2024-11-03",
        -                  "value": 14
        -                },
        -                {
        -                  "date": "2024-11-24",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2024-12-08",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2024-12-15",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2024-12-22",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2025-01-19",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2025-01-26",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2025-02-09",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2025-02-16",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2025-02-23",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2025-03-02",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2025-03-09",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2025-03-16",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2025-03-23",
        -                  "value": 13
        -                },
        -                {
        -                  "date": "2025-03-30",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2025-04-13",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2025-04-20",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2025-04-27",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2025-05-04",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2025-05-11",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2025-05-18",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2025-05-25",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2025-06-01",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2025-06-08",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2025-06-15",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2025-06-22",
        -                  "value": 13
        -                },
        -                {
        -                  "date": "2025-06-29",
        -                  "value": 13
        -                },
        -                {
        -                  "date": "2025-07-06",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2025-07-13",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2025-07-20",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2025-07-27",
        -                  "value": 14
        -                },
        -                {
        -                  "date": "2025-08-03",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2025-08-10",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2025-08-17",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2025-08-24",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2025-09-07",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2025-09-21",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2025-09-28",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2025-10-05",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2025-10-12",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2025-10-19",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2025-10-26",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2025-11-02",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2025-11-16",
        -                  "value": 12
        -                },
        -                {
        -                  "date": "2025-11-23",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2025-12-07",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2025-12-14",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2025-12-21",
        -                  "value": 10
        -                },
        -                {
        -                  "date": "2026-01-11",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2026-02-01",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2026-02-08",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2026-02-15",
        -                  "value": 7
        -                },
        -                {
        -                  "date": "2026-02-22",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2026-03-01",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2026-03-15",
        -                  "value": 11
        -                },
        -                {
        -                  "date": "2026-03-22",
        -                  "value": 13
        -                },
        -                {
        -                  "date": "2026-03-29",
        -                  "value": 14
        -                },
        -                {
        -                  "date": "2026-04-05",
        -                  "value": 16
        -                },
        -                {
        -                  "date": "2026-04-12",
        -                  "value": 14
        -                },
        -                {
        -                  "date": "2026-04-19",
        -                  "value": 14
        -                },
        -                {
        -                  "date": "2026-04-19",
        -                  "value": 14
        -                }
        -              ],
        -              "value": 14
        -            },
        -            "metric": "sold_count_30d",
        -            "unit": {
        -              "series": [
        -                {
        -                  "date": "2003-02-28",
        -                  "value": 1.5
        -                },
        -                {
        -                  "date": "2003-03-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2003-04-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2003-05-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2003-06-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2003-07-31",
        -                  "value": 2.5
        -                },
        -                {
        -                  "date": "2003-08-31",
        -                  "value": 6.5
        -                },
        -                {
        -                  "date": "2003-09-30",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2003-10-31",
        -                  "value": 2.5
        -                },
        -                {
        -                  "date": "2003-11-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2003-12-31",
        -                  "value": 3.5
        -                },
        -                {
        -                  "date": "2004-01-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2004-02-29",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2004-03-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2004-04-30",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2004-05-31",
        -                  "value": 9
        -                },
        -                {
        -                  "date": "2004-06-30",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2004-07-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2004-08-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2004-09-30",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2004-10-31",
        -                  "value": 2.5
        -                },
        -                {
        -                  "date": "2004-11-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2004-12-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2005-01-31",
        -                  "value": 1.5
        -                },
        -                {
        -                  "date": "2005-02-28",
        -                  "value": 2.5
        -                },
        -                {
        -                  "date": "2005-03-31",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2005-04-30",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2005-05-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2005-06-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2005-07-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2005-08-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2005-09-30",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2005-10-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2005-11-30",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2005-12-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2006-01-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2006-02-28",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2006-03-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2006-04-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2006-05-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2006-06-30",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2006-07-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2006-08-31",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2006-09-30",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2006-10-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2006-11-30",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2006-12-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2007-01-31",
        -                  "value": 1.5
        -                },
        -                {
        -                  "date": "2007-02-28",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2007-03-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2007-04-30",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2007-05-31",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2007-06-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2007-07-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2007-08-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2007-09-30",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2007-10-31",
        -                  "value": 1.5
        -                },
        -                {
        -                  "date": "2007-11-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2007-12-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2008-01-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2008-02-29",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2008-03-31",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2008-04-30",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2008-05-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2008-06-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2008-07-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2008-08-31",
        -                  "value": 2.5
        -                },
        -                {
        -                  "date": "2008-09-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2008-10-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2008-11-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2008-12-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2009-01-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2009-02-28",
        -                  "value": 5
        -                },
        -                {
        -                  "date": "2009-03-31",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2009-04-30",
        -                  "value": 3.5
        -                },
        -                {
        -                  "date": "2009-05-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2009-06-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2009-07-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2009-08-31",
        -                  "value": 1.5
        -                },
        -                {
        -                  "date": "2009-09-30",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2009-10-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2009-11-30",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2009-12-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2010-01-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2010-02-28",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2010-03-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2010-04-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2010-05-31",
        -                  "value": 2.5
        -                },
        -                {
        -                  "date": "2010-06-30",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2010-07-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2010-08-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2010-09-30",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2010-10-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2010-11-30",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2010-12-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2011-01-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2011-02-28",
        -                  "value": 1.5
        -                },
        -                {
        -                  "date": "2011-03-31",
        -                  "value": 39.5
        -                },
        -                {
        -                  "date": "2011-04-30",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2011-05-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2011-06-30",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2011-07-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2011-08-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2011-09-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2011-10-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2011-11-30",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2011-12-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2012-01-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2012-02-29",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2012-03-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2012-04-30",
        -                  "value": 1.5
        -                },
        -                {
        -                  "date": "2012-05-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2012-06-30",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2012-07-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2012-08-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2012-09-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2012-10-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2012-11-30",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2012-12-31",
        -                  "value": 3.5
        -                },
        -                {
        -                  "date": "2013-01-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2013-02-28",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2013-03-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2013-04-30",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2013-05-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2013-06-30",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2013-07-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2013-08-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2013-09-30",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2013-10-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2013-11-30",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2013-12-31",
        -                  "value": 1.5
        -                },
        -                {
        -                  "date": "2014-01-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2014-02-28",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2014-03-31",
        -                  "value": 2.5
        -                },
        -                {
        -                  "date": "2014-04-30",
        -                  "value": 3.5
        -                },
        -                {
        -                  "date": "2014-05-31",
        -                  "value": 1.5
        -                },
        -                {
        -                  "date": "2014-06-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2014-07-31",
        -                  "value": 2.5
        -                },
        -                {
        -                  "date": "2014-08-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2014-09-30",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2014-10-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2014-11-30",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2014-12-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2015-01-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2015-02-28",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2015-03-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2015-04-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2015-05-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2015-06-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2015-07-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2015-08-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2015-09-30",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2015-10-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2015-11-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2015-12-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2016-01-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2016-02-29",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2016-03-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2016-04-30",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2016-05-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2016-06-30",
        -                  "value": 2.5
        -                },
        -                {
        -                  "date": "2016-07-31",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2016-08-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2016-09-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2016-10-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2016-11-30",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2016-12-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2017-01-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2017-02-28",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2017-03-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2017-04-30",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2017-05-31",
        -                  "value": 1.5
        -                },
        -                {
        -                  "date": "2017-06-30",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2017-07-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2017-08-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2017-09-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2017-10-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2017-11-30",
        -                  "value": 5.5
        -                },
        -                {
        -                  "date": "2017-12-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2018-01-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2018-02-28",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2018-03-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2018-04-30",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2018-05-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2018-06-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2018-07-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2018-08-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2018-09-30",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2018-10-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2018-11-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2018-12-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2019-01-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2019-02-28",
        -                  "value": 3.5
        -                },
        -                {
        -                  "date": "2019-03-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2019-04-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2019-05-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2019-06-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2019-07-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2019-08-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2019-09-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2019-10-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2019-11-30",
        -                  "value": 1.5
        -                },
        -                {
        -                  "date": "2019-12-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2020-01-31",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2020-02-29",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2020-03-31",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2020-04-30",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2020-05-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2020-06-30",
        -                  "value": 2.5
        -                },
        -                {
        -                  "date": "2020-07-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2020-08-31",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2020-09-30",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2020-10-31",
        -                  "value": 5.5
        -                },
        -                {
        -                  "date": "2020-11-30",
        -                  "value": 8
        -                },
        -                {
        -                  "date": "2020-12-31",
        -                  "value": 4.5
        -                },
        -                {
        -                  "date": "2021-01-31",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2021-02-28",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2021-03-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2021-04-30",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2021-05-31",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2021-06-30",
        -                  "value": 2.5
        -                },
        -                {
        -                  "date": "2021-07-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2021-08-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2021-09-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2021-10-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2021-11-30",
        -                  "value": 26.5
        -                },
        -                {
        -                  "date": "2021-12-31",
        -                  "value": 37
        -                },
        -                {
        -                  "date": "2022-01-31",
        -                  "value": 22
        -                },
        -                {
        -                  "date": "2022-02-28",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2022-03-31",
        -                  "value": 2.5
        -                },
        -                {
        -                  "date": "2022-04-30",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2022-05-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2022-06-30",
        -                  "value": 4
        -                },
        -                {
        -                  "date": "2022-07-31",
        -                  "value": 6
        -                },
        -                {
        -                  "date": "2022-08-28",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2022-08-31",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2022-09-04",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2022-09-11",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2022-09-18",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2022-09-25",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2022-10-02",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2022-10-09",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2022-10-23",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2022-10-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2022-11-06",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2022-11-13",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2022-11-27",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2022-12-04",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2022-12-11",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2022-12-18",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2022-12-25",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-01-15",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-02-05",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2023-02-12",
        -                  "value": 3
        -                },
        -                {
        -                  "date": "2023-02-19",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-02-26",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-03-05",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-03-12",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2023-03-19",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2023-03-26",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2023-04-02",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2023-04-16",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2023-04-23",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2023-04-30",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2023-05-07",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2023-05-14",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2023-05-21",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2023-05-28",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2023-06-04",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2023-06-11",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2023-06-18",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2023-06-25",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2023-07-02",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2023-07-09",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2023-07-16",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2023-07-23",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-07-30",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-08-06",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-08-13",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-08-20",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-08-27",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-09-03",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-09-24",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-10-08",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-10-15",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-10-22",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-10-29",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-11-05",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-11-12",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-11-19",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-11-26",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-12-03",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2023-12-17",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2024-01-07",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2024-01-14",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2024-01-21",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2024-01-28",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2024-02-04",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2024-02-11",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2024-02-18",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2024-03-03",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2024-03-10",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2024-03-17",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2024-03-24",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2024-04-07",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2024-04-14",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2024-04-21",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2024-04-28",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2024-05-12",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2024-05-19",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-05-26",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-06-02",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-06-09",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-06-16",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-06-23",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-06-30",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-07-07",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-07-14",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-07-21",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-07-28",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-08-04",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-08-18",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-08-25",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-09-01",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-09-08",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-09-15",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-09-22",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-09-29",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-10-06",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-10-13",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-10-20",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-10-27",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-11-03",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-11-24",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-12-08",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-12-15",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2024-12-22",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-01-19",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-01-26",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-02-09",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-02-16",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-02-23",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-03-02",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-03-09",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-03-16",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-03-23",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-03-30",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-04-13",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-04-20",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-04-27",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-05-04",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-05-11",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-05-18",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-05-25",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-06-01",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-06-08",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-06-15",
        -                  "value": 1
        -                },
        -                {
        -                  "date": "2025-06-22",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-06-29",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-07-06",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-07-13",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-07-20",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-07-27",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-08-03",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-08-10",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-08-17",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-08-24",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-09-07",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-09-21",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-09-28",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-10-05",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-10-12",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-10-19",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-10-26",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-11-02",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-11-16",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-11-23",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-12-07",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-12-14",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2025-12-21",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2026-01-11",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2026-02-01",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2026-02-08",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2026-02-15",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2026-02-22",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2026-03-01",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2026-03-15",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2026-03-22",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2026-03-29",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2026-04-05",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2026-04-12",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2026-04-19",
        -                  "value": 2
        -                },
        -                {
        -                  "date": "2026-04-19",
        -                  "value": 2
        -                }
        -              ],
        -              "value": 2
        -            }
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "house": {
        -              "anyOf": [
        -                {
        -                  "description": "Latest count + its monthly history for one property type.",
        -                  "properties": {
        -                    "series": {
        -                      "anyOf": [
        -                        {
        -                          "items": {
        -                            "description": "One point in a monthly time-series (median price/rent over time).",
        -                            "example": {
        -                              "date": "2026-04-30",
        -                              "value": 1130000
        -                            },
        -                            "properties": {
        -                              "date": {
        -                                "description": "ISO date (YYYY-MM-DD), month-end.",
        -                                "title": "Date",
        -                                "type": "string"
        -                              },
        -                              "value": {
        -                                "description": "Series value at that date.",
        -                                "title": "Value",
        -                                "type": "number"
        -                              }
        -                            },
        -                            "required": [
        -                              "date",
        -                              "value"
        -                            ],
        -                            "title": "TimeSeriesPoint",
        -                            "type": "object"
        -                          },
        -                          "type": "array"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Monthly sold-count history.",
        -                      "title": "Series"
        -                    },
        -                    "value": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Latest 30-day sold count.",
        -                      "title": "Value"
        -                    }
        -                  },
        -                  "title": "TransactionVolumeBucket",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Sold-count for houses."
        -            },
        -            "metric": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Metric label, e.g. 'sold_count_30d'.",
        -              "title": "Metric"
        -            },
        -            "unit": {
        -              "anyOf": [
        -                {
        -                  "description": "Latest count + its monthly history for one property type.",
        -                  "properties": {
        -                    "series": {
        -                      "anyOf": [
        -                        {
        -                          "items": {
        -                            "description": "One point in a monthly time-series (median price/rent over time).",
        -                            "example": {
        -                              "date": "2026-04-30",
        -                              "value": 1130000
        -                            },
        -                            "properties": {
        -                              "date": {
        -                                "description": "ISO date (YYYY-MM-DD), month-end.",
        -                                "title": "Date",
        -                                "type": "string"
        -                              },
        -                              "value": {
        -                                "description": "Series value at that date.",
        -                                "title": "Value",
        -                                "type": "number"
        -                              }
        -                            },
        -                            "required": [
        -                              "date",
        -                              "value"
        -                            ],
        -                            "title": "TimeSeriesPoint",
        -                            "type": "object"
        -                          },
        -                          "type": "array"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Monthly sold-count history.",
        -                      "title": "Series"
        -                    },
        -                    "value": {
        -                      "anyOf": [
        -                        {
        -                          "type": "number"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Latest 30-day sold count.",
        -                      "title": "Value"
        -                    }
        -                  },
        -                  "title": "TransactionVolumeBucket",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Sold-count for units."
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "TransactionVolume",
        -          "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[TransactionVolume]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_TransactionVolume_"
        -}New value: +null
    • Changedsuburbs_market_vacancy_map1 field changed
      • 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": "Per-mesh-block rental vacancy rates for the suburb.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "mbs": [
        -              {
        -                "has_listings": true,
        -                "mb": "10431160000",
        -                "rental_listings": 15,
        -                "rental_stock": 23.3,
        -                "vacancy_pct": 0.74
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "mbs": {
        -              "description": "Per-mesh-block vacancy rates.",
        -              "items": {
        -                "description": "Calibrated rental-vacancy rate for one mesh block.",
        -                "properties": {
        -                  "has_listings": {
        -                    "anyOf": [
        -                      {
        -                        "type": "boolean"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Whether the MB currently has rental listings.",
        -                    "title": "Has Listings"
        -                  },
        -                  "mb": {
        -                    "description": "ABS mesh-block code (MB_CODE21).",
        -                    "title": "Mb",
        -                    "type": "string"
        -                  },
        -                  "rental_listings": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Current rental listings in the MB.",
        -                    "title": "Rental Listings"
        -                  },
        -                  "rental_stock": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Estimated rental dwellings in the MB.",
        -                    "title": "Rental Stock"
        -                  },
        -                  "vacancy_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Vacancy rate (%, calibrated to the suburb's published rate).",
        -                    "title": "Vacancy Pct"
        -                  }
        -                },
        -                "required": [
        -                  "mb"
        -                ],
        -                "title": "VacancyMb",
        -                "type": "object"
        -              },
        -              "title": "Mbs",
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "mbs"
        -          ],
        -          "title": "VacancyMap",
        -          "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[VacancyMap]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_VacancyMap_"
        -}New value: +null
    • Changedsuburbs_market_vacancy_rate1 field changed
      • 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": "Suburb headline rental vacancy rate, by property type.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "as_of": "2026-06-28",
        -            "house": {
        -              "areas": 28,
        -              "rank": 9,
        -              "value": 0.00842
        -            }
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "as_of": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Date of the most recent observation (YYYY-MM-DD).",
        -              "title": "As Of"
        -            },
        -            "house": {
        -              "anyOf": [
        -                {
        -                  "description": "A published figure with its position among peer suburbs.",
        -                  "properties": {
        -                    "areas": {
        -                      "anyOf": [
        -                        {
        -                          "type": "integer"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Size of the peer group the rank is out of.",
        -                      "title": "Areas"
        -                    },
        -                    "rank": {
        -                      "anyOf": [
        -                        {
        -                          "type": "integer"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Position among peer areas (1 = highest).",
        -                      "title": "Rank"
        -                    },
        -                    "value": {
        -                      "description": "The figure itself.",
        -                      "title": "Value",
        -                      "type": "number"
        -                    }
        -                  },
        -                  "required": [
        -                    "value"
        -                  ],
        -                  "title": "RankedValue",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "House vacancy rate as a DECIMAL fraction (0.00842 = 0.84%), with peer rank."
        -            },
        -            "unit": {
        -              "anyOf": [
        -                {
        -                  "description": "A published figure with its position among peer suburbs.",
        -                  "properties": {
        -                    "areas": {
        -                      "anyOf": [
        -                        {
        -                          "type": "integer"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Size of the peer group the rank is out of.",
        -                      "title": "Areas"
        -                    },
        -                    "rank": {
        -                      "anyOf": [
        -                        {
        -                          "type": "integer"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Position among peer areas (1 = highest).",
        -                      "title": "Rank"
        -                    },
        -                    "value": {
        -                      "description": "The figure itself.",
        -                      "title": "Value",
        -                      "type": "number"
        -                    }
        -                  },
        -                  "required": [
        -                    "value"
        -                  ],
        -                  "title": "RankedValue",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Unit vacancy rate as a DECIMAL fraction, with peer rank."
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "VacancyRate",
        -          "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[VacancyRate]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_VacancyRate_"
        -}New value: +null
    • Changedsuburbs_market_vacancy_rate_series1 field changed
      • 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": "Full rental-vacancy history by property type.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "as_of": "2026-06-28",
        -            "house": [
        -              {
        -                "date": "2021-05-30",
        -                "value": 0.00312
        -              },
        -              {
        -                "date": "2026-06-28",
        -                "value": 0.00842
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "as_of": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Date of the most recent observation (YYYY-MM-DD).",
        -              "title": "As Of"
        -            },
        -            "house": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "description": "One observation in a suburb time series.",
        -                    "properties": {
        -                      "date": {
        -                        "description": "ISO date (YYYY-MM-DD) of the observation.",
        -                        "title": "Date",
        -                        "type": "string"
        -                      },
        -                      "value": {
        -                        "description": "Series value at that date.",
        -                        "title": "Value",
        -                        "type": "number"
        -                      }
        -                    },
        -                    "required": [
        -                      "date",
        -                      "value"
        -                    ],
        -                    "title": "SeriesPoint",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "House vacancy series — DECIMAL fractions (0.00842 = 0.84%).",
        -              "title": "House"
        -            },
        -            "unit": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "description": "One observation in a suburb time series.",
        -                    "properties": {
        -                      "date": {
        -                        "description": "ISO date (YYYY-MM-DD) of the observation.",
        -                        "title": "Date",
        -                        "type": "string"
        -                      },
        -                      "value": {
        -                        "description": "Series value at that date.",
        -                        "title": "Value",
        -                        "type": "number"
        -                      }
        -                    },
        -                    "required": [
        -                      "date",
        -                      "value"
        -                    ],
        -                    "title": "SeriesPoint",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Unit vacancy series — DECIMAL fractions.",
        -              "title": "Unit"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "VacancyRateSeries",
        -          "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[VacancyRateSeries]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_VacancyRateSeries_"
        -}New value: +null
    • Changedsuburbs_market_yield_map1 field changed
      • 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": "Per-microburb gross rental yield — the report's `yield` overlay.",
        -          "example": {
        -            "as_of": "2026-08-16",
        -            "definition": "Gross rental yield for the mesh block: modelled median weekly house rent x 52, divided by the modelled median house price, as a percentage. Same definition as the suburb-wide yield at /market/yield-pct (which reports it as a decimal); gross, so before rates, strata, management or vacancy. Microburbs missing either the rent or the price are absent, not zero.",
        -            "highest": {
        -              "gross_yield_pct": 6.65,
        -              "mb": "10439020000",
        -              "median_price": 892000,
        -              "street": "Floraville",
        -              "weekly_rent": 1140
        -            },
        -            "lowest": {
        -              "gross_yield_pct": 1.85,
        -              "mb": "10434330000",
        -              "median_price": 1600000,
        -              "street": "Arlington",
        -              "weekly_rent": 570
        -            },
        -            "metric": "gross_rental_yield_house",
        -            "microburbs": [
        -              {
        -                "gross_yield_pct": 6.65,
        -                "mb": "10439020000",
        -                "median_price": 892000,
        -                "street": "Floraville",
        -                "weekly_rent": 1140
        -              }
        -            ],
        -            "n_microburbs": 58,
        -            "suburb": "Belmont North",
        -            "unit": "percent"
        -          },
        -          "properties": {
        -            "as_of": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Date of the surfaces (YYYY-MM-DD).",
        -              "title": "As Of"
        -            },
        -            "definition": {
        -              "description": "How the figure is derived.",
        -              "title": "Definition",
        -              "type": "string"
        -            },
        -            "highest": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Gross rental yield for one microburb, with both inputs.",
        -                  "properties": {
        -                    "gross_yield_pct": {
        -                      "description": "Annual rent as a share of price for this microburb — `weekly_rent × 52 ÷ median_price` — expressed as a percent to 2 dp: `6.65` means 6.65%. The suburb-wide `/market/yield-pct` endpoint reports this same metric as a decimal (0.0665), so the two differ by a factor of 100 by design — check which one you are reading. Gross: before rates, strata, management, insurance or vacancy, so a real net return will be materially lower.",
        -                      "title": "Gross Yield Pct",
        -                      "type": "number"
        -                    },
        -                    "mb": {
        -                      "description": "ABS 2021 mesh-block code.",
        -                      "title": "Mb",
        -                      "type": "string"
        -                    },
        -                    "median_price": {
        -                      "description": "The price side of the yield calculation: modelled median house price for the microburb, in AUD. Houses only, matching `weekly_rent`, so the two divide cleanly.",
        -                      "title": "Median Price",
        -                      "type": "integer"
        -                    },
        -                    "street": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Modal street name for the mesh block, title-cased.",
        -                      "title": "Street"
        -                    },
        -                    "weekly_rent": {
        -                      "description": "The rent side of the yield calculation: modelled median weekly advertised house rent for the microburb, in AUD. Advertised, not contracted, and houses only. Returned so the yield is checkable without a second call.",
        -                      "title": "Weekly Rent",
        -                      "type": "integer"
        -                    }
        -                  },
        -                  "required": [
        -                    "mb",
        -                    "gross_yield_pct",
        -                    "weekly_rent",
        -                    "median_price"
        -                  ],
        -                  "title": "YieldMb",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Highest-yielding microburb. None when there is no spread."
        -            },
        -            "lowest": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "Gross rental yield for one microburb, with both inputs.",
        -                  "properties": {
        -                    "gross_yield_pct": {
        -                      "description": "Annual rent as a share of price for this microburb — `weekly_rent × 52 ÷ median_price` — expressed as a percent to 2 dp: `6.65` means 6.65%. The suburb-wide `/market/yield-pct` endpoint reports this same metric as a decimal (0.0665), so the two differ by a factor of 100 by design — check which one you are reading. Gross: before rates, strata, management, insurance or vacancy, so a real net return will be materially lower.",
        -                      "title": "Gross Yield Pct",
        -                      "type": "number"
        -                    },
        -                    "mb": {
        -                      "description": "ABS 2021 mesh-block code.",
        -                      "title": "Mb",
        -                      "type": "string"
        -                    },
        -                    "median_price": {
        -                      "description": "The price side of the yield calculation: modelled median house price for the microburb, in AUD. Houses only, matching `weekly_rent`, so the two divide cleanly.",
        -                      "title": "Median Price",
        -                      "type": "integer"
        -                    },
        -                    "street": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Modal street name for the mesh block, title-cased.",
        -                      "title": "Street"
        -                    },
        -                    "weekly_rent": {
        -                      "description": "The rent side of the yield calculation: modelled median weekly advertised house rent for the microburb, in AUD. Advertised, not contracted, and houses only. Returned so the yield is checkable without a second call.",
        -                      "title": "Weekly Rent",
        -                      "type": "integer"
        -                    }
        -                  },
        -                  "required": [
        -                    "mb",
        -                    "gross_yield_pct",
        -                    "weekly_rent",
        -                    "median_price"
        -                  ],
        -                  "title": "YieldMb",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Lowest-yielding microburb. None when there is no spread."
        -            },
        -            "metric": {
        -              "description": "Always 'gross_rental_yield_house'.",
        -              "title": "Metric",
        -              "type": "string"
        -            },
        -            "microburbs": {
        -              "description": "Per-microburb yields, highest first.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "Gross rental yield for one microburb, with both inputs.",
        -                "properties": {
        -                  "gross_yield_pct": {
        -                    "description": "Annual rent as a share of price for this microburb — `weekly_rent × 52 ÷ median_price` — expressed as a percent to 2 dp: `6.65` means 6.65%. The suburb-wide `/market/yield-pct` endpoint reports this same metric as a decimal (0.0665), so the two differ by a factor of 100 by design — check which one you are reading. Gross: before rates, strata, management, insurance or vacancy, so a real net return will be materially lower.",
        -                    "title": "Gross Yield Pct",
        -                    "type": "number"
        -                  },
        -                  "mb": {
        -                    "description": "ABS 2021 mesh-block code.",
        -                    "title": "Mb",
        -                    "type": "string"
        -                  },
        -                  "median_price": {
        -                    "description": "The price side of the yield calculation: modelled median house price for the microburb, in AUD. Houses only, matching `weekly_rent`, so the two divide cleanly.",
        -                    "title": "Median Price",
        -                    "type": "integer"
        -                  },
        -                  "street": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Modal street name for the mesh block, title-cased.",
        -                    "title": "Street"
        -                  },
        -                  "weekly_rent": {
        -                    "description": "The rent side of the yield calculation: modelled median weekly advertised house rent for the microburb, in AUD. Advertised, not contracted, and houses only. Returned so the yield is checkable without a second call.",
        -                    "title": "Weekly Rent",
        -                    "type": "integer"
        -                  }
        -                },
        -                "required": [
        -                  "mb",
        -                  "gross_yield_pct",
        -                  "weekly_rent",
        -                  "median_price"
        -                ],
        -                "title": "YieldMb",
        -                "type": "object"
        -              },
        -              "title": "Microburbs",
        -              "type": "array"
        -            },
        -            "n_microburbs": {
        -              "description": "Microburbs with both a rent and a price.",
        -              "title": "N Microburbs",
        -              "type": "integer"
        -            },
        -            "suburb": {
        -              "description": "Canonical SAL name.",
        -              "title": "Suburb",
        -              "type": "string"
        -            },
        -            "unit": {
        -              "description": "Always 'percent' — note /market/yield-pct reports the same metric as a decimal.",
        -              "title": "Unit",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "suburb",
        -            "metric",
        -            "unit",
        -            "definition",
        -            "n_microburbs",
        -            "microburbs"
        -          ],
        -          "title": "SuburbYieldMap",
        -          "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[SuburbYieldMap]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbYieldMap_"
        -}New value: +null
    • Changedsuburbs_market_yield_pct1 field changed
      • 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": "Gross rental yield for the suburb, houses and units separately.\n\n⚠️ **Unit trap:** despite the `_pct` name, the figures here are\n**decimal fractions** — `0.0346` means 3.46%, so multiply by 100 to\ndisplay. The per-microburb version of the same metric\n(`/market/yield-map`) reports it the other way, as a percent (3.46).\nBoth are deliberate; just be sure which endpoint you are reading.\n\nGross throughout: annual rent over price, before rates, strata,\nmanagement, insurance or vacancy.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "as_of": "2026-05-24",
        -            "house": 0.0335,
        -            "unit": 0.0384
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "as_of": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Date of the most recent observation (YYYY-MM-DD).",
        -              "title": "As Of"
        -            },
        -            "house": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Gross rental yield for houses as a decimal fraction (0.0346 = 3.46%) — median weekly house rent × 52 ÷ median house price.",
        -              "title": "House"
        -            },
        -            "unit": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Gross rental yield for units as a decimal fraction (0.0384 = 3.84%), same calculation as `house`. Usually higher than the house yield, since units cost less relative to the rent they earn.",
        -              "title": "Unit"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "YieldPct",
        -          "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[YieldPct]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_YieldPct_"
        -}New value: +null
    • Changedsuburbs_market_yield_pct_series1 field changed
      • 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": "Full gross-rental-yield history by property type.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "as_of": "2026-08-09",
        -            "house": [
        -              {
        -                "date": "2015-01-31",
        -                "value": 0.0432
        -              },
        -              {
        -                "date": "2026-08-09",
        -                "value": 0.0347
        -              }
        -            ],
        -            "unit": [
        -              {
        -                "date": "2015-01-31",
        -                "value": 0.0501
        -              },
        -              {
        -                "date": "2026-03-08",
        -                "value": 0.0389
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "as_of": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Date of the most recent observation (YYYY-MM-DD).",
        -              "title": "As Of"
        -            },
        -            "house": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "description": "One observation in a suburb time series.",
        -                    "properties": {
        -                      "date": {
        -                        "description": "ISO date (YYYY-MM-DD) of the observation.",
        -                        "title": "Date",
        -                        "type": "string"
        -                      },
        -                      "value": {
        -                        "description": "Series value at that date.",
        -                        "title": "Value",
        -                        "type": "number"
        -                      }
        -                    },
        -                    "required": [
        -                      "date",
        -                      "value"
        -                    ],
        -                    "title": "SeriesPoint",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "House gross-yield series — DECIMAL fractions (0.0347 = 3.47%).",
        -              "title": "House"
        -            },
        -            "unit": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "description": "One observation in a suburb time series.",
        -                    "properties": {
        -                      "date": {
        -                        "description": "ISO date (YYYY-MM-DD) of the observation.",
        -                        "title": "Date",
        -                        "type": "string"
        -                      },
        -                      "value": {
        -                        "description": "Series value at that date.",
        -                        "title": "Value",
        -                        "type": "number"
        -                      }
        -                    },
        -                    "required": [
        -                      "date",
        -                      "value"
        -                    ],
        -                    "title": "SeriesPoint",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Unit gross-yield series — DECIMAL fractions.",
        -              "title": "Unit"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level"
        -          ],
        -          "title": "YieldSeries",
        -          "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[YieldSeries]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_YieldSeries_"
        -}New value: +null
    • Changedsuburbs_profile1 field changed
      • 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": [
        -        {
        -          "description": "ABS geo profile — the upward admin chain for a suburb.",
        -          "example": {
        -            "gccsa": "Rest of NSW",
        -            "lga": "Lake Macquarie",
        -            "postcode": "2280",
        -            "sa2": "Belmont - Bennetts Green",
        -            "sa3": "Lake Macquarie - East",
        -            "sa4": "Newcastle and Lake Macquarie",
        -            "state": "New South Wales",
        -            "suburb": "Belmont North"
        -          },
        -          "properties": {
        -            "gccsa": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Greater Capital City Statistical Area.",
        -              "title": "Gccsa"
        -            },
        -            "lga": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Local Government Area.",
        -              "title": "Lga"
        -            },
        -            "postcode": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Postcode (POA).",
        -              "title": "Postcode"
        -            },
        -            "sa2": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "SA2 name.",
        -              "title": "Sa2"
        -            },
        -            "sa3": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "SA3 name.",
        -              "title": "Sa3"
        -            },
        -            "sa4": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "SA4 name.",
        -              "title": "Sa4"
        -            },
        -            "state": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "State / Territory.",
        -              "title": "State"
        -            },
        -            "suburb": {
        -              "description": "Suburb (SAL — ABS Suburb and Locality).",
        -              "title": "Suburb",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "suburb"
        -          ],
        -          "title": "SuburbProfile",
        -          "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[SuburbProfile]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbProfile_"
        -}New value: +null
    • Changedsuburbs_risks_all1 field changed
      • 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": [
        -        {
        -          "properties": {
        -            "bushfire": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "One suburb-level risk record (bushfire or flood).\n\n`coverage_pct` is the share of the SAL covered by the modelled\nrisk overlay. `risk_band` is a coarse low/moderate/high band — only\npopulated for flood today; bushfire reports the raw percentage.",
        -                  "example": {
        -                    "area_level": "suburb",
        -                    "area_name": "Belmont North",
        -                    "coverage_pct": 45.72,
        -                    "name": "Bushfire",
        -                    "value_unit": "% of suburb area"
        -                  },
        -                  "properties": {
        -                    "area_level": {
        -                      "description": "Always 'suburb'.",
        -                      "title": "Area Level",
        -                      "type": "string"
        -                    },
        -                    "area_name": {
        -                      "description": "Suburb (SAL) name.",
        -                      "title": "Area Name",
        -                      "type": "string"
        -                    },
        -                    "coverage_pct": {
        -                      "description": "Share of suburb area inside the overlay (%).",
        -                      "title": "Coverage Pct",
        -                      "type": "number"
        -                    },
        -                    "geojson": {
        -                      "anyOf": [
        -                        {
        -                          "additionalProperties": true,
        -                          "type": "object"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "GeoJSON FeatureCollection of the hazard polygons for this layer, ST_Intersection-clipped to the suburb boundary and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                      "title": "Geojson"
        -                    },
        -                    "geojson_meta": {
        -                      "anyOf": [
        -                        {
        -                          "additionalProperties": true,
        -                          "type": "object"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Clip / simplify / truncation metadata for `geojson` (clip method, simplify tolerance, coordinate precision, feature cap, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                      "title": "Geojson Meta"
        -                    },
        -                    "name": {
        -                      "description": "Risk overlay name — 'Bushfire' or 'Flood'.",
        -                      "title": "Name",
        -                      "type": "string"
        -                    },
        -                    "risk_band": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Coarse band — 'low' / 'moderate' / 'high'. Currently flood only.",
        -                      "title": "Risk Band"
        -                    },
        -                    "value_unit": {
        -                      "description": "Unit for coverage_pct — '% of suburb area'.",
        -                      "title": "Value Unit",
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "area_name",
        -                    "area_level",
        -                    "name",
        -                    "coverage_pct",
        -                    "value_unit"
        -                  ],
        -                  "title": "SuburbRisk",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "example": {
        -                "area_level": "suburb",
        -                "area_name": "Belmont North",
        -                "coverage_pct": 45.72,
        -                "name": "Bushfire",
        -                "value_unit": "% of suburb area"
        -              }
        -            },
        -            "flood": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "description": "One suburb-level risk record (bushfire or flood).\n\n`coverage_pct` is the share of the SAL covered by the modelled\nrisk overlay. `risk_band` is a coarse low/moderate/high band — only\npopulated for flood today; bushfire reports the raw percentage.",
        -                  "example": {
        -                    "area_level": "suburb",
        -                    "area_name": "Belmont North",
        -                    "coverage_pct": 45.72,
        -                    "name": "Bushfire",
        -                    "value_unit": "% of suburb area"
        -                  },
        -                  "properties": {
        -                    "area_level": {
        -                      "description": "Always 'suburb'.",
        -                      "title": "Area Level",
        -                      "type": "string"
        -                    },
        -                    "area_name": {
        -                      "description": "Suburb (SAL) name.",
        -                      "title": "Area Name",
        -                      "type": "string"
        -                    },
        -                    "coverage_pct": {
        -                      "description": "Share of suburb area inside the overlay (%).",
        -                      "title": "Coverage Pct",
        -                      "type": "number"
        -                    },
        -                    "geojson": {
        -                      "anyOf": [
        -                        {
        -                          "additionalProperties": true,
        -                          "type": "object"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "GeoJSON FeatureCollection of the hazard polygons for this layer, ST_Intersection-clipped to the suburb boundary and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -                      "title": "Geojson"
        -                    },
        -                    "geojson_meta": {
        -                      "anyOf": [
        -                        {
        -                          "additionalProperties": true,
        -                          "type": "object"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Clip / simplify / truncation metadata for `geojson` (clip method, simplify tolerance, coordinate precision, feature cap, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -                      "title": "Geojson Meta"
        -                    },
        -                    "name": {
        -                      "description": "Risk overlay name — 'Bushfire' or 'Flood'.",
        -                      "title": "Name",
        -                      "type": "string"
        -                    },
        -                    "risk_band": {
        -                      "anyOf": [
        -                        {
        -                          "type": "string"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ],
        -                      "description": "Coarse band — 'low' / 'moderate' / 'high'. Currently flood only.",
        -                      "title": "Risk Band"
        -                    },
        -                    "value_unit": {
        -                      "description": "Unit for coverage_pct — '% of suburb area'.",
        -                      "title": "Value Unit",
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "area_name",
        -                    "area_level",
        -                    "name",
        -                    "coverage_pct",
        -                    "value_unit"
        -                  ],
        -                  "title": "SuburbRisk",
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "example": {
        -                "area_level": "suburb",
        -                "area_name": "Belmont North",
        -                "coverage_pct": 7.2,
        -                "name": "Flood",
        -                "risk_band": "moderate",
        -                "value_unit": "% of suburb area"
        -              }
        -            }
        -          },
        -          "title": "SuburbRisksAll",
        -          "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[SuburbRisksAll]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbRisksAll_"
        -}New value: +null
    • Changedsuburbs_risks_bushfire1 field changed
      • 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": "One suburb-level risk record (bushfire or flood).\n\n`coverage_pct` is the share of the SAL covered by the modelled\nrisk overlay. `risk_band` is a coarse low/moderate/high band — only\npopulated for flood today; bushfire reports the raw percentage.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "coverage_pct": 45.72,
        -            "name": "Bushfire",
        -            "value_unit": "% of suburb area"
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "coverage_pct": {
        -              "description": "Share of suburb area inside the overlay (%).",
        -              "title": "Coverage Pct",
        -              "type": "number"
        -            },
        -            "geojson": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "GeoJSON FeatureCollection of the hazard polygons for this layer, ST_Intersection-clipped to the suburb boundary and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -              "title": "Geojson"
        -            },
        -            "geojson_meta": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Clip / simplify / truncation metadata for `geojson` (clip method, simplify tolerance, coordinate precision, feature cap, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -              "title": "Geojson Meta"
        -            },
        -            "name": {
        -              "description": "Risk overlay name — 'Bushfire' or 'Flood'.",
        -              "title": "Name",
        -              "type": "string"
        -            },
        -            "risk_band": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Coarse band — 'low' / 'moderate' / 'high'. Currently flood only.",
        -              "title": "Risk Band"
        -            },
        -            "value_unit": {
        -              "description": "Unit for coverage_pct — '% of suburb area'.",
        -              "title": "Value Unit",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "name",
        -            "coverage_pct",
        -            "value_unit"
        -          ],
        -          "title": "SuburbRisk",
        -          "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[SuburbRisk]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbRisk_"
        -}New value: +null
    • Changedsuburbs_risks_capital_growth_impact1 field changed
      • 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": "Per-hazard capital-growth impact (%/yr) across the suburb's risks.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "hazards": [
        -              {
        -                "affected_pct": 23.62,
        -                "coefficient_pct_per_year": 0.9,
        -                "color_class": "neutral",
        -                "impact": "+0.21%/yr",
        -                "impact_pct_per_year": 0.2126,
        -                "key": "bushfire",
        -                "label": "Bushfire",
        -                "present": true
        -              },
        -              {
        -                "affected_pct": 100,
        -                "coefficient_pct_per_year": 0.2,
        -                "color_class": "neutral",
        -                "impact": "+0.2%/yr",
        -                "impact_pct_per_year": 0.2,
        -                "key": "mine_subsidence",
        -                "label": "Mine subsidence",
        -                "present": true
        -              }
        -            ],
        -            "study": "Microburbs matched capital-growth study (DBYD) — treated minus control CAGR",
        -            "total_properties": 2727
        -          },
        -          "properties": {
        -            "area_level": {
        -              "const": "suburb",
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Canonical ABS SAL suburb name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "hazards": {
        -              "description": "One entry per studied hazard.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One hazard's matched-study capital-growth impact for this suburb.",
        -                "properties": {
        -                  "affected_pct": {
        -                    "description": "Share of the suburb's properties affected (%).",
        -                    "title": "Affected Pct",
        -                    "type": "number"
        -                  },
        -                  "coefficient_pct_per_year": {
        -                    "description": "Matched-study coefficient: treated-minus-control CAGR difference (%/yr) for a fully-affected suburb.",
        -                    "title": "Coefficient Pct Per Year",
        -                    "type": "number"
        -                  },
        -                  "color_class": {
        -                    "anyOf": [
        -                      {
        -                        "enum": [
        -                          "positive",
        -                          "negative",
        -                          "neutral"
        -                        ],
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Report's colour band: |impact| >= 0.3 %/yr is positive/negative, else neutral.",
        -                    "title": "Color Class"
        -                  },
        -                  "impact": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Impact as the report renders it, e.g. '+0.2%/yr'. Null when not shown.",
        -                    "title": "Impact"
        -                  },
        -                  "impact_pct_per_year": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Coefficient scaled by the affected share (%/yr). Null when the report shows no impact for this hazard here.",
        -                    "title": "Impact Pct Per Year"
        -                  },
        -                  "key": {
        -                    "description": "Hazard key (bushfire, flood, contamination, mine_subsidence, aircraft_noise, acid_sulfate_surface).",
        -                    "title": "Key",
        -                    "type": "string"
        -                  },
        -                  "label": {
        -                    "description": "Human-readable hazard name.",
        -                    "title": "Label",
        -                    "type": "string"
        -                  },
        -                  "present": {
        -                    "description": "Whether the hazard is material in this suburb (report's own threshold).",
        -                    "title": "Present",
        -                    "type": "boolean"
        -                  }
        -                },
        -                "required": [
        -                  "key",
        -                  "label",
        -                  "present",
        -                  "affected_pct",
        -                  "coefficient_pct_per_year"
        -                ],
        -                "title": "HazardCgImpact",
        -                "type": "object"
        -              },
        -              "title": "Hazards",
        -              "type": "array"
        -            },
        -            "study": {
        -              "description": "Provenance of the coefficients.",
        -              "title": "Study",
        -              "type": "string"
        -            },
        -            "total_properties": {
        -              "description": "Principal GNAF addresses in the suburb.",
        -              "title": "Total Properties",
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "total_properties",
        -            "study",
        -            "hazards"
        -          ],
        -          "title": "SuburbRiskCgImpact",
        -          "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[SuburbRiskCgImpact]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbRiskCgImpact_"
        -}New value: +null
    • Changedsuburbs_risks_counts1 field changed
      • 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": "Cached hazard-item counts inside the suburb boundary.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "contamination_points_n": 3,
        -            "erosion_n": 0,
        -            "heritage_items_n": 0
        -          },
        -          "properties": {
        -            "area_level": {
        -              "const": "suburb",
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Canonical ABS SAL suburb name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "contamination_points_n": {
        -              "description": "Contamination-register points inside the suburb.",
        -              "title": "Contamination Points N",
        -              "type": "integer"
        -            },
        -            "erosion_n": {
        -              "description": "Coastal-erosion-prone polygons intersecting the suburb.",
        -              "title": "Erosion N",
        -              "type": "integer"
        -            },
        -            "heritage_items_n": {
        -              "description": "Heritage items inside the suburb.",
        -              "title": "Heritage Items N",
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "contamination_points_n",
        -            "heritage_items_n",
        -            "erosion_n"
        -          ],
        -          "title": "RiskCounts",
        -          "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[RiskCounts]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_RiskCounts_"
        -}New value: +null
    • Changedsuburbs_risks_extras1 field changed
      • 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": "Extra suburb risk indicators — landslide and storm-tide coverage,\nEPA notices, landlord-insurance medians and crime benchmark, plus\nper-microburb detail under ``per_mb``.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "crime_bench": {
        -              "nat_med": 2787.56,
        -              "sub_med": 2248.01
        -            },
        -            "epa_notices_n": 3,
        -            "insurance": {
        -              "basic_med": 479,
        -              "comp_med": 2542,
        -              "n": 77,
        -              "rent_med": 433
        -            },
        -            "landslide_pct": 0,
        -            "per_mb": {
        -              "insurance": [
        -                {
        -                  "mb": "10431160000",
        -                  "score": 2551
        -                }
        -              ],
        -              "risks": [
        -                {
        -                  "acid_pct": 0,
        -                  "contam_pct": 100,
        -                  "mb": "10431160000",
        -                  "mine_pct": 100
        -                }
        -              ]
        -            },
        -            "storm_tide_high_pct": 0
        -          },
        -          "properties": {
        -            "area_level": {
        -              "const": "suburb",
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Canonical ABS SAL suburb name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "crime_bench": {
        -              "description": "Suburb vs national crime benchmark.",
        -              "properties": {
        -                "nat_med": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "National median total crime rate (predicted incidents per 100,000 residents per year).",
        -                  "title": "Nat Med"
        -                },
        -                "sub_med": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "This suburb's median total crime rate (predicted incidents per 100,000 residents per year).",
        -                  "title": "Sub Med"
        -                }
        -              },
        -              "title": "CrimeBench",
        -              "type": "object"
        -            },
        -            "epa_notices_n": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "EPA notices inside the suburb.",
        -              "title": "Epa Notices N"
        -            },
        -            "insurance": {
        -              "description": "Landlord-insurance medians.",
        -              "properties": {
        -                "basic_med": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Median basic landlord premium ($/yr).",
        -                  "title": "Basic Med"
        -                },
        -                "comp_med": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Median comprehensive landlord premium ($/yr).",
        -                  "title": "Comp Med"
        -                },
        -                "n": {
        -                  "anyOf": [
        -                    {
        -                      "type": "integer"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Microburbs with an insurance estimate.",
        -                  "title": "N"
        -                },
        -                "rent_med": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Median weekly rent ($) — for premium-vs-rent context.",
        -                  "title": "Rent Med"
        -                }
        -              },
        -              "title": "RiskInsurance",
        -              "type": "object"
        -            },
        -            "landslide_pct": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "% of suburb area in a landslide-risk overlay.",
        -              "title": "Landslide Pct"
        -            },
        -            "per_mb": {
        -              "description": "Per-microburb detail arrays.",
        -              "properties": {
        -                "insurance": {
        -                  "description": "Per-MB insurance premium scores.",
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One microburb's landlord-insurance premium score.",
        -                    "properties": {
        -                      "mb": {
        -                        "description": "ABS 2021 mesh-block code.",
        -                        "title": "Mb",
        -                        "type": "string"
        -                      },
        -                      "score": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Comprehensive landlord premium estimate ($/yr).",
        -                        "title": "Score"
        -                      }
        -                    },
        -                    "required": [
        -                      "mb"
        -                    ],
        -                    "title": "InsurancePerMb",
        -                    "type": "object"
        -                  },
        -                  "title": "Insurance",
        -                  "type": "array"
        -                },
        -                "risks": {
        -                  "description": "Per-MB contamination / mine / ANEF / acid shares.",
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One microburb's per-property risk shares.",
        -                    "properties": {
        -                      "acid_pct": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "% of properties at high acid-sulfate risk.",
        -                        "title": "Acid Pct"
        -                      },
        -                      "anef_med": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Median aircraft-noise ANEF (null = no exposure).",
        -                        "title": "Anef Med"
        -                      },
        -                      "contam_pct": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "% of properties within 500 m of contamination.",
        -                        "title": "Contam Pct"
        -                      },
        -                      "mb": {
        -                        "description": "ABS 2021 mesh-block code.",
        -                        "title": "Mb",
        -                        "type": "string"
        -                      },
        -                      "mine_pct": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "% of properties in a mine-subsidence district.",
        -                        "title": "Mine Pct"
        -                      }
        -                    },
        -                    "required": [
        -                      "mb"
        -                    ],
        -                    "title": "RiskPerMb",
        -                    "type": "object"
        -                  },
        -                  "title": "Risks",
        -                  "type": "array"
        -                }
        -              },
        -              "required": [
        -                "insurance",
        -                "risks"
        -              ],
        -              "title": "RiskExtrasPerMb",
        -              "type": "object"
        -            },
        -            "storm_tide_high_pct": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "% of suburb area in the high storm-tide band.",
        -              "title": "Storm Tide High Pct"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "insurance",
        -            "crime_bench",
        -            "per_mb"
        -          ],
        -          "title": "RiskExtras",
        -          "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[RiskExtras]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_RiskExtras_"
        -}New value: +null
    • Changedsuburbs_risks_flood1 field changed
      • 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": "One suburb-level risk record (bushfire or flood).\n\n`coverage_pct` is the share of the SAL covered by the modelled\nrisk overlay. `risk_band` is a coarse low/moderate/high band — only\npopulated for flood today; bushfire reports the raw percentage.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "coverage_pct": 45.72,
        -            "name": "Bushfire",
        -            "value_unit": "% of suburb area"
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "coverage_pct": {
        -              "description": "Share of suburb area inside the overlay (%).",
        -              "title": "Coverage Pct",
        -              "type": "number"
        -            },
        -            "geojson": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "GeoJSON FeatureCollection of the hazard polygons for this layer, ST_Intersection-clipped to the suburb boundary and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
        -              "title": "Geojson"
        -            },
        -            "geojson_meta": {
        -              "anyOf": [
        -                {
        -                  "additionalProperties": true,
        -                  "type": "object"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Clip / simplify / truncation metadata for `geojson` (clip method, simplify tolerance, coordinate precision, feature cap, and whether the size cap truncated the output). Present only with `?geojson=true`.",
        -              "title": "Geojson Meta"
        -            },
        -            "name": {
        -              "description": "Risk overlay name — 'Bushfire' or 'Flood'.",
        -              "title": "Name",
        -              "type": "string"
        -            },
        -            "risk_band": {
        -              "anyOf": [
        -                {
        -                  "type": "string"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Coarse band — 'low' / 'moderate' / 'high'. Currently flood only.",
        -              "title": "Risk Band"
        -            },
        -            "value_unit": {
        -              "description": "Unit for coverage_pct — '% of suburb area'.",
        -              "title": "Value Unit",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "name",
        -            "coverage_pct",
        -            "value_unit"
        -          ],
        -          "title": "SuburbRisk",
        -          "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[SuburbRisk]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbRisk_"
        -}New value: +null
    • Changedsuburbs_risks_heritage_share1 field changed
      • 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": "Share of the suburb's properties inside a heritage polygon.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "heritage_pct": 10.39,
        -            "value_unit": "% of properties"
        -          },
        -          "properties": {
        -            "area_level": {
        -              "const": "suburb",
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Canonical ABS SAL suburb name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "heritage_pct": {
        -              "description": "% of properties inside a heritage polygon.",
        -              "title": "Heritage Pct",
        -              "type": "number"
        -            },
        -            "value_unit": {
        -              "description": "Unit label ('% of properties').",
        -              "title": "Value Unit",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "heritage_pct",
        -            "value_unit"
        -          ],
        -          "title": "HeritageShare",
        -          "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[HeritageShare]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_HeritageShare_"
        -}New value: +null
    • Changedsuburbs_risks_hv_power_lines1 field changed
      • 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": "High-voltage electricity transmission lines crossing the suburb.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Blacktown",
        -            "line_count": 6,
        -            "max_kv": 132,
        -            "overhead_only": true,
        -            "present": true
        -          },
        -          "properties": {
        -            "area_level": {
        -              "const": "suburb",
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Canonical ABS SAL suburb name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "line_count": {
        -              "description": "Transmission-line features intersecting the suburb boundary.",
        -              "title": "Line Count",
        -              "type": "integer"
        -            },
        -            "max_kv": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Highest voltage class among the intersecting lines, in kV (null when none intersect or the source carries no voltage class).",
        -              "title": "Max Kv"
        -            },
        -            "overhead_only": {
        -              "const": true,
        -              "description": "Underground segments are excluded from the count — only overhead (and unclassified) transmission is counted.",
        -              "title": "Overhead Only",
        -              "type": "boolean"
        -            },
        -            "present": {
        -              "description": "True when at least one HV line crosses the suburb.",
        -              "title": "Present",
        -              "type": "boolean"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "present",
        -            "line_count",
        -            "overhead_only"
        -          ],
        -          "title": "SuburbHvPowerLines",
        -          "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[SuburbHvPowerLines]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbHvPowerLines_"
        -}New value: +null
    • Changedsuburbs_risks_property_hazard_counts1 field changed
      • 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": "Per-property hazard flags aggregated to the suburb — counts and\nshares of addresses flagged bushfire / flood / mine-subsidence /\ncontamination / aircraft-noise / acid-sulfate.",
        -          "example": {
        -            "acid_sulfate": {
        -              "any_high_count": 0,
        -              "any_high_pct": 0,
        -              "surface_high_count": 0,
        -              "surface_high_pct": 0
        -            },
        -            "aircraft_noise": {},
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "bushfire": {
        -              "count": 644,
        -              "pct": 23.62
        -            },
        -            "contamination": {
        -              "nearest_m": 1.7,
        -              "within_250m_count": 180,
        -              "within_250m_pct": 6.6,
        -              "within_500m_count": 496,
        -              "within_500m_pct": 18.19
        -            },
        -            "flood": {
        -              "count": 154,
        -              "pct": 5.65
        -            },
        -            "mine_subsidence": {
        -              "count": 2727,
        -              "pct": 100
        -            },
        -            "total_properties": 2727
        -          },
        -          "properties": {
        -            "acid_sulfate": {
        -              "description": "Acid-sulfate soil exposure.",
        -              "properties": {
        -                "any_high_count": {
        -                  "description": "Properties in any high acid-sulfate tier (surface/shallow/deep).",
        -                  "title": "Any High Count",
        -                  "type": "integer"
        -                },
        -                "any_high_pct": {
        -                  "description": "Share of properties in any high tier (%).",
        -                  "title": "Any High Pct",
        -                  "type": "number"
        -                },
        -                "surface_high_count": {
        -                  "description": "Properties in the surface-high tier.",
        -                  "title": "Surface High Count",
        -                  "type": "integer"
        -                },
        -                "surface_high_pct": {
        -                  "description": "Share of properties in the surface-high tier (%).",
        -                  "title": "Surface High Pct",
        -                  "type": "number"
        -                }
        -              },
        -              "required": [
        -                "any_high_count",
        -                "any_high_pct",
        -                "surface_high_count",
        -                "surface_high_pct"
        -              ],
        -              "title": "AcidSulfateCounts",
        -              "type": "object"
        -            },
        -            "aircraft_noise": {
        -              "description": "Aircraft-noise (ANEF) exposure.",
        -              "properties": {
        -                "anef_avg": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Mean ANEF across properties (null = no exposure data).",
        -                  "title": "Anef Avg"
        -                },
        -                "anef_max": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Max ANEF across properties (null = no exposure data).",
        -                  "title": "Anef Max"
        -                }
        -              },
        -              "title": "AircraftNoise",
        -              "type": "object"
        -            },
        -            "area_level": {
        -              "const": "suburb",
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Canonical ABS SAL suburb name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "bushfire": {
        -              "description": "Bushfire-prone-land flags.",
        -              "properties": {
        -                "count": {
        -                  "description": "Properties flagged for this hazard.",
        -                  "title": "Count",
        -                  "type": "integer"
        -                },
        -                "pct": {
        -                  "description": "Share of the suburb's properties (%).",
        -                  "title": "Pct",
        -                  "type": "number"
        -                }
        -              },
        -              "required": [
        -                "count",
        -                "pct"
        -              ],
        -              "title": "HazardCount",
        -              "type": "object"
        -            },
        -            "contamination": {
        -              "description": "Contamination-register proximity.",
        -              "properties": {
        -                "nearest_m": {
        -                  "anyOf": [
        -                    {
        -                      "type": "number"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ],
        -                  "description": "Distance (m) from the closest property to the nearest contamination site.",
        -                  "title": "Nearest M"
        -                },
        -                "within_250m_count": {
        -                  "description": "Properties within 250 m of a contamination site.",
        -                  "title": "Within 250M Count",
        -                  "type": "integer"
        -                },
        -                "within_250m_pct": {
        -                  "description": "Share of properties within 250 m (%).",
        -                  "title": "Within 250M Pct",
        -                  "type": "number"
        -                },
        -                "within_500m_count": {
        -                  "description": "Properties within 500 m of a contamination site.",
        -                  "title": "Within 500M Count",
        -                  "type": "integer"
        -                },
        -                "within_500m_pct": {
        -                  "description": "Share of properties within 500 m (%).",
        -                  "title": "Within 500M Pct",
        -                  "type": "number"
        -                }
        -              },
        -              "required": [
        -                "within_250m_count",
        -                "within_250m_pct",
        -                "within_500m_count",
        -                "within_500m_pct"
        -              ],
        -              "title": "ContaminationCounts",
        -              "type": "object"
        -            },
        -            "flood": {
        -              "description": "Flood-planning-overlay flags.",
        -              "properties": {
        -                "count": {
        -                  "description": "Properties flagged for this hazard.",
        -                  "title": "Count",
        -                  "type": "integer"
        -                },
        -                "pct": {
        -                  "description": "Share of the suburb's properties (%).",
        -                  "title": "Pct",
        -                  "type": "number"
        -                }
        -              },
        -              "required": [
        -                "count",
        -                "pct"
        -              ],
        -              "title": "HazardCount",
        -              "type": "object"
        -            },
        -            "mine_subsidence": {
        -              "description": "Mine-subsidence-district flags.",
        -              "properties": {
        -                "count": {
        -                  "description": "Properties flagged for this hazard.",
        -                  "title": "Count",
        -                  "type": "integer"
        -                },
        -                "pct": {
        -                  "description": "Share of the suburb's properties (%).",
        -                  "title": "Pct",
        -                  "type": "number"
        -                }
        -              },
        -              "required": [
        -                "count",
        -                "pct"
        -              ],
        -              "title": "HazardCount",
        -              "type": "object"
        -            },
        -            "total_properties": {
        -              "description": "Principal GNAF addresses in the suburb.",
        -              "title": "Total Properties",
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "total_properties",
        -            "bushfire",
        -            "flood",
        -            "mine_subsidence",
        -            "contamination",
        -            "aircraft_noise",
        -            "acid_sulfate"
        -          ],
        -          "title": "PropertyHazardCounts",
        -          "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[PropertyHazardCounts]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_PropertyHazardCounts_"
        -}New value: +null
    • Changedsuburbs_risks_slope1 field changed
      • 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": "Terrain gradient across the suburb's properties (degrees).",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "median_slope_deg": 4.43,
        -            "n_properties": 2727,
        -            "p90_slope_deg": 8.29,
        -            "steep_pct": 4.44,
        -            "steep_threshold_deg": 10
        -          },
        -          "properties": {
        -            "area_level": {
        -              "const": "suburb",
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Canonical ABS SAL suburb name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "median_slope_deg": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Median property gradient (degrees).",
        -              "title": "Median Slope Deg"
        -            },
        -            "n_properties": {
        -              "description": "Properties with a terrain sample.",
        -              "title": "N Properties",
        -              "type": "integer"
        -            },
        -            "p90_slope_deg": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "90th-percentile property gradient (degrees).",
        -              "title": "P90 Slope Deg"
        -            },
        -            "steep_pct": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Share of properties steeper than the threshold (%).",
        -              "title": "Steep Pct"
        -            },
        -            "steep_threshold_deg": {
        -              "description": "Gradient threshold used for steep_pct (degrees).",
        -              "title": "Steep Threshold Deg",
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "n_properties",
        -            "steep_threshold_deg"
        -          ],
        -          "title": "SlopeProfile",
        -          "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[SlopeProfile]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SlopeProfile_"
        -}New value: +null
    • Changedsuburbs_sales_recent1 field changed
      • 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": "Properties sold in the suburb over the last 3 years, paginated.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "results": [
        -              {
        -                "address": "9 Kanundra Street",
        -                "bathrooms": 3,
        -                "bedrooms": 2,
        -                "gnaf_pid": "GANSW704074941",
        -                "lat": -33.02135461,
        -                "lng": 151.66919805,
        -                "property_type": "House",
        -                "sold_date": "2026-03-30",
        -                "sold_price": 1005000
        -              },
        -              {
        -                "address": "9 Hope Street",
        -                "bathrooms": 1,
        -                "bedrooms": 3,
        -                "gnaf_pid": "GANSW704073843",
        -                "land_size": 844,
        -                "lat": -33.01951863,
        -                "lng": 151.67430967,
        -                "property_type": "House",
        -                "sold_date": "2026-03-27",
        -                "sold_price": 910000
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "results": {
        -              "description": "Sold properties, most significant first. Capped by `limit`.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "One sold property.",
        -                "properties": {
        -                  "address": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Street address (title-cased).",
        -                    "title": "Address"
        -                  },
        -                  "bathrooms": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Bathroom count.",
        -                    "title": "Bathrooms"
        -                  },
        -                  "bedrooms": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Bedroom count.",
        -                    "title": "Bedrooms"
        -                  },
        -                  "gnaf_pid": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "GNAF property ID.",
        -                    "title": "Gnaf Pid"
        -                  },
        -                  "land_size": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Land size in m², where known.",
        -                    "title": "Land Size"
        -                  },
        -                  "lat": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Latitude (WGS84).",
        -                    "title": "Lat"
        -                  },
        -                  "lng": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Longitude (WGS84).",
        -                    "title": "Lng"
        -                  },
        -                  "property_type": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Bucketed type: House / Townhouse / Unit / Land / Other.",
        -                    "title": "Property Type"
        -                  },
        -                  "sold_date": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Sale date (YYYY-MM-DD).",
        -                    "title": "Sold Date"
        -                  },
        -                  "sold_price": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Sale price (AUD).",
        -                    "title": "Sold Price"
        -                  }
        -                },
        -                "title": "RecentSaleRow",
        -                "type": "object"
        -              },
        -              "title": "Results",
        -              "type": "array"
        -            },
        -            "total": {
        -              "anyOf": [
        -                {
        -                  "type": "integer"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Sales available for this suburb — counted before `limit`/`offset`, so it stays accurate while paging.",
        -              "title": "Total"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "results"
        -          ],
        -          "title": "RecentSales",
        -          "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[RecentSales]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_RecentSales_"
        -}New value: +null
    • Changedsuburbs_sales_summary1 field changed
      • 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": "3-year sales count and median sold price for the suburb.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "median_sold_price_3y": 965000,
        -            "sales_count_3y": 155
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Always 'suburb' for these endpoints.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb (SAL) name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "median_sold_price_3y": {
        -              "anyOf": [
        -                {
        -                  "type": "number"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "description": "Median sold price (AUD) across those sales.",
        -              "title": "Median Sold Price 3Y"
        -            },
        -            "sales_count_3y": {
        -              "description": "Number of recorded sales in the last 3 years.",
        -              "title": "Sales Count 3Y",
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "sales_count_3y"
        -          ],
        -          "title": "SalesSummary",
        -          "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[SalesSummary]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SalesSummary_"
        -}New value: +null
    • Changedsuburbs_schools_all1 field changed
      • 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": [
        -        {
        -          "properties": {
        -            "catchment": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "A SchoolNearbyRow plus the catchment polygon and school point.\nSame shape as SchoolNearbyRow with two extra geo fields.",
        -                    "example": {
        -                      "area_level": "suburb",
        -                      "area_name": "Belmont North",
        -                      "attendance_rate": 0.91,
        -                      "boys": 243,
        -                      "catchment_geometry": {
        -                        "coordinates": [
        -                          [
        -                            [
        -                              151.67042923383778,
        -                              -32.98757124507687
        -                            ],
        -                            [
        -                              151.6719715769448,
        -                              -32.98939046673288
        -                            ],
        -                            [
        -                              151.6734693055526,
        -                              -32.98850017540185
        -                            ],
        -                            [
        -                              151.67441597542228,
        -                              -32.98925716230058
        -                            ],
        -                            [
        -                              151.6744512196374,
        -                              -32.98927469682288
        -                            ],
        -                            [
        -                              151.67465982077098,
        -                              -32.98937504027857
        -                            ],
        -                            [
        -                              151.67456301029637,
        -                              -32.99020963121243
        -                            ],
        -                            [
        -                              151.67473675768315,
        -                              -32.99039272031774
        -                            ],
        -                            [
        -                              151.67477042663782,
        -                              -32.99055253001001
        -                            ],
        -                            [
        -                              151.6752381499246,
        -                              -32.99061568100905
        -                            ],
        -                            [
        -                              151.67477149401967,
        -                              -32.992997786654314
        -                            ],
        -                            [
        -                              151.67439920214838,
        -                              -32.99497548331405
        -                            ],
        -                            [
        -                              151.67407132572123,
        -                              -32.99652321268549
        -                            ],
        -                            [
        -                              151.67394980151346,
        -                              -32.997125806710365
        -                            ],
        -                            [
        -                              151.67282022422222,
        -                              -33.00274227884929
        -                            ],
        -                            [
        -                              151.6752319292274,
        -                              -33.00311151356208
        -                            ],
        -                            [
        -                              151.6750705323278,
        -                              -33.003870242584746
        -                            ],
        -                            [
        -                              151.67573446688428,
        -                              -33.00404110589344
        -                            ],
        -                            [
        -                              151.67625048774548,
        -                              -33.00439039595885
        -                            ],
        -                            [
        -                              151.6759383981911,
        -                              -33.00503540782948
        -                            ],
        -                            [
        -                              151.6746769955881,
        -                              -33.00596924025073
        -                            ],
        -                            [
        -                              151.6748911985307,
        -                              -33.00620821013698
        -                            ],
        -                            [
        -                              151.6747530731491,
        -                              -33.00668217190128
        -                            ],
        -                            [
        -                              151.676919389056,
        -                              -33.00703611467451
        -                            ],
        -                            [
        -                              151.6771988585327,
        -                              -33.007271679446276
        -                            ],
        -                            [
        -                              151.6764263160743,
        -                              -33.00792537694869
        -                            ],
        -                            [
        -                              151.67812520527949,
        -                              -33.00981672272549
        -                            ],
        -                            [
        -                              151.67786620867338,
        -                              -33.00998163417776
        -                            ],
        -                            [
        -                              151.67861744546815,
        -                              -33.01081732693649
        -                            ],
        -                            [
        -                              151.67831012273538,
        -                              -33.01129025369889
        -                            ],
        -                            [
        -                              151.67731432884437,
        -                              -33.011417925153836
        -                            ],
        -                            [
        -                              151.67431561890302,
        -                              -33.011246985022915
        -                            ],
        -                            [
        -                              151.67266874272775,
        -                              -33.0105812186979
        -                            ],
        -                            [
        -                              151.67186407972366,
        -                              -33.010536234740904
        -                            ],
        -                            [
        -                              151.67118279884238,
        -                              -33.01083762985143
        -                            ],
        -                            [
        -                              151.67090921372315,
        -                              -33.01117051236736
        -                            ],
        -                            [
        -                              151.66928379450079,
        -                              -33.0142158838105
        -                            ],
        -                            [
        -                              151.66921942258733,
        -                              -33.01492210652206
        -                            ],
        -                            [
        -                              151.66934816807384,
        -                              -33.01665390304882
        -                            ],
        -                            [
        -                              151.6691496842568,
        -                              -33.017985339625525
        -                            ],
        -                            [
        -                              151.66889219209077,
        -                              -33.01872751667515
        -                            ],
        -                            [
        -                              151.6676369187551,
        -                              -33.020729114991084
        -                            ],
        -                            [
        -                              151.6655340670236,
        -                              -33.02207848082798
        -                            ],
        -                            [
        -                              151.66467039485065,
        -                              -33.022730667493256
        -                            ],
        -                            [
        -                              151.66372089338344,
        -                              -33.02356725794402
        -                            ],
        -                            [
        -                              151.66242250856106,
        -                              -33.02519173760811
        -                            ],
        -                            [
        -                              151.66207650463218,
        -                              -33.02572696146896
        -                            ],
        -                            [
        -                              151.66178682507282,
        -                              -33.02650055675307
        -                            ],
        -                            [
        -                              151.6580800122216,
        -                              -33.02564375441335
        -                            ],
        -                            [
        -                              151.65740677727928,
        -                              -33.025200732900274
        -                            ],
        -                            [
        -                              151.65684198328444,
        -                              -33.02431920537466
        -                            ],
        -                            [
        -                              151.6569632660455,
        -                              -33.02363646420419
        -                            ],
        -                            [
        -                              151.65749543107924,
        -                              -33.0236678384512
        -                            ],
        -                            [
        -                              151.6576079435377,
        -                              -33.02375921044012
        -                            ],
        -                            [
        -                              151.6586379111286,
        -                              -33.0238064366852
        -                            ],
        -                            [
        -                              151.65906304204347,
        -                              -33.02367150449803
        -                            ],
        -                            [
        -                              151.65884679490594,
        -                              -33.023361682351
        -                            ],
        -                            [
        -                              151.6586583547871,
        -                              -33.02333407345239
        -                            ],
        -                            [
        -                              151.65895230987672,
        -                              -33.02194751597505
        -                            ],
        -                            [
        -                              151.6573067295955,
        -                              -33.021704493058735
        -                            ],
        -                            [
        -                              151.65745935139793,
        -                              -33.02087493119285
        -                            ],
        -                            [
        -                              151.65602365275706,
        -                              -33.02066874091056
        -                            ],
        -                            [
        -                              151.65678289296378,
        -                              -33.01994614582118
        -                            ],
        -                            [
        -                              151.65683772642348,
        -                              -33.01904667332856
        -                            ],
        -                            [
        -                              151.65688892827654,
        -                              -33.01874884516128
        -                            ],
        -                            [
        -                              151.657031321224,
        -                              -33.01796422820988
        -                            ],
        -                            [
        -                              151.65796886289624,
        -                              -33.01807892201384
        -                            ],
        -                            [
        -                              151.65926475921665,
        -                              -33.011586418571845
        -                            ],
        -                            [
        -                              151.6597488500325,
        -                              -33.009126775423375
        -                            ],
        -                            [
        -                              151.6598963522423,
        -                              -33.00835993259205
        -                            ],
        -                            [
        -                              151.6600968492776,
        -                              -33.007358584606926
        -                            ],
        -                            [
        -                              151.66014624053628,
        -                              -33.00709014004396
        -                            ],
        -                            [
        -                              151.66086943745162,
        -                              -33.00345520236493
        -                            ],
        -                            [
        -                              151.66140686339432,
        -                              -32.998379096754526
        -                            ],
        -                            [
        -                              151.6616612968984,
        -                              -32.997115113283705
        -                            ],
        -                            [
        -                              151.66217201963147,
        -                              -32.99458968190984
        -                            ],
        -                            [
        -                              151.66244155783718,
        -                              -32.993256254731975
        -                            ],
        -                            [
        -                              151.66341489287473,
        -                              -32.9933891460552
        -                            ],
        -                            [
        -                              151.663967262672,
        -                              -32.990906382973904
        -                            ],
        -                            [
        -                              151.66499792271642,
        -                              -32.991068416279454
        -                            ],
        -                            [
        -                              151.66681000964647,
        -                              -32.99135342631569
        -                            ],
        -                            [
        -                              151.66828551672774,
        -                              -32.99158521597014
        -                            ],
        -                            [
        -                              151.67001655087813,
        -                              -32.991857299708236
        -                            ],
        -                            [
        -                              151.67017364918036,
        -                              -32.991754061097744
        -                            ],
        -                            [
        -                              151.670366767743,
        -                              -32.990262497477644
        -                            ],
        -                            [
        -                              151.6706752211715,
        -                              -32.989288356528185
        -                            ],
        -                            [
        -                              151.67021388159623,
        -                              -32.98815671796097
        -                            ],
        -                            [
        -                              151.67042923383778,
        -                              -32.98757124507687
        -                            ]
        -                          ]
        -                        ],
        -                        "type": "Polygon"
        -                      },
        -                      "catchment_name": "Floraville PS",
        -                      "gender": "coed",
        -                      "girls": 244,
        -                      "id": 42041,
        -                      "naplan_rank": 0.5496460540954865,
        -                      "school_geometry": {
        -                        "coordinates": [
        -                          151.663835,
        -                          -33.014211
        -                        ],
        -                        "type": "Point"
        -                      },
        -                      "school_level_type": "Primary",
        -                      "school_name": "Floraville Public School",
        -                      "school_sector_type": "Public",
        -                      "socioeconomic_rank": 0.6239973262032086
        -                    },
        -                    "properties": {
        -                      "area_level": {
        -                        "description": "Always 'suburb'.",
        -                        "title": "Area Level",
        -                        "type": "string"
        -                      },
        -                      "area_name": {
        -                        "description": "Suburb (SAL) name.",
        -                        "title": "Area Name",
        -                        "type": "string"
        -                      },
        -                      "attendance_rate": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Share of school days actually attended by the average enrolled student, as a fraction between 0 and 1 — 0.89 means 89%. Multiply by 100 to display. Most schools cluster in the high 0.8s to low 0.9s, so small differences matter more than the range suggests.",
        -                        "title": "Attendance Rate"
        -                      },
        -                      "boys": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Number of male students enrolled — a headcount, despite the numeric type. Add to `girls` for total enrolment, which is the best available proxy for school size.",
        -                        "title": "Boys"
        -                      },
        -                      "catchment_geometry": {
        -                        "anyOf": [
        -                          {
        -                            "description": "RFC 7946 GeoJSON Polygon — list of linear rings, each ring a list\nof `[lon, lat]` pairs. First ring is the outer boundary; any\nadditional rings are inner holes.",
        -                            "example": {
        -                              "coordinates": [
        -                                [
        -                                  [
        -                                    151.67,
        -                                    -32.98
        -                                  ],
        -                                  [
        -                                    151.68,
        -                                    -32.98
        -                                  ],
        -                                  [
        -                                    151.68,
        -                                    -32.99
        -                                  ],
        -                                  [
        -                                    151.67,
        -                                    -32.99
        -                                  ],
        -                                  [
        -                                    151.67,
        -                                    -32.98
        -                                  ]
        -                                ]
        -                              ],
        -                              "type": "Polygon"
        -                            },
        -                            "properties": {
        -                              "coordinates": {
        -                                "description": "`[ring][point][lon|lat]`. First ring is outer boundary; subsequent rings are holes (none today). Each ring is a list of `[lon, lat]` pairs; rings are explicitly closed (first pair == last pair).",
        -                                "items": {
        -                                  "items": {
        -                                    "items": {
        -                                      "type": "number"
        -                                    },
        -                                    "type": "array"
        -                                  },
        -                                  "type": "array"
        -                                },
        -                                "title": "Coordinates",
        -                                "type": "array"
        -                              },
        -                              "type": {
        -                                "const": "Polygon",
        -                                "description": "Always 'Polygon'.",
        -                                "title": "Type",
        -                                "type": "string"
        -                              }
        -                            },
        -                            "required": [
        -                              "type",
        -                              "coordinates"
        -                            ],
        -                            "title": "GeoJsonPolygon",
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "GeoJSON polygon of the catchment boundary."
        -                      },
        -                      "catchment_name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Catchment name as listed by myschool.",
        -                        "title": "Catchment Name"
        -                      },
        -                      "gender": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Who the school enrols — 'coed', 'girls' (girls only) or 'boys' (boys only).",
        -                        "title": "Gender"
        -                      },
        -                      "girls": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Number of female students enrolled — a headcount. See `boys`.",
        -                        "title": "Girls"
        -                      },
        -                      "id": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Stable numeric identifier for the school, for joining these rows across calls. Delivered as a number but it is an identifier — do not do arithmetic on it or compare its magnitude.",
        -                        "title": "Id"
        -                      },
        -                      "name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "The school's full name, as officially registered.",
        -                        "title": "Name"
        -                      },
        -                      "naplan_rank": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "The school's academic standing on national NAPLAN testing, as a percentile between 0 and 1 where higher is better — 0.63 puts the school ahead of about 63% of schools, i.e. in roughly the top 40%. A fraction, not a percentage and not a raw test score. Null when the school has no published NAPLAN standing.",
        -                        "title": "Naplan Rank"
        -                      },
        -                      "school_geometry": {
        -                        "anyOf": [
        -                          {
        -                            "description": "RFC 7946 GeoJSON Point — `[longitude, latitude]` coordinates.",
        -                            "example": {
        -                              "coordinates": [
        -                                151.67,
        -                                -33.01
        -                              ],
        -                              "type": "Point"
        -                            },
        -                            "properties": {
        -                              "coordinates": {
        -                                "description": "`[longitude, latitude]` — 2 numbers, lon first per GeoJSON.",
        -                                "items": {
        -                                  "type": "number"
        -                                },
        -                                "title": "Coordinates",
        -                                "type": "array"
        -                              },
        -                              "type": {
        -                                "const": "Point",
        -                                "description": "Always 'Point'.",
        -                                "title": "Type",
        -                                "type": "string"
        -                              }
        -                            },
        -                            "required": [
        -                              "type",
        -                              "coordinates"
        -                            ],
        -                            "title": "GeoJsonPoint",
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "GeoJSON point of the school location."
        -                      },
        -                      "school_level_type": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Which years the school covers — 'Primary', 'Secondary', or 'Combined' for a school spanning both.",
        -                        "title": "School Level Type"
        -                      },
        -                      "school_sector_type": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Who runs the school — 'Public' (government), 'Private', or 'Non-Government' (the wider category including Catholic and independent schools). Fee-paying status is implied, not stated.",
        -                        "title": "School Sector Type"
        -                      },
        -                      "socioeconomic_rank": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "How advantaged the school's community is, as a percentile between 0 and 1 where higher means more advantaged — 0.17 sits near the bottom of the national distribution. Measures the intake's socio-economic background, not teaching quality, and it is separate from `naplan_rank`: schools rank high on one and low on the other.",
        -                        "title": "Socioeconomic Rank"
        -                      }
        -                    },
        -                    "required": [
        -                      "area_name",
        -                      "area_level"
        -                    ],
        -                    "title": "CatchmentRow",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "title": "Catchment"
        -            },
        -            "nearby": {
        -              "anyOf": [
        -                {
        -                  "items": {
        -                    "additionalProperties": true,
        -                    "description": "One school within the suburb's catchment radius.",
        -                    "example": {
        -                      "area_level": "suburb",
        -                      "area_name": "Belmont North",
        -                      "attendance_rate": 0.89,
        -                      "boys": 90,
        -                      "gender": "coed",
        -                      "girls": 82,
        -                      "id": 42002,
        -                      "name": "Belmont North Public School",
        -                      "naplan_rank": 0.6282832390938133,
        -                      "school_level_type": "Primary",
        -                      "school_sector_type": "Public",
        -                      "socioeconomic_rank": 0.17342543077837194
        -                    },
        -                    "properties": {
        -                      "area_level": {
        -                        "description": "Always 'suburb'.",
        -                        "title": "Area Level",
        -                        "type": "string"
        -                      },
        -                      "area_name": {
        -                        "description": "Suburb (SAL) name.",
        -                        "title": "Area Name",
        -                        "type": "string"
        -                      },
        -                      "attendance_rate": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Share of school days actually attended by the average enrolled student, as a fraction between 0 and 1 — 0.89 means 89%. Multiply by 100 to display. Most schools cluster in the high 0.8s to low 0.9s, so small differences matter more than the range suggests.",
        -                        "title": "Attendance Rate"
        -                      },
        -                      "boys": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Number of male students enrolled — a headcount, despite the numeric type. Add to `girls` for total enrolment, which is the best available proxy for school size.",
        -                        "title": "Boys"
        -                      },
        -                      "gender": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Who the school enrols — 'coed', 'girls' (girls only) or 'boys' (boys only).",
        -                        "title": "Gender"
        -                      },
        -                      "girls": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Number of female students enrolled — a headcount. See `boys`.",
        -                        "title": "Girls"
        -                      },
        -                      "id": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Stable numeric identifier for the school, for joining these rows across calls. Delivered as a number but it is an identifier — do not do arithmetic on it or compare its magnitude.",
        -                        "title": "Id"
        -                      },
        -                      "name": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "The school's full name, as officially registered.",
        -                        "title": "Name"
        -                      },
        -                      "naplan_rank": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "The school's academic standing on national NAPLAN testing, as a percentile between 0 and 1 where higher is better — 0.63 puts the school ahead of about 63% of schools, i.e. in roughly the top 40%. A fraction, not a percentage and not a raw test score. Null when the school has no published NAPLAN standing.",
        -                        "title": "Naplan Rank"
        -                      },
        -                      "school_level_type": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Which years the school covers — 'Primary', 'Secondary', or 'Combined' for a school spanning both.",
        -                        "title": "School Level Type"
        -                      },
        -                      "school_sector_type": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Who runs the school — 'Public' (government), 'Private', or 'Non-Government' (the wider category including Catholic and independent schools). Fee-paying status is implied, not stated.",
        -                        "title": "School Sector Type"
        -                      },
        -                      "socioeconomic_rank": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "How advantaged the school's community is, as a percentile between 0 and 1 where higher means more advantaged — 0.17 sits near the bottom of the national distribution. Measures the intake's socio-economic background, not teaching quality, and it is separate from `naplan_rank`: schools rank high on one and low on the other.",
        -                        "title": "Socioeconomic Rank"
        -                      }
        -                    },
        -                    "required": [
        -                      "area_name",
        -                      "area_level"
        -                    ],
        -                    "title": "SchoolNearbyRow",
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                {
        -                  "type": "null"
        -                }
        -              ],
        -              "title": "Nearby"
        -            }
        -          },
        -          "title": "SuburbSchoolsAll",
        -          "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[SuburbSchoolsAll]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbSchoolsAll_"
        -}New value: +null
    • Changedsuburbs_schools_catchment1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "A SchoolNearbyRow plus the catchment polygon and school point.\nSame shape as SchoolNearbyRow with two extra geo fields.",
        -            "example": {
        -              "area_level": "suburb",
        -              "area_name": "Belmont North",
        -              "attendance_rate": 0.91,
        -              "boys": 243,
        -              "catchment_geometry": {
        -                "coordinates": [
        -                  [
        -                    [
        -                      151.67042923383778,
        -                      -32.98757124507687
        -                    ],
        -                    [
        -                      151.6719715769448,
        -                      -32.98939046673288
        -                    ],
        -                    [
        -                      151.6734693055526,
        -                      -32.98850017540185
        -                    ],
        -                    [
        -                      151.67441597542228,
        -                      -32.98925716230058
        -                    ],
        -                    [
        -                      151.6744512196374,
        -                      -32.98927469682288
        -                    ],
        -                    [
        -                      151.67465982077098,
        -                      -32.98937504027857
        -                    ],
        -                    [
        -                      151.67456301029637,
        -                      -32.99020963121243
        -                    ],
        -                    [
        -                      151.67473675768315,
        -                      -32.99039272031774
        -                    ],
        -                    [
        -                      151.67477042663782,
        -                      -32.99055253001001
        -                    ],
        -                    [
        -                      151.6752381499246,
        -                      -32.99061568100905
        -                    ],
        -                    [
        -                      151.67477149401967,
        -                      -32.992997786654314
        -                    ],
        -                    [
        -                      151.67439920214838,
        -                      -32.99497548331405
        -                    ],
        -                    [
        -                      151.67407132572123,
        -                      -32.99652321268549
        -                    ],
        -                    [
        -                      151.67394980151346,
        -                      -32.997125806710365
        -                    ],
        -                    [
        -                      151.67282022422222,
        -                      -33.00274227884929
        -                    ],
        -                    [
        -                      151.6752319292274,
        -                      -33.00311151356208
        -                    ],
        -                    [
        -                      151.6750705323278,
        -                      -33.003870242584746
        -                    ],
        -                    [
        -                      151.67573446688428,
        -                      -33.00404110589344
        -                    ],
        -                    [
        -                      151.67625048774548,
        -                      -33.00439039595885
        -                    ],
        -                    [
        -                      151.6759383981911,
        -                      -33.00503540782948
        -                    ],
        -                    [
        -                      151.6746769955881,
        -                      -33.00596924025073
        -                    ],
        -                    [
        -                      151.6748911985307,
        -                      -33.00620821013698
        -                    ],
        -                    [
        -                      151.6747530731491,
        -                      -33.00668217190128
        -                    ],
        -                    [
        -                      151.676919389056,
        -                      -33.00703611467451
        -                    ],
        -                    [
        -                      151.6771988585327,
        -                      -33.007271679446276
        -                    ],
        -                    [
        -                      151.6764263160743,
        -                      -33.00792537694869
        -                    ],
        -                    [
        -                      151.67812520527949,
        -                      -33.00981672272549
        -                    ],
        -                    [
        -                      151.67786620867338,
        -                      -33.00998163417776
        -                    ],
        -                    [
        -                      151.67861744546815,
        -                      -33.01081732693649
        -                    ],
        -                    [
        -                      151.67831012273538,
        -                      -33.01129025369889
        -                    ],
        -                    [
        -                      151.67731432884437,
        -                      -33.011417925153836
        -                    ],
        -                    [
        -                      151.67431561890302,
        -                      -33.011246985022915
        -                    ],
        -                    [
        -                      151.67266874272775,
        -                      -33.0105812186979
        -                    ],
        -                    [
        -                      151.67186407972366,
        -                      -33.010536234740904
        -                    ],
        -                    [
        -                      151.67118279884238,
        -                      -33.01083762985143
        -                    ],
        -                    [
        -                      151.67090921372315,
        -                      -33.01117051236736
        -                    ],
        -                    [
        -                      151.66928379450079,
        -                      -33.0142158838105
        -                    ],
        -                    [
        -                      151.66921942258733,
        -                      -33.01492210652206
        -                    ],
        -                    [
        -                      151.66934816807384,
        -                      -33.01665390304882
        -                    ],
        -                    [
        -                      151.6691496842568,
        -                      -33.017985339625525
        -                    ],
        -                    [
        -                      151.66889219209077,
        -                      -33.01872751667515
        -                    ],
        -                    [
        -                      151.6676369187551,
        -                      -33.020729114991084
        -                    ],
        -                    [
        -                      151.6655340670236,
        -                      -33.02207848082798
        -                    ],
        -                    [
        -                      151.66467039485065,
        -                      -33.022730667493256
        -                    ],
        -                    [
        -                      151.66372089338344,
        -                      -33.02356725794402
        -                    ],
        -                    [
        -                      151.66242250856106,
        -                      -33.02519173760811
        -                    ],
        -                    [
        -                      151.66207650463218,
        -                      -33.02572696146896
        -                    ],
        -                    [
        -                      151.66178682507282,
        -                      -33.02650055675307
        -                    ],
        -                    [
        -                      151.6580800122216,
        -                      -33.02564375441335
        -                    ],
        -                    [
        -                      151.65740677727928,
        -                      -33.025200732900274
        -                    ],
        -                    [
        -                      151.65684198328444,
        -                      -33.02431920537466
        -                    ],
        -                    [
        -                      151.6569632660455,
        -                      -33.02363646420419
        -                    ],
        -                    [
        -                      151.65749543107924,
        -                      -33.0236678384512
        -                    ],
        -                    [
        -                      151.6576079435377,
        -                      -33.02375921044012
        -                    ],
        -                    [
        -                      151.6586379111286,
        -                      -33.0238064366852
        -                    ],
        -                    [
        -                      151.65906304204347,
        -                      -33.02367150449803
        -                    ],
        -                    [
        -                      151.65884679490594,
        -                      -33.023361682351
        -                    ],
        -                    [
        -                      151.6586583547871,
        -                      -33.02333407345239
        -                    ],
        -                    [
        -                      151.65895230987672,
        -                      -33.02194751597505
        -                    ],
        -                    [
        -                      151.6573067295955,
        -                      -33.021704493058735
        -                    ],
        -                    [
        -                      151.65745935139793,
        -                      -33.02087493119285
        -                    ],
        -                    [
        -                      151.65602365275706,
        -                      -33.02066874091056
        -                    ],
        -                    [
        -                      151.65678289296378,
        -                      -33.01994614582118
        -                    ],
        -                    [
        -                      151.65683772642348,
        -                      -33.01904667332856
        -                    ],
        -                    [
        -                      151.65688892827654,
        -                      -33.01874884516128
        -                    ],
        -                    [
        -                      151.657031321224,
        -                      -33.01796422820988
        -                    ],
        -                    [
        -                      151.65796886289624,
        -                      -33.01807892201384
        -                    ],
        -                    [
        -                      151.65926475921665,
        -                      -33.011586418571845
        -                    ],
        -                    [
        -                      151.6597488500325,
        -                      -33.009126775423375
        -                    ],
        -                    [
        -                      151.6598963522423,
        -                      -33.00835993259205
        -                    ],
        -                    [
        -                      151.6600968492776,
        -                      -33.007358584606926
        -                    ],
        -                    [
        -                      151.66014624053628,
        -                      -33.00709014004396
        -                    ],
        -                    [
        -                      151.66086943745162,
        -                      -33.00345520236493
        -                    ],
        -                    [
        -                      151.66140686339432,
        -                      -32.998379096754526
        -                    ],
        -                    [
        -                      151.6616612968984,
        -                      -32.997115113283705
        -                    ],
        -                    [
        -                      151.66217201963147,
        -                      -32.99458968190984
        -                    ],
        -                    [
        -                      151.66244155783718,
        -                      -32.993256254731975
        -                    ],
        -                    [
        -                      151.66341489287473,
        -                      -32.9933891460552
        -                    ],
        -                    [
        -                      151.663967262672,
        -                      -32.990906382973904
        -                    ],
        -                    [
        -                      151.66499792271642,
        -                      -32.991068416279454
        -                    ],
        -                    [
        -                      151.66681000964647,
        -                      -32.99135342631569
        -                    ],
        -                    [
        -                      151.66828551672774,
        -                      -32.99158521597014
        -                    ],
        -                    [
        -                      151.67001655087813,
        -                      -32.991857299708236
        -                    ],
        -                    [
        -                      151.67017364918036,
        -                      -32.991754061097744
        -                    ],
        -                    [
        -                      151.670366767743,
        -                      -32.990262497477644
        -                    ],
        -                    [
        -                      151.6706752211715,
        -                      -32.989288356528185
        -                    ],
        -                    [
        -                      151.67021388159623,
        -                      -32.98815671796097
        -                    ],
        -                    [
        -                      151.67042923383778,
        -                      -32.98757124507687
        -                    ]
        -                  ]
        -                ],
        -                "type": "Polygon"
        -              },
        -              "catchment_name": "Floraville PS",
        -              "gender": "coed",
        -              "girls": 244,
        -              "id": 42041,
        -              "naplan_rank": 0.5496460540954865,
        -              "school_geometry": {
        -                "coordinates": [
        -                  151.663835,
        -                  -33.014211
        -                ],
        -                "type": "Point"
        -              },
        -              "school_level_type": "Primary",
        -              "school_name": "Floraville Public School",
        -              "school_sector_type": "Public",
        -              "socioeconomic_rank": 0.6239973262032086
        -            },
        -            "properties": {
        -              "area_level": {
        -                "description": "Always 'suburb'.",
        -                "title": "Area Level",
        -                "type": "string"
        -              },
        -              "area_name": {
        -                "description": "Suburb (SAL) name.",
        -                "title": "Area Name",
        -                "type": "string"
        -              },
        -              "attendance_rate": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Share of school days actually attended by the average enrolled student, as a fraction between 0 and 1 — 0.89 means 89%. Multiply by 100 to display. Most schools cluster in the high 0.8s to low 0.9s, so small differences matter more than the range suggests.",
        -                "title": "Attendance Rate"
        -              },
        -              "boys": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Number of male students enrolled — a headcount, despite the numeric type. Add to `girls` for total enrolment, which is the best available proxy for school size.",
        -                "title": "Boys"
        -              },
        -              "catchment_geometry": {
        -                "anyOf": [
        -                  {
        -                    "description": "RFC 7946 GeoJSON Polygon — list of linear rings, each ring a list\nof `[lon, lat]` pairs. First ring is the outer boundary; any\nadditional rings are inner holes.",
        -                    "example": {
        -                      "coordinates": [
        -                        [
        -                          [
        -                            151.67,
        -                            -32.98
        -                          ],
        -                          [
        -                            151.68,
        -                            -32.98
        -                          ],
        -                          [
        -                            151.68,
        -                            -32.99
        -                          ],
        -                          [
        -                            151.67,
        -                            -32.99
        -                          ],
        -                          [
        -                            151.67,
        -                            -32.98
        -                          ]
        -                        ]
        -                      ],
        -                      "type": "Polygon"
        -                    },
        -                    "properties": {
        -                      "coordinates": {
        -                        "description": "`[ring][point][lon|lat]`. First ring is outer boundary; subsequent rings are holes (none today). Each ring is a list of `[lon, lat]` pairs; rings are explicitly closed (first pair == last pair).",
        -                        "items": {
        -                          "items": {
        -                            "items": {
        -                              "type": "number"
        -                            },
        -                            "type": "array"
        -                          },
        -                          "type": "array"
        -                        },
        -                        "title": "Coordinates",
        -                        "type": "array"
        -                      },
        -                      "type": {
        -                        "const": "Polygon",
        -                        "description": "Always 'Polygon'.",
        -                        "title": "Type",
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "type",
        -                      "coordinates"
        -                    ],
        -                    "title": "GeoJsonPolygon",
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "GeoJSON polygon of the catchment boundary."
        -              },
        -              "catchment_name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Catchment name as listed by myschool.",
        -                "title": "Catchment Name"
        -              },
        -              "gender": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Who the school enrols — 'coed', 'girls' (girls only) or 'boys' (boys only).",
        -                "title": "Gender"
        -              },
        -              "girls": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Number of female students enrolled — a headcount. See `boys`.",
        -                "title": "Girls"
        -              },
        -              "id": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Stable numeric identifier for the school, for joining these rows across calls. Delivered as a number but it is an identifier — do not do arithmetic on it or compare its magnitude.",
        -                "title": "Id"
        -              },
        -              "name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "The school's full name, as officially registered.",
        -                "title": "Name"
        -              },
        -              "naplan_rank": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "The school's academic standing on national NAPLAN testing, as a percentile between 0 and 1 where higher is better — 0.63 puts the school ahead of about 63% of schools, i.e. in roughly the top 40%. A fraction, not a percentage and not a raw test score. Null when the school has no published NAPLAN standing.",
        -                "title": "Naplan Rank"
        -              },
        -              "school_geometry": {
        -                "anyOf": [
        -                  {
        -                    "description": "RFC 7946 GeoJSON Point — `[longitude, latitude]` coordinates.",
        -                    "example": {
        -                      "coordinates": [
        -                        151.67,
        -                        -33.01
        -                      ],
        -                      "type": "Point"
        -                    },
        -                    "properties": {
        -                      "coordinates": {
        -                        "description": "`[longitude, latitude]` — 2 numbers, lon first per GeoJSON.",
        -                        "items": {
        -                          "type": "number"
        -                        },
        -                        "title": "Coordinates",
        -                        "type": "array"
        -                      },
        -                      "type": {
        -                        "const": "Point",
        -                        "description": "Always 'Point'.",
        -                        "title": "Type",
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "type",
        -                      "coordinates"
        -                    ],
        -                    "title": "GeoJsonPoint",
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "GeoJSON point of the school location."
        -              },
        -              "school_level_type": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Which years the school covers — 'Primary', 'Secondary', or 'Combined' for a school spanning both.",
        -                "title": "School Level Type"
        -              },
        -              "school_sector_type": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Who runs the school — 'Public' (government), 'Private', or 'Non-Government' (the wider category including Catholic and independent schools). Fee-paying status is implied, not stated.",
        -                "title": "School Sector Type"
        -              },
        -              "socioeconomic_rank": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "How advantaged the school's community is, as a percentile between 0 and 1 where higher means more advantaged — 0.17 sits near the bottom of the national distribution. Measures the intake's socio-economic background, not teaching quality, and it is separate from `naplan_rank`: schools rank high on one and low on the other.",
        -                "title": "Socioeconomic Rank"
        -              }
        -            },
        -            "required": [
        -              "area_name",
        -              "area_level"
        -            ],
        -            "title": "CatchmentRow",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[CatchmentRow]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_CatchmentRow__"
        -}New value: +null
    • Changedsuburbs_schools_nearby1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One school within the suburb's catchment radius.",
        -            "example": {
        -              "area_level": "suburb",
        -              "area_name": "Belmont North",
        -              "attendance_rate": 0.89,
        -              "boys": 90,
        -              "gender": "coed",
        -              "girls": 82,
        -              "id": 42002,
        -              "name": "Belmont North Public School",
        -              "naplan_rank": 0.6282832390938133,
        -              "school_level_type": "Primary",
        -              "school_sector_type": "Public",
        -              "socioeconomic_rank": 0.17342543077837194
        -            },
        -            "properties": {
        -              "area_level": {
        -                "description": "Always 'suburb'.",
        -                "title": "Area Level",
        -                "type": "string"
        -              },
        -              "area_name": {
        -                "description": "Suburb (SAL) name.",
        -                "title": "Area Name",
        -                "type": "string"
        -              },
        -              "attendance_rate": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Share of school days actually attended by the average enrolled student, as a fraction between 0 and 1 — 0.89 means 89%. Multiply by 100 to display. Most schools cluster in the high 0.8s to low 0.9s, so small differences matter more than the range suggests.",
        -                "title": "Attendance Rate"
        -              },
        -              "boys": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Number of male students enrolled — a headcount, despite the numeric type. Add to `girls` for total enrolment, which is the best available proxy for school size.",
        -                "title": "Boys"
        -              },
        -              "gender": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Who the school enrols — 'coed', 'girls' (girls only) or 'boys' (boys only).",
        -                "title": "Gender"
        -              },
        -              "girls": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Number of female students enrolled — a headcount. See `boys`.",
        -                "title": "Girls"
        -              },
        -              "id": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Stable numeric identifier for the school, for joining these rows across calls. Delivered as a number but it is an identifier — do not do arithmetic on it or compare its magnitude.",
        -                "title": "Id"
        -              },
        -              "name": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "The school's full name, as officially registered.",
        -                "title": "Name"
        -              },
        -              "naplan_rank": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "The school's academic standing on national NAPLAN testing, as a percentile between 0 and 1 where higher is better — 0.63 puts the school ahead of about 63% of schools, i.e. in roughly the top 40%. A fraction, not a percentage and not a raw test score. Null when the school has no published NAPLAN standing.",
        -                "title": "Naplan Rank"
        -              },
        -              "school_level_type": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Which years the school covers — 'Primary', 'Secondary', or 'Combined' for a school spanning both.",
        -                "title": "School Level Type"
        -              },
        -              "school_sector_type": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Who runs the school — 'Public' (government), 'Private', or 'Non-Government' (the wider category including Catholic and independent schools). Fee-paying status is implied, not stated.",
        -                "title": "School Sector Type"
        -              },
        -              "socioeconomic_rank": {
        -                "anyOf": [
        -                  {
        -                    "type": "number"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "How advantaged the school's community is, as a percentile between 0 and 1 where higher means more advantaged — 0.17 sits near the bottom of the national distribution. Measures the intake's socio-economic background, not teaching quality, and it is separate from `naplan_rank`: schools rank high on one and low on the other.",
        -                "title": "Socioeconomic Rank"
        -              }
        -            },
        -            "required": [
        -              "area_name",
        -              "area_level"
        -            ],
        -            "title": "SchoolNearbyRow",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[SchoolNearbyRow]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_SchoolNearbyRow__"
        -}New value: +null
    • Changedsuburbs_shapes_boundary1 field changed
      • 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": "Simplified suburb boundary polygon plus centroid.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "centroid": {
        -              "lat": -32.9931,
        -              "lng": 151.6688
        -            },
        -            "geojson": {
        -              "geometry": {
        -                "coordinates": [
        -                  [
        -                    [
        -                      151.66,
        -                      -32.99
        -                    ],
        -                    [
        -                      151.67,
        -                      -32.99
        -                    ],
        -                    [
        -                      151.67,
        -                      -33
        -                    ],
        -                    [
        -                      151.66,
        -                      -32.99
        -                    ]
        -                  ]
        -                ],
        -                "type": "Polygon"
        -              },
        -              "properties": {
        -                "suburb": "Belmont North"
        -              },
        -              "type": "Feature"
        -            }
        -          },
        -          "properties": {
        -            "area_level": {
        -              "const": "suburb",
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Canonical ABS SAL name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "centroid": {
        -              "description": "Boundary centroid (map-centre hint).",
        -              "example": {
        -                "lat": -32.9931,
        -                "lng": 151.6688
        -              },
        -              "properties": {
        -                "lat": {
        -                  "description": "Latitude (WGS84).",
        -                  "title": "Lat",
        -                  "type": "number"
        -                },
        -                "lng": {
        -                  "description": "Longitude (WGS84).",
        -                  "title": "Lng",
        -                  "type": "number"
        -                }
        -              },
        -              "required": [
        -                "lat",
        -                "lng"
        -              ],
        -              "title": "Centroid",
        -              "type": "object"
        -            },
        -            "geojson": {
        -              "additionalProperties": true,
        -              "description": "GeoJSON Feature — the SAL boundary polygon, simplified (topology-preserving, ~10 m tolerance, 6 dp coordinates). Geometry is null on every Feature when the request passes `?geojson=false`.",
        -              "title": "Geojson",
        -              "type": "object"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "centroid",
        -            "geojson"
        -          ],
        -          "title": "SuburbBoundary",
        -          "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[SuburbBoundary]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbBoundary_"
        -}New value: +null
    • Changedsuburbs_shapes_busy_roads1 field changed
      • 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": "Busy-road segments (road-noise proxy) clipped to the suburb.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "count": 71,
        -            "geojson": {
        -              "features": [
        -                {
        -                  "geometry": {
        -                    "coordinates": [
        -                      [
        -                        151.66,
        -                        -32.99
        -                      ],
        -                      [
        -                        151.67,
        -                        -33
        -                      ]
        -                    ],
        -                    "type": "LineString"
        -                  },
        -                  "properties": {
        -                    "road_class": "primary"
        -                  },
        -                  "type": "Feature"
        -                }
        -              ],
        -              "type": "FeatureCollection"
        -            }
        -          },
        -          "properties": {
        -            "area_level": {
        -              "const": "suburb",
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Canonical ABS SAL name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "count": {
        -              "description": "Number of road-segment features returned.",
        -              "title": "Count",
        -              "type": "integer"
        -            },
        -            "geojson": {
        -              "additionalProperties": true,
        -              "description": "GeoJSON FeatureCollection — line geometries of busy road segments clipped to the suburb boundary. Properties: `road_class` (OSM fclass, e.g. motorway/primary/secondary). Geometry is null on every Feature when the request passes `?geojson=false`.",
        -              "title": "Geojson",
        -              "type": "object"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "count",
        -            "geojson"
        -          ],
        -          "title": "SuburbBusyRoads",
        -          "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[SuburbBusyRoads]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbBusyRoads_"
        -}New value: +null
    • Changedsuburbs_shapes_easements1 field changed
      • 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": "Registered easement geometries intersecting the suburb.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "count": 8,
        -            "geojson": {
        -              "features": [
        -                {
        -                  "geometry": {
        -                    "coordinates": [
        -                      [
        -                        [
        -                          151.66,
        -                          -32.99
        -                        ],
        -                        [
        -                          151.67,
        -                          -32.99
        -                        ],
        -                        [
        -                          151.67,
        -                          -33
        -                        ],
        -                        [
        -                          151.66,
        -                          -32.99
        -                        ]
        -                      ]
        -                    ],
        -                    "type": "Polygon"
        -                  },
        -                  "properties": {
        -                    "category": "drainage"
        -                  },
        -                  "type": "Feature"
        -                }
        -              ],
        -              "type": "FeatureCollection"
        -            }
        -          },
        -          "properties": {
        -            "area_level": {
        -              "const": "suburb",
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Canonical ABS SAL name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "count": {
        -              "description": "Number of easement features returned.",
        -              "title": "Count",
        -              "type": "integer"
        -            },
        -            "geojson": {
        -              "additionalProperties": true,
        -              "description": "GeoJSON FeatureCollection — easement geometries intersecting the suburb. Properties: `category`, `name`. Geometry is null on every Feature when the request passes `?geojson=false`.",
        -              "title": "Geojson",
        -              "type": "object"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "count",
        -            "geojson"
        -          ],
        -          "title": "SuburbEasements",
        -          "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[SuburbEasements]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbEasements_"
        -}New value: +null
    • Changedsuburbs_shapes_hazards1 field changed
      • 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": "Hazard-overlay polygons for one layer, clipped to the suburb.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "count": 36,
        -            "geojson": {
        -              "features": [
        -                {
        -                  "geometry": {
        -                    "coordinates": [
        -                      [
        -                        [
        -                          151.66,
        -                          -32.99
        -                        ],
        -                        [
        -                          151.67,
        -                          -32.99
        -                        ],
        -                        [
        -                          151.67,
        -                          -33
        -                        ],
        -                        [
        -                          151.66,
        -                          -32.99
        -                        ]
        -                      ]
        -                    ],
        -                    "type": "Polygon"
        -                  },
        -                  "properties": {
        -                    "category": "High Potential Bushfire Intensity"
        -                  },
        -                  "type": "Feature"
        -                }
        -              ],
        -              "type": "FeatureCollection"
        -            },
        -            "layer": "bushfire"
        -          },
        -          "properties": {
        -            "area_level": {
        -              "const": "suburb",
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Canonical ABS SAL name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "count": {
        -              "description": "Number of hazard polygons returned (0 = none of this hazard here).",
        -              "title": "Count",
        -              "type": "integer"
        -            },
        -            "geojson": {
        -              "additionalProperties": true,
        -              "description": "GeoJSON FeatureCollection — hazard polygons clipped to the suburb boundary. Feature properties: `category` + `name` (per hazard layer), `tier` (acid-sulfate), none (landslide). Geometry is null on every Feature when the request passes `?geojson=false`.",
        -              "title": "Geojson",
        -              "type": "object"
        -            },
        -            "layer": {
        -              "description": "The hazard layer requested.",
        -              "enum": [
        -                "bushfire",
        -                "flood",
        -                "heritage",
        -                "erosion",
        -                "landslide",
        -                "acid-sulfate"
        -              ],
        -              "title": "Layer",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "layer",
        -            "count",
        -            "geojson"
        -          ],
        -          "title": "SuburbHazards",
        -          "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[SuburbHazards]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbHazards_"
        -}New value: +null
    • Changedsuburbs_shapes_mesh_blocks1 field changed
      • 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": "ABS 2021 mesh-block polygons covering the suburb.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "count": 85,
        -            "geojson": {
        -              "features": [
        -                {
        -                  "geometry": {
        -                    "coordinates": [
        -                      [
        -                        [
        -                          151.66,
        -                          -32.99
        -                        ],
        -                        [
        -                          151.67,
        -                          -32.99
        -                        ],
        -                        [
        -                          151.67,
        -                          -33
        -                        ],
        -                        [
        -                          151.66,
        -                          -32.99
        -                        ]
        -                      ]
        -                    ],
        -                    "type": "Polygon"
        -                  },
        -                  "properties": {
        -                    "mb": "10693740000"
        -                  },
        -                  "type": "Feature"
        -                }
        -              ],
        -              "type": "FeatureCollection"
        -            }
        -          },
        -          "properties": {
        -            "area_level": {
        -              "const": "suburb",
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Canonical ABS SAL name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "count": {
        -              "description": "Number of mesh blocks returned.",
        -              "title": "Count",
        -              "type": "integer"
        -            },
        -            "geojson": {
        -              "additionalProperties": true,
        -              "description": "GeoJSON FeatureCollection — one simplified polygon Feature per mesh block. Properties: `mb` (ABS MB_CODE21). Geometry is null on every Feature when the request passes `?geojson=false`.",
        -              "title": "Geojson",
        -              "type": "object"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "count",
        -            "geojson"
        -          ],
        -          "title": "SuburbMeshBlocks",
        -          "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[SuburbMeshBlocks]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbMeshBlocks_"
        -}New value: +null
    • Changedsuburbs_shapes_neighbours1 field changed
      • 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": "Neighbouring suburbs with their boundary polygons.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "count": 2,
        -            "geojson": {
        -              "features": [
        -                {
        -                  "geometry": {
        -                    "coordinates": [
        -                      [
        -                        [
        -                          151.65,
        -                          -33.02
        -                        ],
        -                        [
        -                          151.66,
        -                          -33.02
        -                        ],
        -                        [
        -                          151.66,
        -                          -33.03
        -                        ],
        -                        [
        -                          151.65,
        -                          -33.02
        -                        ]
        -                      ]
        -                    ],
        -                    "type": "Polygon"
        -                  },
        -                  "properties": {
        -                    "dist_km": 1.2,
        -                    "sa3": "Lake Macquarie - East",
        -                    "suburb": "Belmont (NSW)"
        -                  },
        -                  "type": "Feature"
        -                }
        -              ],
        -              "type": "FeatureCollection"
        -            }
        -          },
        -          "properties": {
        -            "area_level": {
        -              "const": "suburb",
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Canonical ABS SAL name of the subject suburb.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "count": {
        -              "description": "Number of neighbouring suburbs returned.",
        -              "title": "Count",
        -              "type": "integer"
        -            },
        -            "geojson": {
        -              "additionalProperties": true,
        -              "description": "GeoJSON FeatureCollection — one Feature per neighbouring suburb. Properties: `suburb` (SAL name), `sa3`, `dist_km` (centroid distance in km). Geometry is null on every Feature when the request passes `?geojson=false`.",
        -              "title": "Geojson",
        -              "type": "object"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "count",
        -            "geojson"
        -          ],
        -          "title": "SuburbNeighbours",
        -          "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[SuburbNeighbours]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbNeighbours_"
        -}New value: +null
    • Changedsuburbs_shapes_noise_heatmap1 field changed
      • 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": "Noise-map colour regions clipped to the suburb boundary.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "count": 6,
        -            "geojson": {
        -              "features": [
        -                {
        -                  "geometry": {
        -                    "coordinates": [
        -                      [
        -                        [
        -                          151.66,
        -                          -32.99
        -                        ],
        -                        [
        -                          151.67,
        -                          -32.99
        -                        ],
        -                        [
        -                          151.67,
        -                          -33
        -                        ],
        -                        [
        -                          151.66,
        -                          -32.99
        -                        ]
        -                      ]
        -                    ],
        -                    "type": "Polygon"
        -                  },
        -                  "properties": {
        -                    "color": "#990000",
        -                    "fill_opacity": 0.7
        -                  },
        -                  "type": "Feature"
        -                }
        -              ],
        -              "type": "FeatureCollection"
        -            },
        -            "heat": [
        -              [
        -                -32.9931,
        -                151.6688,
        -                0.8
        -              ]
        -            ],
        -            "intensity_definition": "Relative noise intensity, 0-1 (scaled composite of road-traffic and noisy-POI proximity; 1 = noisiest cell in the source grid). Not a decibel measurement."
        -          },
        -          "properties": {
        -            "area_level": {
        -              "const": "suburb",
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Canonical ABS SAL name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "count": {
        -              "description": "Number of colour-region features returned.",
        -              "title": "Count",
        -              "type": "integer"
        -            },
        -            "geojson": {
        -              "additionalProperties": true,
        -              "description": "GeoJSON FeatureCollection — precomputed noise colour regions clipped to the suburb polygon. Feature properties are render-ready styling: `color` (hex fill) and `fill_opacity`; the numeric intensity values live in `heat`. Geometry is null on every Feature when the request passes `?geojson=false`.",
        -              "title": "Geojson",
        -              "type": "object"
        -            },
        -            "heat": {
        -              "description": "Cell-centre points inside the suburb as `[lat, lng, intensity]` triples, ready for heatmap-style rendering. `intensity` is the relative 0-1 noise score described by intensity_definition.",
        -              "items": {
        -                "items": {
        -                  "type": "number"
        -                },
        -                "type": "array"
        -              },
        -              "title": "Heat",
        -              "type": "array"
        -            },
        -            "intensity_definition": {
        -              "description": "What the intensity numbers mean — a relative 0-1 noise score (composite road-traffic + noisy-POI proximity), not decibels.",
        -              "title": "Intensity Definition",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "count",
        -            "intensity_definition",
        -            "geojson",
        -            "heat"
        -          ],
        -          "title": "SuburbNoiseHeatmap",
        -          "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[SuburbNoiseHeatmap]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbNoiseHeatmap_"
        -}New value: +null
    • Changedsuburbs_shapes_public_housing_sa11 field changed
      • 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": "SA1 polygons in the suburb shaded by 2021 census public-housing share.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "count": 7,
        -            "geojson": {
        -              "features": [
        -                {
        -                  "geometry": {
        -                    "coordinates": [
        -                      [
        -                        [
        -                          151.66,
        -                          -32.99
        -                        ],
        -                        [
        -                          151.67,
        -                          -32.99
        -                        ],
        -                        [
        -                          151.67,
        -                          -33
        -                        ],
        -                        [
        -                          151.66,
        -                          -32.99
        -                        ]
        -                      ]
        -                    ],
        -                    "type": "Polygon"
        -                  },
        -                  "properties": {
        -                    "public_housing_pct": 36.9,
        -                    "sa1": "11102130801"
        -                  },
        -                  "type": "Feature"
        -                }
        -              ],
        -              "type": "FeatureCollection"
        -            }
        -          },
        -          "properties": {
        -            "area_level": {
        -              "const": "suburb",
        -              "description": "Always 'suburb'.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Canonical ABS SAL name.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "count": {
        -              "description": "Number of SA1s returned (only SA1s with a non-zero share).",
        -              "title": "Count",
        -              "type": "integer"
        -            },
        -            "geojson": {
        -              "additionalProperties": true,
        -              "description": "GeoJSON FeatureCollection — one Feature per SA1 whose centroid falls inside the suburb and whose 2021 public-housing share is > 0. Properties: `sa1` (ABS SA1 code), `public_housing_pct` (0–100). Geometry is null on every Feature when the request passes `?geojson=false`.",
        -              "title": "Geojson",
        -              "type": "object"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "count",
        -            "geojson"
        -          ],
        -          "title": "SuburbPublicHousingSa1",
        -          "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[SuburbPublicHousingSa1]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbPublicHousingSa1_"
        -}New value: +null
    • Changedsuburbs_similar1 field changed
      • 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": [
        -        {
        -          "items": {
        -            "additionalProperties": true,
        -            "description": "One similar-suburb recommendation.",
        -            "example": {
        -              "area_level": "suburb",
        -              "area_name": "Coogee",
        -              "keywords": "Quieter, Family-friendly",
        -              "price": {},
        -              "summary": "Like Bondi, Coogee also has a buzzing beach culture and vibrant cafe scene. However, Coogee is generally considered quieter and more family-friendly."
        -            },
        -            "properties": {
        -              "area_level": {
        -                "description": "Always 'suburb'.",
        -                "title": "Area Level",
        -                "type": "string"
        -              },
        -              "area_name": {
        -                "description": "Similar suburb's SAL name.",
        -                "title": "Area Name",
        -                "type": "string"
        -              },
        -              "keywords": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Comma-separated tags describing the suburb.",
        -                "title": "Keywords"
        -              },
        -              "price": {
        -                "anyOf": [
        -                  {
        -                    "description": "A scalar value broken down by property type.",
        -                    "properties": {
        -                      "house": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Value for houses.",
        -                        "title": "House"
        -                      },
        -                      "unit": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ],
        -                        "description": "Value for units / apartments.",
        -                        "title": "Unit"
        -                      }
        -                    },
        -                    "title": "PriceByType",
        -                    "type": "object"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Median sale prices for this similar suburb."
        -              },
        -              "summary": {
        -                "anyOf": [
        -                  {
        -                    "type": "string"
        -                  },
        -                  {
        -                    "type": "null"
        -                  }
        -                ],
        -                "description": "Plain-language explanation of the similarity.",
        -                "title": "Summary"
        -              }
        -            },
        -            "required": [
        -              "area_name",
        -              "area_level"
        -            ],
        -            "title": "SimilarSuburb",
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ],
        -      "description": "The endpoint's payload, or `null` when Microburbs has no value.",
        -      "title": "Data"
        -    },
        -    "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[list[SimilarSuburb]]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_list_SimilarSuburb__"
        -}New value: +null
    • Changedsuburbs_street_forecasts1 field changed
      • 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": "Projected house-price paths for the streets of one suburb, 2, 4 and\n8 years out.\n\nTwo suburbs can share a median and still be made of streets that behave\nvery differently; this endpoint is the street-by-street breakdown behind\nthe suburb-level number. Each row gives a street's current median, where\nthe model expects it in 2/4/8 years (in dollars and as a per-year growth\nrate), the year-by-year path it took to get here, and a little context\nabout the street itself — size, rent, how often it turns over.\n\nCoverage is deliberately partial: a street only appears if there is a\nreal sold median to anchor it to, so `streets` is a subset of the\nsuburb's streets, and `total` counts only those.",
        -          "example": {
        -            "area_level": "suburb",
        -            "area_name": "Belmont North",
        -            "metric": "street_price_forecasts",
        -            "streets": [
        -              {
        -                "annual_2y": 8,
        -                "annual_4y": 6.3,
        -                "annual_8y": 5,
        -                "current_price": 1159000,
        -                "history": [
        -                  {
        -                    "price": 1038603.34,
        -                    "suburb_med": 866399,
        -                    "year": 2024
        -                  },
        -                  {
        -                    "price": 1083975.34,
        -                    "suburb_med": 948908,
        -                    "year": 2025
        -                  },
        -                  {
        -                    "price": 1159000,
        -                    "suburb_med": 1040068,
        -                    "year": 2026
        -                  }
        -                ],
        -                "houses_on_street": 146,
        -                "median_house_rent_week": 791.2,
        -                "n_sales": 289,
        -                "rental_turnover": "Every 5.9 years (quite tightly held)",
        -                "renters_pct": "18%",
        -                "sale_turnover": "Every 12.0 years (average turnover)",
        -                "street": "Wommara Ave",
        -                "target_2y": 1352652.97,
        -                "target_4y": 1480849.45,
        -                "target_8y": 1718217.61,
        -                "units_on_street": 4
        -              }
        -            ]
        -          },
        -          "properties": {
        -            "area_level": {
        -              "description": "Geographic level of `area_name`. Always 'suburb' here; present so responses across the area endpoints share one shape.",
        -              "title": "Area Level",
        -              "type": "string"
        -            },
        -            "area_name": {
        -              "description": "Suburb these streets belong to, as the canonical ABS SAL name — the resolved form of whatever suburb was requested, so echo this back rather than the caller's input.",
        -              "title": "Area Name",
        -              "type": "string"
        -            },
        -            "metric": {
        -              "description": "Identifies which dataset this payload is, for callers routing several area responses through common code. Always 'street_price_forecasts'.",
        -              "title": "Metric",
        -              "type": "string"
        -            },
        -            "streets": {
        -              "description": "One entry per forecastable street. Order is the stored order — stable between calls (so `offset` paging is safe) but not sorted by price, growth or name; sort client-side if you need a ranking.",
        -              "items": {
        -                "additionalProperties": true,
        -                "description": "Projected house-price path for one street in the suburb.\n\n**How to read a row.** `current_price` is where the street is today\n(an observed sold median). The three `target_*` fields are that same\nquantity projected 2, 4 and 8 years out, in dollars. The three\n`annual_*` fields are the same three projections expressed as a\ncompound annual growth rate in percent — they are a restatement of\nthe targets, not extra information, so\n`target_2y ≈ current_price × (1 + annual_2y/100) ** 2` (8.0 in\n`annual_2y` means 8% a year, not 0.08 and not 8% in total). The\nhorizons are cumulative from today, so `annual_4y` covers years 1–4\nincluding the years `annual_2y` already covered; they are three views\nof one path, not three consecutive segments.\n\n**Everything in dollars is anchored to the real sold median.** The\nforecast model carries its own estimate of what a street is worth\ntoday, and on tightly-held high-end streets that estimate can sit far\nbelow the price houses actually change hands at. So every dollar\nfigure in this row — `current_price`, the targets, and\n`history[].price` — is rescaled by one factor per street\n(`sold median ÷ model estimate`), which leaves the growth *shape*\nexactly as the model produced it while putting the levels on the real\nprice scale. The percentages are untouched by that rescale, because\na ratio cancels it out.",
        -                "example": {
        -                  "annual_2y": 8,
        -                  "annual_4y": 6.3,
        -                  "annual_8y": 5,
        -                  "current_price": 1159000,
        -                  "history": [
        -                    {
        -                      "price": 1038603.34,
        -                      "suburb_med": 866399,
        -                      "year": 2024
        -                    },
        -                    {
        -                      "price": 1083975.34,
        -                      "suburb_med": 948908,
        -                      "year": 2025
        -                    },
        -                    {
        -                      "price": 1159000,
        -                      "suburb_med": 1040068,
        -                      "year": 2026
        -                    }
        -                  ],
        -                  "houses_on_street": 146,
        -                  "median_house_rent_week": 791.2,
        -                  "n_sales": 289,
        -                  "rental_turnover": "Every 5.9 years (quite tightly held)",
        -                  "renters_pct": "18%",
        -                  "sale_turnover": "Every 12.0 years (average turnover)",
        -                  "street": "Wommara Ave",
        -                  "target_2y": 1352652.97,
        -                  "target_4y": 1480849.45,
        -                  "target_8y": 1718217.61,
        -                  "units_on_street": 4
        -                },
        -                "properties": {
        -                  "annual_2y": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "The `target_2y` projection expressed as a compound annual growth rate, in percent per year — `8.0` means 8% a year (a decimal fraction like 0.08 is not what this field carries), compounding to roughly 16.6% in total over the two years. Same growth as `target_2y`, stated per-annum.",
        -                    "title": "Annual 2Y"
        -                  },
        -                  "annual_4y": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "The `target_4y` projection as a compound annual growth rate, in percent per year, averaged across all four years (not the growth in years 3–4 alone). Typically lower than `annual_2y`: near-term momentum is assumed to fade toward a long-run rate.",
        -                    "title": "Annual 4Y"
        -                  },
        -                  "annual_8y": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "The `target_8y` projection as a compound annual growth rate, in percent per year, averaged across all eight years. This is the closest thing here to the street's long-run trend rate.",
        -                    "title": "Annual 8Y"
        -                  },
        -                  "current_price": {
        -                    "description": "The street's current median house price in AUD, and the base every `target_*` and `annual_*` figure below is measured from. This is an observed sold median — what houses on the street actually sold for — not the forecast model's own estimate of present value. Streets with no sold-median on record are dropped from `streets` entirely rather than falling back to a model estimate, so this field is never a guess and never null.",
        -                    "title": "Current Price",
        -                    "type": "number"
        -                  },
        -                  "history": {
        -                    "description": "Where the street has come from: one entry per year, oldest first, each pairing the street's modelled price with the suburb median for that year. The final entry is the present and its `price` equals `current_price`, so `history` and the `target_*` fields join into one continuous line through today.",
        -                    "items": {
        -                      "additionalProperties": true,
        -                      "description": "One year of the street's modelled price history, with the suburb\nmedian alongside it as a baseline.\n\nTwo series, two different things. `price` is *this street* — a\nmodelled house-price level, because most streets do not sell enough\nhouses in a year to have a real median of their own. `suburb_med` is\nthe whole suburb's median for the same year, included so you can see\nwhether the street ran ahead of or behind its suburb. Compare the two\nas a *shape* over time, not as a like-for-like pair of medians.",
        -                      "example": {
        -                        "price": 970000,
        -                        "suburb_med": 1040068,
        -                        "year": 2026
        -                      },
        -                      "properties": {
        -                        "price": {
        -                          "anyOf": [
        -                            {
        -                              "type": "number"
        -                            },
        -                            {
        -                              "type": "null"
        -                            }
        -                          ],
        -                          "description": "Modelled median house price for this street in `year`, in AUD. Not an observed median — the street model's yearly level, rescaled by the same `current_price / model_estimate` factor applied to the targets, so the final year of `history` equals `current_price` and the chart line lands on the headline figure. Null when the model has no level for that year.",
        -                          "title": "Price"
        -                        },
        -                        "suburb_med": {
        -                          "anyOf": [
        -                            {
        -                              "type": "number"
        -                            },
        -                            {
        -                              "type": "null"
        -                            }
        -                          ],
        -                          "description": "Median house price for the whole suburb in `year`, in AUD. A context baseline only: it is the suburb's own observed median and is NOT rescaled, so it is on a different footing from `price`. Use it to judge relative direction (street outpacing the suburb or not), not to compute a precise street-vs-suburb premium.",
        -                          "title": "Suburb Med"
        -                        },
        -                        "year": {
        -                          "description": "Calendar year the two prices below refer to.",
        -                          "title": "Year",
        -                          "type": "integer"
        -                        }
        -                      },
        -                      "required": [
        -                        "year"
        -                      ],
        -                      "title": "StreetHistoryPoint",
        -                      "type": "object"
        -                    },
        -                    "title": "History",
        -                    "type": "array"
        -                  },
        -                  "houses_on_street": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Number of separate houses on the street — the size of the pool the median and turnover figures describe. A street with a dozen houses will have noisier numbers than one with two hundred.",
        -                    "title": "Houses On Street"
        -                  },
        -                  "median_house_rent_week": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Median advertised rent for a house on this street in AUD per week (Australian convention) — multiply by 52 for an annual figure. Houses only, and independent of the price forecast.",
        -                    "title": "Median House Rent Week"
        -                  },
        -                  "n_sales": {
        -                    "description": "Count of sales the street's price model was fitted on. Read it as a confidence weight — a street with a handful of sales behind it has a much softer forecast than one with hundreds — rather than as sales in any particular period.",
        -                    "title": "N Sales",
        -                    "type": "integer"
        -                  },
        -                  "rental_turnover": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "The same idea for tenancies rather than sales — how often rentals on the street turn over, as display text, e.g. 'Every 5.9 years (quite tightly held)'. A long interval suggests tenants who stay.",
        -                    "title": "Rental Turnover"
        -                  },
        -                  "renters_pct": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Share of dwellings on the street occupied by renters rather than owners, as a preformatted string including the '%' sign (e.g. '18%') — not a number, and not a fraction. Strip the sign before doing arithmetic with it.",
        -                    "title": "Renters Pct"
        -                  },
        -                  "sale_turnover": {
        -                    "anyOf": [
        -                      {
        -                        "type": "string"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "How often a typical house on the street changes hands, already written out for display — e.g. 'Every 12.0 years (average turnover)'. A sentence, not a number: the interval and its plain-language reading (tightly held vs. average vs. frequently traded) are baked into the one string. Parse it only if you must; the wording is not a stable enum.",
        -                    "title": "Sale Turnover"
        -                  },
        -                  "street": {
        -                    "description": "Street name as stored, e.g. 'Wommara Ave'. May be a shortened form of the full name (leading words only), so match it loosely rather than as an exact address component.",
        -                    "title": "Street",
        -                    "type": "string"
        -                  },
        -                  "target_2y": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Projected median house price for this street two years from now, in AUD. A price level, not a change and not a multiplier: compare it directly against `current_price` to see the implied gain. Two years runs from the latest year in `history` (which equals today's `current_price`). Null when the model produced no 2-year figure.",
        -                    "title": "Target 2Y"
        -                  },
        -                  "target_4y": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Projected median house price for this street four years from now, in AUD — same basis as `target_2y`, longer horizon. Cumulative from today, so it includes the two years `target_2y` covers.",
        -                    "title": "Target 4Y"
        -                  },
        -                  "target_8y": {
        -                    "anyOf": [
        -                      {
        -                        "type": "number"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Projected median house price for this street eight years from now, in AUD — same basis as `target_2y`. The longest horizon offered and correspondingly the least certain.",
        -                    "title": "Target 8Y"
        -                  },
        -                  "units_on_street": {
        -                    "anyOf": [
        -                      {
        -                        "type": "integer"
        -                      },
        -                      {
        -                        "type": "null"
        -                      }
        -                    ],
        -                    "description": "Number of units/apartments on the street. Note that the price fields in this row are house prices; a high unit count tells you the street's character but does not feed the forecast.",
        -                    "title": "Units On Street"
        -                  }
        -                },
        -                "required": [
        -                  "street",
        -                  "current_price",
        -                  "n_sales",
        -                  "history"
        -                ],
        -                "title": "StreetForecastRow",
        -                "type": "object"
        -              },
        -              "title": "Streets",
        -              "type": "array"
        -            },
        -            "total": {
        -              "description": "How many forecastable streets the suburb has in all — counted before `limit`/`offset` are applied, so it is the figure to page against and will exceed `len(streets)` on a paged request. Streets with no sold median are already excluded, so this is usually fewer than the suburb's true street count.",
        -              "title": "Total",
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "area_name",
        -            "area_level",
        -            "metric",
        -            "total",
        -            "streets"
        -          ],
        -          "title": "StreetForecasts",
        -          "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[StreetForecasts]",
        -  "type": "object",
        -  "x-fastmcp-top-level-schema": "ApiResponse_StreetForecasts_"
        -}New value: +null
  3. 174 tool updates
    • First observedarea_stats_fields
    • First observedarea_stats_regions
    • First observedarea_stats_values
    • First observedgeocode_address
    • First observedgeocode_suburb
    • First observedlga_list
    • First observedlga_profile
    • First observedmbs_list
    • First observedmbs_profile
    • First observedme
    • First observedping
    • First observedping_head
    • First observedproperties_amenities_nearby
    • First observedproperties_basics_all
    • First observedproperties_basics_bath_count
    • First observedproperties_basics_bed_count
    • First observedproperties_basics_dwelling_type
    • First observedproperties_basics_land_area_sqm
    • First observedproperties_basics_parking_count
    • First observedproperties_comparables_all
    • First observedproperties_comparables_cma_comp_set
    • First observedproperties_comparables_cma_single_comp
    • First observedproperties_comparables_recent_sales_nearby
    • First observedproperties_context_mesh_blocks
    • First observedproperties_context_nearby_for_sale
    • First observedproperties_context_street_bedroom_series
    • First observedproperties_development_all
    • First observedproperties_development_zoning_code
    • First observedproperties_development_zoning_overlays
    • First observedproperties_history_all
    • First observedproperties_neighbours
    • First observedproperties_profile
    • First observedproperties_rent_history
    • First observedproperties_rent_history_latest
    • First observedproperties_risks_all
    • First observedproperties_risks_bushfire
    • First observedproperties_risks_environment
    • First observedproperties_risks_erosion
    • First observedproperties_risks_flood
    • First observedproperties_risks_heritage
    • First observedproperties_risks_historical_flood
    • First observedproperties_risks_hv_power_line
    • First observedproperties_risks_landslide
    • First observedproperties_risks_mobile_black_spot
    • First observedproperties_risks_public_housing
    • First observedproperties_sale_history
    • First observedproperties_sale_history_latest
    • First observedproperties_schools_all
    • First observedproperties_schools_nearby
    • First observedproperties_schools_ranking
    • First observedproperties_street_profile
    • First observedproperties_surroundings_listing_history_signals
    • First observedproperties_surroundings_parcels
    • First observedproperties_surroundings_properties
    • First observedproperties_surroundings_public_housing
    • First observedproperties_surroundings_tenure
    • First observedproperties_transport_nearby
    • First observedproperties_valuation_agent_quoting
    • First observedproperties_valuation_all
    • First observedproperties_valuation_avm
    • First observedproperties_valuation_land_values
    • First observedproperties_valuation_negative_gearing
    • First observedproperties_valuation_value_series
    • First observedsa4_list
    • First observedsa4_profile
    • First observedsuburbs_crime_breakdown
    • First observedsuburbs_crime_by_mesh_block
    • First observedsuburbs_crime_summary
    • First observedsuburbs_demographics_age
    • First observedsuburbs_demographics_all
    • First observedsuburbs_demographics_ancestry_map
    • First observedsuburbs_demographics_business
    • First observedsuburbs_demographics_cohorts
    • First observedsuburbs_demographics_cultural_integration
    • First observedsuburbs_demographics_income
    • First observedsuburbs_demographics_income_map
    • First observedsuburbs_demographics_population_history
    • First observedsuburbs_demographics_private_school
    • First observedsuburbs_demographics_single_parents
    • First observedsuburbs_demographics_tenure
    • First observedsuburbs_demographics_underclass_drag
    • First observedsuburbs_demographics_unemployment
    • First observedsuburbs_demographics_voting
    • First observedsuburbs_development_all
    • First observedsuburbs_development_applications
    • First observedsuburbs_development_building_controls
    • First observedsuburbs_development_construction_activity
    • First observedsuburbs_development_council_intelligence
    • First observedsuburbs_development_council_rates
    • First observedsuburbs_development_da_count
    • First observedsuburbs_development_da_list
    • First observedsuburbs_development_density
    • First observedsuburbs_development_profile
    • First observedsuburbs_development_supply
    • First observedsuburbs_development_zoning_map
    • First observedsuburbs_ethnicity_all
    • First observedsuburbs_ethnicity_ancestry
    • First observedsuburbs_ethnicity_birthplace
    • First observedsuburbs_finder_count
    • First observedsuburbs_finder_fields
    • First observedsuburbs_finder_regions
    • First observedsuburbs_finder_search
    • First observedsuburbs_forecast_sale
    • First observedsuburbs_hero_neighbours
    • First observedsuburbs_hero_price_growth_12mo
    • First observedsuburbs_hero_summary
    • First observedsuburbs_lifestyle_cbd
    • First observedsuburbs_lifestyle_landmarks
    • First observedsuburbs_lifestyle_livability
    • First observedsuburbs_lifestyle_livability_map
    • First observedsuburbs_lifestyle_narrative
    • First observedsuburbs_lifestyle_poi_impacts
    • First observedsuburbs_lifestyle_pois
    • First observedsuburbs_lifestyle_summary
    • First observedsuburbs_list
    • First observedsuburbs_listings_for_sale
    • First observedsuburbs_market_affordability
    • First observedsuburbs_market_all
    • First observedsuburbs_market_bedroom_stats
    • First observedsuburbs_market_built_year
    • First observedsuburbs_market_comparable_suburbs
    • First observedsuburbs_market_days_on_market
    • First observedsuburbs_market_days_on_market_benchmark
    • First observedsuburbs_market_growth_drivers
    • First observedsuburbs_market_investor_concentration
    • First observedsuburbs_market_land_values
    • First observedsuburbs_market_median_price_map
    • First observedsuburbs_market_median_rent
    • First observedsuburbs_market_median_rent_series
    • First observedsuburbs_market_median_sale_price
    • First observedsuburbs_market_median_sale_price_series
    • First observedsuburbs_market_months_of_supply
    • First observedsuburbs_market_mortgage_stress
    • First observedsuburbs_market_price_growth
    • First observedsuburbs_market_price_growth_5y
    • First observedsuburbs_market_recent_price_movement
    • First observedsuburbs_market_rent_map
    • First observedsuburbs_market_repeat_sales
    • First observedsuburbs_market_stock_on_market
    • First observedsuburbs_market_strata_levies
    • First observedsuburbs_market_supply_pressure
    • First observedsuburbs_market_transaction_volume
    • First observedsuburbs_market_vacancy_map
    • First observedsuburbs_market_vacancy_rate
    • First observedsuburbs_market_vacancy_rate_series
    • First observedsuburbs_market_yield_map
    • First observedsuburbs_market_yield_pct
    • First observedsuburbs_market_yield_pct_series
    • First observedsuburbs_profile
    • First observedsuburbs_risks_all
    • First observedsuburbs_risks_bushfire
    • First observedsuburbs_risks_capital_growth_impact
    • First observedsuburbs_risks_counts
    • First observedsuburbs_risks_extras
    • First observedsuburbs_risks_flood
    • First observedsuburbs_risks_heritage_share
    • First observedsuburbs_risks_hv_power_lines
    • First observedsuburbs_risks_property_hazard_counts
    • First observedsuburbs_risks_slope
    • First observedsuburbs_sales_recent
    • First observedsuburbs_sales_summary
    • First observedsuburbs_schools_all
    • First observedsuburbs_schools_catchment
    • First observedsuburbs_schools_nearby
    • First observedsuburbs_shapes_boundary
    • First observedsuburbs_shapes_busy_roads
    • First observedsuburbs_shapes_easements
    • First observedsuburbs_shapes_hazards
    • First observedsuburbs_shapes_mesh_blocks
    • First observedsuburbs_shapes_neighbours
    • First observedsuburbs_shapes_noise_heatmap
    • First observedsuburbs_shapes_public_housing_sa1
    • First observedsuburbs_similar
    • First observedsuburbs_street_forecasts

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides access to comprehensive US property data, including automated valuations, tax history, comparable sales, and ownership details, enabling real estate analysis and market insights.
    247 npm
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables live access to free, open Victorian government spatial data for property due diligence, covering site screening, planning controls, parcels, contamination, heritage, and flood checks without API keys.
    -
  • A
    license
    B
    quality
    D
    maintenance
    Enables access to Australian real estate data through the Realty In Au API, supporting property listings, agent/agency information, property details, school lookups, and property search with various filters.
    13
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources