Added
- New endpoint POST /v1/air-quality/point returns property-exact air quality for a single
coordinate. It reads the 1km cell substrate then applies a versioned decay overlay, addingcoordinate,cellIdand adecayblock to the standard air-quality response. - Request options on POST /v1/air-quality/point:
options.decaytoggles the overlay,options.decayModelselects the model version (v1), andoptions.explainadds a per-pollutant calculation trail underdecay.calculation. The premium attributesnearestRoad,nearestMotorway,installationsand the explain trail require theair-quality:premiumpermission. - New schools reference endpoints: GET /v1/schools/frameworks and GET /v1/schools/frameworks/{framework} list the framework catalogue and per-framework metric definitions; GET /v1/schools/coverage returns the coverage matrix; GET /v1/schools/changelog lists Schools API changelog entries.
Changed
- Breaking: POST /v1/air-quality/query now uses a platform 0-100
score(higher is better). ThescoreMinandscoreMaxfilters accept 0-100 instead of the previous 0-10 range. - Breaking: the
attributesgroups on POST /v1/air-quality/query were renamed:zonesbecomesregulatoryZones(a flatsystem-discriminated array coveringAQMA,CAZ,ULEZ,LEZ,SMOKE_CONTROL), and the premiumroadProximitybecomesnearestRoadplusnearestMotorway. - New
attributesgroups on POST /v1/air-quality/query:officialIndices(DAQI), framework-tagged per-pollutant compliance checks (UK AQS 2010, WHO AQG 2021),healthImpact, andpropertyValueImpact(replacingpropertyImpact).officialIndices,healthImpactandpropertyValueImpactare now returned by default. - Air quality is now a gated product: requests under /v1/air-quality require the
air_qualityproduct to be enabled on the tenant.
Fixed
- Safety endpoints now consistently return the current list envelope (
object,data,total_count,has_more) rather than the legacysuccess/resultshape. Affects GET /v1/safety/crime, GET /v1/safety/crime/stats, GET /v1/safety/crime/category-stats, GET /v1/safety/catalog/{country} and GET /v1/safety/geography/metrics.
Affected endpoints
- POST /v1/air-quality/point
- POST /v1/air-quality/query
- GET /v1/schools/frameworks
- GET /v1/schools/frameworks/{framework}
- GET /v1/schools/coverage
- GET /v1/schools/changelog
- GET /v1/safety/crime
- GET /v1/safety/crime/stats
- GET /v1/safety/crime/category-stats
- GET /v1/safety/catalog/{country}
- GET /v1/safety/geography/metrics