Added
- Catchment matching folds into POST /v1/schools/query. Supply a
catchmentReference(with eitheruprnorpoint) and each school gains an inlinecatchmentblock (matchBasisplusverdict), while the response gains ameta.catchmentblock listing the tiers applied, tiers skipped (with reason), and coverage warnings. Matching runs five tiers: designated polygon, last-admitted distance, faith jurisdiction, feeder link, and distance ranking. - New GET /v1/schools/catchment/by-school/{id} returns a GeoJSON
FeatureCollectionof every catchment polygon effective for a school. UseasOfDatefor historic queries andcatchmentTypeto restrict by area type. - New GET /v1/schools/catchment/coverage returns a per-tier histogram of local-authority ingest status (
loaded,discovered,not_started, …) across polygons, outcomes, feeders and faith jurisdictions, scoped bycountry. - New GET /v1/schools/autocomplete for type-ahead lookup by name, combining a prefix match with a trigram fallback. Takes
q,limitandonlyOpen. - New provider-keyed lookups: GET /v1/schools/source/{provider}/{key} for a single school and POST /v1/schools/source/query for batch fetch (up to 500 keys). Provider codes are
dfe,welshgov,seed,denianddept_edu_ie. - New metric aggregation endpoints: POST /v1/schools/metrics/compare to compare a metric across schools, and GET /v1/schools/metrics/geographic to aggregate a metric across a geography.
Changed
- Listing, free-text and geographic search are unified into POST /v1/schools/query. Filter by
country,region,providers,type,status,rating,authority,postcodeor free-textquery; search geographically withnear(radius, max 50km) orwithin(bounding box), which are mutually exclusive; paginate withlimit/offsetand order withorderBy/order.
Removed
- Breaking: the previous read endpoints are removed.
GET /v1/schools(list),GET /v1/schools/by-urn/{urn},GET /v1/schools/by-slug/{slug},GET /v1/schools/search/nearbyandGET /v1/schools/search/withinare replaced by POST /v1/schools/query and GET /v1/schools/source/{provider}/{key}. GET /v1/schools/{id} is unchanged.