@vepler/sdk 1.10.1 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/FUNCTIONS.md +3 -3
- package/README.md +81 -24
- package/RUNTIMES.md +6 -6
- package/dist/commonjs/funcs/addressResolveAddress.d.ts +17 -0
- package/dist/commonjs/funcs/addressResolveAddress.d.ts.map +1 -0
- package/dist/commonjs/funcs/addressResolveAddress.js +116 -0
- package/dist/commonjs/funcs/addressResolveAddress.js.map +1 -0
- package/dist/commonjs/funcs/areasGetAreas.d.ts +17 -0
- package/dist/commonjs/funcs/areasGetAreas.d.ts.map +1 -0
- package/dist/commonjs/funcs/areasGetAreas.js +132 -0
- package/dist/commonjs/funcs/areasGetAreas.js.map +1 -0
- package/dist/commonjs/funcs/areasGetAreasWithin.d.ts +17 -0
- package/dist/commonjs/funcs/areasGetAreasWithin.d.ts.map +1 -0
- package/dist/commonjs/funcs/areasGetAreasWithin.js +122 -0
- package/dist/commonjs/funcs/areasGetAreasWithin.js.map +1 -0
- package/dist/commonjs/funcs/areasGetBorderingAreas.d.ts +17 -0
- package/dist/commonjs/funcs/areasGetBorderingAreas.d.ts.map +1 -0
- package/dist/commonjs/funcs/areasGetBorderingAreas.js +131 -0
- package/dist/commonjs/funcs/areasGetBorderingAreas.js.map +1 -0
- package/dist/commonjs/funcs/areasGetChildAreas.d.ts +17 -0
- package/dist/commonjs/funcs/areasGetChildAreas.d.ts.map +1 -0
- package/dist/commonjs/funcs/areasGetChildAreas.js +124 -0
- package/dist/commonjs/funcs/areasGetChildAreas.js.map +1 -0
- package/dist/commonjs/funcs/connectivityGetConnectivityScores.d.ts +17 -0
- package/dist/commonjs/funcs/connectivityGetConnectivityScores.d.ts.map +1 -0
- package/dist/commonjs/funcs/connectivityGetConnectivityScores.js +131 -0
- package/dist/commonjs/funcs/connectivityGetConnectivityScores.js.map +1 -0
- package/dist/commonjs/funcs/epcGetEPC.d.ts +17 -0
- package/dist/commonjs/funcs/epcGetEPC.d.ts.map +1 -0
- package/dist/commonjs/funcs/epcGetEPC.js +119 -0
- package/dist/commonjs/funcs/epcGetEPC.js.map +1 -0
- package/dist/commonjs/funcs/epcGetEPCByPostcode.d.ts +17 -0
- package/dist/commonjs/funcs/epcGetEPCByPostcode.d.ts.map +1 -0
- package/dist/commonjs/funcs/epcGetEPCByPostcode.js +119 -0
- package/dist/commonjs/funcs/epcGetEPCByPostcode.js.map +1 -0
- package/dist/commonjs/funcs/listingsGetListingById.d.ts +17 -0
- package/dist/commonjs/funcs/listingsGetListingById.d.ts.map +1 -0
- package/dist/commonjs/funcs/listingsGetListingById.js +119 -0
- package/dist/commonjs/funcs/listingsGetListingById.js.map +1 -0
- package/dist/commonjs/funcs/listingsGetListingBySource.d.ts +17 -0
- package/dist/commonjs/funcs/listingsGetListingBySource.d.ts.map +1 -0
- package/dist/commonjs/funcs/listingsGetListingBySource.js +127 -0
- package/dist/commonjs/funcs/listingsGetListingBySource.js.map +1 -0
- package/dist/commonjs/funcs/listingsGetListingsByLocation.d.ts +17 -0
- package/dist/commonjs/funcs/listingsGetListingsByLocation.d.ts.map +1 -0
- package/dist/commonjs/funcs/listingsGetListingsByLocation.js +123 -0
- package/dist/commonjs/funcs/listingsGetListingsByLocation.js.map +1 -0
- package/dist/commonjs/funcs/listingsQueryListings.d.ts +17 -0
- package/dist/commonjs/funcs/listingsQueryListings.d.ts.map +1 -0
- package/dist/commonjs/funcs/listingsQueryListings.js +116 -0
- package/dist/commonjs/funcs/listingsQueryListings.js.map +1 -0
- package/dist/commonjs/funcs/listingsQueryListingsBySource.d.ts +17 -0
- package/dist/commonjs/funcs/listingsQueryListingsBySource.d.ts.map +1 -0
- package/dist/commonjs/funcs/listingsQueryListingsBySource.js +117 -0
- package/dist/commonjs/funcs/listingsQueryListingsBySource.js.map +1 -0
- package/dist/commonjs/funcs/metricsGetMetricValues.d.ts +17 -0
- package/dist/commonjs/funcs/metricsGetMetricValues.d.ts.map +1 -0
- package/dist/commonjs/funcs/metricsGetMetricValues.js +128 -0
- package/dist/commonjs/funcs/metricsGetMetricValues.js.map +1 -0
- package/dist/commonjs/funcs/planningGetPlanningApplications.js +1 -1
- package/dist/commonjs/funcs/planningGetPlanningApplications.js.map +1 -1
- package/dist/commonjs/funcs/planningGetPlanningApplicationsBySource.js +1 -1
- package/dist/commonjs/funcs/planningGetPlanningApplicationsBySource.js.map +1 -1
- package/dist/commonjs/funcs/planningSearchPlanningApplications.js +1 -1
- package/dist/commonjs/funcs/planningSearchPlanningApplications.js.map +1 -1
- package/dist/commonjs/funcs/poiGetNearestPOI.d.ts +17 -0
- package/dist/commonjs/funcs/poiGetNearestPOI.d.ts.map +1 -0
- package/dist/commonjs/funcs/poiGetNearestPOI.js +122 -0
- package/dist/commonjs/funcs/poiGetNearestPOI.js.map +1 -0
- package/dist/commonjs/funcs/poiGetPOIMultipleTiles.d.ts +17 -0
- package/dist/commonjs/funcs/poiGetPOIMultipleTiles.d.ts.map +1 -0
- package/dist/commonjs/funcs/poiGetPOIMultipleTiles.js +118 -0
- package/dist/commonjs/funcs/poiGetPOIMultipleTiles.js.map +1 -0
- package/dist/commonjs/funcs/poiGetPOITile.d.ts +23 -0
- package/dist/commonjs/funcs/poiGetPOITile.d.ts.map +1 -0
- package/dist/commonjs/funcs/poiGetPOITile.js +140 -0
- package/dist/commonjs/funcs/poiGetPOITile.js.map +1 -0
- package/dist/commonjs/funcs/propertyGetProperties.js +1 -1
- package/dist/commonjs/funcs/propertyGetProperties.js.map +1 -1
- package/dist/commonjs/funcs/propertyGetPropertiesByLocation.js +1 -1
- package/dist/commonjs/funcs/propertyGetPropertiesByLocation.js.map +1 -1
- package/dist/commonjs/funcs/propertyGetPropertiesBySlugs.js +1 -1
- package/dist/commonjs/funcs/propertyGetPropertiesBySlugs.js.map +1 -1
- package/dist/commonjs/funcs/propertyGetPropertiesBySource.js +1 -1
- package/dist/commonjs/funcs/propertyGetPropertiesBySource.js.map +1 -1
- package/dist/commonjs/funcs/propertySearchProperties.js +1 -1
- package/dist/commonjs/funcs/propertySearchProperties.js.map +1 -1
- package/dist/commonjs/funcs/safetyGetV1SafetyCrime.js +1 -1
- package/dist/commonjs/funcs/safetyGetV1SafetyCrime.js.map +1 -1
- package/dist/commonjs/funcs/safetyGetV1SafetyCrimeStats.js +1 -1
- package/dist/commonjs/funcs/safetyGetV1SafetyCrimeStats.js.map +1 -1
- package/dist/commonjs/funcs/schoolsGet.js +1 -1
- package/dist/commonjs/funcs/schoolsGet.js.map +1 -1
- package/dist/commonjs/funcs/schoolsGetBySlug.js +1 -1
- package/dist/commonjs/funcs/schoolsGetBySlug.js.map +1 -1
- package/dist/commonjs/funcs/schoolsGetByUrn.js +1 -1
- package/dist/commonjs/funcs/schoolsGetByUrn.js.map +1 -1
- package/dist/commonjs/funcs/{schoolMetricsGetMetrics.d.ts → schoolsGetMetrics.d.ts} +2 -2
- package/dist/commonjs/funcs/schoolsGetMetrics.d.ts.map +1 -0
- package/dist/commonjs/funcs/{schoolMetricsGetMetrics.js → schoolsGetMetrics.js} +4 -4
- package/dist/commonjs/funcs/schoolsGetMetrics.js.map +1 -0
- package/dist/commonjs/funcs/schoolsList.js +1 -1
- package/dist/commonjs/funcs/schoolsList.js.map +1 -1
- package/dist/commonjs/funcs/{schoolMetricsListProfiles.d.ts → schoolsListProfiles.d.ts} +2 -2
- package/dist/commonjs/funcs/schoolsListProfiles.d.ts.map +1 -0
- package/dist/commonjs/funcs/{schoolMetricsListProfiles.js → schoolsListProfiles.js} +4 -4
- package/dist/commonjs/funcs/schoolsListProfiles.js.map +1 -0
- package/dist/commonjs/funcs/schoolsSearchNearby.js +1 -1
- package/dist/commonjs/funcs/schoolsSearchNearby.js.map +1 -1
- package/dist/commonjs/funcs/schoolsSearchWithin.js +1 -1
- package/dist/commonjs/funcs/schoolsSearchWithin.js.map +1 -1
- package/dist/{esm/funcs/locationSearchStreets.d.ts → commonjs/funcs/streetsSearchStreets.d.ts} +2 -2
- package/dist/commonjs/funcs/streetsSearchStreets.d.ts.map +1 -0
- package/dist/commonjs/funcs/{locationSearchStreets.js → streetsSearchStreets.js} +4 -4
- package/dist/commonjs/funcs/streetsSearchStreets.js.map +1 -0
- package/dist/commonjs/funcs/systemCheckAreaReferenceHealth.d.ts +17 -0
- package/dist/commonjs/funcs/systemCheckAreaReferenceHealth.d.ts.map +1 -0
- package/dist/commonjs/funcs/systemCheckAreaReferenceHealth.js +104 -0
- package/dist/commonjs/funcs/systemCheckAreaReferenceHealth.js.map +1 -0
- package/dist/commonjs/funcs/systemCheckEPCHealth.d.ts +17 -0
- package/dist/commonjs/funcs/systemCheckEPCHealth.d.ts.map +1 -0
- package/dist/commonjs/funcs/systemCheckEPCHealth.js +104 -0
- package/dist/commonjs/funcs/systemCheckEPCHealth.js.map +1 -0
- package/dist/commonjs/funcs/systemCheckListingsHealth.d.ts +17 -0
- package/dist/{esm/funcs/schoolMetricsListProfiles.d.ts.map → commonjs/funcs/systemCheckListingsHealth.d.ts.map} +1 -1
- package/dist/commonjs/funcs/systemCheckListingsHealth.js +104 -0
- package/dist/commonjs/funcs/{schoolMetricsListProfiles.js.map → systemCheckListingsHealth.js.map} +1 -1
- package/dist/commonjs/funcs/{healthCheckLocationHealth.d.ts → systemCheckLocationHealth.d.ts} +2 -2
- package/dist/commonjs/funcs/{healthCheckPlanningHealth.d.ts.map → systemCheckLocationHealth.d.ts.map} +1 -1
- package/dist/commonjs/funcs/{healthCheckLocationHealth.js → systemCheckLocationHealth.js} +4 -4
- package/dist/commonjs/funcs/{healthCheckPlanningHealth.js.map → systemCheckLocationHealth.js.map} +1 -1
- package/dist/{esm/funcs/healthCheckPlanningHealth.d.ts → commonjs/funcs/systemCheckPlanningHealth.d.ts} +2 -2
- package/dist/commonjs/funcs/{healthCheckLocationHealth.d.ts.map → systemCheckPlanningHealth.d.ts.map} +1 -1
- package/dist/commonjs/funcs/{healthCheckPlanningHealth.js → systemCheckPlanningHealth.js} +4 -4
- package/dist/commonjs/funcs/{healthCheckPropertyHealth.js.map → systemCheckPlanningHealth.js.map} +1 -1
- package/dist/{esm/funcs/healthCheckPropertyHealth.d.ts → commonjs/funcs/systemCheckPropertyHealth.d.ts} +2 -2
- package/dist/commonjs/funcs/{healthCheckPropertyHealth.d.ts.map → systemCheckPropertyHealth.d.ts.map} +1 -1
- package/dist/commonjs/funcs/{healthCheckPropertyHealth.js → systemCheckPropertyHealth.js} +4 -4
- package/dist/commonjs/funcs/{healthCheckLocationHealth.js.map → systemCheckPropertyHealth.js.map} +1 -1
- package/dist/commonjs/lib/base64.d.ts +1 -1
- package/dist/commonjs/lib/base64.d.ts.map +1 -1
- package/dist/commonjs/lib/base64.js +1 -1
- package/dist/commonjs/lib/base64.js.map +1 -1
- package/dist/commonjs/lib/config.d.ts +4 -4
- package/dist/commonjs/lib/config.js +4 -4
- package/dist/commonjs/lib/config.js.map +1 -1
- package/dist/commonjs/lib/schemas.d.ts +1 -1
- package/dist/commonjs/lib/schemas.d.ts.map +1 -1
- package/dist/commonjs/lib/schemas.js +2 -2
- package/dist/commonjs/lib/schemas.js.map +1 -1
- package/dist/commonjs/sdk/address.d.ts +12 -0
- package/dist/commonjs/sdk/address.d.ts.map +1 -0
- package/dist/commonjs/sdk/address.js +22 -0
- package/dist/commonjs/sdk/address.js.map +1 -0
- package/dist/commonjs/sdk/areas.d.ts +33 -0
- package/dist/commonjs/sdk/areas.d.ts.map +1 -0
- package/dist/commonjs/sdk/areas.js +52 -0
- package/dist/commonjs/sdk/areas.js.map +1 -0
- package/dist/commonjs/sdk/connectivity.d.ts +12 -0
- package/dist/commonjs/sdk/connectivity.d.ts.map +1 -0
- package/dist/commonjs/sdk/connectivity.js +22 -0
- package/dist/commonjs/sdk/connectivity.js.map +1 -0
- package/dist/commonjs/sdk/epc.d.ts +19 -0
- package/dist/commonjs/sdk/epc.d.ts.map +1 -0
- package/dist/commonjs/sdk/epc.js +32 -0
- package/dist/commonjs/sdk/epc.js.map +1 -0
- package/dist/commonjs/sdk/listings.d.ts +40 -0
- package/dist/commonjs/sdk/listings.d.ts.map +1 -0
- package/dist/commonjs/sdk/listings.js +62 -0
- package/dist/commonjs/sdk/listings.js.map +1 -0
- package/dist/commonjs/sdk/metrics.d.ts +12 -0
- package/dist/commonjs/sdk/metrics.d.ts.map +1 -0
- package/dist/commonjs/sdk/metrics.js +22 -0
- package/dist/commonjs/sdk/metrics.js.map +1 -0
- package/dist/commonjs/sdk/models/errors/responsevalidationerror.js +1 -1
- package/dist/commonjs/sdk/models/errors/responsevalidationerror.js.map +1 -1
- package/dist/commonjs/sdk/models/errors/sdkvalidationerror.d.ts +1 -1
- package/dist/commonjs/sdk/models/errors/sdkvalidationerror.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/errors/sdkvalidationerror.js +1 -1
- package/dist/commonjs/sdk/models/errors/sdkvalidationerror.js.map +1 -1
- package/dist/commonjs/sdk/models/operations/checkareareferencehealth.d.ts +36 -0
- package/dist/commonjs/sdk/models/operations/checkareareferencehealth.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/operations/checkareareferencehealth.js +73 -0
- package/dist/commonjs/sdk/models/operations/checkareareferencehealth.js.map +1 -0
- package/dist/commonjs/sdk/models/operations/checkepchealth.d.ts +36 -0
- package/dist/commonjs/sdk/models/operations/checkepchealth.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/operations/checkepchealth.js +73 -0
- package/dist/commonjs/sdk/models/operations/checkepchealth.js.map +1 -0
- package/dist/commonjs/sdk/models/operations/checklistingshealth.d.ts +36 -0
- package/dist/commonjs/sdk/models/operations/checklistingshealth.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/operations/checklistingshealth.js +73 -0
- package/dist/commonjs/sdk/models/operations/checklistingshealth.js.map +1 -0
- package/dist/commonjs/sdk/models/operations/getareasbyfieldandids.d.ts +445 -0
- package/dist/commonjs/sdk/models/operations/getareasbyfieldandids.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/operations/getareasbyfieldandids.js +357 -0
- package/dist/commonjs/sdk/models/operations/getareasbyfieldandids.js.map +1 -0
- package/dist/commonjs/sdk/models/operations/getareaswithinradius.d.ts +492 -0
- package/dist/commonjs/sdk/models/operations/getareaswithinradius.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/operations/getareaswithinradius.js +380 -0
- package/dist/commonjs/sdk/models/operations/getareaswithinradius.js.map +1 -0
- package/dist/commonjs/sdk/models/operations/getborderingareas.d.ts +658 -0
- package/dist/commonjs/sdk/models/operations/getborderingareas.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/operations/getborderingareas.js +492 -0
- package/dist/commonjs/sdk/models/operations/getborderingareas.js.map +1 -0
- package/dist/commonjs/sdk/models/operations/getchildareas.d.ts +653 -0
- package/dist/commonjs/sdk/models/operations/getchildareas.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/operations/getchildareas.js +490 -0
- package/dist/commonjs/sdk/models/operations/getchildareas.js.map +1 -0
- package/dist/commonjs/sdk/models/operations/getconnectivityscores.d.ts +2213 -0
- package/dist/commonjs/sdk/models/operations/getconnectivityscores.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/operations/getconnectivityscores.js +1644 -0
- package/dist/commonjs/sdk/models/operations/getconnectivityscores.js.map +1 -0
- package/dist/commonjs/sdk/models/operations/getepcbylocationid.d.ts +310 -0
- package/dist/commonjs/sdk/models/operations/getepcbylocationid.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/operations/getepcbylocationid.js +319 -0
- package/dist/commonjs/sdk/models/operations/getepcbylocationid.js.map +1 -0
- package/dist/commonjs/sdk/models/operations/getepcbypostcode.d.ts +199 -0
- package/dist/commonjs/sdk/models/operations/getepcbypostcode.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/operations/getepcbypostcode.js +224 -0
- package/dist/commonjs/sdk/models/operations/getepcbypostcode.js.map +1 -0
- package/dist/commonjs/sdk/models/operations/getlistingbyid.d.ts +1402 -0
- package/dist/commonjs/sdk/models/operations/getlistingbyid.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/operations/getlistingbyid.js +1047 -0
- package/dist/commonjs/sdk/models/operations/getlistingbyid.js.map +1 -0
- package/dist/commonjs/sdk/models/operations/getlistingbysource.d.ts +351 -0
- package/dist/commonjs/sdk/models/operations/getlistingbysource.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/operations/getlistingbysource.js +344 -0
- package/dist/commonjs/sdk/models/operations/getlistingbysource.js.map +1 -0
- package/dist/commonjs/sdk/models/operations/getlistingsbylocation.d.ts +1335 -0
- package/dist/commonjs/sdk/models/operations/getlistingsbylocation.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/operations/getlistingsbylocation.js +967 -0
- package/dist/commonjs/sdk/models/operations/getlistingsbylocation.js.map +1 -0
- package/dist/commonjs/sdk/models/operations/getmetricprofiles.d.ts +1 -1
- package/dist/commonjs/sdk/models/operations/getmetricprofiles.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/operations/getmetricprofiles.js +1 -1
- package/dist/commonjs/sdk/models/operations/getmetricprofiles.js.map +1 -1
- package/dist/commonjs/sdk/models/operations/getmetricvalues.d.ts +608 -0
- package/dist/commonjs/sdk/models/operations/getmetricvalues.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/operations/getmetricvalues.js +516 -0
- package/dist/commonjs/sdk/models/operations/getmetricvalues.js.map +1 -0
- package/dist/commonjs/sdk/models/operations/getnearestpoi.d.ts +393 -0
- package/dist/commonjs/sdk/models/operations/getnearestpoi.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/operations/getnearestpoi.js +368 -0
- package/dist/commonjs/sdk/models/operations/getnearestpoi.js.map +1 -0
- package/dist/commonjs/sdk/models/operations/getplanningapplications.d.ts +1 -1
- package/dist/commonjs/sdk/models/operations/getplanningapplications.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/operations/getplanningapplications.js +1 -1
- package/dist/commonjs/sdk/models/operations/getplanningapplications.js.map +1 -1
- package/dist/commonjs/sdk/models/operations/getplanningapplicationsbysource.d.ts +1 -1
- package/dist/commonjs/sdk/models/operations/getplanningapplicationsbysource.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/operations/getplanningapplicationsbysource.js +1 -1
- package/dist/commonjs/sdk/models/operations/getplanningapplicationsbysource.js.map +1 -1
- package/dist/commonjs/sdk/models/operations/getpoimultipletiles.d.ts +587 -0
- package/dist/commonjs/sdk/models/operations/getpoimultipletiles.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/operations/getpoimultipletiles.js +614 -0
- package/dist/commonjs/sdk/models/operations/getpoimultipletiles.js.map +1 -0
- package/dist/commonjs/sdk/models/operations/getpoitile.d.ts +465 -0
- package/dist/commonjs/sdk/models/operations/getpoitile.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/operations/getpoitile.js +470 -0
- package/dist/commonjs/sdk/models/operations/getpoitile.js.map +1 -0
- package/dist/commonjs/sdk/models/operations/getproperties.d.ts +1 -1
- package/dist/commonjs/sdk/models/operations/getproperties.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/operations/getproperties.js +1 -1
- package/dist/commonjs/sdk/models/operations/getproperties.js.map +1 -1
- package/dist/commonjs/sdk/models/operations/getpropertiesbylocation.d.ts +1 -1
- package/dist/commonjs/sdk/models/operations/getpropertiesbylocation.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/operations/getpropertiesbylocation.js +1 -1
- package/dist/commonjs/sdk/models/operations/getpropertiesbylocation.js.map +1 -1
- package/dist/commonjs/sdk/models/operations/getpropertiesbyslugs.d.ts +1 -1
- package/dist/commonjs/sdk/models/operations/getpropertiesbyslugs.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/operations/getpropertiesbyslugs.js +1 -1
- package/dist/commonjs/sdk/models/operations/getpropertiesbyslugs.js.map +1 -1
- package/dist/commonjs/sdk/models/operations/getpropertiesbysource.d.ts +1 -1
- package/dist/commonjs/sdk/models/operations/getpropertiesbysource.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/operations/getpropertiesbysource.js +1 -1
- package/dist/commonjs/sdk/models/operations/getpropertiesbysource.js.map +1 -1
- package/dist/commonjs/sdk/models/operations/getschoolbyid.d.ts +1 -10
- package/dist/commonjs/sdk/models/operations/getschoolbyid.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/operations/getschoolbyid.js +1 -1
- package/dist/commonjs/sdk/models/operations/getschoolbyid.js.map +1 -1
- package/dist/commonjs/sdk/models/operations/getschoolbyslug.d.ts +1 -10
- package/dist/commonjs/sdk/models/operations/getschoolbyslug.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/operations/getschoolbyslug.js +1 -1
- package/dist/commonjs/sdk/models/operations/getschoolbyslug.js.map +1 -1
- package/dist/commonjs/sdk/models/operations/getschoolbyurn.d.ts +1 -10
- package/dist/commonjs/sdk/models/operations/getschoolbyurn.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/operations/getschoolbyurn.js +1 -1
- package/dist/commonjs/sdk/models/operations/getschoolbyurn.js.map +1 -1
- package/dist/commonjs/sdk/models/operations/getschoolmetrics.d.ts +66 -69
- package/dist/commonjs/sdk/models/operations/getschoolmetrics.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/operations/getschoolmetrics.js +84 -84
- package/dist/commonjs/sdk/models/operations/getschoolmetrics.js.map +1 -1
- package/dist/commonjs/sdk/models/operations/getv1safetycrime.d.ts +61 -61
- package/dist/commonjs/sdk/models/operations/getv1safetycrime.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/operations/getv1safetycrime.js +70 -72
- package/dist/commonjs/sdk/models/operations/getv1safetycrime.js.map +1 -1
- package/dist/commonjs/sdk/models/operations/getv1safetycrimestats.d.ts +1 -1
- package/dist/commonjs/sdk/models/operations/getv1safetycrimestats.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/operations/getv1safetycrimestats.js +1 -1
- package/dist/commonjs/sdk/models/operations/getv1safetycrimestats.js.map +1 -1
- package/dist/commonjs/sdk/models/operations/index.d.ts +20 -0
- package/dist/commonjs/sdk/models/operations/index.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/operations/index.js +20 -0
- package/dist/commonjs/sdk/models/operations/index.js.map +1 -1
- package/dist/commonjs/sdk/models/operations/listschools.d.ts +1 -31
- package/dist/commonjs/sdk/models/operations/listschools.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/operations/listschools.js +1 -1
- package/dist/commonjs/sdk/models/operations/listschools.js.map +1 -1
- package/dist/commonjs/sdk/models/operations/querylistings.d.ts +1544 -0
- package/dist/commonjs/sdk/models/operations/querylistings.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/operations/querylistings.js +1122 -0
- package/dist/commonjs/sdk/models/operations/querylistings.js.map +1 -0
- package/dist/commonjs/sdk/models/operations/querylistingsbysource.d.ts +1420 -0
- package/dist/commonjs/sdk/models/operations/querylistingsbysource.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/operations/querylistingsbysource.js +1044 -0
- package/dist/commonjs/sdk/models/operations/querylistingsbysource.js.map +1 -0
- package/dist/commonjs/sdk/models/operations/resolveaddress.d.ts +580 -0
- package/dist/commonjs/sdk/models/operations/resolveaddress.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/operations/resolveaddress.js +481 -0
- package/dist/commonjs/sdk/models/operations/resolveaddress.js.map +1 -0
- package/dist/commonjs/sdk/models/operations/searchplanningapplications.d.ts +1 -1
- package/dist/commonjs/sdk/models/operations/searchplanningapplications.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/operations/searchplanningapplications.js +1 -1
- package/dist/commonjs/sdk/models/operations/searchplanningapplications.js.map +1 -1
- package/dist/commonjs/sdk/models/operations/searchproperties.d.ts +1 -1
- package/dist/commonjs/sdk/models/operations/searchproperties.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/operations/searchproperties.js +1 -1
- package/dist/commonjs/sdk/models/operations/searchproperties.js.map +1 -1
- package/dist/commonjs/sdk/models/operations/searchschoolsnearby.d.ts +1 -25
- package/dist/commonjs/sdk/models/operations/searchschoolsnearby.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/operations/searchschoolsnearby.js +1 -1
- package/dist/commonjs/sdk/models/operations/searchschoolsnearby.js.map +1 -1
- package/dist/commonjs/sdk/models/operations/searchschoolswithin.d.ts +1 -28
- package/dist/commonjs/sdk/models/operations/searchschoolswithin.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/operations/searchschoolswithin.js +1 -1
- package/dist/commonjs/sdk/models/operations/searchschoolswithin.js.map +1 -1
- package/dist/commonjs/sdk/models/operations/searchstreets.d.ts +1 -1
- package/dist/commonjs/sdk/models/operations/searchstreets.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/operations/searchstreets.js +1 -1
- package/dist/commonjs/sdk/models/operations/searchstreets.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/builddata.d.ts +123 -0
- package/dist/commonjs/sdk/models/shared/builddata.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/shared/builddata.js +122 -0
- package/dist/commonjs/sdk/models/shared/builddata.js.map +1 -0
- package/dist/commonjs/sdk/models/shared/chargeentry.d.ts +62 -0
- package/dist/commonjs/sdk/models/shared/chargeentry.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/shared/chargeentry.js +81 -0
- package/dist/commonjs/sdk/models/shared/chargeentry.js.map +1 -0
- package/dist/commonjs/sdk/models/shared/chargehistory.d.ts +53 -0
- package/dist/commonjs/sdk/models/shared/chargehistory.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/shared/chargehistory.js +78 -0
- package/dist/commonjs/sdk/models/shared/chargehistory.js.map +1 -0
- package/dist/commonjs/sdk/models/shared/counciltaxbanddetails.d.ts +52 -0
- package/dist/commonjs/sdk/models/shared/counciltaxbanddetails.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/shared/counciltaxbanddetails.js +77 -0
- package/dist/commonjs/sdk/models/shared/counciltaxbanddetails.js.map +1 -0
- package/dist/commonjs/sdk/models/shared/counciltaxdata.d.ts +30 -9
- package/dist/commonjs/sdk/models/shared/counciltaxdata.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/counciltaxdata.js +16 -7
- package/dist/commonjs/sdk/models/shared/counciltaxdata.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/epcdata.d.ts +26 -11
- package/dist/commonjs/sdk/models/shared/epcdata.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/epcdata.js +11 -5
- package/dist/commonjs/sdk/models/shared/epcdata.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/errorresponse.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/errorresponse.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/errorresponse.js +1 -1
- package/dist/commonjs/sdk/models/shared/errorresponse.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/healthresponse.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/healthresponse.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/healthresponse.js +1 -1
- package/dist/commonjs/sdk/models/shared/healthresponse.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/index.d.ts +11 -0
- package/dist/commonjs/sdk/models/shared/index.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/index.js +11 -0
- package/dist/commonjs/sdk/models/shared/index.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/lease.d.ts +47 -0
- package/dist/commonjs/sdk/models/shared/lease.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/shared/lease.js +76 -0
- package/dist/commonjs/sdk/models/shared/lease.js.map +1 -0
- package/dist/commonjs/sdk/models/shared/listing.d.ts +312 -0
- package/dist/commonjs/sdk/models/shared/listing.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/shared/listing.js +280 -0
- package/dist/commonjs/sdk/models/shared/listing.js.map +1 -0
- package/dist/commonjs/sdk/models/shared/listingimage.d.ts +32 -0
- package/dist/commonjs/sdk/models/shared/listingimage.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/shared/listingimage.js +69 -0
- package/dist/commonjs/sdk/models/shared/listingimage.js.map +1 -0
- package/dist/commonjs/sdk/models/shared/listingpricechange.d.ts +87 -0
- package/dist/commonjs/sdk/models/shared/listingpricechange.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/shared/listingpricechange.js +101 -0
- package/dist/commonjs/sdk/models/shared/listingpricechange.js.map +1 -0
- package/dist/commonjs/sdk/models/shared/marketstatus.d.ts +210 -14
- package/dist/commonjs/sdk/models/shared/marketstatus.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/marketstatus.js +158 -12
- package/dist/commonjs/sdk/models/shared/marketstatus.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/planningapplication.d.ts +9 -9
- package/dist/commonjs/sdk/models/shared/planningapplication.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/planningapplication.js +14 -15
- package/dist/commonjs/sdk/models/shared/planningapplication.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/planninglistresponse.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/planninglistresponse.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/planninglistresponse.js +1 -1
- package/dist/commonjs/sdk/models/shared/planninglistresponse.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/planningqueryfilters.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/planningqueryfilters.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/planningqueryfilters.js +1 -1
- package/dist/commonjs/sdk/models/shared/planningqueryfilters.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/planningqueryrequest.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/planningqueryrequest.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/planningqueryrequest.js +1 -1
- package/dist/commonjs/sdk/models/shared/planningqueryrequest.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/pricechange.d.ts +87 -0
- package/dist/commonjs/sdk/models/shared/pricechange.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/shared/pricechange.js +100 -0
- package/dist/commonjs/sdk/models/shared/pricechange.js.map +1 -0
- package/dist/commonjs/sdk/models/shared/pricingdata.d.ts +10 -15
- package/dist/commonjs/sdk/models/shared/pricingdata.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/pricingdata.js +11 -13
- package/dist/commonjs/sdk/models/shared/pricingdata.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertyaddress.d.ts +7 -32
- package/dist/commonjs/sdk/models/shared/propertyaddress.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertyaddress.js +7 -17
- package/dist/commonjs/sdk/models/shared/propertyaddress.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertyareafilter.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/propertyareafilter.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertyareafilter.js +1 -1
- package/dist/commonjs/sdk/models/shared/propertyareafilter.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertybyslugsrequest.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/propertybyslugsrequest.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertybyslugsrequest.js +1 -1
- package/dist/commonjs/sdk/models/shared/propertybyslugsrequest.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertydata.d.ts +364 -121
- package/dist/commonjs/sdk/models/shared/propertydata.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertydata.js +289 -60
- package/dist/commonjs/sdk/models/shared/propertydata.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertylistresponse.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/propertylistresponse.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertylistresponse.js +1 -1
- package/dist/commonjs/sdk/models/shared/propertylistresponse.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertylocationidareafilter.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/propertylocationidareafilter.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertylocationidareafilter.js +1 -1
- package/dist/commonjs/sdk/models/shared/propertylocationidareafilter.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertymultipolygonareafilter.d.ts +9 -9
- package/dist/commonjs/sdk/models/shared/propertymultipolygonareafilter.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertymultipolygonareafilter.js +14 -14
- package/dist/commonjs/sdk/models/shared/propertymultipolygonareafilter.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertyonstreet.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/propertyonstreet.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertyonstreet.js +1 -1
- package/dist/commonjs/sdk/models/shared/propertyonstreet.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertyoutcodeareafilter.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/propertyoutcodeareafilter.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertyoutcodeareafilter.js +1 -1
- package/dist/commonjs/sdk/models/shared/propertyoutcodeareafilter.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertypointareafilter.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/propertypointareafilter.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertypointareafilter.js +1 -1
- package/dist/commonjs/sdk/models/shared/propertypointareafilter.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertypolygonareafilter.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/propertypolygonareafilter.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertypolygonareafilter.js +1 -1
- package/dist/commonjs/sdk/models/shared/propertypolygonareafilter.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertypostcodeareafilter.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/propertypostcodeareafilter.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertypostcodeareafilter.js +1 -1
- package/dist/commonjs/sdk/models/shared/propertypostcodeareafilter.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertyquerycondition.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/propertyquerycondition.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertyquerycondition.js +1 -1
- package/dist/commonjs/sdk/models/shared/propertyquerycondition.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertyquerygroup.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/propertyquerygroup.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertyquerygroup.js +1 -1
- package/dist/commonjs/sdk/models/shared/propertyquerygroup.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertyqueryoperator.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/propertyqueryoperator.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertyqueryoperator.js +1 -1
- package/dist/commonjs/sdk/models/shared/propertyqueryoperator.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertyqueryrequest.d.ts +234 -1
- package/dist/commonjs/sdk/models/shared/propertyqueryrequest.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertyqueryrequest.js +147 -2
- package/dist/commonjs/sdk/models/shared/propertyqueryrequest.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertytags.d.ts +43 -13
- package/dist/commonjs/sdk/models/shared/propertytags.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/propertytags.js +27 -15
- package/dist/commonjs/sdk/models/shared/propertytags.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/refurbishmentdata.d.ts +67 -0
- package/dist/commonjs/sdk/models/shared/refurbishmentdata.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/shared/refurbishmentdata.js +93 -0
- package/dist/commonjs/sdk/models/shared/refurbishmentdata.js.map +1 -0
- package/dist/commonjs/sdk/models/shared/roomdetails.d.ts +5 -10
- package/dist/commonjs/sdk/models/shared/roomdetails.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/roomdetails.js +5 -7
- package/dist/commonjs/sdk/models/shared/roomdetails.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/salerecord.d.ts +9 -14
- package/dist/commonjs/sdk/models/shared/salerecord.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/salerecord.js +7 -9
- package/dist/commonjs/sdk/models/shared/salerecord.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/school.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/school.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/school.js +1 -1
- package/dist/commonjs/sdk/models/shared/school.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/security.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/security.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/security.js +1 -1
- package/dist/commonjs/sdk/models/shared/security.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/streetdescriptor.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/streetdescriptor.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/streetdescriptor.js +1 -1
- package/dist/commonjs/sdk/models/shared/streetdescriptor.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/streetdetails.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/streetdetails.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/streetdetails.js +1 -1
- package/dist/commonjs/sdk/models/shared/streetdetails.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/streetquerybycoordinates.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/streetquerybycoordinates.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/streetquerybycoordinates.js +1 -1
- package/dist/commonjs/sdk/models/shared/streetquerybycoordinates.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/streetquerybyname.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/streetquerybyname.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/streetquerybyname.js +1 -1
- package/dist/commonjs/sdk/models/shared/streetquerybyname.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/streetquerybypostcode.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/streetquerybypostcode.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/streetquerybypostcode.js +1 -1
- package/dist/commonjs/sdk/models/shared/streetquerybypostcode.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/streetquerybyuprn.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/streetquerybyuprn.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/streetquerybyuprn.js +1 -1
- package/dist/commonjs/sdk/models/shared/streetquerybyuprn.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/streetquerybyusrn.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/streetquerybyusrn.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/streetquerybyusrn.js +1 -1
- package/dist/commonjs/sdk/models/shared/streetquerybyusrn.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/streetqueryrequest.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/streetqueryrequest.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/streetqueryrequest.js +1 -1
- package/dist/commonjs/sdk/models/shared/streetqueryrequest.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/streetqueryresponse.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/streetqueryresponse.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/streetqueryresponse.js +1 -1
- package/dist/commonjs/sdk/models/shared/streetqueryresponse.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/streetstatistics.d.ts +1 -1
- package/dist/commonjs/sdk/models/shared/streetstatistics.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/streetstatistics.js +1 -1
- package/dist/commonjs/sdk/models/shared/streetstatistics.js.map +1 -1
- package/dist/commonjs/sdk/models/shared/tenancydata.d.ts +37 -0
- package/dist/commonjs/sdk/models/shared/tenancydata.d.ts.map +1 -0
- package/dist/commonjs/sdk/models/shared/tenancydata.js +71 -0
- package/dist/commonjs/sdk/models/shared/tenancydata.js.map +1 -0
- package/dist/commonjs/sdk/models/shared/tenuredata.d.ts +3 -18
- package/dist/commonjs/sdk/models/shared/tenuredata.d.ts.map +1 -1
- package/dist/commonjs/sdk/models/shared/tenuredata.js +3 -9
- package/dist/commonjs/sdk/models/shared/tenuredata.js.map +1 -1
- package/dist/commonjs/sdk/poi.d.ts +30 -0
- package/dist/commonjs/sdk/poi.d.ts.map +1 -0
- package/dist/commonjs/sdk/poi.js +44 -0
- package/dist/commonjs/sdk/poi.js.map +1 -0
- package/dist/commonjs/sdk/schools.d.ts +14 -0
- package/dist/commonjs/sdk/schools.d.ts.map +1 -1
- package/dist/commonjs/sdk/schools.js +20 -0
- package/dist/commonjs/sdk/schools.js.map +1 -1
- package/dist/commonjs/sdk/sdk.d.ts +27 -9
- package/dist/commonjs/sdk/sdk.d.ts.map +1 -1
- package/dist/commonjs/sdk/sdk.js +34 -10
- package/dist/commonjs/sdk/sdk.js.map +1 -1
- package/dist/{esm/sdk/location.d.ts → commonjs/sdk/streets.d.ts} +2 -2
- package/dist/commonjs/sdk/streets.d.ts.map +1 -0
- package/dist/commonjs/sdk/{location.js → streets.js} +6 -6
- package/dist/commonjs/sdk/streets.js.map +1 -0
- package/dist/commonjs/sdk/system.d.ts +48 -0
- package/dist/commonjs/sdk/system.d.ts.map +1 -0
- package/dist/commonjs/sdk/system.js +72 -0
- package/dist/commonjs/sdk/system.js.map +1 -0
- package/dist/commonjs/sdk/types/blobs.d.ts +1 -1
- package/dist/commonjs/sdk/types/blobs.d.ts.map +1 -1
- package/dist/commonjs/sdk/types/blobs.js +1 -1
- package/dist/commonjs/sdk/types/blobs.js.map +1 -1
- package/dist/commonjs/sdk/types/constdatetime.d.ts +1 -1
- package/dist/commonjs/sdk/types/constdatetime.d.ts.map +1 -1
- package/dist/commonjs/sdk/types/constdatetime.js +1 -1
- package/dist/commonjs/sdk/types/constdatetime.js.map +1 -1
- package/dist/esm/funcs/addressResolveAddress.d.ts +17 -0
- package/dist/esm/funcs/addressResolveAddress.d.ts.map +1 -0
- package/dist/esm/funcs/addressResolveAddress.js +80 -0
- package/dist/esm/funcs/addressResolveAddress.js.map +1 -0
- package/dist/esm/funcs/areasGetAreas.d.ts +17 -0
- package/dist/esm/funcs/areasGetAreas.d.ts.map +1 -0
- package/dist/esm/funcs/areasGetAreas.js +96 -0
- package/dist/esm/funcs/areasGetAreas.js.map +1 -0
- package/dist/esm/funcs/areasGetAreasWithin.d.ts +17 -0
- package/dist/esm/funcs/areasGetAreasWithin.d.ts.map +1 -0
- package/dist/esm/funcs/areasGetAreasWithin.js +86 -0
- package/dist/esm/funcs/areasGetAreasWithin.js.map +1 -0
- package/dist/esm/funcs/areasGetBorderingAreas.d.ts +17 -0
- package/dist/esm/funcs/areasGetBorderingAreas.d.ts.map +1 -0
- package/dist/esm/funcs/areasGetBorderingAreas.js +95 -0
- package/dist/esm/funcs/areasGetBorderingAreas.js.map +1 -0
- package/dist/esm/funcs/areasGetChildAreas.d.ts +17 -0
- package/dist/esm/funcs/areasGetChildAreas.d.ts.map +1 -0
- package/dist/esm/funcs/areasGetChildAreas.js +88 -0
- package/dist/esm/funcs/areasGetChildAreas.js.map +1 -0
- package/dist/esm/funcs/connectivityGetConnectivityScores.d.ts +17 -0
- package/dist/esm/funcs/connectivityGetConnectivityScores.d.ts.map +1 -0
- package/dist/esm/funcs/connectivityGetConnectivityScores.js +95 -0
- package/dist/esm/funcs/connectivityGetConnectivityScores.js.map +1 -0
- package/dist/esm/funcs/epcGetEPC.d.ts +17 -0
- package/dist/esm/funcs/epcGetEPC.d.ts.map +1 -0
- package/dist/esm/funcs/epcGetEPC.js +83 -0
- package/dist/esm/funcs/epcGetEPC.js.map +1 -0
- package/dist/esm/funcs/epcGetEPCByPostcode.d.ts +17 -0
- package/dist/esm/funcs/epcGetEPCByPostcode.d.ts.map +1 -0
- package/dist/esm/funcs/epcGetEPCByPostcode.js +83 -0
- package/dist/esm/funcs/epcGetEPCByPostcode.js.map +1 -0
- package/dist/esm/funcs/listingsGetListingById.d.ts +17 -0
- package/dist/esm/funcs/listingsGetListingById.d.ts.map +1 -0
- package/dist/esm/funcs/listingsGetListingById.js +83 -0
- package/dist/esm/funcs/listingsGetListingById.js.map +1 -0
- package/dist/esm/funcs/listingsGetListingBySource.d.ts +17 -0
- package/dist/esm/funcs/listingsGetListingBySource.d.ts.map +1 -0
- package/dist/esm/funcs/listingsGetListingBySource.js +91 -0
- package/dist/esm/funcs/listingsGetListingBySource.js.map +1 -0
- package/dist/esm/funcs/listingsGetListingsByLocation.d.ts +17 -0
- package/dist/esm/funcs/listingsGetListingsByLocation.d.ts.map +1 -0
- package/dist/esm/funcs/listingsGetListingsByLocation.js +87 -0
- package/dist/esm/funcs/listingsGetListingsByLocation.js.map +1 -0
- package/dist/esm/funcs/listingsQueryListings.d.ts +17 -0
- package/dist/esm/funcs/listingsQueryListings.d.ts.map +1 -0
- package/dist/esm/funcs/listingsQueryListings.js +80 -0
- package/dist/esm/funcs/listingsQueryListings.js.map +1 -0
- package/dist/esm/funcs/listingsQueryListingsBySource.d.ts +17 -0
- package/dist/esm/funcs/listingsQueryListingsBySource.d.ts.map +1 -0
- package/dist/esm/funcs/listingsQueryListingsBySource.js +81 -0
- package/dist/esm/funcs/listingsQueryListingsBySource.js.map +1 -0
- package/dist/esm/funcs/metricsGetMetricValues.d.ts +17 -0
- package/dist/esm/funcs/metricsGetMetricValues.d.ts.map +1 -0
- package/dist/esm/funcs/metricsGetMetricValues.js +92 -0
- package/dist/esm/funcs/metricsGetMetricValues.js.map +1 -0
- package/dist/esm/funcs/planningGetPlanningApplications.js +1 -1
- package/dist/esm/funcs/planningGetPlanningApplications.js.map +1 -1
- package/dist/esm/funcs/planningGetPlanningApplicationsBySource.js +1 -1
- package/dist/esm/funcs/planningGetPlanningApplicationsBySource.js.map +1 -1
- package/dist/esm/funcs/planningSearchPlanningApplications.js +1 -1
- package/dist/esm/funcs/planningSearchPlanningApplications.js.map +1 -1
- package/dist/esm/funcs/poiGetNearestPOI.d.ts +17 -0
- package/dist/esm/funcs/poiGetNearestPOI.d.ts.map +1 -0
- package/dist/esm/funcs/poiGetNearestPOI.js +86 -0
- package/dist/esm/funcs/poiGetNearestPOI.js.map +1 -0
- package/dist/esm/funcs/poiGetPOIMultipleTiles.d.ts +17 -0
- package/dist/esm/funcs/poiGetPOIMultipleTiles.d.ts.map +1 -0
- package/dist/esm/funcs/poiGetPOIMultipleTiles.js +82 -0
- package/dist/esm/funcs/poiGetPOIMultipleTiles.js.map +1 -0
- package/dist/esm/funcs/poiGetPOITile.d.ts +23 -0
- package/dist/esm/funcs/poiGetPOITile.d.ts.map +1 -0
- package/dist/esm/funcs/poiGetPOITile.js +103 -0
- package/dist/esm/funcs/poiGetPOITile.js.map +1 -0
- package/dist/esm/funcs/propertyGetProperties.js +1 -1
- package/dist/esm/funcs/propertyGetProperties.js.map +1 -1
- package/dist/esm/funcs/propertyGetPropertiesByLocation.js +1 -1
- package/dist/esm/funcs/propertyGetPropertiesByLocation.js.map +1 -1
- package/dist/esm/funcs/propertyGetPropertiesBySlugs.js +1 -1
- package/dist/esm/funcs/propertyGetPropertiesBySlugs.js.map +1 -1
- package/dist/esm/funcs/propertyGetPropertiesBySource.js +1 -1
- package/dist/esm/funcs/propertyGetPropertiesBySource.js.map +1 -1
- package/dist/esm/funcs/propertySearchProperties.js +1 -1
- package/dist/esm/funcs/propertySearchProperties.js.map +1 -1
- package/dist/esm/funcs/safetyGetV1SafetyCrime.js +1 -1
- package/dist/esm/funcs/safetyGetV1SafetyCrime.js.map +1 -1
- package/dist/esm/funcs/safetyGetV1SafetyCrimeStats.js +1 -1
- package/dist/esm/funcs/safetyGetV1SafetyCrimeStats.js.map +1 -1
- package/dist/esm/funcs/schoolsGet.js +1 -1
- package/dist/esm/funcs/schoolsGet.js.map +1 -1
- package/dist/esm/funcs/schoolsGetBySlug.js +1 -1
- package/dist/esm/funcs/schoolsGetBySlug.js.map +1 -1
- package/dist/esm/funcs/schoolsGetByUrn.js +1 -1
- package/dist/esm/funcs/schoolsGetByUrn.js.map +1 -1
- package/dist/esm/funcs/{schoolMetricsGetMetrics.d.ts → schoolsGetMetrics.d.ts} +2 -2
- package/dist/esm/funcs/schoolsGetMetrics.d.ts.map +1 -0
- package/dist/esm/funcs/{schoolMetricsGetMetrics.js → schoolsGetMetrics.js} +3 -3
- package/dist/esm/funcs/schoolsGetMetrics.js.map +1 -0
- package/dist/esm/funcs/schoolsList.js +1 -1
- package/dist/esm/funcs/schoolsList.js.map +1 -1
- package/dist/esm/funcs/{schoolMetricsListProfiles.d.ts → schoolsListProfiles.d.ts} +2 -2
- package/dist/esm/funcs/schoolsListProfiles.d.ts.map +1 -0
- package/dist/esm/funcs/{schoolMetricsListProfiles.js → schoolsListProfiles.js} +3 -3
- package/dist/esm/funcs/schoolsListProfiles.js.map +1 -0
- package/dist/esm/funcs/schoolsSearchNearby.js +1 -1
- package/dist/esm/funcs/schoolsSearchNearby.js.map +1 -1
- package/dist/esm/funcs/schoolsSearchWithin.js +1 -1
- package/dist/esm/funcs/schoolsSearchWithin.js.map +1 -1
- package/dist/{commonjs/funcs/locationSearchStreets.d.ts → esm/funcs/streetsSearchStreets.d.ts} +2 -2
- package/dist/esm/funcs/streetsSearchStreets.d.ts.map +1 -0
- package/dist/esm/funcs/{locationSearchStreets.js → streetsSearchStreets.js} +3 -3
- package/dist/esm/funcs/streetsSearchStreets.js.map +1 -0
- package/dist/esm/funcs/systemCheckAreaReferenceHealth.d.ts +17 -0
- package/dist/esm/funcs/systemCheckAreaReferenceHealth.d.ts.map +1 -0
- package/dist/esm/funcs/systemCheckAreaReferenceHealth.js +68 -0
- package/dist/esm/funcs/systemCheckAreaReferenceHealth.js.map +1 -0
- package/dist/esm/funcs/systemCheckEPCHealth.d.ts +17 -0
- package/dist/esm/funcs/systemCheckEPCHealth.d.ts.map +1 -0
- package/dist/esm/funcs/systemCheckEPCHealth.js +68 -0
- package/dist/esm/funcs/systemCheckEPCHealth.js.map +1 -0
- package/dist/esm/funcs/systemCheckListingsHealth.d.ts +17 -0
- package/dist/{commonjs/funcs/schoolMetricsListProfiles.d.ts.map → esm/funcs/systemCheckListingsHealth.d.ts.map} +1 -1
- package/dist/esm/funcs/systemCheckListingsHealth.js +68 -0
- package/dist/esm/funcs/{schoolMetricsListProfiles.js.map → systemCheckListingsHealth.js.map} +1 -1
- package/dist/esm/funcs/{healthCheckLocationHealth.d.ts → systemCheckLocationHealth.d.ts} +2 -2
- package/dist/esm/funcs/{healthCheckLocationHealth.d.ts.map → systemCheckLocationHealth.d.ts.map} +1 -1
- package/dist/esm/funcs/{healthCheckLocationHealth.js → systemCheckLocationHealth.js} +3 -3
- package/dist/esm/funcs/{healthCheckLocationHealth.js.map → systemCheckLocationHealth.js.map} +1 -1
- package/dist/{commonjs/funcs/healthCheckPlanningHealth.d.ts → esm/funcs/systemCheckPlanningHealth.d.ts} +2 -2
- package/dist/esm/funcs/systemCheckPlanningHealth.d.ts.map +1 -0
- package/dist/esm/funcs/{healthCheckPlanningHealth.js → systemCheckPlanningHealth.js} +3 -3
- package/dist/esm/funcs/{healthCheckPlanningHealth.js.map → systemCheckPlanningHealth.js.map} +1 -1
- package/dist/{commonjs/funcs/healthCheckPropertyHealth.d.ts → esm/funcs/systemCheckPropertyHealth.d.ts} +2 -2
- package/dist/esm/funcs/systemCheckPropertyHealth.d.ts.map +1 -0
- package/dist/esm/funcs/{healthCheckPropertyHealth.js → systemCheckPropertyHealth.js} +3 -3
- package/dist/esm/funcs/{healthCheckPropertyHealth.js.map → systemCheckPropertyHealth.js.map} +1 -1
- package/dist/esm/lib/base64.d.ts +1 -1
- package/dist/esm/lib/base64.d.ts.map +1 -1
- package/dist/esm/lib/base64.js +1 -1
- package/dist/esm/lib/base64.js.map +1 -1
- package/dist/esm/lib/config.d.ts +4 -4
- package/dist/esm/lib/config.js +4 -4
- package/dist/esm/lib/config.js.map +1 -1
- package/dist/esm/lib/schemas.d.ts +1 -1
- package/dist/esm/lib/schemas.d.ts.map +1 -1
- package/dist/esm/lib/schemas.js +1 -1
- package/dist/esm/lib/schemas.js.map +1 -1
- package/dist/esm/sdk/address.d.ts +12 -0
- package/dist/esm/sdk/address.d.ts.map +1 -0
- package/dist/esm/sdk/address.js +18 -0
- package/dist/esm/sdk/address.js.map +1 -0
- package/dist/esm/sdk/areas.d.ts +33 -0
- package/dist/esm/sdk/areas.d.ts.map +1 -0
- package/dist/esm/sdk/areas.js +48 -0
- package/dist/esm/sdk/areas.js.map +1 -0
- package/dist/esm/sdk/connectivity.d.ts +12 -0
- package/dist/esm/sdk/connectivity.d.ts.map +1 -0
- package/dist/esm/sdk/connectivity.js +18 -0
- package/dist/esm/sdk/connectivity.js.map +1 -0
- package/dist/esm/sdk/epc.d.ts +19 -0
- package/dist/esm/sdk/epc.d.ts.map +1 -0
- package/dist/esm/sdk/epc.js +28 -0
- package/dist/esm/sdk/epc.js.map +1 -0
- package/dist/esm/sdk/listings.d.ts +40 -0
- package/dist/esm/sdk/listings.d.ts.map +1 -0
- package/dist/esm/sdk/listings.js +58 -0
- package/dist/esm/sdk/listings.js.map +1 -0
- package/dist/esm/sdk/metrics.d.ts +12 -0
- package/dist/esm/sdk/metrics.d.ts.map +1 -0
- package/dist/esm/sdk/metrics.js +18 -0
- package/dist/esm/sdk/metrics.js.map +1 -0
- package/dist/esm/sdk/models/errors/responsevalidationerror.js +1 -1
- package/dist/esm/sdk/models/errors/responsevalidationerror.js.map +1 -1
- package/dist/esm/sdk/models/errors/sdkvalidationerror.d.ts +1 -1
- package/dist/esm/sdk/models/errors/sdkvalidationerror.d.ts.map +1 -1
- package/dist/esm/sdk/models/errors/sdkvalidationerror.js +1 -1
- package/dist/esm/sdk/models/errors/sdkvalidationerror.js.map +1 -1
- package/dist/esm/sdk/models/operations/checkareareferencehealth.d.ts +36 -0
- package/dist/esm/sdk/models/operations/checkareareferencehealth.d.ts.map +1 -0
- package/dist/esm/sdk/models/operations/checkareareferencehealth.js +35 -0
- package/dist/esm/sdk/models/operations/checkareareferencehealth.js.map +1 -0
- package/dist/esm/sdk/models/operations/checkepchealth.d.ts +36 -0
- package/dist/esm/sdk/models/operations/checkepchealth.d.ts.map +1 -0
- package/dist/esm/sdk/models/operations/checkepchealth.js +35 -0
- package/dist/esm/sdk/models/operations/checkepchealth.js.map +1 -0
- package/dist/esm/sdk/models/operations/checklistingshealth.d.ts +36 -0
- package/dist/esm/sdk/models/operations/checklistingshealth.d.ts.map +1 -0
- package/dist/esm/sdk/models/operations/checklistingshealth.js +35 -0
- package/dist/esm/sdk/models/operations/checklistingshealth.js.map +1 -0
- package/dist/esm/sdk/models/operations/getareasbyfieldandids.d.ts +445 -0
- package/dist/esm/sdk/models/operations/getareasbyfieldandids.d.ts.map +1 -0
- package/dist/esm/sdk/models/operations/getareasbyfieldandids.js +305 -0
- package/dist/esm/sdk/models/operations/getareasbyfieldandids.js.map +1 -0
- package/dist/esm/sdk/models/operations/getareaswithinradius.d.ts +492 -0
- package/dist/esm/sdk/models/operations/getareaswithinradius.d.ts.map +1 -0
- package/dist/esm/sdk/models/operations/getareaswithinradius.js +328 -0
- package/dist/esm/sdk/models/operations/getareaswithinradius.js.map +1 -0
- package/dist/esm/sdk/models/operations/getborderingareas.d.ts +658 -0
- package/dist/esm/sdk/models/operations/getborderingareas.d.ts.map +1 -0
- package/dist/esm/sdk/models/operations/getborderingareas.js +434 -0
- package/dist/esm/sdk/models/operations/getborderingareas.js.map +1 -0
- package/dist/esm/sdk/models/operations/getchildareas.d.ts +653 -0
- package/dist/esm/sdk/models/operations/getchildareas.d.ts.map +1 -0
- package/dist/esm/sdk/models/operations/getchildareas.js +432 -0
- package/dist/esm/sdk/models/operations/getchildareas.js.map +1 -0
- package/dist/esm/sdk/models/operations/getconnectivityscores.d.ts +2213 -0
- package/dist/esm/sdk/models/operations/getconnectivityscores.d.ts.map +1 -0
- package/dist/esm/sdk/models/operations/getconnectivityscores.js +1512 -0
- package/dist/esm/sdk/models/operations/getconnectivityscores.js.map +1 -0
- package/dist/esm/sdk/models/operations/getepcbylocationid.d.ts +310 -0
- package/dist/esm/sdk/models/operations/getepcbylocationid.d.ts.map +1 -0
- package/dist/esm/sdk/models/operations/getepcbylocationid.js +269 -0
- package/dist/esm/sdk/models/operations/getepcbylocationid.js.map +1 -0
- package/dist/esm/sdk/models/operations/getepcbypostcode.d.ts +199 -0
- package/dist/esm/sdk/models/operations/getepcbypostcode.d.ts.map +1 -0
- package/dist/esm/sdk/models/operations/getepcbypostcode.js +178 -0
- package/dist/esm/sdk/models/operations/getepcbypostcode.js.map +1 -0
- package/dist/esm/sdk/models/operations/getlistingbyid.d.ts +1402 -0
- package/dist/esm/sdk/models/operations/getlistingbyid.d.ts.map +1 -0
- package/dist/esm/sdk/models/operations/getlistingbyid.js +971 -0
- package/dist/esm/sdk/models/operations/getlistingbyid.js.map +1 -0
- package/dist/esm/sdk/models/operations/getlistingbysource.d.ts +351 -0
- package/dist/esm/sdk/models/operations/getlistingbysource.d.ts.map +1 -0
- package/dist/esm/sdk/models/operations/getlistingbysource.js +294 -0
- package/dist/esm/sdk/models/operations/getlistingbysource.js.map +1 -0
- package/dist/esm/sdk/models/operations/getlistingsbylocation.d.ts +1335 -0
- package/dist/esm/sdk/models/operations/getlistingsbylocation.d.ts.map +1 -0
- package/dist/esm/sdk/models/operations/getlistingsbylocation.js +896 -0
- package/dist/esm/sdk/models/operations/getlistingsbylocation.js.map +1 -0
- package/dist/esm/sdk/models/operations/getmetricprofiles.d.ts +1 -1
- package/dist/esm/sdk/models/operations/getmetricprofiles.d.ts.map +1 -1
- package/dist/esm/sdk/models/operations/getmetricprofiles.js +1 -1
- package/dist/esm/sdk/models/operations/getmetricprofiles.js.map +1 -1
- package/dist/esm/sdk/models/operations/getmetricvalues.d.ts +608 -0
- package/dist/esm/sdk/models/operations/getmetricvalues.d.ts.map +1 -0
- package/dist/esm/sdk/models/operations/getmetricvalues.js +462 -0
- package/dist/esm/sdk/models/operations/getmetricvalues.js.map +1 -0
- package/dist/esm/sdk/models/operations/getnearestpoi.d.ts +393 -0
- package/dist/esm/sdk/models/operations/getnearestpoi.d.ts.map +1 -0
- package/dist/esm/sdk/models/operations/getnearestpoi.js +314 -0
- package/dist/esm/sdk/models/operations/getnearestpoi.js.map +1 -0
- package/dist/esm/sdk/models/operations/getplanningapplications.d.ts +1 -1
- package/dist/esm/sdk/models/operations/getplanningapplications.d.ts.map +1 -1
- package/dist/esm/sdk/models/operations/getplanningapplications.js +1 -1
- package/dist/esm/sdk/models/operations/getplanningapplications.js.map +1 -1
- package/dist/esm/sdk/models/operations/getplanningapplicationsbysource.d.ts +1 -1
- package/dist/esm/sdk/models/operations/getplanningapplicationsbysource.d.ts.map +1 -1
- package/dist/esm/sdk/models/operations/getplanningapplicationsbysource.js +1 -1
- package/dist/esm/sdk/models/operations/getplanningapplicationsbysource.js.map +1 -1
- package/dist/esm/sdk/models/operations/getpoimultipletiles.d.ts +587 -0
- package/dist/esm/sdk/models/operations/getpoimultipletiles.d.ts.map +1 -0
- package/dist/esm/sdk/models/operations/getpoimultipletiles.js +547 -0
- package/dist/esm/sdk/models/operations/getpoimultipletiles.js.map +1 -0
- package/dist/esm/sdk/models/operations/getpoitile.d.ts +465 -0
- package/dist/esm/sdk/models/operations/getpoitile.d.ts.map +1 -0
- package/dist/esm/sdk/models/operations/getpoitile.js +412 -0
- package/dist/esm/sdk/models/operations/getpoitile.js.map +1 -0
- package/dist/esm/sdk/models/operations/getproperties.d.ts +1 -1
- package/dist/esm/sdk/models/operations/getproperties.d.ts.map +1 -1
- package/dist/esm/sdk/models/operations/getproperties.js +1 -1
- package/dist/esm/sdk/models/operations/getproperties.js.map +1 -1
- package/dist/esm/sdk/models/operations/getpropertiesbylocation.d.ts +1 -1
- package/dist/esm/sdk/models/operations/getpropertiesbylocation.d.ts.map +1 -1
- package/dist/esm/sdk/models/operations/getpropertiesbylocation.js +1 -1
- package/dist/esm/sdk/models/operations/getpropertiesbylocation.js.map +1 -1
- package/dist/esm/sdk/models/operations/getpropertiesbyslugs.d.ts +1 -1
- package/dist/esm/sdk/models/operations/getpropertiesbyslugs.d.ts.map +1 -1
- package/dist/esm/sdk/models/operations/getpropertiesbyslugs.js +1 -1
- package/dist/esm/sdk/models/operations/getpropertiesbyslugs.js.map +1 -1
- package/dist/esm/sdk/models/operations/getpropertiesbysource.d.ts +1 -1
- package/dist/esm/sdk/models/operations/getpropertiesbysource.d.ts.map +1 -1
- package/dist/esm/sdk/models/operations/getpropertiesbysource.js +1 -1
- package/dist/esm/sdk/models/operations/getpropertiesbysource.js.map +1 -1
- package/dist/esm/sdk/models/operations/getschoolbyid.d.ts +1 -10
- package/dist/esm/sdk/models/operations/getschoolbyid.d.ts.map +1 -1
- package/dist/esm/sdk/models/operations/getschoolbyid.js +1 -1
- package/dist/esm/sdk/models/operations/getschoolbyid.js.map +1 -1
- package/dist/esm/sdk/models/operations/getschoolbyslug.d.ts +1 -10
- package/dist/esm/sdk/models/operations/getschoolbyslug.d.ts.map +1 -1
- package/dist/esm/sdk/models/operations/getschoolbyslug.js +1 -1
- package/dist/esm/sdk/models/operations/getschoolbyslug.js.map +1 -1
- package/dist/esm/sdk/models/operations/getschoolbyurn.d.ts +1 -10
- package/dist/esm/sdk/models/operations/getschoolbyurn.d.ts.map +1 -1
- package/dist/esm/sdk/models/operations/getschoolbyurn.js +1 -1
- package/dist/esm/sdk/models/operations/getschoolbyurn.js.map +1 -1
- package/dist/esm/sdk/models/operations/getschoolmetrics.d.ts +66 -69
- package/dist/esm/sdk/models/operations/getschoolmetrics.d.ts.map +1 -1
- package/dist/esm/sdk/models/operations/getschoolmetrics.js +77 -77
- package/dist/esm/sdk/models/operations/getschoolmetrics.js.map +1 -1
- package/dist/esm/sdk/models/operations/getv1safetycrime.d.ts +61 -61
- package/dist/esm/sdk/models/operations/getv1safetycrime.d.ts.map +1 -1
- package/dist/esm/sdk/models/operations/getv1safetycrime.js +61 -63
- package/dist/esm/sdk/models/operations/getv1safetycrime.js.map +1 -1
- package/dist/esm/sdk/models/operations/getv1safetycrimestats.d.ts +1 -1
- package/dist/esm/sdk/models/operations/getv1safetycrimestats.d.ts.map +1 -1
- package/dist/esm/sdk/models/operations/getv1safetycrimestats.js +1 -1
- package/dist/esm/sdk/models/operations/getv1safetycrimestats.js.map +1 -1
- package/dist/esm/sdk/models/operations/index.d.ts +20 -0
- package/dist/esm/sdk/models/operations/index.d.ts.map +1 -1
- package/dist/esm/sdk/models/operations/index.js +20 -0
- package/dist/esm/sdk/models/operations/index.js.map +1 -1
- package/dist/esm/sdk/models/operations/listschools.d.ts +1 -31
- package/dist/esm/sdk/models/operations/listschools.d.ts.map +1 -1
- package/dist/esm/sdk/models/operations/listschools.js +1 -1
- package/dist/esm/sdk/models/operations/listschools.js.map +1 -1
- package/dist/esm/sdk/models/operations/querylistings.d.ts +1544 -0
- package/dist/esm/sdk/models/operations/querylistings.d.ts.map +1 -0
- package/dist/esm/sdk/models/operations/querylistings.js +1046 -0
- package/dist/esm/sdk/models/operations/querylistings.js.map +1 -0
- package/dist/esm/sdk/models/operations/querylistingsbysource.d.ts +1420 -0
- package/dist/esm/sdk/models/operations/querylistingsbysource.d.ts.map +1 -0
- package/dist/esm/sdk/models/operations/querylistingsbysource.js +968 -0
- package/dist/esm/sdk/models/operations/querylistingsbysource.js.map +1 -0
- package/dist/esm/sdk/models/operations/resolveaddress.d.ts +580 -0
- package/dist/esm/sdk/models/operations/resolveaddress.d.ts.map +1 -0
- package/dist/esm/sdk/models/operations/resolveaddress.js +423 -0
- package/dist/esm/sdk/models/operations/resolveaddress.js.map +1 -0
- package/dist/esm/sdk/models/operations/searchplanningapplications.d.ts +1 -1
- package/dist/esm/sdk/models/operations/searchplanningapplications.d.ts.map +1 -1
- package/dist/esm/sdk/models/operations/searchplanningapplications.js +1 -1
- package/dist/esm/sdk/models/operations/searchplanningapplications.js.map +1 -1
- package/dist/esm/sdk/models/operations/searchproperties.d.ts +1 -1
- package/dist/esm/sdk/models/operations/searchproperties.d.ts.map +1 -1
- package/dist/esm/sdk/models/operations/searchproperties.js +1 -1
- package/dist/esm/sdk/models/operations/searchproperties.js.map +1 -1
- package/dist/esm/sdk/models/operations/searchschoolsnearby.d.ts +1 -25
- package/dist/esm/sdk/models/operations/searchschoolsnearby.d.ts.map +1 -1
- package/dist/esm/sdk/models/operations/searchschoolsnearby.js +1 -1
- package/dist/esm/sdk/models/operations/searchschoolsnearby.js.map +1 -1
- package/dist/esm/sdk/models/operations/searchschoolswithin.d.ts +1 -28
- package/dist/esm/sdk/models/operations/searchschoolswithin.d.ts.map +1 -1
- package/dist/esm/sdk/models/operations/searchschoolswithin.js +1 -1
- package/dist/esm/sdk/models/operations/searchschoolswithin.js.map +1 -1
- package/dist/esm/sdk/models/operations/searchstreets.d.ts +1 -1
- package/dist/esm/sdk/models/operations/searchstreets.d.ts.map +1 -1
- package/dist/esm/sdk/models/operations/searchstreets.js +1 -1
- package/dist/esm/sdk/models/operations/searchstreets.js.map +1 -1
- package/dist/esm/sdk/models/shared/builddata.d.ts +123 -0
- package/dist/esm/sdk/models/shared/builddata.d.ts.map +1 -0
- package/dist/esm/sdk/models/shared/builddata.js +82 -0
- package/dist/esm/sdk/models/shared/builddata.js.map +1 -0
- package/dist/esm/sdk/models/shared/chargeentry.d.ts +62 -0
- package/dist/esm/sdk/models/shared/chargeentry.d.ts.map +1 -0
- package/dist/esm/sdk/models/shared/chargeentry.js +43 -0
- package/dist/esm/sdk/models/shared/chargeentry.js.map +1 -0
- package/dist/esm/sdk/models/shared/chargehistory.d.ts +53 -0
- package/dist/esm/sdk/models/shared/chargehistory.d.ts.map +1 -0
- package/dist/esm/sdk/models/shared/chargehistory.js +40 -0
- package/dist/esm/sdk/models/shared/chargehistory.js.map +1 -0
- package/dist/esm/sdk/models/shared/counciltaxbanddetails.d.ts +52 -0
- package/dist/esm/sdk/models/shared/counciltaxbanddetails.d.ts.map +1 -0
- package/dist/esm/sdk/models/shared/counciltaxbanddetails.js +39 -0
- package/dist/esm/sdk/models/shared/counciltaxbanddetails.js.map +1 -0
- package/dist/esm/sdk/models/shared/counciltaxdata.d.ts +30 -9
- package/dist/esm/sdk/models/shared/counciltaxdata.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/counciltaxdata.js +16 -7
- package/dist/esm/sdk/models/shared/counciltaxdata.js.map +1 -1
- package/dist/esm/sdk/models/shared/epcdata.d.ts +26 -11
- package/dist/esm/sdk/models/shared/epcdata.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/epcdata.js +11 -5
- package/dist/esm/sdk/models/shared/epcdata.js.map +1 -1
- package/dist/esm/sdk/models/shared/errorresponse.d.ts +1 -1
- package/dist/esm/sdk/models/shared/errorresponse.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/errorresponse.js +1 -1
- package/dist/esm/sdk/models/shared/errorresponse.js.map +1 -1
- package/dist/esm/sdk/models/shared/healthresponse.d.ts +1 -1
- package/dist/esm/sdk/models/shared/healthresponse.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/healthresponse.js +1 -1
- package/dist/esm/sdk/models/shared/healthresponse.js.map +1 -1
- package/dist/esm/sdk/models/shared/index.d.ts +11 -0
- package/dist/esm/sdk/models/shared/index.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/index.js +11 -0
- package/dist/esm/sdk/models/shared/index.js.map +1 -1
- package/dist/esm/sdk/models/shared/lease.d.ts +47 -0
- package/dist/esm/sdk/models/shared/lease.d.ts.map +1 -0
- package/dist/esm/sdk/models/shared/lease.js +38 -0
- package/dist/esm/sdk/models/shared/lease.js.map +1 -0
- package/dist/esm/sdk/models/shared/listing.d.ts +312 -0
- package/dist/esm/sdk/models/shared/listing.d.ts.map +1 -0
- package/dist/esm/sdk/models/shared/listing.js +236 -0
- package/dist/esm/sdk/models/shared/listing.js.map +1 -0
- package/dist/esm/sdk/models/shared/listingimage.d.ts +32 -0
- package/dist/esm/sdk/models/shared/listingimage.d.ts.map +1 -0
- package/dist/esm/sdk/models/shared/listingimage.js +31 -0
- package/dist/esm/sdk/models/shared/listingimage.js.map +1 -0
- package/dist/esm/sdk/models/shared/listingpricechange.d.ts +87 -0
- package/dist/esm/sdk/models/shared/listingpricechange.d.ts.map +1 -0
- package/dist/esm/sdk/models/shared/listingpricechange.js +63 -0
- package/dist/esm/sdk/models/shared/listingpricechange.js.map +1 -0
- package/dist/esm/sdk/models/shared/marketstatus.d.ts +210 -14
- package/dist/esm/sdk/models/shared/marketstatus.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/marketstatus.js +153 -11
- package/dist/esm/sdk/models/shared/marketstatus.js.map +1 -1
- package/dist/esm/sdk/models/shared/planningapplication.d.ts +9 -9
- package/dist/esm/sdk/models/shared/planningapplication.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/planningapplication.js +13 -14
- package/dist/esm/sdk/models/shared/planningapplication.js.map +1 -1
- package/dist/esm/sdk/models/shared/planninglistresponse.d.ts +1 -1
- package/dist/esm/sdk/models/shared/planninglistresponse.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/planninglistresponse.js +1 -1
- package/dist/esm/sdk/models/shared/planninglistresponse.js.map +1 -1
- package/dist/esm/sdk/models/shared/planningqueryfilters.d.ts +1 -1
- package/dist/esm/sdk/models/shared/planningqueryfilters.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/planningqueryfilters.js +1 -1
- package/dist/esm/sdk/models/shared/planningqueryfilters.js.map +1 -1
- package/dist/esm/sdk/models/shared/planningqueryrequest.d.ts +1 -1
- package/dist/esm/sdk/models/shared/planningqueryrequest.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/planningqueryrequest.js +1 -1
- package/dist/esm/sdk/models/shared/planningqueryrequest.js.map +1 -1
- package/dist/esm/sdk/models/shared/pricechange.d.ts +87 -0
- package/dist/esm/sdk/models/shared/pricechange.d.ts.map +1 -0
- package/dist/esm/sdk/models/shared/pricechange.js +62 -0
- package/dist/esm/sdk/models/shared/pricechange.js.map +1 -0
- package/dist/esm/sdk/models/shared/pricingdata.d.ts +10 -15
- package/dist/esm/sdk/models/shared/pricingdata.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/pricingdata.js +11 -13
- package/dist/esm/sdk/models/shared/pricingdata.js.map +1 -1
- package/dist/esm/sdk/models/shared/propertyaddress.d.ts +7 -32
- package/dist/esm/sdk/models/shared/propertyaddress.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/propertyaddress.js +7 -17
- package/dist/esm/sdk/models/shared/propertyaddress.js.map +1 -1
- package/dist/esm/sdk/models/shared/propertyareafilter.d.ts +1 -1
- package/dist/esm/sdk/models/shared/propertyareafilter.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/propertyareafilter.js +1 -1
- package/dist/esm/sdk/models/shared/propertyareafilter.js.map +1 -1
- package/dist/esm/sdk/models/shared/propertybyslugsrequest.d.ts +1 -1
- package/dist/esm/sdk/models/shared/propertybyslugsrequest.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/propertybyslugsrequest.js +1 -1
- package/dist/esm/sdk/models/shared/propertybyslugsrequest.js.map +1 -1
- package/dist/esm/sdk/models/shared/propertydata.d.ts +364 -121
- package/dist/esm/sdk/models/shared/propertydata.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/propertydata.js +278 -59
- package/dist/esm/sdk/models/shared/propertydata.js.map +1 -1
- package/dist/esm/sdk/models/shared/propertylistresponse.d.ts +1 -1
- package/dist/esm/sdk/models/shared/propertylistresponse.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/propertylistresponse.js +1 -1
- package/dist/esm/sdk/models/shared/propertylistresponse.js.map +1 -1
- package/dist/esm/sdk/models/shared/propertylocationidareafilter.d.ts +1 -1
- package/dist/esm/sdk/models/shared/propertylocationidareafilter.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/propertylocationidareafilter.js +1 -1
- package/dist/esm/sdk/models/shared/propertylocationidareafilter.js.map +1 -1
- package/dist/esm/sdk/models/shared/propertymultipolygonareafilter.d.ts +9 -9
- package/dist/esm/sdk/models/shared/propertymultipolygonareafilter.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/propertymultipolygonareafilter.js +13 -13
- package/dist/esm/sdk/models/shared/propertymultipolygonareafilter.js.map +1 -1
- package/dist/esm/sdk/models/shared/propertyonstreet.d.ts +1 -1
- package/dist/esm/sdk/models/shared/propertyonstreet.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/propertyonstreet.js +1 -1
- package/dist/esm/sdk/models/shared/propertyonstreet.js.map +1 -1
- package/dist/esm/sdk/models/shared/propertyoutcodeareafilter.d.ts +1 -1
- package/dist/esm/sdk/models/shared/propertyoutcodeareafilter.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/propertyoutcodeareafilter.js +1 -1
- package/dist/esm/sdk/models/shared/propertyoutcodeareafilter.js.map +1 -1
- package/dist/esm/sdk/models/shared/propertypointareafilter.d.ts +1 -1
- package/dist/esm/sdk/models/shared/propertypointareafilter.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/propertypointareafilter.js +1 -1
- package/dist/esm/sdk/models/shared/propertypointareafilter.js.map +1 -1
- package/dist/esm/sdk/models/shared/propertypolygonareafilter.d.ts +1 -1
- package/dist/esm/sdk/models/shared/propertypolygonareafilter.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/propertypolygonareafilter.js +1 -1
- package/dist/esm/sdk/models/shared/propertypolygonareafilter.js.map +1 -1
- package/dist/esm/sdk/models/shared/propertypostcodeareafilter.d.ts +1 -1
- package/dist/esm/sdk/models/shared/propertypostcodeareafilter.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/propertypostcodeareafilter.js +1 -1
- package/dist/esm/sdk/models/shared/propertypostcodeareafilter.js.map +1 -1
- package/dist/esm/sdk/models/shared/propertyquerycondition.d.ts +1 -1
- package/dist/esm/sdk/models/shared/propertyquerycondition.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/propertyquerycondition.js +1 -1
- package/dist/esm/sdk/models/shared/propertyquerycondition.js.map +1 -1
- package/dist/esm/sdk/models/shared/propertyquerygroup.d.ts +1 -1
- package/dist/esm/sdk/models/shared/propertyquerygroup.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/propertyquerygroup.js +1 -1
- package/dist/esm/sdk/models/shared/propertyquerygroup.js.map +1 -1
- package/dist/esm/sdk/models/shared/propertyqueryoperator.d.ts +1 -1
- package/dist/esm/sdk/models/shared/propertyqueryoperator.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/propertyqueryoperator.js +1 -1
- package/dist/esm/sdk/models/shared/propertyqueryoperator.js.map +1 -1
- package/dist/esm/sdk/models/shared/propertyqueryrequest.d.ts +234 -1
- package/dist/esm/sdk/models/shared/propertyqueryrequest.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/propertyqueryrequest.js +144 -1
- package/dist/esm/sdk/models/shared/propertyqueryrequest.js.map +1 -1
- package/dist/esm/sdk/models/shared/propertytags.d.ts +43 -13
- package/dist/esm/sdk/models/shared/propertytags.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/propertytags.js +27 -15
- package/dist/esm/sdk/models/shared/propertytags.js.map +1 -1
- package/dist/esm/sdk/models/shared/refurbishmentdata.d.ts +67 -0
- package/dist/esm/sdk/models/shared/refurbishmentdata.d.ts.map +1 -0
- package/dist/esm/sdk/models/shared/refurbishmentdata.js +55 -0
- package/dist/esm/sdk/models/shared/refurbishmentdata.js.map +1 -0
- package/dist/esm/sdk/models/shared/roomdetails.d.ts +5 -10
- package/dist/esm/sdk/models/shared/roomdetails.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/roomdetails.js +5 -7
- package/dist/esm/sdk/models/shared/roomdetails.js.map +1 -1
- package/dist/esm/sdk/models/shared/salerecord.d.ts +9 -14
- package/dist/esm/sdk/models/shared/salerecord.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/salerecord.js +7 -9
- package/dist/esm/sdk/models/shared/salerecord.js.map +1 -1
- package/dist/esm/sdk/models/shared/school.d.ts +1 -1
- package/dist/esm/sdk/models/shared/school.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/school.js +1 -1
- package/dist/esm/sdk/models/shared/school.js.map +1 -1
- package/dist/esm/sdk/models/shared/security.d.ts +1 -1
- package/dist/esm/sdk/models/shared/security.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/security.js +1 -1
- package/dist/esm/sdk/models/shared/security.js.map +1 -1
- package/dist/esm/sdk/models/shared/streetdescriptor.d.ts +1 -1
- package/dist/esm/sdk/models/shared/streetdescriptor.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/streetdescriptor.js +1 -1
- package/dist/esm/sdk/models/shared/streetdescriptor.js.map +1 -1
- package/dist/esm/sdk/models/shared/streetdetails.d.ts +1 -1
- package/dist/esm/sdk/models/shared/streetdetails.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/streetdetails.js +1 -1
- package/dist/esm/sdk/models/shared/streetdetails.js.map +1 -1
- package/dist/esm/sdk/models/shared/streetquerybycoordinates.d.ts +1 -1
- package/dist/esm/sdk/models/shared/streetquerybycoordinates.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/streetquerybycoordinates.js +1 -1
- package/dist/esm/sdk/models/shared/streetquerybycoordinates.js.map +1 -1
- package/dist/esm/sdk/models/shared/streetquerybyname.d.ts +1 -1
- package/dist/esm/sdk/models/shared/streetquerybyname.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/streetquerybyname.js +1 -1
- package/dist/esm/sdk/models/shared/streetquerybyname.js.map +1 -1
- package/dist/esm/sdk/models/shared/streetquerybypostcode.d.ts +1 -1
- package/dist/esm/sdk/models/shared/streetquerybypostcode.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/streetquerybypostcode.js +1 -1
- package/dist/esm/sdk/models/shared/streetquerybypostcode.js.map +1 -1
- package/dist/esm/sdk/models/shared/streetquerybyuprn.d.ts +1 -1
- package/dist/esm/sdk/models/shared/streetquerybyuprn.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/streetquerybyuprn.js +1 -1
- package/dist/esm/sdk/models/shared/streetquerybyuprn.js.map +1 -1
- package/dist/esm/sdk/models/shared/streetquerybyusrn.d.ts +1 -1
- package/dist/esm/sdk/models/shared/streetquerybyusrn.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/streetquerybyusrn.js +1 -1
- package/dist/esm/sdk/models/shared/streetquerybyusrn.js.map +1 -1
- package/dist/esm/sdk/models/shared/streetqueryrequest.d.ts +1 -1
- package/dist/esm/sdk/models/shared/streetqueryrequest.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/streetqueryrequest.js +1 -1
- package/dist/esm/sdk/models/shared/streetqueryrequest.js.map +1 -1
- package/dist/esm/sdk/models/shared/streetqueryresponse.d.ts +1 -1
- package/dist/esm/sdk/models/shared/streetqueryresponse.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/streetqueryresponse.js +1 -1
- package/dist/esm/sdk/models/shared/streetqueryresponse.js.map +1 -1
- package/dist/esm/sdk/models/shared/streetstatistics.d.ts +1 -1
- package/dist/esm/sdk/models/shared/streetstatistics.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/streetstatistics.js +1 -1
- package/dist/esm/sdk/models/shared/streetstatistics.js.map +1 -1
- package/dist/esm/sdk/models/shared/tenancydata.d.ts +37 -0
- package/dist/esm/sdk/models/shared/tenancydata.d.ts.map +1 -0
- package/dist/esm/sdk/models/shared/tenancydata.js +33 -0
- package/dist/esm/sdk/models/shared/tenancydata.js.map +1 -0
- package/dist/esm/sdk/models/shared/tenuredata.d.ts +3 -18
- package/dist/esm/sdk/models/shared/tenuredata.d.ts.map +1 -1
- package/dist/esm/sdk/models/shared/tenuredata.js +3 -9
- package/dist/esm/sdk/models/shared/tenuredata.js.map +1 -1
- package/dist/esm/sdk/poi.d.ts +30 -0
- package/dist/esm/sdk/poi.d.ts.map +1 -0
- package/dist/esm/sdk/poi.js +39 -0
- package/dist/esm/sdk/poi.js.map +1 -0
- package/dist/esm/sdk/schools.d.ts +14 -0
- package/dist/esm/sdk/schools.d.ts.map +1 -1
- package/dist/esm/sdk/schools.js +20 -0
- package/dist/esm/sdk/schools.js.map +1 -1
- package/dist/esm/sdk/sdk.d.ts +27 -9
- package/dist/esm/sdk/sdk.d.ts.map +1 -1
- package/dist/esm/sdk/sdk.js +34 -10
- package/dist/esm/sdk/sdk.js.map +1 -1
- package/dist/{commonjs/sdk/location.d.ts → esm/sdk/streets.d.ts} +2 -2
- package/dist/esm/sdk/streets.d.ts.map +1 -0
- package/dist/esm/sdk/{location.js → streets.js} +4 -4
- package/dist/esm/sdk/streets.js.map +1 -0
- package/dist/esm/sdk/system.d.ts +48 -0
- package/dist/esm/sdk/system.d.ts.map +1 -0
- package/dist/esm/sdk/system.js +68 -0
- package/dist/esm/sdk/system.js.map +1 -0
- package/dist/esm/sdk/types/blobs.d.ts +1 -1
- package/dist/esm/sdk/types/blobs.d.ts.map +1 -1
- package/dist/esm/sdk/types/blobs.js +1 -1
- package/dist/esm/sdk/types/blobs.js.map +1 -1
- package/dist/esm/sdk/types/constdatetime.d.ts +1 -1
- package/dist/esm/sdk/types/constdatetime.d.ts.map +1 -1
- package/dist/esm/sdk/types/constdatetime.js +1 -1
- package/dist/esm/sdk/types/constdatetime.js.map +1 -1
- package/examples/{healthCheckLocationHealth.example.ts → addressResolveAddress.example.ts} +2 -2
- package/jsr.json +1 -1
- package/openapi.json +1 -908
- package/package.json +2 -2
- package/src/funcs/addressResolveAddress.ts +166 -0
- package/src/funcs/areasGetAreas.ts +181 -0
- package/src/funcs/areasGetAreasWithin.ts +170 -0
- package/src/funcs/areasGetBorderingAreas.ts +181 -0
- package/src/funcs/areasGetChildAreas.ts +174 -0
- package/src/funcs/connectivityGetConnectivityScores.ts +182 -0
- package/src/funcs/epcGetEPC.ts +166 -0
- package/src/funcs/epcGetEPCByPostcode.ts +165 -0
- package/src/funcs/listingsGetListingById.ts +166 -0
- package/src/funcs/listingsGetListingBySource.ts +175 -0
- package/src/funcs/listingsGetListingsByLocation.ts +171 -0
- package/src/funcs/listingsQueryListings.ts +165 -0
- package/src/funcs/listingsQueryListingsBySource.ts +164 -0
- package/src/funcs/metricsGetMetricValues.ts +176 -0
- package/src/funcs/planningGetPlanningApplications.ts +1 -1
- package/src/funcs/planningGetPlanningApplicationsBySource.ts +1 -1
- package/src/funcs/planningSearchPlanningApplications.ts +1 -1
- package/src/funcs/poiGetNearestPOI.ts +169 -0
- package/src/funcs/poiGetPOIMultipleTiles.ts +166 -0
- package/src/funcs/poiGetPOITile.ts +190 -0
- package/src/funcs/propertyGetProperties.ts +1 -1
- package/src/funcs/propertyGetPropertiesByLocation.ts +1 -1
- package/src/funcs/propertyGetPropertiesBySlugs.ts +1 -1
- package/src/funcs/propertyGetPropertiesBySource.ts +1 -1
- package/src/funcs/propertySearchProperties.ts +1 -1
- package/src/funcs/safetyGetV1SafetyCrime.ts +1 -1
- package/src/funcs/safetyGetV1SafetyCrimeStats.ts +1 -1
- package/src/funcs/schoolsGet.ts +1 -1
- package/src/funcs/schoolsGetBySlug.ts +1 -1
- package/src/funcs/schoolsGetByUrn.ts +1 -1
- package/src/funcs/{schoolMetricsGetMetrics.ts → schoolsGetMetrics.ts} +2 -2
- package/src/funcs/schoolsList.ts +1 -1
- package/src/funcs/{schoolMetricsListProfiles.ts → schoolsListProfiles.ts} +2 -2
- package/src/funcs/schoolsSearchNearby.ts +1 -1
- package/src/funcs/schoolsSearchWithin.ts +1 -1
- package/src/funcs/{locationSearchStreets.ts → streetsSearchStreets.ts} +2 -2
- package/src/funcs/systemCheckAreaReferenceHealth.ts +140 -0
- package/src/funcs/systemCheckEPCHealth.ts +140 -0
- package/src/funcs/systemCheckListingsHealth.ts +140 -0
- package/src/funcs/{healthCheckLocationHealth.ts → systemCheckLocationHealth.ts} +2 -2
- package/src/funcs/{healthCheckPlanningHealth.ts → systemCheckPlanningHealth.ts} +2 -2
- package/src/funcs/{healthCheckPropertyHealth.ts → systemCheckPropertyHealth.ts} +2 -2
- package/src/lib/base64.ts +1 -1
- package/src/lib/config.ts +4 -4
- package/src/lib/schemas.ts +1 -1
- package/src/sdk/address.ts +27 -0
- package/src/sdk/areas.ts +81 -0
- package/src/sdk/connectivity.ts +27 -0
- package/src/sdk/epc.ts +45 -0
- package/src/sdk/listings.ts +99 -0
- package/src/sdk/metrics.ts +27 -0
- package/src/sdk/models/errors/responsevalidationerror.ts +1 -1
- package/src/sdk/models/errors/sdkvalidationerror.ts +1 -1
- package/src/sdk/models/operations/checkareareferencehealth.ts +82 -0
- package/src/sdk/models/operations/checkepchealth.ts +77 -0
- package/src/sdk/models/operations/checklistingshealth.ts +79 -0
- package/src/sdk/models/operations/getareasbyfieldandids.ts +796 -0
- package/src/sdk/models/operations/getareaswithinradius.ts +843 -0
- package/src/sdk/models/operations/getborderingareas.ts +1134 -0
- package/src/sdk/models/operations/getchildareas.ts +1106 -0
- package/src/sdk/models/operations/getconnectivityscores.ts +4272 -0
- package/src/sdk/models/operations/getepcbylocationid.ts +598 -0
- package/src/sdk/models/operations/getepcbypostcode.ts +397 -0
- package/src/sdk/models/operations/getlistingbyid.ts +2265 -0
- package/src/sdk/models/operations/getlistingbysource.ts +659 -0
- package/src/sdk/models/operations/getlistingsbylocation.ts +2263 -0
- package/src/sdk/models/operations/getmetricprofiles.ts +1 -1
- package/src/sdk/models/operations/getmetricvalues.ts +950 -0
- package/src/sdk/models/operations/getnearestpoi.ts +761 -0
- package/src/sdk/models/operations/getplanningapplications.ts +1 -1
- package/src/sdk/models/operations/getplanningapplicationsbysource.ts +1 -1
- package/src/sdk/models/operations/getpoimultipletiles.ts +1223 -0
- package/src/sdk/models/operations/getpoitile.ts +901 -0
- package/src/sdk/models/operations/getproperties.ts +1 -1
- package/src/sdk/models/operations/getpropertiesbylocation.ts +1 -1
- package/src/sdk/models/operations/getpropertiesbyslugs.ts +1 -1
- package/src/sdk/models/operations/getpropertiesbysource.ts +1 -1
- package/src/sdk/models/operations/getschoolbyid.ts +1 -10
- package/src/sdk/models/operations/getschoolbyslug.ts +1 -10
- package/src/sdk/models/operations/getschoolbyurn.ts +1 -10
- package/src/sdk/models/operations/getschoolmetrics.ts +124 -136
- package/src/sdk/models/operations/getv1safetycrime.ts +134 -111
- package/src/sdk/models/operations/getv1safetycrimestats.ts +1 -1
- package/src/sdk/models/operations/index.ts +20 -0
- package/src/sdk/models/operations/listschools.ts +1 -31
- package/src/sdk/models/operations/querylistings.ts +2501 -0
- package/src/sdk/models/operations/querylistingsbysource.ts +2465 -0
- package/src/sdk/models/operations/resolveaddress.ts +1014 -0
- package/src/sdk/models/operations/searchplanningapplications.ts +1 -1
- package/src/sdk/models/operations/searchproperties.ts +1 -1
- package/src/sdk/models/operations/searchschoolsnearby.ts +1 -25
- package/src/sdk/models/operations/searchschoolswithin.ts +1 -28
- package/src/sdk/models/operations/searchstreets.ts +1 -1
- package/src/sdk/models/shared/builddata.ts +213 -0
- package/src/sdk/models/shared/chargeentry.ts +109 -0
- package/src/sdk/models/shared/chargehistory.ts +101 -0
- package/src/sdk/models/shared/counciltaxbanddetails.ts +97 -0
- package/src/sdk/models/shared/counciltaxdata.ts +49 -15
- package/src/sdk/models/shared/epcdata.ts +36 -15
- package/src/sdk/models/shared/errorresponse.ts +1 -1
- package/src/sdk/models/shared/healthresponse.ts +1 -1
- package/src/sdk/models/shared/index.ts +11 -0
- package/src/sdk/models/shared/lease.ts +83 -0
- package/src/sdk/models/shared/listing.ts +505 -0
- package/src/sdk/models/shared/listingimage.ts +65 -0
- package/src/sdk/models/shared/listingpricechange.ts +130 -0
- package/src/sdk/models/shared/marketstatus.ts +317 -24
- package/src/sdk/models/shared/planningapplication.ts +19 -15
- package/src/sdk/models/shared/planninglistresponse.ts +1 -1
- package/src/sdk/models/shared/planningqueryfilters.ts +1 -1
- package/src/sdk/models/shared/planningqueryrequest.ts +1 -1
- package/src/sdk/models/shared/pricechange.ts +128 -0
- package/src/sdk/models/shared/pricingdata.ts +20 -27
- package/src/sdk/models/shared/propertyaddress.ts +13 -48
- package/src/sdk/models/shared/propertyareafilter.ts +1 -1
- package/src/sdk/models/shared/propertybyslugsrequest.ts +1 -1
- package/src/sdk/models/shared/propertydata.ts +566 -93
- package/src/sdk/models/shared/propertylistresponse.ts +1 -1
- package/src/sdk/models/shared/propertylocationidareafilter.ts +1 -1
- package/src/sdk/models/shared/propertymultipolygonareafilter.ts +20 -16
- package/src/sdk/models/shared/propertyonstreet.ts +1 -1
- package/src/sdk/models/shared/propertyoutcodeareafilter.ts +1 -1
- package/src/sdk/models/shared/propertypointareafilter.ts +1 -1
- package/src/sdk/models/shared/propertypolygonareafilter.ts +1 -1
- package/src/sdk/models/shared/propertypostcodeareafilter.ts +1 -1
- package/src/sdk/models/shared/propertyquerycondition.ts +1 -1
- package/src/sdk/models/shared/propertyquerygroup.ts +1 -1
- package/src/sdk/models/shared/propertyqueryoperator.ts +1 -1
- package/src/sdk/models/shared/propertyqueryrequest.ts +228 -1
- package/src/sdk/models/shared/propertytags.ts +69 -27
- package/src/sdk/models/shared/refurbishmentdata.ts +102 -0
- package/src/sdk/models/shared/roomdetails.ts +9 -16
- package/src/sdk/models/shared/salerecord.ts +15 -22
- package/src/sdk/models/shared/school.ts +1 -1
- package/src/sdk/models/shared/security.ts +1 -1
- package/src/sdk/models/shared/streetdescriptor.ts +1 -1
- package/src/sdk/models/shared/streetdetails.ts +1 -1
- package/src/sdk/models/shared/streetquerybycoordinates.ts +1 -1
- package/src/sdk/models/shared/streetquerybyname.ts +1 -1
- package/src/sdk/models/shared/streetquerybypostcode.ts +1 -1
- package/src/sdk/models/shared/streetquerybyuprn.ts +1 -1
- package/src/sdk/models/shared/streetquerybyusrn.ts +1 -1
- package/src/sdk/models/shared/streetqueryrequest.ts +1 -1
- package/src/sdk/models/shared/streetqueryresponse.ts +1 -1
- package/src/sdk/models/shared/streetstatistics.ts +1 -1
- package/src/sdk/models/shared/tenancydata.ts +72 -0
- package/src/sdk/models/shared/tenuredata.ts +5 -26
- package/src/sdk/poi.ts +65 -0
- package/src/sdk/schools.ts +34 -0
- package/src/sdk/sdk.ts +50 -14
- package/src/sdk/{location.ts → streets.ts} +3 -3
- package/src/sdk/system.ts +106 -0
- package/src/sdk/types/blobs.ts +7 -6
- package/src/sdk/types/constdatetime.ts +1 -1
- package/dist/commonjs/funcs/locationSearchStreets.d.ts.map +0 -1
- package/dist/commonjs/funcs/locationSearchStreets.js.map +0 -1
- package/dist/commonjs/funcs/schoolMetricsGetMetrics.d.ts.map +0 -1
- package/dist/commonjs/funcs/schoolMetricsGetMetrics.js.map +0 -1
- package/dist/commonjs/sdk/health.d.ts +0 -26
- package/dist/commonjs/sdk/health.d.ts.map +0 -1
- package/dist/commonjs/sdk/health.js +0 -42
- package/dist/commonjs/sdk/health.js.map +0 -1
- package/dist/commonjs/sdk/location.d.ts.map +0 -1
- package/dist/commonjs/sdk/location.js.map +0 -1
- package/dist/commonjs/sdk/schoolmetrics.d.ts +0 -19
- package/dist/commonjs/sdk/schoolmetrics.d.ts.map +0 -1
- package/dist/commonjs/sdk/schoolmetrics.js +0 -32
- package/dist/commonjs/sdk/schoolmetrics.js.map +0 -1
- package/dist/esm/funcs/healthCheckPlanningHealth.d.ts.map +0 -1
- package/dist/esm/funcs/healthCheckPropertyHealth.d.ts.map +0 -1
- package/dist/esm/funcs/locationSearchStreets.d.ts.map +0 -1
- package/dist/esm/funcs/locationSearchStreets.js.map +0 -1
- package/dist/esm/funcs/schoolMetricsGetMetrics.d.ts.map +0 -1
- package/dist/esm/funcs/schoolMetricsGetMetrics.js.map +0 -1
- package/dist/esm/sdk/health.d.ts +0 -26
- package/dist/esm/sdk/health.d.ts.map +0 -1
- package/dist/esm/sdk/health.js +0 -38
- package/dist/esm/sdk/health.js.map +0 -1
- package/dist/esm/sdk/location.d.ts.map +0 -1
- package/dist/esm/sdk/location.js.map +0 -1
- package/dist/esm/sdk/schoolmetrics.d.ts +0 -19
- package/dist/esm/sdk/schoolmetrics.d.ts.map +0 -1
- package/dist/esm/sdk/schoolmetrics.js +0 -28
- package/dist/esm/sdk/schoolmetrics.js.map +0 -1
- package/src/sdk/health.ts +0 -57
- package/src/sdk/schoolmetrics.ts +0 -43
package/openapi.json
CHANGED
|
@@ -1,908 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"openapi": "3.1.0",
|
|
3
|
-
"info": {
|
|
4
|
-
"version": "0.0.1",
|
|
5
|
-
"title": "Vepler API",
|
|
6
|
-
"description": "Vepler tRPC and REST API service"
|
|
7
|
-
},
|
|
8
|
-
"components": {
|
|
9
|
-
"schemas": {
|
|
10
|
-
"ListingResponse": {
|
|
11
|
-
"type": "object",
|
|
12
|
-
"properties": {
|
|
13
|
-
"success": { "type": "boolean" },
|
|
14
|
-
"result": { "nullable": true }
|
|
15
|
-
},
|
|
16
|
-
"required": ["success"]
|
|
17
|
-
},
|
|
18
|
-
"ErrorResponse": {
|
|
19
|
-
"type": "object",
|
|
20
|
-
"properties": {
|
|
21
|
-
"success": { "type": "boolean", "enum": [false] },
|
|
22
|
-
"message": { "type": "string" },
|
|
23
|
-
"errors": { "type": "array", "items": { "type": "string" } }
|
|
24
|
-
},
|
|
25
|
-
"required": ["success", "message"]
|
|
26
|
-
},
|
|
27
|
-
"ListingsResponse": {
|
|
28
|
-
"type": "object",
|
|
29
|
-
"properties": {
|
|
30
|
-
"success": { "type": "boolean" },
|
|
31
|
-
"result": { "type": "array", "items": { "nullable": true } },
|
|
32
|
-
"totalSize": { "type": "number" },
|
|
33
|
-
"size": { "type": "number" }
|
|
34
|
-
},
|
|
35
|
-
"required": ["success", "result"]
|
|
36
|
-
},
|
|
37
|
-
"IngestResponse": {
|
|
38
|
-
"type": "object",
|
|
39
|
-
"properties": {
|
|
40
|
-
"success": { "type": "boolean" },
|
|
41
|
-
"message": { "type": "string" },
|
|
42
|
-
"listingId": { "type": "string" }
|
|
43
|
-
},
|
|
44
|
-
"required": ["success", "message"]
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
"parameters": {}
|
|
48
|
-
},
|
|
49
|
-
"paths": {
|
|
50
|
-
"/listings/source/{provider}/{key}": {
|
|
51
|
-
"get": {
|
|
52
|
-
"summary": "Get listing by source",
|
|
53
|
-
"operationId": "getListingBySource",
|
|
54
|
-
"description": "Retrieve a listing by its provider and key",
|
|
55
|
-
"tags": ["Listings"],
|
|
56
|
-
"parameters": [
|
|
57
|
-
{
|
|
58
|
-
"schema": {
|
|
59
|
-
"type": "string",
|
|
60
|
-
"description": "Listing provider (e.g., rightmove, zoopla)",
|
|
61
|
-
"example": "rightmove"
|
|
62
|
-
},
|
|
63
|
-
"required": true,
|
|
64
|
-
"description": "Listing provider (e.g., rightmove, zoopla)",
|
|
65
|
-
"in": "path",
|
|
66
|
-
"name": "provider"
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
"schema": {
|
|
70
|
-
"type": "string",
|
|
71
|
-
"description": "Provider-specific listing key",
|
|
72
|
-
"example": "160155512"
|
|
73
|
-
},
|
|
74
|
-
"required": true,
|
|
75
|
-
"description": "Provider-specific listing key",
|
|
76
|
-
"in": "path",
|
|
77
|
-
"name": "key"
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
"schema": {
|
|
81
|
-
"type": "boolean",
|
|
82
|
-
"description": "Force aggregation of listing data",
|
|
83
|
-
"example": false
|
|
84
|
-
},
|
|
85
|
-
"required": false,
|
|
86
|
-
"description": "Force aggregation of listing data",
|
|
87
|
-
"in": "query",
|
|
88
|
-
"name": "forceAggregate"
|
|
89
|
-
}
|
|
90
|
-
],
|
|
91
|
-
"responses": {
|
|
92
|
-
"200": {
|
|
93
|
-
"description": "Listing found successfully",
|
|
94
|
-
"content": {
|
|
95
|
-
"application/json": {
|
|
96
|
-
"schema": { "$ref": "#/components/schemas/ListingResponse" }
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
},
|
|
100
|
-
"404": {
|
|
101
|
-
"description": "Listing not found",
|
|
102
|
-
"content": {
|
|
103
|
-
"application/json": {
|
|
104
|
-
"schema": { "$ref": "#/components/schemas/ErrorResponse" }
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
"500": {
|
|
109
|
-
"description": "Internal server error",
|
|
110
|
-
"content": {
|
|
111
|
-
"application/json": {
|
|
112
|
-
"schema": { "$ref": "#/components/schemas/ErrorResponse" }
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
"/listings/{id}": {
|
|
120
|
-
"get": {
|
|
121
|
-
"summary": "Get listing by ID",
|
|
122
|
-
"operationId": "getListingById",
|
|
123
|
-
"description": "Retrieve a listing by its internal ID",
|
|
124
|
-
"tags": ["Listings"],
|
|
125
|
-
"parameters": [
|
|
126
|
-
{
|
|
127
|
-
"schema": {
|
|
128
|
-
"type": "string",
|
|
129
|
-
"description": "Internal listing ID",
|
|
130
|
-
"example": "listing_01234567890"
|
|
131
|
-
},
|
|
132
|
-
"required": true,
|
|
133
|
-
"description": "Internal listing ID",
|
|
134
|
-
"in": "path",
|
|
135
|
-
"name": "id"
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
"schema": {
|
|
139
|
-
"type": "boolean",
|
|
140
|
-
"description": "Force aggregation of listing data",
|
|
141
|
-
"example": false
|
|
142
|
-
},
|
|
143
|
-
"required": false,
|
|
144
|
-
"description": "Force aggregation of listing data",
|
|
145
|
-
"in": "query",
|
|
146
|
-
"name": "forceAggregate"
|
|
147
|
-
}
|
|
148
|
-
],
|
|
149
|
-
"responses": {
|
|
150
|
-
"200": {
|
|
151
|
-
"description": "Listing found successfully",
|
|
152
|
-
"content": {
|
|
153
|
-
"application/json": {
|
|
154
|
-
"schema": { "$ref": "#/components/schemas/ListingResponse" }
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
},
|
|
158
|
-
"404": {
|
|
159
|
-
"description": "Listing not found",
|
|
160
|
-
"content": {
|
|
161
|
-
"application/json": {
|
|
162
|
-
"schema": { "$ref": "#/components/schemas/ErrorResponse" }
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
},
|
|
166
|
-
"500": {
|
|
167
|
-
"description": "Internal server error",
|
|
168
|
-
"content": {
|
|
169
|
-
"application/json": {
|
|
170
|
-
"schema": { "$ref": "#/components/schemas/ErrorResponse" }
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
},
|
|
177
|
-
"/listings/locationId/{locationId}": {
|
|
178
|
-
"get": {
|
|
179
|
-
"summary": "Get listings by location ID",
|
|
180
|
-
"operationId": "getListingsByLocationId",
|
|
181
|
-
"description": "Retrieve listings for one or more location IDs (comma-separated)",
|
|
182
|
-
"tags": ["Listings"],
|
|
183
|
-
"parameters": [
|
|
184
|
-
{
|
|
185
|
-
"schema": {
|
|
186
|
-
"type": "string",
|
|
187
|
-
"description": "Location ID(s), comma-separated for multiple",
|
|
188
|
-
"example": "123456,789012"
|
|
189
|
-
},
|
|
190
|
-
"required": true,
|
|
191
|
-
"description": "Location ID(s), comma-separated for multiple",
|
|
192
|
-
"in": "path",
|
|
193
|
-
"name": "locationId"
|
|
194
|
-
},
|
|
195
|
-
{
|
|
196
|
-
"schema": {
|
|
197
|
-
"type": "boolean",
|
|
198
|
-
"description": "Force aggregation of listing data",
|
|
199
|
-
"example": false
|
|
200
|
-
},
|
|
201
|
-
"required": false,
|
|
202
|
-
"description": "Force aggregation of listing data",
|
|
203
|
-
"in": "query",
|
|
204
|
-
"name": "forceAggregate"
|
|
205
|
-
}
|
|
206
|
-
],
|
|
207
|
-
"responses": {
|
|
208
|
-
"200": {
|
|
209
|
-
"description": "Listings retrieved successfully",
|
|
210
|
-
"content": {
|
|
211
|
-
"application/json": {
|
|
212
|
-
"schema": { "$ref": "#/components/schemas/ListingsResponse" }
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
},
|
|
216
|
-
"400": {
|
|
217
|
-
"description": "Invalid location ID format",
|
|
218
|
-
"content": {
|
|
219
|
-
"application/json": {
|
|
220
|
-
"schema": { "$ref": "#/components/schemas/ErrorResponse" }
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
},
|
|
224
|
-
"500": {
|
|
225
|
-
"description": "Internal server error",
|
|
226
|
-
"content": {
|
|
227
|
-
"application/json": {
|
|
228
|
-
"schema": { "$ref": "#/components/schemas/ErrorResponse" }
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
},
|
|
235
|
-
"/listings/": {
|
|
236
|
-
"post": {
|
|
237
|
-
"summary": "Ingest a listing",
|
|
238
|
-
"operationId": "ingestListingWithSlash",
|
|
239
|
-
"description": "Ingest a new listing or update an existing one (trailing slash variant)",
|
|
240
|
-
"tags": ["Listings"],
|
|
241
|
-
"requestBody": {
|
|
242
|
-
"content": {
|
|
243
|
-
"application/json": {
|
|
244
|
-
"schema": {
|
|
245
|
-
"type": "object",
|
|
246
|
-
"properties": {
|
|
247
|
-
"locationId": { "type": "string", "nullable": true },
|
|
248
|
-
"provider": { "type": "string" },
|
|
249
|
-
"key": { "type": "string" },
|
|
250
|
-
"currency": { "type": "string", "default": "GBP" },
|
|
251
|
-
"price": {
|
|
252
|
-
"type": "number",
|
|
253
|
-
"minimum": 0,
|
|
254
|
-
"exclusiveMinimum": true
|
|
255
|
-
},
|
|
256
|
-
"priceHistory": {
|
|
257
|
-
"type": "array",
|
|
258
|
-
"items": {
|
|
259
|
-
"type": "object",
|
|
260
|
-
"properties": {
|
|
261
|
-
"date": { "type": "string", "format": "date-time" },
|
|
262
|
-
"price": {
|
|
263
|
-
"type": "number",
|
|
264
|
-
"minimum": 0,
|
|
265
|
-
"exclusiveMinimum": true
|
|
266
|
-
},
|
|
267
|
-
"oldPrice": {
|
|
268
|
-
"type": "number",
|
|
269
|
-
"nullable": true,
|
|
270
|
-
"minimum": 0,
|
|
271
|
-
"exclusiveMinimum": true
|
|
272
|
-
},
|
|
273
|
-
"amount": { "type": "number", "nullable": true },
|
|
274
|
-
"percent": { "type": "number", "nullable": true },
|
|
275
|
-
"direction": {
|
|
276
|
-
"type": "string",
|
|
277
|
-
"enum": ["up", "down", "initial", "same"]
|
|
278
|
-
}
|
|
279
|
-
},
|
|
280
|
-
"required": ["date", "price"]
|
|
281
|
-
}
|
|
282
|
-
},
|
|
283
|
-
"propertyType": { "type": "string" },
|
|
284
|
-
"subPropertyType": { "type": "string", "nullable": true },
|
|
285
|
-
"isRetirement": { "type": "boolean" },
|
|
286
|
-
"isNewBuild": { "type": "boolean" },
|
|
287
|
-
"isSharedOwnership": { "type": "boolean" },
|
|
288
|
-
"isAuction": { "type": "boolean" },
|
|
289
|
-
"type": { "type": "string", "enum": ["sale", "rent"] },
|
|
290
|
-
"status": {
|
|
291
|
-
"type": "string",
|
|
292
|
-
"enum": [
|
|
293
|
-
"live",
|
|
294
|
-
"removed",
|
|
295
|
-
"sold",
|
|
296
|
-
"under_offer",
|
|
297
|
-
"reserved",
|
|
298
|
-
"sstc"
|
|
299
|
-
]
|
|
300
|
-
},
|
|
301
|
-
"category": {
|
|
302
|
-
"type": "string",
|
|
303
|
-
"enum": ["residential", "commercial"],
|
|
304
|
-
"default": "residential"
|
|
305
|
-
},
|
|
306
|
-
"spatial": {
|
|
307
|
-
"type": "object",
|
|
308
|
-
"nullable": true,
|
|
309
|
-
"properties": {
|
|
310
|
-
"type": { "type": "string", "enum": ["Point"] },
|
|
311
|
-
"coordinates": {
|
|
312
|
-
"type": "array",
|
|
313
|
-
"items": { "type": "number" }
|
|
314
|
-
}
|
|
315
|
-
},
|
|
316
|
-
"required": ["type", "coordinates"]
|
|
317
|
-
},
|
|
318
|
-
"lat": { "type": "number", "minimum": -90, "maximum": 90 },
|
|
319
|
-
"lng": { "type": "number", "minimum": -180, "maximum": 180 },
|
|
320
|
-
"address": {
|
|
321
|
-
"type": "object",
|
|
322
|
-
"properties": {
|
|
323
|
-
"propertyNumber": { "type": "string", "nullable": true },
|
|
324
|
-
"country": { "type": "string" },
|
|
325
|
-
"postcode": { "type": "string" },
|
|
326
|
-
"outcode": { "type": "string" },
|
|
327
|
-
"incode": { "type": "string" },
|
|
328
|
-
"street": { "type": "string", "nullable": true },
|
|
329
|
-
"city": { "type": "string", "nullable": true },
|
|
330
|
-
"region": { "type": "string", "nullable": true },
|
|
331
|
-
"district": { "type": "string", "nullable": true },
|
|
332
|
-
"originalAddress": { "type": "string" }
|
|
333
|
-
},
|
|
334
|
-
"required": ["postcode", "originalAddress"]
|
|
335
|
-
},
|
|
336
|
-
"displayAddress": { "type": "string" },
|
|
337
|
-
"publishedDate": {
|
|
338
|
-
"anyOf": [
|
|
339
|
-
{ "type": "string", "format": "date-time" },
|
|
340
|
-
{ "type": "string", "format": "date" }
|
|
341
|
-
]
|
|
342
|
-
},
|
|
343
|
-
"removedDate": {
|
|
344
|
-
"anyOf": [
|
|
345
|
-
{ "type": "string", "format": "date-time" },
|
|
346
|
-
{ "type": "string", "format": "date" },
|
|
347
|
-
{ "nullable": true }
|
|
348
|
-
]
|
|
349
|
-
},
|
|
350
|
-
"removedDateSource": {
|
|
351
|
-
"type": "string",
|
|
352
|
-
"enum": ["portal", "feed", "scraper", "manual"]
|
|
353
|
-
},
|
|
354
|
-
"images": {
|
|
355
|
-
"type": "array",
|
|
356
|
-
"items": {
|
|
357
|
-
"type": "object",
|
|
358
|
-
"properties": {
|
|
359
|
-
"url": { "type": "string", "format": "uri" },
|
|
360
|
-
"caption": { "type": "string" },
|
|
361
|
-
"order": { "type": "number" },
|
|
362
|
-
"type": {
|
|
363
|
-
"type": "string",
|
|
364
|
-
"enum": ["photo", "floorplan", "epc", "brochure"]
|
|
365
|
-
}
|
|
366
|
-
},
|
|
367
|
-
"required": ["url"]
|
|
368
|
-
},
|
|
369
|
-
"default": []
|
|
370
|
-
},
|
|
371
|
-
"energyRatingImages": {
|
|
372
|
-
"type": "array",
|
|
373
|
-
"items": {
|
|
374
|
-
"type": "object",
|
|
375
|
-
"properties": {
|
|
376
|
-
"url": { "type": "string", "format": "uri" },
|
|
377
|
-
"caption": { "type": "string" },
|
|
378
|
-
"order": { "type": "number" },
|
|
379
|
-
"type": {
|
|
380
|
-
"type": "string",
|
|
381
|
-
"enum": ["photo", "floorplan", "epc", "brochure"]
|
|
382
|
-
}
|
|
383
|
-
},
|
|
384
|
-
"required": ["url"]
|
|
385
|
-
},
|
|
386
|
-
"default": []
|
|
387
|
-
},
|
|
388
|
-
"floorPlanImages": {
|
|
389
|
-
"type": "array",
|
|
390
|
-
"items": {
|
|
391
|
-
"type": "object",
|
|
392
|
-
"properties": {
|
|
393
|
-
"url": { "type": "string", "format": "uri" },
|
|
394
|
-
"caption": { "type": "string" },
|
|
395
|
-
"order": { "type": "number" },
|
|
396
|
-
"type": {
|
|
397
|
-
"type": "string",
|
|
398
|
-
"enum": ["photo", "floorplan", "epc", "brochure"]
|
|
399
|
-
}
|
|
400
|
-
},
|
|
401
|
-
"required": ["url"]
|
|
402
|
-
},
|
|
403
|
-
"default": []
|
|
404
|
-
},
|
|
405
|
-
"brochureImages": {
|
|
406
|
-
"type": "array",
|
|
407
|
-
"items": {
|
|
408
|
-
"type": "object",
|
|
409
|
-
"properties": {
|
|
410
|
-
"url": { "type": "string", "format": "uri" },
|
|
411
|
-
"caption": { "type": "string" },
|
|
412
|
-
"order": { "type": "number" },
|
|
413
|
-
"type": {
|
|
414
|
-
"type": "string",
|
|
415
|
-
"enum": ["photo", "floorplan", "epc", "brochure"]
|
|
416
|
-
}
|
|
417
|
-
},
|
|
418
|
-
"required": ["url"]
|
|
419
|
-
},
|
|
420
|
-
"default": []
|
|
421
|
-
},
|
|
422
|
-
"features": {
|
|
423
|
-
"type": "array",
|
|
424
|
-
"nullable": true,
|
|
425
|
-
"items": {
|
|
426
|
-
"type": "object",
|
|
427
|
-
"properties": {
|
|
428
|
-
"featureId": { "type": "string" },
|
|
429
|
-
"value": { "type": "string" }
|
|
430
|
-
},
|
|
431
|
-
"required": ["featureId", "value"]
|
|
432
|
-
}
|
|
433
|
-
},
|
|
434
|
-
"narratives": {
|
|
435
|
-
"type": "array",
|
|
436
|
-
"nullable": true,
|
|
437
|
-
"items": {
|
|
438
|
-
"type": "object",
|
|
439
|
-
"properties": {
|
|
440
|
-
"type": {
|
|
441
|
-
"type": "string",
|
|
442
|
-
"enum": [
|
|
443
|
-
"DESCRIPTION",
|
|
444
|
-
"BULLET",
|
|
445
|
-
"DISCLAIMER",
|
|
446
|
-
"KEYFEATURES",
|
|
447
|
-
"ROOMDESCRIPTION",
|
|
448
|
-
"MEASUREMENT_DISCLAIMER",
|
|
449
|
-
"TAG"
|
|
450
|
-
]
|
|
451
|
-
},
|
|
452
|
-
"content": {
|
|
453
|
-
"anyOf": [
|
|
454
|
-
{ "type": "string" },
|
|
455
|
-
{ "type": "array", "items": { "type": "string" } },
|
|
456
|
-
{ "nullable": true }
|
|
457
|
-
]
|
|
458
|
-
}
|
|
459
|
-
},
|
|
460
|
-
"required": ["type", "content"]
|
|
461
|
-
}
|
|
462
|
-
},
|
|
463
|
-
"meta": { "nullable": true },
|
|
464
|
-
"forceUpdate": { "type": "boolean" }
|
|
465
|
-
},
|
|
466
|
-
"required": [
|
|
467
|
-
"provider",
|
|
468
|
-
"key",
|
|
469
|
-
"price",
|
|
470
|
-
"propertyType",
|
|
471
|
-
"type",
|
|
472
|
-
"status",
|
|
473
|
-
"address",
|
|
474
|
-
"publishedDate"
|
|
475
|
-
]
|
|
476
|
-
}
|
|
477
|
-
}
|
|
478
|
-
}
|
|
479
|
-
},
|
|
480
|
-
"responses": {
|
|
481
|
-
"200": {
|
|
482
|
-
"description": "Listing ingested successfully",
|
|
483
|
-
"content": {
|
|
484
|
-
"application/json": {
|
|
485
|
-
"schema": { "$ref": "#/components/schemas/IngestResponse" }
|
|
486
|
-
}
|
|
487
|
-
}
|
|
488
|
-
},
|
|
489
|
-
"400": {
|
|
490
|
-
"description": "Invalid request data",
|
|
491
|
-
"content": {
|
|
492
|
-
"application/json": {
|
|
493
|
-
"schema": { "$ref": "#/components/schemas/ErrorResponse" }
|
|
494
|
-
}
|
|
495
|
-
}
|
|
496
|
-
},
|
|
497
|
-
"500": {
|
|
498
|
-
"description": "Internal server error",
|
|
499
|
-
"content": {
|
|
500
|
-
"application/json": {
|
|
501
|
-
"schema": { "$ref": "#/components/schemas/ErrorResponse" }
|
|
502
|
-
}
|
|
503
|
-
}
|
|
504
|
-
}
|
|
505
|
-
}
|
|
506
|
-
}
|
|
507
|
-
},
|
|
508
|
-
"/listings": {
|
|
509
|
-
"post": {
|
|
510
|
-
"summary": "Ingest a listing",
|
|
511
|
-
"operationId": "ingestListing",
|
|
512
|
-
"description": "Ingest a new listing or update an existing one",
|
|
513
|
-
"tags": ["Listings"],
|
|
514
|
-
"requestBody": {
|
|
515
|
-
"content": {
|
|
516
|
-
"application/json": {
|
|
517
|
-
"schema": {
|
|
518
|
-
"type": "object",
|
|
519
|
-
"properties": {
|
|
520
|
-
"locationId": { "type": "string", "nullable": true },
|
|
521
|
-
"provider": { "type": "string" },
|
|
522
|
-
"key": { "type": "string" },
|
|
523
|
-
"currency": { "type": "string", "default": "GBP" },
|
|
524
|
-
"price": {
|
|
525
|
-
"type": "number",
|
|
526
|
-
"minimum": 0,
|
|
527
|
-
"exclusiveMinimum": true
|
|
528
|
-
},
|
|
529
|
-
"priceHistory": {
|
|
530
|
-
"type": "array",
|
|
531
|
-
"items": {
|
|
532
|
-
"type": "object",
|
|
533
|
-
"properties": {
|
|
534
|
-
"date": { "type": "string", "format": "date-time" },
|
|
535
|
-
"price": {
|
|
536
|
-
"type": "number",
|
|
537
|
-
"minimum": 0,
|
|
538
|
-
"exclusiveMinimum": true
|
|
539
|
-
},
|
|
540
|
-
"oldPrice": {
|
|
541
|
-
"type": "number",
|
|
542
|
-
"nullable": true,
|
|
543
|
-
"minimum": 0,
|
|
544
|
-
"exclusiveMinimum": true
|
|
545
|
-
},
|
|
546
|
-
"amount": { "type": "number", "nullable": true },
|
|
547
|
-
"percent": { "type": "number", "nullable": true },
|
|
548
|
-
"direction": {
|
|
549
|
-
"type": "string",
|
|
550
|
-
"enum": ["up", "down", "initial", "same"]
|
|
551
|
-
}
|
|
552
|
-
},
|
|
553
|
-
"required": ["date", "price"]
|
|
554
|
-
}
|
|
555
|
-
},
|
|
556
|
-
"propertyType": { "type": "string" },
|
|
557
|
-
"subPropertyType": { "type": "string", "nullable": true },
|
|
558
|
-
"isRetirement": { "type": "boolean" },
|
|
559
|
-
"isNewBuild": { "type": "boolean" },
|
|
560
|
-
"isSharedOwnership": { "type": "boolean" },
|
|
561
|
-
"isAuction": { "type": "boolean" },
|
|
562
|
-
"type": { "type": "string", "enum": ["sale", "rent"] },
|
|
563
|
-
"status": {
|
|
564
|
-
"type": "string",
|
|
565
|
-
"enum": [
|
|
566
|
-
"live",
|
|
567
|
-
"removed",
|
|
568
|
-
"sold",
|
|
569
|
-
"under_offer",
|
|
570
|
-
"reserved",
|
|
571
|
-
"sstc"
|
|
572
|
-
]
|
|
573
|
-
},
|
|
574
|
-
"category": {
|
|
575
|
-
"type": "string",
|
|
576
|
-
"enum": ["residential", "commercial"],
|
|
577
|
-
"default": "residential"
|
|
578
|
-
},
|
|
579
|
-
"spatial": {
|
|
580
|
-
"type": "object",
|
|
581
|
-
"nullable": true,
|
|
582
|
-
"properties": {
|
|
583
|
-
"type": { "type": "string", "enum": ["Point"] },
|
|
584
|
-
"coordinates": {
|
|
585
|
-
"type": "array",
|
|
586
|
-
"items": { "type": "number" }
|
|
587
|
-
}
|
|
588
|
-
},
|
|
589
|
-
"required": ["type", "coordinates"]
|
|
590
|
-
},
|
|
591
|
-
"lat": { "type": "number", "minimum": -90, "maximum": 90 },
|
|
592
|
-
"lng": { "type": "number", "minimum": -180, "maximum": 180 },
|
|
593
|
-
"address": {
|
|
594
|
-
"type": "object",
|
|
595
|
-
"properties": {
|
|
596
|
-
"propertyNumber": { "type": "string", "nullable": true },
|
|
597
|
-
"country": { "type": "string" },
|
|
598
|
-
"postcode": { "type": "string" },
|
|
599
|
-
"outcode": { "type": "string" },
|
|
600
|
-
"incode": { "type": "string" },
|
|
601
|
-
"street": { "type": "string", "nullable": true },
|
|
602
|
-
"city": { "type": "string", "nullable": true },
|
|
603
|
-
"region": { "type": "string", "nullable": true },
|
|
604
|
-
"district": { "type": "string", "nullable": true },
|
|
605
|
-
"originalAddress": { "type": "string" }
|
|
606
|
-
},
|
|
607
|
-
"required": ["postcode", "originalAddress"]
|
|
608
|
-
},
|
|
609
|
-
"displayAddress": { "type": "string" },
|
|
610
|
-
"publishedDate": {
|
|
611
|
-
"anyOf": [
|
|
612
|
-
{ "type": "string", "format": "date-time" },
|
|
613
|
-
{ "type": "string", "format": "date" }
|
|
614
|
-
]
|
|
615
|
-
},
|
|
616
|
-
"removedDate": {
|
|
617
|
-
"anyOf": [
|
|
618
|
-
{ "type": "string", "format": "date-time" },
|
|
619
|
-
{ "type": "string", "format": "date" },
|
|
620
|
-
{ "nullable": true }
|
|
621
|
-
]
|
|
622
|
-
},
|
|
623
|
-
"removedDateSource": {
|
|
624
|
-
"type": "string",
|
|
625
|
-
"enum": ["portal", "feed", "scraper", "manual"]
|
|
626
|
-
},
|
|
627
|
-
"images": {
|
|
628
|
-
"type": "array",
|
|
629
|
-
"items": {
|
|
630
|
-
"type": "object",
|
|
631
|
-
"properties": {
|
|
632
|
-
"url": { "type": "string", "format": "uri" },
|
|
633
|
-
"caption": { "type": "string" },
|
|
634
|
-
"order": { "type": "number" },
|
|
635
|
-
"type": {
|
|
636
|
-
"type": "string",
|
|
637
|
-
"enum": ["photo", "floorplan", "epc", "brochure"]
|
|
638
|
-
}
|
|
639
|
-
},
|
|
640
|
-
"required": ["url"]
|
|
641
|
-
},
|
|
642
|
-
"default": []
|
|
643
|
-
},
|
|
644
|
-
"energyRatingImages": {
|
|
645
|
-
"type": "array",
|
|
646
|
-
"items": {
|
|
647
|
-
"type": "object",
|
|
648
|
-
"properties": {
|
|
649
|
-
"url": { "type": "string", "format": "uri" },
|
|
650
|
-
"caption": { "type": "string" },
|
|
651
|
-
"order": { "type": "number" },
|
|
652
|
-
"type": {
|
|
653
|
-
"type": "string",
|
|
654
|
-
"enum": ["photo", "floorplan", "epc", "brochure"]
|
|
655
|
-
}
|
|
656
|
-
},
|
|
657
|
-
"required": ["url"]
|
|
658
|
-
},
|
|
659
|
-
"default": []
|
|
660
|
-
},
|
|
661
|
-
"floorPlanImages": {
|
|
662
|
-
"type": "array",
|
|
663
|
-
"items": {
|
|
664
|
-
"type": "object",
|
|
665
|
-
"properties": {
|
|
666
|
-
"url": { "type": "string", "format": "uri" },
|
|
667
|
-
"caption": { "type": "string" },
|
|
668
|
-
"order": { "type": "number" },
|
|
669
|
-
"type": {
|
|
670
|
-
"type": "string",
|
|
671
|
-
"enum": ["photo", "floorplan", "epc", "brochure"]
|
|
672
|
-
}
|
|
673
|
-
},
|
|
674
|
-
"required": ["url"]
|
|
675
|
-
},
|
|
676
|
-
"default": []
|
|
677
|
-
},
|
|
678
|
-
"brochureImages": {
|
|
679
|
-
"type": "array",
|
|
680
|
-
"items": {
|
|
681
|
-
"type": "object",
|
|
682
|
-
"properties": {
|
|
683
|
-
"url": { "type": "string", "format": "uri" },
|
|
684
|
-
"caption": { "type": "string" },
|
|
685
|
-
"order": { "type": "number" },
|
|
686
|
-
"type": {
|
|
687
|
-
"type": "string",
|
|
688
|
-
"enum": ["photo", "floorplan", "epc", "brochure"]
|
|
689
|
-
}
|
|
690
|
-
},
|
|
691
|
-
"required": ["url"]
|
|
692
|
-
},
|
|
693
|
-
"default": []
|
|
694
|
-
},
|
|
695
|
-
"features": {
|
|
696
|
-
"type": "array",
|
|
697
|
-
"nullable": true,
|
|
698
|
-
"items": {
|
|
699
|
-
"type": "object",
|
|
700
|
-
"properties": {
|
|
701
|
-
"featureId": { "type": "string" },
|
|
702
|
-
"value": { "type": "string" }
|
|
703
|
-
},
|
|
704
|
-
"required": ["featureId", "value"]
|
|
705
|
-
}
|
|
706
|
-
},
|
|
707
|
-
"narratives": {
|
|
708
|
-
"type": "array",
|
|
709
|
-
"nullable": true,
|
|
710
|
-
"items": {
|
|
711
|
-
"type": "object",
|
|
712
|
-
"properties": {
|
|
713
|
-
"type": {
|
|
714
|
-
"type": "string",
|
|
715
|
-
"enum": [
|
|
716
|
-
"DESCRIPTION",
|
|
717
|
-
"BULLET",
|
|
718
|
-
"DISCLAIMER",
|
|
719
|
-
"KEYFEATURES",
|
|
720
|
-
"ROOMDESCRIPTION",
|
|
721
|
-
"MEASUREMENT_DISCLAIMER",
|
|
722
|
-
"TAG"
|
|
723
|
-
]
|
|
724
|
-
},
|
|
725
|
-
"content": {
|
|
726
|
-
"anyOf": [
|
|
727
|
-
{ "type": "string" },
|
|
728
|
-
{ "type": "array", "items": { "type": "string" } },
|
|
729
|
-
{ "nullable": true }
|
|
730
|
-
]
|
|
731
|
-
}
|
|
732
|
-
},
|
|
733
|
-
"required": ["type", "content"]
|
|
734
|
-
}
|
|
735
|
-
},
|
|
736
|
-
"meta": { "nullable": true },
|
|
737
|
-
"forceUpdate": { "type": "boolean" }
|
|
738
|
-
},
|
|
739
|
-
"required": [
|
|
740
|
-
"provider",
|
|
741
|
-
"key",
|
|
742
|
-
"price",
|
|
743
|
-
"propertyType",
|
|
744
|
-
"type",
|
|
745
|
-
"status",
|
|
746
|
-
"address",
|
|
747
|
-
"publishedDate"
|
|
748
|
-
]
|
|
749
|
-
}
|
|
750
|
-
}
|
|
751
|
-
}
|
|
752
|
-
},
|
|
753
|
-
"responses": {
|
|
754
|
-
"200": {
|
|
755
|
-
"description": "Listing ingested successfully",
|
|
756
|
-
"content": {
|
|
757
|
-
"application/json": {
|
|
758
|
-
"schema": { "$ref": "#/components/schemas/IngestResponse" }
|
|
759
|
-
}
|
|
760
|
-
}
|
|
761
|
-
},
|
|
762
|
-
"400": {
|
|
763
|
-
"description": "Invalid request data",
|
|
764
|
-
"content": {
|
|
765
|
-
"application/json": {
|
|
766
|
-
"schema": { "$ref": "#/components/schemas/ErrorResponse" }
|
|
767
|
-
}
|
|
768
|
-
}
|
|
769
|
-
},
|
|
770
|
-
"500": {
|
|
771
|
-
"description": "Internal server error",
|
|
772
|
-
"content": {
|
|
773
|
-
"application/json": {
|
|
774
|
-
"schema": { "$ref": "#/components/schemas/ErrorResponse" }
|
|
775
|
-
}
|
|
776
|
-
}
|
|
777
|
-
}
|
|
778
|
-
}
|
|
779
|
-
}
|
|
780
|
-
},
|
|
781
|
-
"/listings/query": {
|
|
782
|
-
"post": {
|
|
783
|
-
"summary": "Query listings",
|
|
784
|
-
"operationId": "queryListings",
|
|
785
|
-
"description": "Query listings with various filters",
|
|
786
|
-
"tags": ["Listings"],
|
|
787
|
-
"requestBody": {
|
|
788
|
-
"content": {
|
|
789
|
-
"application/json": {
|
|
790
|
-
"schema": {
|
|
791
|
-
"type": "object",
|
|
792
|
-
"properties": {
|
|
793
|
-
"locationIds": {
|
|
794
|
-
"type": "array",
|
|
795
|
-
"items": { "type": "string" }
|
|
796
|
-
},
|
|
797
|
-
"providers": {
|
|
798
|
-
"type": "array",
|
|
799
|
-
"items": { "type": "string" }
|
|
800
|
-
},
|
|
801
|
-
"status": {
|
|
802
|
-
"type": "string",
|
|
803
|
-
"enum": ["live", "archived", "removed"]
|
|
804
|
-
},
|
|
805
|
-
"limit": {
|
|
806
|
-
"type": "number",
|
|
807
|
-
"minimum": 1,
|
|
808
|
-
"maximum": 100,
|
|
809
|
-
"default": 25
|
|
810
|
-
},
|
|
811
|
-
"offset": { "type": "number", "minimum": 0, "default": 0 },
|
|
812
|
-
"orderBy": {
|
|
813
|
-
"type": "string",
|
|
814
|
-
"enum": ["publishedDate", "price", "updatedAt"]
|
|
815
|
-
},
|
|
816
|
-
"order": {
|
|
817
|
-
"type": "string",
|
|
818
|
-
"enum": ["asc", "desc"],
|
|
819
|
-
"default": "desc"
|
|
820
|
-
}
|
|
821
|
-
}
|
|
822
|
-
}
|
|
823
|
-
}
|
|
824
|
-
}
|
|
825
|
-
},
|
|
826
|
-
"responses": {
|
|
827
|
-
"200": {
|
|
828
|
-
"description": "Query executed successfully",
|
|
829
|
-
"content": {
|
|
830
|
-
"application/json": {
|
|
831
|
-
"schema": { "$ref": "#/components/schemas/ListingsResponse" }
|
|
832
|
-
}
|
|
833
|
-
}
|
|
834
|
-
},
|
|
835
|
-
"400": {
|
|
836
|
-
"description": "Invalid query parameters",
|
|
837
|
-
"content": {
|
|
838
|
-
"application/json": {
|
|
839
|
-
"schema": { "$ref": "#/components/schemas/ErrorResponse" }
|
|
840
|
-
}
|
|
841
|
-
}
|
|
842
|
-
},
|
|
843
|
-
"500": {
|
|
844
|
-
"description": "Internal server error",
|
|
845
|
-
"content": {
|
|
846
|
-
"application/json": {
|
|
847
|
-
"schema": { "$ref": "#/components/schemas/ErrorResponse" }
|
|
848
|
-
}
|
|
849
|
-
}
|
|
850
|
-
}
|
|
851
|
-
}
|
|
852
|
-
}
|
|
853
|
-
},
|
|
854
|
-
"/listings/source/query": {
|
|
855
|
-
"post": {
|
|
856
|
-
"summary": "Query listings by source",
|
|
857
|
-
"operationId": "queryListingsBySource",
|
|
858
|
-
"description": "Query multiple listings by provider and keys",
|
|
859
|
-
"tags": ["Listings"],
|
|
860
|
-
"requestBody": {
|
|
861
|
-
"content": {
|
|
862
|
-
"application/json": {
|
|
863
|
-
"schema": {
|
|
864
|
-
"type": "object",
|
|
865
|
-
"properties": {
|
|
866
|
-
"provider": { "type": "string" },
|
|
867
|
-
"keys": {
|
|
868
|
-
"type": "array",
|
|
869
|
-
"items": { "type": "string" },
|
|
870
|
-
"minItems": 1,
|
|
871
|
-
"maxItems": 500
|
|
872
|
-
}
|
|
873
|
-
},
|
|
874
|
-
"required": ["provider", "keys"]
|
|
875
|
-
}
|
|
876
|
-
}
|
|
877
|
-
}
|
|
878
|
-
},
|
|
879
|
-
"responses": {
|
|
880
|
-
"200": {
|
|
881
|
-
"description": "Query executed successfully",
|
|
882
|
-
"content": {
|
|
883
|
-
"application/json": {
|
|
884
|
-
"schema": { "$ref": "#/components/schemas/ListingsResponse" }
|
|
885
|
-
}
|
|
886
|
-
}
|
|
887
|
-
},
|
|
888
|
-
"400": {
|
|
889
|
-
"description": "Invalid query parameters",
|
|
890
|
-
"content": {
|
|
891
|
-
"application/json": {
|
|
892
|
-
"schema": { "$ref": "#/components/schemas/ErrorResponse" }
|
|
893
|
-
}
|
|
894
|
-
}
|
|
895
|
-
},
|
|
896
|
-
"500": {
|
|
897
|
-
"description": "Internal server error",
|
|
898
|
-
"content": {
|
|
899
|
-
"application/json": {
|
|
900
|
-
"schema": { "$ref": "#/components/schemas/ErrorResponse" }
|
|
901
|
-
}
|
|
902
|
-
}
|
|
903
|
-
}
|
|
904
|
-
}
|
|
905
|
-
}
|
|
906
|
-
}
|
|
907
|
-
}
|
|
908
|
-
}
|
|
1
|
+
{"openapi":"3.0.0","info":{"version":"2.0.0","title":"Vepler Public API","description":"The definitive public API for UK property technology. Access comprehensive property data, listings, planning applications, schools, connectivity scores, and more. Private endpoints (webhooks, admin) are not included in this specification.","contact":{"name":"Vepler Support","email":"support@vepler.com","url":"https://vepler.com"},"license":{"name":"MIT","url":"https://opensource.org/licenses/MIT"}},"servers":[{"url":"https://api.vepler.com","description":"Production API"}],"security":[{"apiKeyAuth":[]}],"tags":[{"name":"Property","description":"Core UK property data including characteristics, valuations, ownership, and market insights."},{"name":"Listings","description":"Active property market listings - properties for sale and rent with prices, descriptions, and features."},{"name":"EPC","description":"Energy Performance Certificates (EPC) data including energy ratings, recommendations, and environmental impact."},{"name":"Address","description":"Address resolution and geocoding services for UK addresses."},{"name":"Planning","description":"Planning applications, development proposals, and building projects across the UK."},{"name":"Schools","description":"School performance data, Ofsted ratings, catchment areas, and educational metrics."},{"name":"Areas","description":"Geographic areas, boundaries, hierarchies, and administrative regions across the UK."},{"name":"Connectivity","description":"Broadband and mobile connectivity scores, coverage data, and digital infrastructure metrics."},{"name":"POI","description":"Points of Interest including amenities, facilities, and local services."},{"name":"Streets","description":"Street-level data including street names, properties, and statistics."},{"name":"Metrics","description":"Geographic metrics, statistics, and demographic data for UK locations."},{"name":"Safety","description":"Crime statistics, incident data, and neighbourhood safety insights."},{"name":"System","description":"API health checks, service status monitoring, and system diagnostics."}],"components":{"securitySchemes":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API Key authentication for Vepler API. Get your API key from the Vepler dashboard.","x-speakeasy-example":"vepler_api_YOUR_KEY_HERE"}},"schemas":{"PropertyAddress":{"type":"object","properties":{"displayAddress":{"type":"string","description":"Formatted display address","example":"123 Example Street, London SW1A 1AA"},"streetName":{"type":"string","description":"Street name","example":"Example Street"},"streetNumber":{"type":"string","description":"Street/house number","example":"123"},"locality":{"type":"string","description":"Local area or neighbourhood","example":"Westminster"},"town":{"type":"string","description":"Town or city","example":"London"},"county":{"type":"string","description":"County or region","example":"Greater London"},"postcode":{"type":"string","pattern":"^[A-Z]{1,2}[0-9][0-9A-Z]?\\s?[0-9][A-Z]{2}$","description":"UK postcode","example":"SW1A 1AA"},"postcodeNoSpace":{"type":"string","description":"Postcode without spaces","example":"SW1A1AA"},"outcode":{"type":"string","description":"Postcode outcode","example":"SW1A"},"incode":{"type":"string","description":"Postcode incode","example":"1AA"},"country":{"type":"string","default":"GB","description":"ISO country code","example":"GB"}},"required":["displayAddress","postcode"]},"RoomDetails":{"type":"object","properties":{"beds":{"type":"number","description":"Number of bedrooms","example":3},"baths":{"type":"number","description":"Number of bathrooms","example":2},"receptions":{"type":"number","description":"Number of reception rooms","example":1}}},"PricingData":{"type":"object","properties":{"currentSalePrice":{"type":"number","description":"Current sale price in pence","example":50000000},"currentRentPrice":{"type":"number","description":"Current rental price per month in pence","example":250000},"estimatedSaleValue":{"type":"number","description":"Estimated sale value in pence","example":52000000},"estimatedRentValue":{"type":"number","description":"Estimated rental value per month in pence","example":260000},"pricePerSqFt":{"type":"number","description":"Price per square foot","example":850},"currency":{"type":"string","default":"GBP","description":"ISO currency code","example":"GBP"}}},"MarketStatus":{"type":"object","properties":{"forSale":{"type":"string","enum":["live","sstc","under_offer","unavailable"],"description":"Sale status","example":"live"},"forRent":{"type":"string","enum":["live","reserved","unavailable"],"description":"Rental status","example":"unavailable"},"listingDate":{"type":"string","description":"ISO date when property was listed","example":"2024-01-15T00:00:00Z"},"soldDate":{"type":"string","description":"ISO date when property was sold","example":"2024-03-20T00:00:00Z"},"daysOnMarket":{"type":"number","description":"Number of days on market","example":65}}},"EPCData":{"type":"object","properties":{"currentEnergyRating":{"type":"string","enum":["A","B","C","D","E","F","G"],"description":"Current EPC rating","example":"C"},"potentialEnergyRating":{"type":"string","enum":["A","B","C","D","E","F","G"],"description":"Potential EPC rating","example":"B"},"currentEnergyEfficiency":{"type":"number","minimum":1,"maximum":100,"description":"Current energy efficiency score","example":69},"potentialEnergyEfficiency":{"type":"number","minimum":1,"maximum":100,"description":"Potential energy efficiency score","example":83},"validFrom":{"type":"string","description":"EPC certificate valid from date","example":"2023-06-15"},"validTo":{"type":"string","description":"EPC certificate valid to date","example":"2033-06-14"}}},"SaleRecord":{"type":"object","properties":{"date":{"type":"string","description":"Sale completion date","example":"2023-06-15"},"price":{"type":"number","description":"Sale price in pence","example":45000000},"propertyType":{"type":"string","description":"Property type at time of sale","example":"terraced"},"newBuild":{"type":"boolean","description":"Was a new build at time of sale","example":false}},"required":["date","price"]},"TenureData":{"type":"object","properties":{"type":{"type":"string","enum":["freehold","leasehold","unknown"],"description":"Property tenure type","example":"freehold"},"leaseYearsRemaining":{"type":"number","description":"Years remaining on lease","example":95},"groundRent":{"type":"number","description":"Annual ground rent in pence","example":25000},"serviceCharge":{"type":"number","description":"Annual service charge in pence","example":180000}}},"CouncilTaxData":{"type":"object","properties":{"taxBand":{"type":"string","enum":["A","B","C","D","E","F","G","H","I"],"description":"Council tax band","example":"D"},"annualCharge":{"type":"number","description":"Annual council tax charge in pence","example":180000},"localAuthority":{"type":"string","description":"Local authority name","example":"Westminster City Council"}}},"PropertyTags":{"type":"object","properties":{"newBuild":{"type":"boolean","default":false,"description":"Is this a new build property","example":false},"chainFree":{"type":"boolean","default":false,"description":"Is this property chain free","example":true},"auction":{"type":"boolean","default":false,"description":"Is this property being sold at auction","example":false},"sharedOwnership":{"type":"boolean","default":false,"description":"Is this a shared ownership property","example":false},"retirement":{"type":"boolean","default":false,"description":"Is this a retirement property","example":false},"cashBuyersOnly":{"type":"boolean","default":false,"description":"Cash buyers only","example":false},"investment":{"type":"boolean","default":false,"description":"Investment opportunity","example":false}}},"PropertyData":{"type":"object","properties":{"propertyId":{"type":"string","description":"Unique property identifier","example":"123abc"},"locationId":{"type":"string","description":"Location identifier","example":"456def"},"classificationCode":{"type":"string","enum":["RD","RD01","RD02","RD03","RD04","RD06","RD07","RD08","RD10"],"description":"Property classification code","example":"RD06"},"propertyType":{"type":"string","enum":["unknown","other","flat","detached","semiDetached","terraced","bungalow","maisonette","cottage","chalet","lodge","mobileHome","houseboat","retirement","characterProperty","blockOfFlats","houseShare","farmhouse","mill","barn","coachHouse","statelyHome","farm","parking","equestrian","restaurant","industrial","warehouse","leisure","retail","land","office","riad","hotel","studentAccommodation","commercial","pub","bar","hotelRoom","shop","retailHighStreet","retailOutOfTown","industrialDevelopment","distributionWarehouse","industrialPark","storage","servicedOffice","residentialDevelopment","commercialDevelopment","mixedUse"],"description":"Property type","example":"terraced"},"propertySubType":{"type":"string","description":"Property sub-type","example":"Victorian terrace"},"address":{"$ref":"#/components/schemas/PropertyAddress"},"spatial":{"type":"object","properties":{"lat":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude coordinate","example":51.5074},"lng":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude coordinate","example":-0.1278},"boundary":{"nullable":true,"description":"Property boundary GeoJSON"}},"required":["lat","lng"]},"roomDetails":{"$ref":"#/components/schemas/RoomDetails"},"pricing":{"$ref":"#/components/schemas/PricingData"},"marketStatus":{"$ref":"#/components/schemas/MarketStatus"},"epc":{"$ref":"#/components/schemas/EPCData"},"saleHistory":{"type":"array","items":{"$ref":"#/components/schemas/SaleRecord"},"description":"Historical sale records"},"tenure":{"$ref":"#/components/schemas/TenureData"},"councilTax":{"$ref":"#/components/schemas/CouncilTaxData"},"tags":{"$ref":"#/components/schemas/PropertyTags"},"floorAreaSqM":{"type":"number","description":"Total floor area in square metres","example":85},"plotSizeSqM":{"type":"number","description":"Plot size in square metres","example":120},"yearBuilt":{"type":"number","description":"Year property was built","example":1890},"lastUpdated":{"type":"string","description":"ISO timestamp of last data update","example":"2024-01-15T10:30:00Z"}},"required":["propertyId","locationId","address","spatial"]},"ServiceResponse":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]},"PropertyListResponse":{"allOf":[{"$ref":"#/components/schemas/ServiceResponse"},{"type":"object","properties":{"result":{"type":"array","items":{"$ref":"#/components/schemas/PropertyData"},"description":"Array of property data objects"},"totalSize":{"type":"number","description":"Total number of properties matching the query","example":150},"size":{"type":"number","description":"Number of properties returned in this response","example":25},"hasMore":{"type":"boolean","description":"Indicates if more results are available","example":true},"nextOffset":{"type":"number","description":"Offset to use for next page of results","example":25}},"required":["result","totalSize","size"]}]},"ErrorResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"string"},"details":{"nullable":true}},"required":["success","error"]},"PropertyLocationIdAreaFilter":{"type":"object","properties":{"locationId":{"type":"string","minLength":2,"maxLength":20,"description":"Location identifier"}},"required":["locationId"]},"PropertyPostcodeAreaFilter":{"type":"object","properties":{"type":{"type":"string","enum":["postcode"]},"value":{"type":"string","pattern":"^[A-Z]{1,2}[0-9][0-9A-Z]?(\\s?[0-9][A-Z]{2})?$","description":"Full or partial UK postcode","example":"SW1"},"radius":{"type":"number","description":"Search radius in meters","example":1000}},"required":["type","value"]},"PropertyOutcodeAreaFilter":{"type":"object","properties":{"type":{"type":"string","enum":["outcode"]},"value":{"type":"string","minLength":2,"maxLength":4,"description":"Outcode value"}},"required":["type","value"]},"PropertyPointAreaFilter":{"type":"object","properties":{"type":{"type":"string","enum":["point"]},"coordinates":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2,"description":"[latitude, longitude] coordinates","example":[51.5074,-0.1278]},"radius":{"type":"number","description":"Search radius in meters","example":1000}},"required":["type","coordinates","radius"]},"PropertyPolygonAreaFilter":{"type":"object","properties":{"type":{"type":"string","enum":["polygon"]},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}},"description":"Array of polygon coordinates","example":[[[51.5074,-0.1278],[51.508,-0.128],[51.507,-0.1275],[51.5074,-0.1278]]]}},"required":["type","coordinates"]},"PropertyMultiPolygonAreaFilter":{"type":"object","properties":{"type":{"type":"string","enum":["multipolygon"]},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}},"description":"Array of multipolygon coordinates","example":[[[[51.5074,-0.1278],[51.508,-0.128],[51.507,-0.1275],[51.5074,-0.1278]]]]}},"required":["type","coordinates"]},"PropertyAreaFilter":{"anyOf":[{"$ref":"#/components/schemas/PropertyLocationIdAreaFilter"},{"$ref":"#/components/schemas/PropertyPostcodeAreaFilter"},{"$ref":"#/components/schemas/PropertyOutcodeAreaFilter"},{"$ref":"#/components/schemas/PropertyPointAreaFilter"},{"$ref":"#/components/schemas/PropertyPolygonAreaFilter"},{"$ref":"#/components/schemas/PropertyMultiPolygonAreaFilter"}]},"PropertyQueryCondition":{"type":"object","properties":{"field":{"type":"string","description":"Field to filter on"},"comparator":{"type":"string","enum":["eq","ne","gt","gte","lt","lte","in","nin","contains","startswith","endswith"],"description":"Comparison operator"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}}],"description":"Value to compare against"}},"required":["field","comparator","value"]},"PropertyQueryGroup":{"type":"object","properties":{"conditions":{"type":"array","items":{"$ref":"#/components/schemas/PropertyQueryCondition"},"description":"Array of conditions"}},"required":["conditions"]},"PropertyQueryOperator":{"type":"object","properties":{"operator":{"type":"string","enum":["AND","OR"],"description":"Logical operator"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/PropertyQueryGroup"},"description":"Array of condition groups"}},"required":["operator","groups"]},"PropertyQueryRequest":{"type":"object","properties":{"area":{"type":"array","items":{"$ref":"#/components/schemas/PropertyAreaFilter"},"description":"Geographic search areas (multiple areas will be combined with OR logic)"},"query":{"type":"array","items":{"$ref":"#/components/schemas/PropertyQueryOperator"},"description":"Array of query operators for filtering"},"sort":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["marketStatus.lastOTM","marketStatus.lastOTMRent","marketStatus.backOTM","marketStatus.backOTMRent","marketStatus.sstcDate","marketStatus.underOfferDate","marketStatus.reservedDate","pricing.currentSale","pricing.currentRent","pricing.predictedPrice","pricing.pricePerSqft","roomDetails.beds","roomDetails.baths","roomDetails.receptions","build.totalFloorArea","build.plotSize","build.yearBuilt","_score","_doc"],"description":"Field to sort by (whitelisted fields only)"},"order":{"type":"string","enum":["asc","desc"],"description":"Sort order"},"missing":{"type":"string","enum":["_first","_last"],"description":"How to handle missing values"},"mode":{"type":"string","enum":["min","max","sum","avg","median"],"description":"Mode for multi-valued fields"}},"required":["field","order"]},"maxItems":3,"description":"Sort configuration (max 3 fields)","example":[{"field":"pricing.currentSale","order":"desc"},{"field":"roomDetails.beds","order":"desc"}]},"limit":{"type":"number","minimum":1,"maximum":10000,"default":25,"description":"Number of results to return per page","example":25},"offset":{"type":"number","minimum":0,"maximum":100000,"default":0,"description":"Number of results to skip for pagination","example":0},"attributes":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Comma-separated string or array of attributes to include","example":"address,pricing,roomDetails,epc"},"track":{"type":"boolean","default":false,"description":"Enable tracking for billing purposes"}},"required":["area","query"]},"PropertyBySlugsRequest":{"type":"object","properties":{"slugs":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":1000,"description":"Array of property slugs"},"attributes":{"type":"array","items":{"type":"string"},"description":"List of attributes to include in response"},"limit":{"type":"number","minimum":1,"maximum":1000,"default":25,"description":"Maximum number of results"},"track":{"type":"boolean","default":false,"description":"Enable tracking for billing purposes"}},"required":["slugs"]},"HealthResponse":{"type":"object","properties":{"status":{"type":"string"},"service":{"type":"string"},"timestamp":{"type":"string"},"version":{"type":"string"}},"required":["status","service"]},"PlanningApplication":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"provider":{"type":"string","description":"Council or planning authority"},"key":{"type":"string","description":"Application reference number"},"sourceId":{"type":"string"},"status":{"type":"string","enum":["received","pending_validation","invalid","valid","under_consideration","consultation","pending_decision","approved","rejected","withdrawn","appeal","on_hold","expired","unknown"]},"statusExternal":{"type":"string","nullable":true},"statusConfidence":{"type":"number","nullable":true},"type":{"type":"string","nullable":true},"typeExternal":{"type":"string","nullable":true},"developmentCategory":{"type":"string","nullable":true},"typeConfidence":{"type":"number","nullable":true},"description":{"type":"string","nullable":true},"receivedDate":{"type":"string","nullable":true},"validatedDate":{"type":"string","nullable":true},"appealedDate":{"type":"string","nullable":true},"appealedStatus":{"type":"string","nullable":true},"spatial":{"type":"object","nullable":true,"properties":{"type":{"type":"string","enum":["Point"]},"coordinates":{"type":"array","items":{"type":"number"}}},"required":["type","coordinates"]},"spatialFeatures":{"nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","provider","key","sourceId","status","createdAt","updatedAt"]},"PlanningListResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"applications":{"type":"array","items":{"$ref":"#/components/schemas/PlanningApplication"}},"total":{"type":"number"},"limit":{"type":"number"},"offset":{"type":"number"}},"required":["success","applications","total","limit","offset"]},"PlanningQueryFilters":{"type":"object","properties":{"councils":{"type":"array","items":{"type":"string"},"description":"Filter by councils/providers"},"key":{"type":"string","description":"Filter by application key/reference"},"statuses":{"type":"array","items":{"type":"string"},"description":"Filter by application statuses"},"types":{"type":"array","items":{"type":"string"},"description":"Filter by application types"},"developmentCategories":{"type":"array","items":{"type":"string"},"description":"Filter by development categories"},"receivedDateFrom":{"type":"string","description":"Filter by received date (from)"},"receivedDateTo":{"type":"string","description":"Filter by received date (to)"},"validatedDateFrom":{"type":"string","description":"Filter by validated date (from)"},"validatedDateTo":{"type":"string","description":"Filter by validated date (to)"},"appealedDateFrom":{"type":"string","description":"Filter by appealed date (from)"},"appealedDateTo":{"type":"string","description":"Filter by appealed date (to)"}}},"PlanningQueryRequest":{"type":"object","properties":{"query":{"$ref":"#/components/schemas/PlanningQueryFilters"},"limit":{"type":"number","minimum":1,"maximum":100,"default":50},"offset":{"type":"number","minimum":0,"default":0},"sortBy":{"type":"string","enum":["receivedDate","validatedDate","appealedDate","createdAt","updatedAt"],"default":"receivedDate"},"sortOrder":{"type":"string","enum":["asc","desc"],"default":"desc"}}},"StreetDescriptor":{"type":"object","properties":{"streetDescription":{"type":"string","description":"Full street name","example":"High Street"},"locality":{"type":"string","description":"Local area name","example":"Kensington"},"townName":{"type":"string","description":"Town or city name","example":"London"},"administrativeArea":{"type":"string","description":"Administrative area","example":"Greater London"},"language":{"type":"string","default":"ENG","description":"Language code","example":"ENG"}},"required":["streetDescription"]},"StreetDetails":{"type":"object","properties":{"usrn":{"type":"number","description":"Unique Street Reference Number","example":21701338},"streetStartLng":{"type":"number","description":"Street start longitude (WGS84)","example":-0.1278},"streetStartLat":{"type":"number","description":"Street start latitude (WGS84)","example":51.5074},"streetEndLng":{"type":"number","description":"Street end longitude (WGS84)","example":-0.128},"streetEndLat":{"type":"number","description":"Street end latitude (WGS84)","example":51.5076},"descriptors":{"type":"array","items":{"$ref":"#/components/schemas/StreetDescriptor"},"description":"Street name descriptors in different languages"}},"required":["usrn","descriptors"]},"PropertyOnStreet":{"type":"object","properties":{"uprn":{"type":"number","description":"Unique Property Reference Number","example":10094639688},"paoText":{"type":"string","description":"Primary addressable object text","example":"FLAT 12A"},"saoText":{"type":"string","description":"Secondary addressable object text","example":"GROUND FLOOR"},"paoStartNumber":{"type":"number","description":"Primary addressable object start number","example":123},"saoStartNumber":{"type":"number","description":"Secondary addressable object start number","example":1}},"required":["uprn"]},"StreetStatistics":{"type":"object","properties":{"propertyCount":{"type":"number","description":"Total number of properties on street","example":42},"classifications":{"type":"object","additionalProperties":{"type":"number"},"description":"Property classification breakdown","example":{"RD02":15,"RD03":10,"CM01":5}}},"required":["propertyCount","classifications"]},"StreetQueryResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"streets":{"type":"array","items":{"$ref":"#/components/schemas/StreetDetails"},"description":"Array of street details"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/PropertyOnStreet"},"description":"Properties on the street(s)"},"statistics":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/StreetStatistics"},"description":"Statistics per street (keyed by USRN)"},"total":{"type":"number","description":"Total number of streets found","example":1},"message":{"type":"string","description":"Additional information or warnings"}},"required":["success","streets","total"]},"StreetQueryByUsrn":{"type":"object","properties":{"type":{"type":"string","enum":["usrn"]},"usrn":{"type":"number","description":"Unique Street Reference Number","example":21701338}},"required":["type","usrn"]},"StreetQueryByUprn":{"type":"object","properties":{"type":{"type":"string","enum":["uprn"]},"uprn":{"type":"number","description":"Unique Property Reference Number","example":10094639688}},"required":["type","uprn"]},"StreetQueryByCoordinates":{"type":"object","properties":{"type":{"type":"string","enum":["coordinates"]},"lat":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude in decimal degrees","example":51.5074},"lng":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude in decimal degrees","example":-0.1278},"radius":{"type":"number","minimum":1,"maximum":1000,"default":50,"description":"Search radius in meters","example":50}},"required":["type","lat","lng"]},"StreetQueryByName":{"type":"object","properties":{"type":{"type":"string","enum":["name"]},"searchTerm":{"type":"string","minLength":2,"description":"Street name search term","example":"High Street"},"limit":{"type":"number","minimum":1,"maximum":50,"default":10,"description":"Maximum results","example":10}},"required":["type","searchTerm"]},"StreetQueryByPostcode":{"type":"object","properties":{"type":{"type":"string","enum":["postcode"]},"postcode":{"type":"string","pattern":"^[A-Z]{1,2}[0-9][0-9A-Z]?\\s?[0-9][A-Z]{2}$","description":"UK postcode","example":"SW1A 1AA"}},"required":["type","postcode"]},"StreetQueryRequest":{"type":"object","properties":{"identifier":{"oneOf":[{"$ref":"#/components/schemas/StreetQueryByUsrn"},{"$ref":"#/components/schemas/StreetQueryByUprn"},{"$ref":"#/components/schemas/StreetQueryByCoordinates"},{"$ref":"#/components/schemas/StreetQueryByName"},{"$ref":"#/components/schemas/StreetQueryByPostcode"}],"discriminator":{"propertyName":"type","mapping":{"usrn":"#/components/schemas/StreetQueryByUsrn","uprn":"#/components/schemas/StreetQueryByUprn","coordinates":"#/components/schemas/StreetQueryByCoordinates","name":"#/components/schemas/StreetQueryByName","postcode":"#/components/schemas/StreetQueryByPostcode"}},"description":"Street identifier - supports multiple query types"},"includeProperties":{"type":"boolean","default":false,"description":"Include properties on the street","example":true},"includeStatistics":{"type":"boolean","default":false,"description":"Include street statistics","example":true},"propertyOptions":{"type":"object","properties":{"limit":{"type":"number","minimum":1,"maximum":500,"default":100,"description":"Max properties to return","example":100},"offset":{"type":"number","minimum":0,"default":0,"description":"Pagination offset","example":0},"includeHistoric":{"type":"boolean","default":false,"description":"Include historic properties","example":false}},"description":"Options for property listing"}},"required":["identifier"]},"School":{"type":"object","properties":{"object":{"type":"string","enum":["school"],"description":"Object type identifier","example":"school"},"id":{"type":"number","description":"Unique internal identifier","example":12345},"urn":{"type":"number","description":"Unique Reference Number assigned by the Department for Education","example":100000},"name":{"type":"string","description":"Official name of the school","example":"St Mary's Primary School"},"slug":{"type":"string","nullable":true,"description":"URL-friendly version of the school name","example":"st-marys-primary-school-westminster"},"type":{"type":"string","enum":["nursery","primary","secondary","all-through","sixth-form","special","independent","academy","other"],"description":"Type of educational institution","example":"primary"},"subType":{"type":"string","description":"Sub-type of educational institution","example":"Voluntary Aided School"},"status":{"type":"string","enum":["open","closed","pending_closure"],"description":"Current operational status","example":"open"},"currentRating":{"type":"string","enum":["outstanding","good","satisfactory","inadequate"],"description":"Current Ofsted rating","example":"good"},"lowerLevelGeographyCode":{"type":"string","nullable":true,"description":"Lower level geography code (LSOA)","example":"E01004736"},"location":{"type":"object","properties":{"latitude":{"type":"number","description":"WGS84 latitude coordinate","example":51.5074},"longitude":{"type":"number","description":"WGS84 longitude coordinate","example":-0.1278}},"required":["latitude","longitude"],"description":"Geographic coordinates","example":{"latitude":51.5074,"longitude":-0.1278}},"address":{"type":"object","properties":{"street":{"type":"string","description":"Street name and number","example":"123 High Street"},"locality":{"type":"string","description":"Locality or district","example":"Westminster"},"town":{"type":"string","description":"Town or city","example":"London"},"county":{"type":"string","description":"County or region","example":"Greater London"},"postcode":{"type":"string","description":"UK postcode","example":"SW1A 1AA"}},"description":"School address information","example":{"street":"123 High Street","locality":"Westminster","town":"London","county":"Greater London","postcode":"SW1A 1AA"}},"phase":{"type":"string","description":"Educational phase (e.g., Primary, Secondary, All-through)","example":"Primary"},"ageRange":{"type":"string","description":"Age range of students","example":"4-11"},"gender":{"type":"string","description":"Gender admission policy","example":"Mixed"},"religiousCharacter":{"type":"string","description":"Religious affiliation if any","example":"Church of England"},"admissionsPolicy":{"type":"string","description":"Admissions policy type","example":"Comprehensive"},"capacity":{"type":"number","description":"Maximum student capacity","example":420},"numberOfPupils":{"type":"number","description":"Current number of enrolled students","example":385},"specialClasses":{"type":"string","description":"Special educational provision","example":"SEN Unit"},"specialistResource":{"type":"string","description":"Specialist resources available","example":"Autism Support"},"trustName":{"type":"string","description":"Name of the academy trust if applicable","example":"London Academy Trust"},"trustId":{"type":"string","description":"Unique identifier of the academy trust","example":"TR00123"},"laCode":{"type":"string","description":"Local authority code","example":"213"},"laName":{"type":"string","description":"Local authority name","example":"Westminster"},"establishmentNumber":{"type":"number","description":"DfE establishment number","example":3614},"headteacher":{"type":"string","description":"Name of the headteacher or principal","example":"Mrs Jane Smith"},"telephone":{"type":"string","description":"Main contact telephone number","example":"020 1234 5678"},"website":{"type":"string","description":"School website URL","example":"https://www.stmarys-westminster.sch.uk"},"currentRatingValue":{"type":"string","description":"Current Ofsted rating value","example":"good"},"lastInspectionDate":{"type":"string","description":"Date of last Ofsted inspection","example":"2024-01-15"},"distance":{"type":"number","description":"Distance from search point in meters (only in geographic searches)","example":1234.56},"createdAt":{"type":"string","description":"Creation timestamp in ISO format","example":"2024-01-01T00:00:00.000Z"},"updatedAt":{"type":"string","description":"Last update timestamp in ISO format","example":"2024-01-01T00:00:00.000Z"},"lastUpdated":{"type":"string","description":"Last data update timestamp in ISO format","example":"2024-01-01T00:00:00.000Z"}},"required":["object","id","urn","name","slug","type","subType","status","lowerLevelGeographyCode","createdAt","updatedAt","lastUpdated"]}},"parameters":{}},"paths":{"/v1/property/{locationIds}":{"get":{"operationId":"getPropertiesByLocation","x-speakeasy-name-override":"getPropertiesByLocation","tags":["Property"],"summary":"Get properties by location IDs","description":"Retrieve property data using comma-separated location identifiers","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":2000,"description":"Comma-separated list of location IDs"},"required":true,"description":"Comma-separated list of location IDs","name":"locationIds","in":"path"},{"schema":{"type":"string","description":"Maximum number of results to return"},"required":false,"description":"Maximum number of results to return","name":"limit","in":"query"},{"schema":{"type":"string","description":"Number of results to skip"},"required":false,"description":"Number of results to skip","name":"offset","in":"query"},{"schema":{"type":"string","description":"Comma-separated list of attributes to include"},"required":false,"description":"Comma-separated list of attributes to include","name":"attributes","in":"query"}],"responses":{"200":{"description":"Property data successfully retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyListResponse"}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/property/propertyId/{propertyIds}":{"get":{"operationId":"getProperties","x-speakeasy-name-override":"getProperties","tags":["Property"],"summary":"Get properties by property IDs","description":"Retrieve property data using comma-separated property identifiers","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":2000,"description":"Comma-separated list of property IDs"},"required":true,"description":"Comma-separated list of property IDs","name":"propertyIds","in":"path"},{"schema":{"type":"string","description":"Maximum number of results to return"},"required":false,"description":"Maximum number of results to return","name":"limit","in":"query"},{"schema":{"type":"string","description":"Number of results to skip"},"required":false,"description":"Number of results to skip","name":"offset","in":"query"},{"schema":{"type":"string","description":"Comma-separated list of attributes to include"},"required":false,"description":"Comma-separated list of attributes to include","name":"attributes","in":"query"}],"responses":{"200":{"description":"Property data successfully retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyListResponse"}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/property/query":{"post":{"operationId":"searchProperties","x-speakeasy-name-override":"searchProperties","tags":["Property"],"summary":"Query properties with advanced filters","description":"Search for properties using location, price, and other criteria","requestBody":{"description":"Property search criteria","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyQueryRequest"}}}},"responses":{"200":{"description":"Properties matching search criteria","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyListResponse"}}}},"400":{"description":"Invalid search criteria","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/property/sources/{sourceIds}":{"get":{"operationId":"getPropertiesBySource","x-speakeasy-name-override":"getPropertiesBySource","tags":["Property"],"summary":"Get properties by source IDs","description":"Retrieve property data using comma-separated source identifiers (e.g., provider-a::123)","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":2000,"description":"Comma-separated list of source IDs (e.g., provider-a::123, provider-b::456)"},"required":true,"description":"Comma-separated list of source IDs (e.g., provider-a::123, provider-b::456)","name":"sourceIds","in":"path"},{"schema":{"type":"string","description":"Maximum number of results to return"},"required":false,"description":"Maximum number of results to return","name":"limit","in":"query"},{"schema":{"type":"string","description":"Number of results to skip"},"required":false,"description":"Number of results to skip","name":"offset","in":"query"},{"schema":{"type":"string","description":"Comma-separated list of attributes to include"},"required":false,"description":"Comma-separated list of attributes to include","name":"attributes","in":"query"}],"responses":{"200":{"description":"Property data successfully retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyListResponse"}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/property/properties/by-slugs":{"post":{"operationId":"getPropertiesBySlugs","x-speakeasy-name-override":"getPropertiesBySlugs","tags":["Property"],"summary":"Get properties by slugs","description":"Retrieve property data using an array of property slugs","requestBody":{"description":"Property slugs to search for","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyBySlugsRequest"}}}},"responses":{"200":{"description":"Properties matching the provided slugs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyListResponse"}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/property/health":{"get":{"operationId":"checkPropertyHealth","x-speakeasy-name-override":"checkPropertyHealth","tags":["System"],"summary":"Property service health check","description":"Check if the property service is operational","responses":{"200":{"description":"Service is healthy","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/v1/safety/crime":{"get":{"tags":["Safety"],"summary":"Get crime data near location","description":"Retrieve crime incidents within a specified radius of coordinates","parameters":[{"schema":{"type":"string","pattern":"^-?\\d+\\.?\\d*$","description":"Latitude coordinate"},"required":true,"description":"Latitude coordinate","name":"latitude","in":"query"},{"schema":{"type":"string","pattern":"^-?\\d+\\.?\\d*$","description":"Longitude coordinate"},"required":true,"description":"Longitude coordinate","name":"longitude","in":"query"},{"schema":{"type":"string","pattern":"^\\d+$","default":"1000","description":"Search radius in meters (100-50000)"},"required":false,"description":"Search radius in meters (100-50000)","name":"radius","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}$","description":"Target month (YYYY-MM format)"},"required":false,"description":"Target month (YYYY-MM format)","name":"date","in":"query"}],"responses":{"200":{"description":"Crime data successfully retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"category":{"type":"string"},"location":{"type":"object","properties":{"latitude":{"type":"number"},"longitude":{"type":"number"},"street":{"type":"string"}},"required":["latitude","longitude"]},"outcome":{"type":"string"},"date":{"type":"string"}},"required":["id","category","location","date"]}},"summary":{"type":"object","properties":{"total":{"type":"number"},"byCategory":{"type":"object","additionalProperties":{"type":"number"}},"radius":{"type":"number"},"period":{"type":"string"}},"required":["total","byCategory","radius","period"]}},"required":["data","summary"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"nullable":true}},"required":["code","message"]}},"required":["error"]}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"nullable":true}},"required":["code","message"]}},"required":["error"]}}}}}}},"/v1/safety/crime/stats":{"get":{"tags":["Safety"],"summary":"Get crime statistics for an area","description":"Retrieve aggregated crime statistics for a specified area","parameters":[{"schema":{"type":"string","pattern":"^-?\\d+\\.?\\d*$","description":"Latitude coordinate"},"required":true,"description":"Latitude coordinate","name":"latitude","in":"query"},{"schema":{"type":"string","pattern":"^-?\\d+\\.?\\d*$","description":"Longitude coordinate"},"required":true,"description":"Longitude coordinate","name":"longitude","in":"query"},{"schema":{"type":"string","pattern":"^\\d+$","default":"1000","description":"Search radius in meters"},"required":false,"description":"Search radius in meters","name":"radius","in":"query"},{"schema":{"type":"string","pattern":"^\\d+$","default":"12","description":"Number of months to analyze"},"required":false,"description":"Number of months to analyze","name":"months","in":"query"}],"responses":{"200":{"description":"Crime statistics successfully retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"totalCrimes":{"type":"number"},"monthlyAverage":{"type":"number"},"trend":{"type":"string","enum":["increasing","decreasing","stable"]},"topCategories":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string"},"count":{"type":"number"},"percentage":{"type":"number"}},"required":["category","count","percentage"]}},"monthlyBreakdown":{"type":"array","items":{"type":"object","properties":{"month":{"type":"string"},"count":{"type":"number"}},"required":["month","count"]}},"safetyScore":{"type":"number","minimum":0,"maximum":100}},"required":["totalCrimes","monthlyAverage","trend","topCategories","monthlyBreakdown","safetyScore"]}},"required":["data"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"nullable":true}},"required":["code","message"]}},"required":["error"]}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"nullable":true}},"required":["code","message"]}},"required":["error"]}}}}}}},"/v1/epc/{locationId}":{"get":{"operationId":"getEPCByLocationId","x-speakeasy-name-override":"getEPC","tags":["EPC"],"summary":"Get EPC certificate by location ID","description":"Retrieve Energy Performance Certificate data for a property by its location ID (UPRN). Coming soon - currently returns 501 Not Implemented.","parameters":[{"schema":{"type":"string","description":"Location identifier (UPRN)","example":"100023336956"},"required":true,"description":"Location identifier (UPRN)","name":"locationId","in":"path"}],"responses":{"200":{"description":"EPC data successfully retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"nullable":true}},"required":["success"]}}}},"404":{"description":"EPC not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"],"description":"Error type category"},"code":{"type":"string","description":"Machine-readable error code","example":"resource_not_found"},"message":{"type":"string","description":"Human-readable error message","example":"The requested resource was not found"},"param":{"type":"string","description":"Parameter that caused the error","example":"id"},"doc_url":{"type":"string","description":"URL to relevant documentation","example":"https://docs.example.com/errors#resource_not_found"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}},"501":{"description":"Not implemented - EPC functionality pending migration","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"],"description":"Error type category"},"code":{"type":"string","description":"Machine-readable error code","example":"resource_not_found"},"message":{"type":"string","description":"Human-readable error message","example":"The requested resource was not found"},"param":{"type":"string","description":"Parameter that caused the error","example":"id"},"doc_url":{"type":"string","description":"URL to relevant documentation","example":"https://docs.example.com/errors#resource_not_found"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}}}}},"/v1/epc/postcode/{postcode}":{"get":{"operationId":"getEPCByPostcode","x-speakeasy-name-override":"getEPCByPostcode","tags":["EPC"],"summary":"Get EPC certificates by postcode","description":"Retrieve Energy Performance Certificates for all properties in a specific postcode. Coming soon - currently returns 501 Not Implemented.","parameters":[{"schema":{"type":"string","description":"UK postcode","example":"SW1A1AA"},"required":true,"description":"UK postcode","name":"postcode","in":"path"}],"responses":{"200":{"description":"EPC records successfully retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"type":"array","items":{"nullable":true}},"count":{"type":"number"}},"required":["success","data","count"]}}}},"501":{"description":"Not implemented - EPC functionality pending migration","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"],"description":"Error type category"},"code":{"type":"string","description":"Machine-readable error code","example":"resource_not_found"},"message":{"type":"string","description":"Human-readable error message","example":"The requested resource was not found"},"param":{"type":"string","description":"Parameter that caused the error","example":"id"},"doc_url":{"type":"string","description":"URL to relevant documentation","example":"https://docs.example.com/errors#resource_not_found"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}}}}},"/v1/epc/health":{"get":{"operationId":"checkEPCHealth","x-speakeasy-name-override":"checkEPCHealth","tags":["System"],"summary":"EPC service health check","description":"Check if the EPC service is operational","responses":{"200":{"description":"Service is healthy","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"service":{"type":"string"},"timestamp":{"type":"string"}},"required":["status","service","timestamp"]}}}}}}},"/v1/listings/{id}":{"get":{"operationId":"getListingById","x-speakeasy-name-override":"getListingById","tags":["Listings"],"summary":"Get listing by ID","description":"Retrieve a single property listing by its unique identifier","parameters":[{"schema":{"type":"string","format":"uuid","description":"Unique listing identifier"},"required":true,"description":"Unique listing identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Listing successfully retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Request success status","example":true},"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique listing identifier","example":"123e4567-e89b-12d3-a456-426614174000"},"locationId":{"type":"string","nullable":true,"description":"Location identifier","example":"SW1A1AA"},"provider":{"type":"string","description":"Data provider","example":"provider-a"},"key":{"type":"string","description":"Provider's listing reference","example":"12345678"},"currency":{"type":"string","default":"GBP","description":"Currency code","example":"GBP"},"price":{"type":"number","minimum":0,"exclusiveMinimum":true,"description":"Current price in pence","example":50000000},"priceHistory":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date-time","description":"Date of price change","example":"2024-01-15T10:30:00Z"},"price":{"type":"number","minimum":0,"exclusiveMinimum":true,"description":"New price in pence","example":50000000},"oldPrice":{"type":"number","nullable":true,"minimum":0,"exclusiveMinimum":true,"description":"Previous price in pence","example":52000000},"amount":{"type":"number","nullable":true,"description":"Price change amount in pence","example":-2000000},"percent":{"type":"number","nullable":true,"description":"Price change percentage","example":-3.85},"direction":{"type":"string","enum":["increase","decrease","nochange"],"description":"Direction of price change","example":"decrease"}},"required":["date","price"],"description":"Price change record"},"description":"Price change history"},"propertyType":{"type":"string","description":"Property type","example":"terraced"},"subPropertyType":{"type":"string","nullable":true,"description":"Property sub-type","example":"Victorian"},"beds":{"type":"number","nullable":true,"description":"Number of bedrooms","example":3},"baths":{"type":"number","nullable":true,"description":"Number of bathrooms","example":2},"receptions":{"type":"number","nullable":true,"description":"Number of reception rooms","example":1},"isRetirement":{"type":"boolean","description":"Retirement property","example":false},"isNewBuild":{"type":"boolean","description":"New build property","example":false},"isSharedOwnership":{"type":"boolean","description":"Shared ownership","example":false},"isAuction":{"type":"boolean","description":"Auction property","example":false},"type":{"type":"string","enum":["sale","rent"],"description":"Whether listing is for sale or rent","example":"sale"},"status":{"type":"string","enum":["live","archived","removed"],"description":"Current status of the listing","example":"live"},"category":{"type":"string","enum":["residential","commercial"],"description":"Property category","example":"residential"},"spatial":{"type":"object","nullable":true,"properties":{"type":{"type":"string","enum":["Point"],"description":"GeoJSON geometry type"},"coordinates":{"type":"array","items":{"anyOf":[{"type":"number","minimum":-180,"maximum":180},{"type":"number","minimum":-90,"maximum":90}]},"minItems":2,"maxItems":2,"description":"Coordinate pair [longitude, latitude]","example":[-0.1278,51.5074]}},"required":["type","coordinates"],"additionalProperties":false,"description":"GeoJSON point geometry","title":"GeoJSON Point","example":{"type":"Point","coordinates":[-0.1278,51.5074]}},"lat":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude","example":51.5074},"lng":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude","example":-0.1278},"address":{"type":"object","properties":{"propertyNumber":{"type":"string","nullable":true,"description":"Property number","example":"123"},"street":{"type":"string","nullable":true,"description":"Street name","example":"High Street"},"city":{"type":"string","nullable":true,"description":"City","example":"London"},"region":{"type":"string","nullable":true,"description":"Region","example":"Greater London"},"district":{"type":"string","nullable":true,"description":"District","example":"Westminster"},"postcode":{"type":"string","description":"UK postcode","example":"SW1A 1AA"},"outcode":{"type":"string","description":"Postcode outcode","example":"SW1A"},"incode":{"type":"string","description":"Postcode incode","example":"1AA"},"country":{"type":"string","default":"GB","description":"Country code","example":"GB"},"originalAddress":{"type":"string","description":"Original address string from source","example":"123 High Street, London SW1A 1AA"}},"required":["postcode","originalAddress"],"description":"Listing address"},"displayAddress":{"type":"string","description":"Formatted display address","example":"123 High Street, London SW1A 1AA"},"publishedDate":{"type":"string","format":"date-time","description":"Date listing was published","example":"2024-01-15T10:30:00Z"},"removedDate":{"type":"string","nullable":true,"format":"date-time","description":"Date listing was removed","example":"2024-01-15T10:30:00Z"},"images":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Image URL","example":"https://example.com/image.jpg"},"caption":{"type":"string","nullable":true,"description":"Image caption","example":"Living room"},"order":{"type":"number","nullable":true,"description":"Display order","example":1},"type":{"type":"string","nullable":true,"enum":["standard","floorplan","epc","brochure"],"description":"Type of image","example":"standard"}},"required":["url"],"description":"Listing image"},"default":[],"description":"Property images"},"energyRatingImages":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Image URL","example":"https://example.com/image.jpg"},"caption":{"type":"string","nullable":true,"description":"Image caption","example":"Living room"},"order":{"type":"number","nullable":true,"description":"Display order","example":1},"type":{"type":"string","nullable":true,"enum":["standard","floorplan","epc","brochure"],"description":"Type of image","example":"standard"}},"required":["url"],"description":"Listing image"},"default":[],"description":"EPC images"},"floorPlanImages":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Image URL","example":"https://example.com/image.jpg"},"caption":{"type":"string","nullable":true,"description":"Image caption","example":"Living room"},"order":{"type":"number","nullable":true,"description":"Display order","example":1},"type":{"type":"string","nullable":true,"enum":["standard","floorplan","epc","brochure"],"description":"Type of image","example":"standard"}},"required":["url"],"description":"Listing image"},"default":[],"description":"Floor plan images"},"brochureImages":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Image URL","example":"https://example.com/image.jpg"},"caption":{"type":"string","nullable":true,"description":"Image caption","example":"Living room"},"order":{"type":"number","nullable":true,"description":"Display order","example":1},"type":{"type":"string","nullable":true,"enum":["standard","floorplan","epc","brochure"],"description":"Type of image","example":"standard"}},"required":["url"],"description":"Listing image"},"default":[],"description":"Brochure images"},"features":{"type":"array","nullable":true,"items":{"type":"object","properties":{"featureId":{"type":"string","description":"Feature identifier","example":"parking"},"value":{"type":"string","description":"Feature value","example":"Driveway parking"}},"required":["featureId","value"],"description":"Property feature"},"description":"Property features"},"narratives":{"type":"array","nullable":true,"items":{"type":"object","properties":{"type":{"type":"string","enum":["summary","description","features","location","other"],"description":"Type of narrative content","example":"description"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"nullable":true}],"description":"Narrative content (string or array of strings)","example":"Beautiful property in prime location"}},"required":["type","content"],"description":"Listing narrative content"},"description":"Descriptive content"},"agent":{"type":"object","nullable":true,"properties":{"agentName":{"type":"string","nullable":true,"description":"Agent name","example":"John Smith"},"branchName":{"type":"string","nullable":true,"description":"Branch name","example":"London Branch"},"agencyName":{"type":"string","nullable":true,"description":"Agency name","example":"Premier Estate Agents"},"agentId":{"type":"string","nullable":true,"description":"Provider's agent ID"},"branchId":{"type":"string","nullable":true,"description":"Provider's branch ID"},"agencyId":{"type":"string","nullable":true,"description":"Provider's agency ID"},"phone":{"type":"string","nullable":true,"description":"Contact phone","example":"02012345678"},"phones":{"type":"array","nullable":true,"items":{"type":"string"},"description":"Additional phone numbers"},"email":{"type":"string","nullable":true,"description":"Contact email","example":"agent@example.com"},"emails":{"type":"array","nullable":true,"items":{"type":"string"},"description":"Additional email addresses"},"website":{"type":"string","nullable":true,"description":"Agency website"},"address":{"type":"string","nullable":true,"description":"Agency address"},"postcode":{"type":"string","nullable":true,"description":"Agency postcode"}},"description":"Agent information"},"createdAt":{"type":"string","format":"date-time","description":"Record creation timestamp","example":"2024-01-15T10:30:00Z"},"updatedAt":{"type":"string","format":"date-time","description":"Record last update timestamp","example":"2024-01-15T10:30:00Z"}},"required":["id","provider","key","price","propertyType","type","status","category","address","publishedDate"],"description":"Listing data"}},"required":["success","data"],"description":"Single listing response"}}}},"404":{"description":"Listing not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"],"description":"Error type category"},"code":{"type":"string","description":"Machine-readable error code","example":"resource_not_found"},"message":{"type":"string","description":"Human-readable error message","example":"The requested resource was not found"},"param":{"type":"string","description":"Parameter that caused the error","example":"id"},"doc_url":{"type":"string","description":"URL to relevant documentation","example":"https://docs.example.com/errors#resource_not_found"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"],"description":"Error type category"},"code":{"type":"string","description":"Machine-readable error code","example":"resource_not_found"},"message":{"type":"string","description":"Human-readable error message","example":"The requested resource was not found"},"param":{"type":"string","description":"Parameter that caused the error","example":"id"},"doc_url":{"type":"string","description":"URL to relevant documentation","example":"https://docs.example.com/errors#resource_not_found"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}}}}},"/v1/listings/location/{locationId}":{"get":{"operationId":"getListingsByLocation","x-speakeasy-name-override":"getListingsByLocation","tags":["Listings"],"summary":"Get listings by location ID","description":"Retrieve property listings by location identifier(s). Supports comma-separated location IDs for batch queries. Can aggregate listings from multiple sources.","parameters":[{"schema":{"type":"string","description":"Location ID or comma-separated list of location IDs"},"required":true,"description":"Location ID or comma-separated list of location IDs","name":"locationId","in":"path"},{"schema":{"type":"string","enum":["true","false"],"default":"true","description":"Force aggregation from multiple sources","example":"true"},"required":false,"description":"Force aggregation from multiple sources","name":"forceAggregate","in":"query"}],"responses":{"200":{"description":"Listings successfully retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Request success status","example":true},"result":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique listing identifier","example":"123e4567-e89b-12d3-a456-426614174000"},"locationId":{"type":"string","nullable":true,"description":"Location identifier","example":"SW1A1AA"},"provider":{"type":"string","description":"Data provider","example":"provider-a"},"key":{"type":"string","description":"Provider's listing reference","example":"12345678"},"currency":{"type":"string","default":"GBP","description":"Currency code","example":"GBP"},"price":{"type":"number","minimum":0,"exclusiveMinimum":true,"description":"Current price in pence","example":50000000},"priceHistory":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date-time","description":"Date of price change","example":"2024-01-15T10:30:00Z"},"price":{"type":"number","minimum":0,"exclusiveMinimum":true,"description":"New price in pence","example":50000000},"oldPrice":{"type":"number","nullable":true,"minimum":0,"exclusiveMinimum":true,"description":"Previous price in pence","example":52000000},"amount":{"type":"number","nullable":true,"description":"Price change amount in pence","example":-2000000},"percent":{"type":"number","nullable":true,"description":"Price change percentage","example":-3.85},"direction":{"type":"string","enum":["increase","decrease","nochange"],"description":"Direction of price change","example":"decrease"}},"required":["date","price"],"description":"Price change record"},"description":"Price change history"},"propertyType":{"type":"string","description":"Property type","example":"terraced"},"subPropertyType":{"type":"string","nullable":true,"description":"Property sub-type","example":"Victorian"},"beds":{"type":"number","nullable":true,"description":"Number of bedrooms","example":3},"baths":{"type":"number","nullable":true,"description":"Number of bathrooms","example":2},"receptions":{"type":"number","nullable":true,"description":"Number of reception rooms","example":1},"isRetirement":{"type":"boolean","description":"Retirement property","example":false},"isNewBuild":{"type":"boolean","description":"New build property","example":false},"isSharedOwnership":{"type":"boolean","description":"Shared ownership","example":false},"isAuction":{"type":"boolean","description":"Auction property","example":false},"type":{"type":"string","enum":["sale","rent"],"description":"Whether listing is for sale or rent","example":"sale"},"status":{"type":"string","enum":["live","archived","removed"],"description":"Current status of the listing","example":"live"},"category":{"type":"string","enum":["residential","commercial"],"description":"Property category","example":"residential"},"spatial":{"type":"object","nullable":true,"properties":{"type":{"type":"string","enum":["Point"],"description":"GeoJSON geometry type"},"coordinates":{"type":"array","items":{"anyOf":[{"type":"number","minimum":-180,"maximum":180},{"type":"number","minimum":-90,"maximum":90}]},"minItems":2,"maxItems":2,"description":"Coordinate pair [longitude, latitude]","example":[-0.1278,51.5074]}},"required":["type","coordinates"],"additionalProperties":false,"description":"GeoJSON point geometry","title":"GeoJSON Point","example":{"type":"Point","coordinates":[-0.1278,51.5074]}},"lat":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude","example":51.5074},"lng":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude","example":-0.1278},"address":{"type":"object","properties":{"propertyNumber":{"type":"string","nullable":true,"description":"Property number","example":"123"},"street":{"type":"string","nullable":true,"description":"Street name","example":"High Street"},"city":{"type":"string","nullable":true,"description":"City","example":"London"},"region":{"type":"string","nullable":true,"description":"Region","example":"Greater London"},"district":{"type":"string","nullable":true,"description":"District","example":"Westminster"},"postcode":{"type":"string","description":"UK postcode","example":"SW1A 1AA"},"outcode":{"type":"string","description":"Postcode outcode","example":"SW1A"},"incode":{"type":"string","description":"Postcode incode","example":"1AA"},"country":{"type":"string","default":"GB","description":"Country code","example":"GB"},"originalAddress":{"type":"string","description":"Original address string from source","example":"123 High Street, London SW1A 1AA"}},"required":["postcode","originalAddress"],"description":"Listing address"},"displayAddress":{"type":"string","description":"Formatted display address","example":"123 High Street, London SW1A 1AA"},"publishedDate":{"type":"string","format":"date-time","description":"Date listing was published","example":"2024-01-15T10:30:00Z"},"removedDate":{"type":"string","nullable":true,"format":"date-time","description":"Date listing was removed","example":"2024-01-15T10:30:00Z"},"images":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Image URL","example":"https://example.com/image.jpg"},"caption":{"type":"string","nullable":true,"description":"Image caption","example":"Living room"},"order":{"type":"number","nullable":true,"description":"Display order","example":1},"type":{"type":"string","nullable":true,"enum":["standard","floorplan","epc","brochure"],"description":"Type of image","example":"standard"}},"required":["url"],"description":"Listing image"},"default":[],"description":"Property images"},"energyRatingImages":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Image URL","example":"https://example.com/image.jpg"},"caption":{"type":"string","nullable":true,"description":"Image caption","example":"Living room"},"order":{"type":"number","nullable":true,"description":"Display order","example":1},"type":{"type":"string","nullable":true,"enum":["standard","floorplan","epc","brochure"],"description":"Type of image","example":"standard"}},"required":["url"],"description":"Listing image"},"default":[],"description":"EPC images"},"floorPlanImages":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Image URL","example":"https://example.com/image.jpg"},"caption":{"type":"string","nullable":true,"description":"Image caption","example":"Living room"},"order":{"type":"number","nullable":true,"description":"Display order","example":1},"type":{"type":"string","nullable":true,"enum":["standard","floorplan","epc","brochure"],"description":"Type of image","example":"standard"}},"required":["url"],"description":"Listing image"},"default":[],"description":"Floor plan images"},"brochureImages":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Image URL","example":"https://example.com/image.jpg"},"caption":{"type":"string","nullable":true,"description":"Image caption","example":"Living room"},"order":{"type":"number","nullable":true,"description":"Display order","example":1},"type":{"type":"string","nullable":true,"enum":["standard","floorplan","epc","brochure"],"description":"Type of image","example":"standard"}},"required":["url"],"description":"Listing image"},"default":[],"description":"Brochure images"},"features":{"type":"array","nullable":true,"items":{"type":"object","properties":{"featureId":{"type":"string","description":"Feature identifier","example":"parking"},"value":{"type":"string","description":"Feature value","example":"Driveway parking"}},"required":["featureId","value"],"description":"Property feature"},"description":"Property features"},"narratives":{"type":"array","nullable":true,"items":{"type":"object","properties":{"type":{"type":"string","enum":["summary","description","features","location","other"],"description":"Type of narrative content","example":"description"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"nullable":true}],"description":"Narrative content (string or array of strings)","example":"Beautiful property in prime location"}},"required":["type","content"],"description":"Listing narrative content"},"description":"Descriptive content"},"agent":{"type":"object","nullable":true,"properties":{"agentName":{"type":"string","nullable":true,"description":"Agent name","example":"John Smith"},"branchName":{"type":"string","nullable":true,"description":"Branch name","example":"London Branch"},"agencyName":{"type":"string","nullable":true,"description":"Agency name","example":"Premier Estate Agents"},"agentId":{"type":"string","nullable":true,"description":"Provider's agent ID"},"branchId":{"type":"string","nullable":true,"description":"Provider's branch ID"},"agencyId":{"type":"string","nullable":true,"description":"Provider's agency ID"},"phone":{"type":"string","nullable":true,"description":"Contact phone","example":"02012345678"},"phones":{"type":"array","nullable":true,"items":{"type":"string"},"description":"Additional phone numbers"},"email":{"type":"string","nullable":true,"description":"Contact email","example":"agent@example.com"},"emails":{"type":"array","nullable":true,"items":{"type":"string"},"description":"Additional email addresses"},"website":{"type":"string","nullable":true,"description":"Agency website"},"address":{"type":"string","nullable":true,"description":"Agency address"},"postcode":{"type":"string","nullable":true,"description":"Agency postcode"}},"description":"Agent information"},"createdAt":{"type":"string","format":"date-time","description":"Record creation timestamp","example":"2024-01-15T10:30:00Z"},"updatedAt":{"type":"string","format":"date-time","description":"Record last update timestamp","example":"2024-01-15T10:30:00Z"}},"required":["id","provider","key","price","propertyType","type","status","category","address","publishedDate"],"description":"Property listing"},"description":"Array of listings"},"totalSize":{"type":"number","description":"Total number of matching listings","example":150},"size":{"type":"number","description":"Number of listings returned","example":25}},"required":["success","result","size"],"description":"Multiple listings response"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"],"description":"Error type category"},"code":{"type":"string","description":"Machine-readable error code","example":"resource_not_found"},"message":{"type":"string","description":"Human-readable error message","example":"The requested resource was not found"},"param":{"type":"string","description":"Parameter that caused the error","example":"id"},"doc_url":{"type":"string","description":"URL to relevant documentation","example":"https://docs.example.com/errors#resource_not_found"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}}}}},"/v1/listings/source/{provider}/{key}":{"get":{"operationId":"getListingBySource","x-speakeasy-name-override":"getListingBySource","tags":["Listings"],"summary":"Get listing by provider and key","description":"Retrieve a property listing by its provider identifier and key. Optionally aggregate data from multiple sources.","parameters":[{"schema":{"type":"string","description":"Data provider identifier","example":"provider-a"},"required":true,"description":"Data provider identifier","name":"provider","in":"path"},{"schema":{"type":"string","description":"Provider's listing reference key","example":"12345678"},"required":true,"description":"Provider's listing reference key","name":"key","in":"path"},{"schema":{"type":"string","enum":["true","false"],"default":"false","description":"Force aggregation from multiple sources","example":"true"},"required":false,"description":"Force aggregation from multiple sources","name":"forceAggregate","in":"query"}],"responses":{"200":{"description":"Listing successfully retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"result":{"nullable":true}},"required":["success"]}}}},"404":{"description":"Listing not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"],"description":"Error type category"},"code":{"type":"string","description":"Machine-readable error code","example":"resource_not_found"},"message":{"type":"string","description":"Human-readable error message","example":"The requested resource was not found"},"param":{"type":"string","description":"Parameter that caused the error","example":"id"},"doc_url":{"type":"string","description":"URL to relevant documentation","example":"https://docs.example.com/errors#resource_not_found"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"],"description":"Error type category"},"code":{"type":"string","description":"Machine-readable error code","example":"resource_not_found"},"message":{"type":"string","description":"Human-readable error message","example":"The requested resource was not found"},"param":{"type":"string","description":"Parameter that caused the error","example":"id"},"doc_url":{"type":"string","description":"URL to relevant documentation","example":"https://docs.example.com/errors#resource_not_found"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}}}}},"/v1/listings/query":{"post":{"operationId":"queryListings","x-speakeasy-name-override":"queryListings","tags":["Listings"],"summary":"Query listings with filters","description":"Search for property listings using various filters including location, provider, status, and ordering. Supports pagination with limit and offset parameters.","requestBody":{"description":"Query filters and pagination parameters","content":{"application/json":{"schema":{"type":"object","properties":{"locationIds":{"type":"array","items":{"type":"string"},"description":"Filter by location IDs","example":["SW1A1AA","SW1A2AA"]},"providers":{"type":"array","items":{"type":"string"},"description":"Filter by providers","example":["provider-a","provider-b"]},"status":{"type":"string","enum":["live","archived","removed"],"description":"Filter by listing status","example":"live"},"limit":{"type":"number","minimum":1,"maximum":100,"default":25,"description":"Maximum number of results","example":25},"offset":{"type":"number","minimum":0,"default":0,"description":"Pagination offset","example":0},"orderBy":{"type":"string","enum":["publishedDate","price","updatedAt"],"description":"Field to order by","example":"publishedDate"},"order":{"type":"string","enum":["asc","desc"],"default":"desc","description":"Sort order","example":"desc"}},"description":"Listing query parameters"}}}},"responses":{"200":{"description":"Listings successfully queried","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Request success status","example":true},"result":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique listing identifier","example":"123e4567-e89b-12d3-a456-426614174000"},"locationId":{"type":"string","nullable":true,"description":"Location identifier","example":"SW1A1AA"},"provider":{"type":"string","description":"Data provider","example":"provider-a"},"key":{"type":"string","description":"Provider's listing reference","example":"12345678"},"currency":{"type":"string","default":"GBP","description":"Currency code","example":"GBP"},"price":{"type":"number","minimum":0,"exclusiveMinimum":true,"description":"Current price in pence","example":50000000},"priceHistory":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date-time","description":"Date of price change","example":"2024-01-15T10:30:00Z"},"price":{"type":"number","minimum":0,"exclusiveMinimum":true,"description":"New price in pence","example":50000000},"oldPrice":{"type":"number","nullable":true,"minimum":0,"exclusiveMinimum":true,"description":"Previous price in pence","example":52000000},"amount":{"type":"number","nullable":true,"description":"Price change amount in pence","example":-2000000},"percent":{"type":"number","nullable":true,"description":"Price change percentage","example":-3.85},"direction":{"type":"string","enum":["increase","decrease","nochange"],"description":"Direction of price change","example":"decrease"}},"required":["date","price"],"description":"Price change record"},"description":"Price change history"},"propertyType":{"type":"string","description":"Property type","example":"terraced"},"subPropertyType":{"type":"string","nullable":true,"description":"Property sub-type","example":"Victorian"},"beds":{"type":"number","nullable":true,"description":"Number of bedrooms","example":3},"baths":{"type":"number","nullable":true,"description":"Number of bathrooms","example":2},"receptions":{"type":"number","nullable":true,"description":"Number of reception rooms","example":1},"isRetirement":{"type":"boolean","description":"Retirement property","example":false},"isNewBuild":{"type":"boolean","description":"New build property","example":false},"isSharedOwnership":{"type":"boolean","description":"Shared ownership","example":false},"isAuction":{"type":"boolean","description":"Auction property","example":false},"type":{"type":"string","enum":["sale","rent"],"description":"Whether listing is for sale or rent","example":"sale"},"status":{"type":"string","enum":["live","archived","removed"],"description":"Current status of the listing","example":"live"},"category":{"type":"string","enum":["residential","commercial"],"description":"Property category","example":"residential"},"spatial":{"type":"object","nullable":true,"properties":{"type":{"type":"string","enum":["Point"],"description":"GeoJSON geometry type"},"coordinates":{"type":"array","items":{"anyOf":[{"type":"number","minimum":-180,"maximum":180},{"type":"number","minimum":-90,"maximum":90}]},"minItems":2,"maxItems":2,"description":"Coordinate pair [longitude, latitude]","example":[-0.1278,51.5074]}},"required":["type","coordinates"],"additionalProperties":false,"description":"GeoJSON point geometry","title":"GeoJSON Point","example":{"type":"Point","coordinates":[-0.1278,51.5074]}},"lat":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude","example":51.5074},"lng":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude","example":-0.1278},"address":{"type":"object","properties":{"propertyNumber":{"type":"string","nullable":true,"description":"Property number","example":"123"},"street":{"type":"string","nullable":true,"description":"Street name","example":"High Street"},"city":{"type":"string","nullable":true,"description":"City","example":"London"},"region":{"type":"string","nullable":true,"description":"Region","example":"Greater London"},"district":{"type":"string","nullable":true,"description":"District","example":"Westminster"},"postcode":{"type":"string","description":"UK postcode","example":"SW1A 1AA"},"outcode":{"type":"string","description":"Postcode outcode","example":"SW1A"},"incode":{"type":"string","description":"Postcode incode","example":"1AA"},"country":{"type":"string","default":"GB","description":"Country code","example":"GB"},"originalAddress":{"type":"string","description":"Original address string from source","example":"123 High Street, London SW1A 1AA"}},"required":["postcode","originalAddress"],"description":"Listing address"},"displayAddress":{"type":"string","description":"Formatted display address","example":"123 High Street, London SW1A 1AA"},"publishedDate":{"type":"string","format":"date-time","description":"Date listing was published","example":"2024-01-15T10:30:00Z"},"removedDate":{"type":"string","nullable":true,"format":"date-time","description":"Date listing was removed","example":"2024-01-15T10:30:00Z"},"images":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Image URL","example":"https://example.com/image.jpg"},"caption":{"type":"string","nullable":true,"description":"Image caption","example":"Living room"},"order":{"type":"number","nullable":true,"description":"Display order","example":1},"type":{"type":"string","nullable":true,"enum":["standard","floorplan","epc","brochure"],"description":"Type of image","example":"standard"}},"required":["url"],"description":"Listing image"},"default":[],"description":"Property images"},"energyRatingImages":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Image URL","example":"https://example.com/image.jpg"},"caption":{"type":"string","nullable":true,"description":"Image caption","example":"Living room"},"order":{"type":"number","nullable":true,"description":"Display order","example":1},"type":{"type":"string","nullable":true,"enum":["standard","floorplan","epc","brochure"],"description":"Type of image","example":"standard"}},"required":["url"],"description":"Listing image"},"default":[],"description":"EPC images"},"floorPlanImages":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Image URL","example":"https://example.com/image.jpg"},"caption":{"type":"string","nullable":true,"description":"Image caption","example":"Living room"},"order":{"type":"number","nullable":true,"description":"Display order","example":1},"type":{"type":"string","nullable":true,"enum":["standard","floorplan","epc","brochure"],"description":"Type of image","example":"standard"}},"required":["url"],"description":"Listing image"},"default":[],"description":"Floor plan images"},"brochureImages":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Image URL","example":"https://example.com/image.jpg"},"caption":{"type":"string","nullable":true,"description":"Image caption","example":"Living room"},"order":{"type":"number","nullable":true,"description":"Display order","example":1},"type":{"type":"string","nullable":true,"enum":["standard","floorplan","epc","brochure"],"description":"Type of image","example":"standard"}},"required":["url"],"description":"Listing image"},"default":[],"description":"Brochure images"},"features":{"type":"array","nullable":true,"items":{"type":"object","properties":{"featureId":{"type":"string","description":"Feature identifier","example":"parking"},"value":{"type":"string","description":"Feature value","example":"Driveway parking"}},"required":["featureId","value"],"description":"Property feature"},"description":"Property features"},"narratives":{"type":"array","nullable":true,"items":{"type":"object","properties":{"type":{"type":"string","enum":["summary","description","features","location","other"],"description":"Type of narrative content","example":"description"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"nullable":true}],"description":"Narrative content (string or array of strings)","example":"Beautiful property in prime location"}},"required":["type","content"],"description":"Listing narrative content"},"description":"Descriptive content"},"agent":{"type":"object","nullable":true,"properties":{"agentName":{"type":"string","nullable":true,"description":"Agent name","example":"John Smith"},"branchName":{"type":"string","nullable":true,"description":"Branch name","example":"London Branch"},"agencyName":{"type":"string","nullable":true,"description":"Agency name","example":"Premier Estate Agents"},"agentId":{"type":"string","nullable":true,"description":"Provider's agent ID"},"branchId":{"type":"string","nullable":true,"description":"Provider's branch ID"},"agencyId":{"type":"string","nullable":true,"description":"Provider's agency ID"},"phone":{"type":"string","nullable":true,"description":"Contact phone","example":"02012345678"},"phones":{"type":"array","nullable":true,"items":{"type":"string"},"description":"Additional phone numbers"},"email":{"type":"string","nullable":true,"description":"Contact email","example":"agent@example.com"},"emails":{"type":"array","nullable":true,"items":{"type":"string"},"description":"Additional email addresses"},"website":{"type":"string","nullable":true,"description":"Agency website"},"address":{"type":"string","nullable":true,"description":"Agency address"},"postcode":{"type":"string","nullable":true,"description":"Agency postcode"}},"description":"Agent information"},"createdAt":{"type":"string","format":"date-time","description":"Record creation timestamp","example":"2024-01-15T10:30:00Z"},"updatedAt":{"type":"string","format":"date-time","description":"Record last update timestamp","example":"2024-01-15T10:30:00Z"}},"required":["id","provider","key","price","propertyType","type","status","category","address","publishedDate"],"description":"Property listing"},"description":"Array of listings"},"totalSize":{"type":"number","description":"Total number of matching listings","example":150},"size":{"type":"number","description":"Number of listings returned","example":25}},"required":["success","result","size"],"description":"Multiple listings response"}}}},"400":{"description":"Invalid query parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"],"description":"Error type category"},"code":{"type":"string","description":"Machine-readable error code","example":"resource_not_found"},"message":{"type":"string","description":"Human-readable error message","example":"The requested resource was not found"},"param":{"type":"string","description":"Parameter that caused the error","example":"id"},"doc_url":{"type":"string","description":"URL to relevant documentation","example":"https://docs.example.com/errors#resource_not_found"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"],"description":"Error type category"},"code":{"type":"string","description":"Machine-readable error code","example":"resource_not_found"},"message":{"type":"string","description":"Human-readable error message","example":"The requested resource was not found"},"param":{"type":"string","description":"Parameter that caused the error","example":"id"},"doc_url":{"type":"string","description":"URL to relevant documentation","example":"https://docs.example.com/errors#resource_not_found"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}}}}},"/v1/listings/source/query":{"post":{"operationId":"queryListingsBySource","x-speakeasy-name-override":"queryListingsBySource","tags":["Listings"],"summary":"Query listings by provider and keys","description":"Retrieve multiple listings from a specific provider using their keys. Queries aggregated data from Elasticsearch. Supports up to 500 keys per request.","requestBody":{"description":"Provider identifier and array of listing keys (max 500)","content":{"application/json":{"schema":{"type":"object","properties":{"provider":{"type":"string","description":"Data provider","example":"provider-a"},"keys":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":500,"description":"Provider listing keys (max 500)","example":["12345678","87654321"]}},"required":["provider","keys"],"description":"Query listings by provider keys"}}}},"responses":{"200":{"description":"Listings successfully retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Request success status","example":true},"result":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique listing identifier","example":"123e4567-e89b-12d3-a456-426614174000"},"locationId":{"type":"string","nullable":true,"description":"Location identifier","example":"SW1A1AA"},"provider":{"type":"string","description":"Data provider","example":"provider-a"},"key":{"type":"string","description":"Provider's listing reference","example":"12345678"},"currency":{"type":"string","default":"GBP","description":"Currency code","example":"GBP"},"price":{"type":"number","minimum":0,"exclusiveMinimum":true,"description":"Current price in pence","example":50000000},"priceHistory":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date-time","description":"Date of price change","example":"2024-01-15T10:30:00Z"},"price":{"type":"number","minimum":0,"exclusiveMinimum":true,"description":"New price in pence","example":50000000},"oldPrice":{"type":"number","nullable":true,"minimum":0,"exclusiveMinimum":true,"description":"Previous price in pence","example":52000000},"amount":{"type":"number","nullable":true,"description":"Price change amount in pence","example":-2000000},"percent":{"type":"number","nullable":true,"description":"Price change percentage","example":-3.85},"direction":{"type":"string","enum":["increase","decrease","nochange"],"description":"Direction of price change","example":"decrease"}},"required":["date","price"],"description":"Price change record"},"description":"Price change history"},"propertyType":{"type":"string","description":"Property type","example":"terraced"},"subPropertyType":{"type":"string","nullable":true,"description":"Property sub-type","example":"Victorian"},"beds":{"type":"number","nullable":true,"description":"Number of bedrooms","example":3},"baths":{"type":"number","nullable":true,"description":"Number of bathrooms","example":2},"receptions":{"type":"number","nullable":true,"description":"Number of reception rooms","example":1},"isRetirement":{"type":"boolean","description":"Retirement property","example":false},"isNewBuild":{"type":"boolean","description":"New build property","example":false},"isSharedOwnership":{"type":"boolean","description":"Shared ownership","example":false},"isAuction":{"type":"boolean","description":"Auction property","example":false},"type":{"type":"string","enum":["sale","rent"],"description":"Whether listing is for sale or rent","example":"sale"},"status":{"type":"string","enum":["live","archived","removed"],"description":"Current status of the listing","example":"live"},"category":{"type":"string","enum":["residential","commercial"],"description":"Property category","example":"residential"},"spatial":{"type":"object","nullable":true,"properties":{"type":{"type":"string","enum":["Point"],"description":"GeoJSON geometry type"},"coordinates":{"type":"array","items":{"anyOf":[{"type":"number","minimum":-180,"maximum":180},{"type":"number","minimum":-90,"maximum":90}]},"minItems":2,"maxItems":2,"description":"Coordinate pair [longitude, latitude]","example":[-0.1278,51.5074]}},"required":["type","coordinates"],"additionalProperties":false,"description":"GeoJSON point geometry","title":"GeoJSON Point","example":{"type":"Point","coordinates":[-0.1278,51.5074]}},"lat":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude","example":51.5074},"lng":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude","example":-0.1278},"address":{"type":"object","properties":{"propertyNumber":{"type":"string","nullable":true,"description":"Property number","example":"123"},"street":{"type":"string","nullable":true,"description":"Street name","example":"High Street"},"city":{"type":"string","nullable":true,"description":"City","example":"London"},"region":{"type":"string","nullable":true,"description":"Region","example":"Greater London"},"district":{"type":"string","nullable":true,"description":"District","example":"Westminster"},"postcode":{"type":"string","description":"UK postcode","example":"SW1A 1AA"},"outcode":{"type":"string","description":"Postcode outcode","example":"SW1A"},"incode":{"type":"string","description":"Postcode incode","example":"1AA"},"country":{"type":"string","default":"GB","description":"Country code","example":"GB"},"originalAddress":{"type":"string","description":"Original address string from source","example":"123 High Street, London SW1A 1AA"}},"required":["postcode","originalAddress"],"description":"Listing address"},"displayAddress":{"type":"string","description":"Formatted display address","example":"123 High Street, London SW1A 1AA"},"publishedDate":{"type":"string","format":"date-time","description":"Date listing was published","example":"2024-01-15T10:30:00Z"},"removedDate":{"type":"string","nullable":true,"format":"date-time","description":"Date listing was removed","example":"2024-01-15T10:30:00Z"},"images":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Image URL","example":"https://example.com/image.jpg"},"caption":{"type":"string","nullable":true,"description":"Image caption","example":"Living room"},"order":{"type":"number","nullable":true,"description":"Display order","example":1},"type":{"type":"string","nullable":true,"enum":["standard","floorplan","epc","brochure"],"description":"Type of image","example":"standard"}},"required":["url"],"description":"Listing image"},"default":[],"description":"Property images"},"energyRatingImages":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Image URL","example":"https://example.com/image.jpg"},"caption":{"type":"string","nullable":true,"description":"Image caption","example":"Living room"},"order":{"type":"number","nullable":true,"description":"Display order","example":1},"type":{"type":"string","nullable":true,"enum":["standard","floorplan","epc","brochure"],"description":"Type of image","example":"standard"}},"required":["url"],"description":"Listing image"},"default":[],"description":"EPC images"},"floorPlanImages":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Image URL","example":"https://example.com/image.jpg"},"caption":{"type":"string","nullable":true,"description":"Image caption","example":"Living room"},"order":{"type":"number","nullable":true,"description":"Display order","example":1},"type":{"type":"string","nullable":true,"enum":["standard","floorplan","epc","brochure"],"description":"Type of image","example":"standard"}},"required":["url"],"description":"Listing image"},"default":[],"description":"Floor plan images"},"brochureImages":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Image URL","example":"https://example.com/image.jpg"},"caption":{"type":"string","nullable":true,"description":"Image caption","example":"Living room"},"order":{"type":"number","nullable":true,"description":"Display order","example":1},"type":{"type":"string","nullable":true,"enum":["standard","floorplan","epc","brochure"],"description":"Type of image","example":"standard"}},"required":["url"],"description":"Listing image"},"default":[],"description":"Brochure images"},"features":{"type":"array","nullable":true,"items":{"type":"object","properties":{"featureId":{"type":"string","description":"Feature identifier","example":"parking"},"value":{"type":"string","description":"Feature value","example":"Driveway parking"}},"required":["featureId","value"],"description":"Property feature"},"description":"Property features"},"narratives":{"type":"array","nullable":true,"items":{"type":"object","properties":{"type":{"type":"string","enum":["summary","description","features","location","other"],"description":"Type of narrative content","example":"description"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"nullable":true}],"description":"Narrative content (string or array of strings)","example":"Beautiful property in prime location"}},"required":["type","content"],"description":"Listing narrative content"},"description":"Descriptive content"},"agent":{"type":"object","nullable":true,"properties":{"agentName":{"type":"string","nullable":true,"description":"Agent name","example":"John Smith"},"branchName":{"type":"string","nullable":true,"description":"Branch name","example":"London Branch"},"agencyName":{"type":"string","nullable":true,"description":"Agency name","example":"Premier Estate Agents"},"agentId":{"type":"string","nullable":true,"description":"Provider's agent ID"},"branchId":{"type":"string","nullable":true,"description":"Provider's branch ID"},"agencyId":{"type":"string","nullable":true,"description":"Provider's agency ID"},"phone":{"type":"string","nullable":true,"description":"Contact phone","example":"02012345678"},"phones":{"type":"array","nullable":true,"items":{"type":"string"},"description":"Additional phone numbers"},"email":{"type":"string","nullable":true,"description":"Contact email","example":"agent@example.com"},"emails":{"type":"array","nullable":true,"items":{"type":"string"},"description":"Additional email addresses"},"website":{"type":"string","nullable":true,"description":"Agency website"},"address":{"type":"string","nullable":true,"description":"Agency address"},"postcode":{"type":"string","nullable":true,"description":"Agency postcode"}},"description":"Agent information"},"createdAt":{"type":"string","format":"date-time","description":"Record creation timestamp","example":"2024-01-15T10:30:00Z"},"updatedAt":{"type":"string","format":"date-time","description":"Record last update timestamp","example":"2024-01-15T10:30:00Z"}},"required":["id","provider","key","price","propertyType","type","status","category","address","publishedDate"],"description":"Property listing"},"description":"Array of listings"},"totalSize":{"type":"number","description":"Total number of matching listings","example":150},"size":{"type":"number","description":"Number of listings returned","example":25}},"required":["success","result","size"],"description":"Multiple listings response"}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"],"description":"Error type category"},"code":{"type":"string","description":"Machine-readable error code","example":"resource_not_found"},"message":{"type":"string","description":"Human-readable error message","example":"The requested resource was not found"},"param":{"type":"string","description":"Parameter that caused the error","example":"id"},"doc_url":{"type":"string","description":"URL to relevant documentation","example":"https://docs.example.com/errors#resource_not_found"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"],"description":"Error type category"},"code":{"type":"string","description":"Machine-readable error code","example":"resource_not_found"},"message":{"type":"string","description":"Human-readable error message","example":"The requested resource was not found"},"param":{"type":"string","description":"Parameter that caused the error","example":"id"},"doc_url":{"type":"string","description":"URL to relevant documentation","example":"https://docs.example.com/errors#resource_not_found"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}}}}},"/v1/listings/health":{"get":{"operationId":"checkListingsHealth","x-speakeasy-name-override":"checkListingsHealth","tags":["System"],"summary":"Listings service health check","description":"Check if the listings service is operational","responses":{"200":{"description":"Service is healthy","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"service":{"type":"string"},"timestamp":{"type":"string"}},"required":["status","service","timestamp"]}}}}}}},"/v1/planning/{applicationIds}":{"get":{"operationId":"getPlanningApplications","x-speakeasy-name-override":"getPlanningApplications","tags":["Planning"],"summary":"Get planning applications by application IDs","description":"Retrieve planning application data using comma-separated application identifiers","parameters":[{"schema":{"type":"string","description":"Comma-separated list of planning application IDs"},"required":true,"description":"Comma-separated list of planning application IDs","name":"applicationIds","in":"path"}],"responses":{"200":{"description":"Planning application data successfully retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanningListResponse"}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/planning/sources/{sourceIds}":{"get":{"operationId":"getPlanningApplicationsBySource","x-speakeasy-name-override":"getPlanningApplicationsBySource","tags":["Planning"],"summary":"Get planning applications by source IDs","description":"Retrieve planning application data using comma-separated source identifiers (e.g., council::reference)","parameters":[{"schema":{"type":"string","description":"Comma-separated list of source IDs (e.g., council-a::APP/2024/0001)"},"required":true,"description":"Comma-separated list of source IDs (e.g., council-a::APP/2024/0001)","name":"sourceIds","in":"path"}],"responses":{"200":{"description":"Planning application data successfully retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanningListResponse"}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/planning/query":{"post":{"operationId":"searchPlanningApplications","x-speakeasy-name-override":"searchPlanningApplications","tags":["Planning"],"summary":"Query planning applications with advanced filters","description":"Search for planning applications using councils, status, dates, and other criteria","requestBody":{"description":"Planning application search criteria","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanningQueryRequest"}}}},"responses":{"200":{"description":"Planning applications matching search criteria","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanningListResponse"}}}},"400":{"description":"Invalid search criteria","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/planning/health":{"get":{"operationId":"checkPlanningHealth","x-speakeasy-name-override":"checkPlanningHealth","tags":["System"],"summary":"Planning service health check","description":"Check if the planning service is operational","responses":{"200":{"description":"Service is healthy","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/v1/location/street/query":{"post":{"operationId":"searchStreets","x-speakeasy-name-override":"searchStreets","tags":["Streets"],"summary":"Query streets with flexible identifiers","description":"Query streets using USRN, UPRN, coordinates, name, or postcode. Optionally include properties and statistics.","requestBody":{"description":"Street query parameters with identifier and options","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreetQueryRequest"}}}},"responses":{"200":{"description":"Street data successfully retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreetQueryResponse"}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/location/health":{"get":{"operationId":"checkLocationHealth","x-speakeasy-name-override":"checkLocationHealth","tags":["System"],"summary":"Location service health check","description":"Check if the location service is operational","responses":{"200":{"description":"Service is healthy","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/v1/schools":{"get":{"operationId":"listSchools","x-speakeasy-name-override":"list","tags":["Schools"],"summary":"List schools","description":"Retrieve a paginated list of schools with filtering and field selection","parameters":[{"schema":{"type":"string","description":"Maximum number of results to return","example":"25"},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","description":"Number of results to skip","example":"0"},"required":false,"name":"offset","in":"query"},{"schema":{"type":"string","description":"Comma-separated list of fields to include","example":"id,name,type,status"},"required":false,"name":"fields","in":"query"},{"schema":{"type":"string","description":"Comma-separated list of related data to include (currently supports: ratings)","example":"ratings"},"required":false,"name":"expand","in":"query"},{"schema":{"type":"string","description":"Search query for school name or URN","example":"St Mary"},"required":false,"name":"query","in":"query"},{"schema":{"type":"string","description":"Filter by school type","example":"academy"},"required":false,"name":"type","in":"query"},{"schema":{"type":"string","description":"Filter by school status","example":"open"},"required":false,"name":"status","in":"query"},{"schema":{"type":"string","description":"Filter by Ofsted rating","example":"good"},"required":false,"name":"rating","in":"query"},{"schema":{"type":"string","description":"Filter by local authority","example":"Westminster"},"required":false,"name":"authority","in":"query"},{"schema":{"type":"string","description":"Filter by postcode area","example":"SW1"},"required":false,"name":"postcode","in":"query"}],"responses":{"200":{"description":"List of schools successfully retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"url":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/School"}},"has_more":{"type":"boolean"},"total_count":{"type":"number"}},"required":["object","url","data","has_more"],"description":"Paginated list of schools"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"]},"code":{"type":"string"},"message":{"type":"string"},"param":{"type":"string"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}}}}},"/v1/schools/by-urn/{urn}":{"get":{"operationId":"getSchoolByUrn","x-speakeasy-name-override":"getByUrn","tags":["Schools"],"summary":"Get school by URN","description":"Retrieve a single school by its Unique Reference Number","parameters":[{"schema":{"type":"string","description":"School URN (Unique Reference Number)","example":"100000"},"required":true,"name":"urn","in":"path"},{"schema":{"type":"string","description":"Comma-separated list of fields to include","example":"id,name,type,status"},"required":false,"name":"fields","in":"query"},{"schema":{"type":"string","description":"Comma-separated list of related data to include (currently supports: ratings)","example":"ratings"},"required":false,"name":"expand","in":"query"}],"responses":{"200":{"description":"School successfully retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/School"}}}},"404":{"description":"School not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"]},"code":{"type":"string"},"message":{"type":"string"},"param":{"type":"string"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"]},"code":{"type":"string"},"message":{"type":"string"},"param":{"type":"string"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}}}}},"/v1/schools/by-slug/{slug}":{"get":{"operationId":"getSchoolBySlug","x-speakeasy-name-override":"getBySlug","tags":["Schools"],"summary":"Get school by slug","description":"Retrieve a single school by its URL slug","parameters":[{"schema":{"type":"string","description":"School slug","example":"st-marys-primary-school-westminster"},"required":true,"name":"slug","in":"path"},{"schema":{"type":"string","description":"Comma-separated list of fields to include","example":"id,name,type,status"},"required":false,"name":"fields","in":"query"},{"schema":{"type":"string","description":"Comma-separated list of related data to include (currently supports: ratings)","example":"ratings"},"required":false,"name":"expand","in":"query"}],"responses":{"200":{"description":"School successfully retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/School"}}}},"404":{"description":"School not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"]},"code":{"type":"string"},"message":{"type":"string"},"param":{"type":"string"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"]},"code":{"type":"string"},"message":{"type":"string"},"param":{"type":"string"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}}}}},"/v1/schools/{id}":{"get":{"operationId":"getSchoolById","x-speakeasy-name-override":"get","tags":["Schools"],"summary":"Get school by ID","description":"Retrieve a single school by its internal ID","parameters":[{"schema":{"type":"string","description":"School ID","example":"12345"},"required":true,"name":"id","in":"path"},{"schema":{"type":"string","description":"Comma-separated list of fields to include","example":"id,name,type,status"},"required":false,"name":"fields","in":"query"},{"schema":{"type":"string","description":"Comma-separated list of related data to include (currently supports: ratings)","example":"ratings"},"required":false,"name":"expand","in":"query"}],"responses":{"200":{"description":"School successfully retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/School"}}}},"404":{"description":"School not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"]},"code":{"type":"string"},"message":{"type":"string"},"param":{"type":"string"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"]},"code":{"type":"string"},"message":{"type":"string"},"param":{"type":"string"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}}}}},"/v1/schools/search/nearby":{"get":{"operationId":"searchSchoolsNearby","x-speakeasy-name-override":"searchNearby","tags":["Schools"],"summary":"Search schools near location","description":"Find schools within a specified radius of a geographic point","parameters":[{"schema":{"type":"string","description":"Latitude coordinate","example":"51.5074"},"required":true,"name":"latitude","in":"query"},{"schema":{"type":"string","description":"Longitude coordinate","example":"-0.1278"},"required":true,"name":"longitude","in":"query"},{"schema":{"type":"string","default":"5000","description":"Search radius","example":"5000"},"required":false,"name":"radius","in":"query"},{"schema":{"type":"string","enum":["meters","miles"],"default":"meters","description":"Unit for radius","example":"meters"},"required":false,"name":"unit","in":"query"},{"schema":{"type":"string","description":"Maximum number of results","example":"25"},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","description":"School status filter","example":"open"},"required":false,"name":"status","in":"query"},{"schema":{"type":"string","description":"Ofsted rating filter","example":"good"},"required":false,"name":"rating","in":"query"},{"schema":{"type":"string","description":"Comma-separated list of fields to include","example":"id,name,distance"},"required":false,"name":"fields","in":"query"},{"schema":{"type":"string","description":"Comma-separated list of related data to include (currently supports: ratings)","example":"ratings"},"required":false,"name":"expand","in":"query"}],"responses":{"200":{"description":"List of nearby schools","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"url":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/School"}},"has_more":{"type":"boolean"},"total_count":{"type":"number"}},"required":["object","url","data","has_more"],"description":"Paginated list of schools"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"]},"code":{"type":"string"},"message":{"type":"string"},"param":{"type":"string"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}}}}},"/v1/schools/search/within":{"get":{"operationId":"searchSchoolsWithin","x-speakeasy-name-override":"searchWithin","tags":["Schools"],"summary":"Search schools within bounds","description":"Find schools within a geographic bounding box","parameters":[{"schema":{"type":"string","description":"Northern boundary latitude","example":"51.5200"},"required":true,"name":"north","in":"query"},{"schema":{"type":"string","description":"Southern boundary latitude","example":"51.5000"},"required":true,"name":"south","in":"query"},{"schema":{"type":"string","description":"Eastern boundary longitude","example":"-0.1000"},"required":true,"name":"east","in":"query"},{"schema":{"type":"string","description":"Western boundary longitude","example":"-0.1500"},"required":true,"name":"west","in":"query"},{"schema":{"type":"string","description":"Maximum number of results","example":"100"},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","description":"School status filter","example":"open"},"required":false,"name":"status","in":"query"},{"schema":{"type":"string","description":"Ofsted rating filter","example":"good"},"required":false,"name":"rating","in":"query"},{"schema":{"type":"string","description":"Comma-separated list of fields to include","example":"id,name,location"},"required":false,"name":"fields","in":"query"},{"schema":{"type":"string","description":"Comma-separated list of related data to include (currently supports: ratings)","example":"ratings"},"required":false,"name":"expand","in":"query"}],"responses":{"200":{"description":"List of schools within bounds","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"url":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/School"}},"has_more":{"type":"boolean"},"total_count":{"type":"number"}},"required":["object","url","data","has_more"],"description":"Paginated list of schools"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"]},"code":{"type":"string"},"message":{"type":"string"},"param":{"type":"string"}},"required":["type","message"]}},"required":["error"],"description":"Error response"}}}}}}},"/v1/schools/metrics":{"get":{"operationId":"getSchoolMetrics","x-speakeasy-name-override":"getMetrics","tags":["Schools"],"summary":"Get school metrics","description":"Retrieve metrics for specified schools using metric codes or predefined profiles. Supports both point-in-time and time series queries.","parameters":[{"schema":{"type":"string","description":"Comma-separated list of school IDs"},"required":true,"description":"Comma-separated list of school IDs","name":"schoolIds","in":"query"},{"schema":{"type":"string","description":"Comma-separated list of specific metric codes"},"required":false,"description":"Comma-separated list of specific metric codes","name":"metricCodes","in":"query"},{"schema":{"type":"string"},"required":false,"name":"profile","in":"query"},{"schema":{"type":"string"},"required":false,"name":"academicYear","in":"query"},{"schema":{"type":"string","enum":["ks2","ks4","ks5","pupil","finance","ofsted"],"description":"Metric categories for grouping related metrics","example":"ks4"},"required":false,"description":"Filter by metric category","name":"category","in":"query"},{"schema":{"type":"string","enum":["all","disadvantaged","boys","girls","eal","senSupport","ehcp","english","unclassified"],"description":"Student cohort types for metric filtering","example":"all"},"required":false,"description":"Filter by cohort type","name":"cohortType","in":"query"},{"schema":{"type":"string","enum":["annual","termly","monthly"],"description":"Reporting period frequency","example":"annual"},"required":false,"description":"Reporting period","name":"period","in":"query"},{"schema":{"type":"string","description":"Return time series data instead of point-in-time"},"required":false,"description":"Return time series data instead of point-in-time","name":"timeseries","in":"query"},{"schema":{"type":"string"},"required":false,"name":"startYear","in":"query"},{"schema":{"type":"string"},"required":false,"name":"endYear","in":"query"},{"schema":{"type":"string","description":"Include metric definitions and metadata"},"required":false,"description":"Include metric definitions and metadata","name":"includeDefinitions","in":"query"},{"schema":{"type":"string","description":"Include national/regional/similar school comparisons"},"required":false,"description":"Include national/regional/similar school comparisons","name":"includeComparisons","in":"query"},{"schema":{"type":"string"},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string"},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Metrics successfully retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"url":{"type":"string"},"data":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"schoolId":{"type":"number"},"metrics":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"value":{"anyOf":[{"type":"number"},{"type":"string"}]},"academicYear":{"type":"string"},"cohortType":{"type":"string"},"confidence":{"type":"object","properties":{"lower":{"type":"number"},"upper":{"type":"number"}},"description":"Confidence interval for metric values"},"metadata":{"type":"object","additionalProperties":{"nullable":true}}},"required":["code","value"],"description":"Individual metric value with metadata"}},"comparisons":{"type":"object","additionalProperties":{"type":"object","properties":{"national":{"type":"number"},"regional":{"type":"number"},"similarSchools":{"type":"number"},"localAuthority":{"type":"number"}},"description":"Comparison data against various benchmarks"}},"definitions":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"category":{"type":"string"},"subcategory":{"type":"string"},"description":{"type":"string"},"dataType":{"type":"string","enum":["percentage","score","count","currency","text"]},"units":{"type":"string"},"isHigherBetter":{"type":"boolean"},"nationalAverage":{"type":"number"}},"required":["code","category","subcategory","description","dataType"],"description":"Metric definition and metadata"}}},"required":["schoolId","metrics"],"description":"School metrics response for point-in-time data"}},{"type":"array","items":{"type":"object","properties":{"schoolId":{"type":"number"},"metricCodes":{"type":"array","items":{"type":"string"}},"series":{"type":"array","items":{"type":"object","properties":{"year":{"type":"string"},"values":{"type":"object","additionalProperties":{"anyOf":[{"type":"number"},{"type":"string"}]}}},"required":["year","values"],"description":"Time series data point with multiple metric values"}},"definitions":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"category":{"type":"string"},"subcategory":{"type":"string"},"description":{"type":"string"},"dataType":{"type":"string","enum":["percentage","score","count","currency","text"]},"units":{"type":"string"},"isHigherBetter":{"type":"boolean"},"nationalAverage":{"type":"number"}},"required":["code","category","subcategory","description","dataType"],"description":"Metric definition and metadata"}}},"required":["schoolId","metricCodes","series"],"description":"School metrics time series response"}}]},"has_more":{"type":"boolean"},"total_count":{"type":"number"}},"required":["object","url","data","has_more"],"description":"Paginated metrics response envelope"}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"]},"code":{"type":"string"},"message":{"type":"string"},"param":{"type":"string"}},"required":["type","message"]}},"required":["error"],"description":"Error response structure"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["api_error","invalid_request_error","authentication_error","rate_limit_error"]},"code":{"type":"string"},"message":{"type":"string"},"param":{"type":"string"}},"required":["type","message"]}},"required":["error"],"description":"Error response structure"}}}}}}},"/v1/schools/metrics/profiles":{"get":{"operationId":"getMetricProfiles","x-speakeasy-name-override":"listProfiles","tags":["Schools"],"summary":"List metric profiles","description":"Get a list of all available metric profiles with their descriptions and metric counts","responses":{"200":{"description":"List of metric profiles","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"metricCount":{"type":"number"}},"required":["name","description","metricCount"],"description":"Metric profile information"}}},"required":["object","data"],"description":"List of available metric profiles"}}}}}}},"/v1/area-reference/areas/{field}/{ids}":{"get":{"operationId":"getAreasByFieldAndIds","x-speakeasy-name-override":"getAreas","tags":["Areas"],"summary":"Get geographic areas by field and IDs","description":"Retrieve geographic areas by field type (postcode, ward, county, etc.) and comma-separated IDs. Optionally include geometry, relationships, and hierarchy data.","parameters":[{"schema":{"type":"string","description":"Field type to search by (e.g., postcode, ward, county, or 'all' for any type)"},"required":true,"description":"Field type to search by (e.g., postcode, ward, county, or 'all' for any type)","name":"field","in":"path"},{"schema":{"type":"string","description":"Comma-separated list of IDs to retrieve"},"required":true,"description":"Comma-separated list of IDs to retrieve","name":"ids","in":"path"},{"schema":{"type":"string","description":"Field to group results by (e.g., 'type' to group by area type)","example":"type"},"required":false,"description":"Field to group results by (e.g., 'type' to group by area type)","name":"groupBy","in":"query"},{"schema":{"type":"string","description":"Include relationships with other geographic entities (default: false)","example":"true"},"required":false,"description":"Include relationships with other geographic entities (default: false)","name":"includeRelationships","in":"query"},{"schema":{"type":"string","description":"Include hierarchical parent areas (e.g., postcode → ward → district, default: false)","example":"true"},"required":false,"description":"Include hierarchical parent areas (e.g., postcode → ward → district, default: false)","name":"includeHierarchy","in":"query"},{"schema":{"type":"string","description":"Include GeoJSON boundary geometry (default: false)","example":"true"},"required":false,"description":"Include GeoJSON boundary geometry (default: false)","name":"includeGeometry","in":"query"},{"schema":{"type":"string","default":"100","description":"Maximum number of results to return (max: 1000)","example":"50"},"required":false,"description":"Maximum number of results to return (max: 1000)","name":"limit","in":"query"},{"schema":{"type":"string","default":"0","description":"Number of results to skip (for pagination)","example":"0"},"required":false,"description":"Number of results to skip (for pagination)","name":"offset","in":"query"}],"responses":{"200":{"description":"Areas successfully retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates whether the request was successful","example":true},"message":{"type":"string","description":"Optional message providing additional context about the response","example":"Data retrieved successfully"},"result":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","description":"Internal database ID for the geographic entity","example":12345},"code":{"type":"string","description":"Unique identifier code for this area (e.g., 'SW1A1AA' for postcode, 'E09000001' for local authority)","example":"SW1A1AA"},"type":{"type":"string","enum":["postcode","lsoa21","uk_output_area","ward","country","county","local_authority_district","area_natural_beauty","national_scenic_area"],"description":"Geographic hierarchy type - from smallest (output_area) to largest (country)","example":"postcode"},"name":{"type":"string","description":"Human-readable name of the geographic area","example":"Westminster"},"status":{"type":"string","description":"Current status of the area (e.g., 'active', 'archived')","example":"active"},"metadata":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Additional metadata about the area in key-value format","example":{"population":242100,"households":118200}},"lat":{"type":"number","nullable":true,"description":"Latitude of the area's centroid point in WGS84 (EPSG:4326)","example":51.5074},"long":{"type":"number","nullable":true,"description":"Longitude of the area's centroid point in WGS84 (EPSG:4326)","example":-0.1278},"geometry":{"nullable":true,"description":"GeoJSON geometry object representing the area boundary (Polygon or MultiPolygon format)","example":{"type":"Polygon","coordinates":[[[-0.1278,51.5074],[-0.1268,51.5074],[-0.1268,51.5084],[-0.1278,51.5084],[-0.1278,51.5074]]]}},"areaSqm":{"type":"number","nullable":true,"description":"Total area in square metres","example":2147000},"relationships":{"type":"array","nullable":true,"items":{"type":"object","properties":{"targetId":{"type":"string","description":"Code of the related geographic entity","example":"E09000001"},"targetType":{"type":"string","description":"Type of the related geographic entity","example":"local_authority_district"},"relationshipType":{"type":"string","description":"Nature of the relationship: 'contains' (parent-child), 'borders' (adjacent), 'overlaps' (partial overlap)","example":"contains"}},"required":["targetId","targetType","relationshipType"]},"description":"List of relationships this area has with other geographic entities"},"hierarchy":{"type":"array","nullable":true,"items":{"type":"object","properties":{"code":{"type":"string","description":"Code of the area at this hierarchy level","example":"E09000001"},"name":{"type":"string","description":"Name of the area at this hierarchy level","example":"City of London"},"type":{"type":"string","description":"Geographic type at this level","example":"local_authority_district"},"level":{"type":"number","description":"Hierarchy level (0 = finest granularity like output_area, higher numbers = broader areas like country)","example":5}},"required":["code","name","type","level"]},"description":"Geographic hierarchy showing parent areas at different administrative levels"}},"required":["code","type","name"],"description":"A geographic entity representing an administrative or statistical area","example":{"id":12345,"code":"SW1A1AA","type":"postcode","name":"Westminster, Buckingham Palace","status":"active","metadata":{"households":45,"population":112},"lat":51.5014,"long":-0.1419,"geometry":{"type":"Polygon","coordinates":[[[-0.1419,51.5014],[-0.1409,51.5014],[-0.1409,51.5024],[-0.1419,51.5024],[-0.1419,51.5014]]]},"areaSqm":125000,"relationships":[{"targetId":"E09000033","targetType":"local_authority_district","relationshipType":"contains"}],"hierarchy":[{"code":"E09000033","name":"Westminster","type":"local_authority_district","level":5},{"code":"E12000007","name":"London","type":"county","level":6}]}},"description":"Array of geographic entities matching the request criteria"}},"required":["success","result"],"description":"Response containing an array of geographic areas","example":{"success":true,"result":[{"id":12345,"code":"SW1A1AA","type":"postcode","name":"Westminster, Buckingham Palace","status":"active","lat":51.5014,"long":-0.1419,"metadata":{"households":45,"population":112}}]}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses"},"error":{"type":"string","description":"High-level error category or message","example":"Invalid request parameters"},"details":{"type":"string","description":"Detailed error information for debugging","example":"Latitude must be between -90 and 90"},"code":{"type":"string","description":"Machine-readable error code","example":"VALIDATION_ERROR"}},"required":["success","error"],"description":"Error response format for failed requests","example":{"success":false,"error":"Invalid request parameters","details":"Latitude must be between -90 and 90","code":"VALIDATION_ERROR"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses"},"error":{"type":"string","description":"High-level error category or message","example":"Invalid request parameters"},"details":{"type":"string","description":"Detailed error information for debugging","example":"Latitude must be between -90 and 90"},"code":{"type":"string","description":"Machine-readable error code","example":"VALIDATION_ERROR"}},"required":["success","error"],"description":"Error response format for failed requests","example":{"success":false,"error":"Invalid request parameters","details":"Latitude must be between -90 and 90","code":"VALIDATION_ERROR"}}}}}}}},"/v1/area-reference/areas/within":{"get":{"operationId":"getAreasWithinRadius","x-speakeasy-name-override":"getAreasWithin","tags":["Areas"],"summary":"Find areas within a radius of a location","description":"Find geographic areas within a specified radius of a latitude/longitude point. Filter by area type and optionally include geometry data.","parameters":[{"schema":{"type":"string","description":"Latitude coordinate of the search center point","example":"51.5074"},"required":true,"description":"Latitude coordinate of the search center point","name":"lat","in":"query"},{"schema":{"type":"string","description":"Longitude coordinate of the search center point","example":"-0.1278"},"required":true,"description":"Longitude coordinate of the search center point","name":"lng","in":"query"},{"schema":{"type":"string","default":"1000","description":"Search radius in metres (default: 1000)","example":"500"},"required":false,"description":"Search radius in metres (default: 1000)","name":"radius","in":"query"},{"schema":{"type":"string","enum":["postcode","lsoa21","uk_output_area","ward","country","county","local_authority_district","area_natural_beauty","national_scenic_area"],"description":"Geographic hierarchy type - from smallest (output_area) to largest (country)","example":"postcode"},"required":false,"description":"Filter results by geographic type","name":"type","in":"query"},{"schema":{"type":"string","description":"Include GeoJSON boundary geometry (default: false)","example":"false"},"required":false,"description":"Include GeoJSON boundary geometry (default: false)","name":"includeGeometry","in":"query"},{"schema":{"type":"string","default":"100","description":"Maximum number of results (max: 1000)","example":"10"},"required":false,"description":"Maximum number of results (max: 1000)","name":"limit","in":"query"}],"responses":{"200":{"description":"Areas within radius successfully retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates whether the request was successful","example":true},"message":{"type":"string","description":"Optional message providing additional context about the response","example":"Data retrieved successfully"},"result":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","description":"Internal database ID for the geographic entity","example":12345},"code":{"type":"string","description":"Unique identifier code for this area (e.g., 'SW1A1AA' for postcode, 'E09000001' for local authority)","example":"SW1A1AA"},"type":{"type":"string","enum":["postcode","lsoa21","uk_output_area","ward","country","county","local_authority_district","area_natural_beauty","national_scenic_area"],"description":"Geographic hierarchy type - from smallest (output_area) to largest (country)","example":"postcode"},"name":{"type":"string","description":"Human-readable name of the geographic area","example":"Westminster"},"status":{"type":"string","description":"Current status of the area (e.g., 'active', 'archived')","example":"active"},"metadata":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Additional metadata about the area in key-value format","example":{"population":242100,"households":118200}},"lat":{"type":"number","nullable":true,"description":"Latitude of the area's centroid point in WGS84 (EPSG:4326)","example":51.5074},"long":{"type":"number","nullable":true,"description":"Longitude of the area's centroid point in WGS84 (EPSG:4326)","example":-0.1278},"geometry":{"nullable":true,"description":"GeoJSON geometry object representing the area boundary (Polygon or MultiPolygon format)","example":{"type":"Polygon","coordinates":[[[-0.1278,51.5074],[-0.1268,51.5074],[-0.1268,51.5084],[-0.1278,51.5084],[-0.1278,51.5074]]]}},"areaSqm":{"type":"number","nullable":true,"description":"Total area in square metres","example":2147000},"relationships":{"type":"array","nullable":true,"items":{"type":"object","properties":{"targetId":{"type":"string","description":"Code of the related geographic entity","example":"E09000001"},"targetType":{"type":"string","description":"Type of the related geographic entity","example":"local_authority_district"},"relationshipType":{"type":"string","description":"Nature of the relationship: 'contains' (parent-child), 'borders' (adjacent), 'overlaps' (partial overlap)","example":"contains"}},"required":["targetId","targetType","relationshipType"]},"description":"List of relationships this area has with other geographic entities"},"hierarchy":{"type":"array","nullable":true,"items":{"type":"object","properties":{"code":{"type":"string","description":"Code of the area at this hierarchy level","example":"E09000001"},"name":{"type":"string","description":"Name of the area at this hierarchy level","example":"City of London"},"type":{"type":"string","description":"Geographic type at this level","example":"local_authority_district"},"level":{"type":"number","description":"Hierarchy level (0 = finest granularity like output_area, higher numbers = broader areas like country)","example":5}},"required":["code","name","type","level"]},"description":"Geographic hierarchy showing parent areas at different administrative levels"},"distance":{"type":"number","description":"Distance from the search center point in metres","example":342.7}},"required":["code","type","name","distance"],"description":"A geographic entity representing an administrative or statistical area","example":{"id":12345,"code":"SW1A1AA","type":"postcode","name":"Westminster, Buckingham Palace","status":"active","metadata":{"households":45,"population":112},"lat":51.5014,"long":-0.1419,"geometry":{"type":"Polygon","coordinates":[[[-0.1419,51.5014],[-0.1409,51.5014],[-0.1409,51.5024],[-0.1419,51.5024],[-0.1419,51.5014]]]},"areaSqm":125000,"relationships":[{"targetId":"E09000033","targetType":"local_authority_district","relationshipType":"contains"}],"hierarchy":[{"code":"E09000033","name":"Westminster","type":"local_authority_district","level":5},{"code":"E12000007","name":"London","type":"county","level":6}]}},"description":"Array of areas within the search radius, sorted by distance"}},"required":["success","result"],"description":"Response containing areas within the specified radius","example":{"success":true,"result":[{"id":12345,"code":"E05009372","type":"ward","name":"St James's","status":"active","lat":51.5074,"long":-0.1278,"distance":127.3},{"id":12346,"code":"E05009373","type":"ward","name":"Hyde Park","status":"active","lat":51.508,"long":-0.1285,"distance":342.7}]}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses"},"error":{"type":"string","description":"High-level error category or message","example":"Invalid request parameters"},"details":{"type":"string","description":"Detailed error information for debugging","example":"Latitude must be between -90 and 90"},"code":{"type":"string","description":"Machine-readable error code","example":"VALIDATION_ERROR"}},"required":["success","error"],"description":"Error response format for failed requests","example":{"success":false,"error":"Invalid request parameters","details":"Latitude must be between -90 and 90","code":"VALIDATION_ERROR"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses"},"error":{"type":"string","description":"High-level error category or message","example":"Invalid request parameters"},"details":{"type":"string","description":"Detailed error information for debugging","example":"Latitude must be between -90 and 90"},"code":{"type":"string","description":"Machine-readable error code","example":"VALIDATION_ERROR"}},"required":["success","error"],"description":"Error response format for failed requests","example":{"success":false,"error":"Invalid request parameters","details":"Latitude must be between -90 and 90","code":"VALIDATION_ERROR"}}}}}}}},"/v1/area-reference/areas/children/{parentCode}":{"get":{"operationId":"getChildAreas","x-speakeasy-name-override":"getChildAreas","tags":["Areas"],"summary":"Get child areas within a parent area","description":"Retrieve all child areas contained within a parent geographic area. Optionally filter by child type using the childType query parameter.","parameters":[{"schema":{"type":"string","description":"Code of the parent area"},"required":true,"description":"Code of the parent area","name":"parentCode","in":"path"},{"schema":{"type":"string","description":"Include GeoJSON boundary geometry for child areas (default: false)","example":"false"},"required":false,"description":"Include GeoJSON boundary geometry for child areas (default: false)","name":"includeGeometry","in":"query"},{"schema":{"type":"string","description":"Optional type of child areas to retrieve"},"required":false,"description":"Optional type of child areas to retrieve","name":"childType","in":"query"}],"responses":{"200":{"description":"Child areas successfully retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates whether the request was successful","example":true},"message":{"type":"string","description":"Optional message providing additional context about the response","example":"Data retrieved successfully"},"parent":{"type":"object","properties":{"id":{"type":"number","description":"Internal database ID for the geographic entity","example":12345},"code":{"type":"string","description":"Unique identifier code for this area (e.g., 'SW1A1AA' for postcode, 'E09000001' for local authority)","example":"SW1A1AA"},"type":{"type":"string","enum":["postcode","lsoa21","uk_output_area","ward","country","county","local_authority_district","area_natural_beauty","national_scenic_area"],"description":"Geographic hierarchy type - from smallest (output_area) to largest (country)","example":"postcode"},"name":{"type":"string","description":"Human-readable name of the geographic area","example":"Westminster"},"status":{"type":"string","description":"Current status of the area (e.g., 'active', 'archived')","example":"active"},"metadata":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Additional metadata about the area in key-value format","example":{"population":242100,"households":118200}},"lat":{"type":"number","nullable":true,"description":"Latitude of the area's centroid point in WGS84 (EPSG:4326)","example":51.5074},"long":{"type":"number","nullable":true,"description":"Longitude of the area's centroid point in WGS84 (EPSG:4326)","example":-0.1278},"geometry":{"nullable":true,"description":"GeoJSON geometry object representing the area boundary (Polygon or MultiPolygon format)","example":{"type":"Polygon","coordinates":[[[-0.1278,51.5074],[-0.1268,51.5074],[-0.1268,51.5084],[-0.1278,51.5084],[-0.1278,51.5074]]]}},"areaSqm":{"type":"number","nullable":true,"description":"Total area in square metres","example":2147000},"relationships":{"type":"array","nullable":true,"items":{"type":"object","properties":{"targetId":{"type":"string","description":"Code of the related geographic entity","example":"E09000001"},"targetType":{"type":"string","description":"Type of the related geographic entity","example":"local_authority_district"},"relationshipType":{"type":"string","description":"Nature of the relationship: 'contains' (parent-child), 'borders' (adjacent), 'overlaps' (partial overlap)","example":"contains"}},"required":["targetId","targetType","relationshipType"]},"description":"List of relationships this area has with other geographic entities"},"hierarchy":{"type":"array","nullable":true,"items":{"type":"object","properties":{"code":{"type":"string","description":"Code of the area at this hierarchy level","example":"E09000001"},"name":{"type":"string","description":"Name of the area at this hierarchy level","example":"City of London"},"type":{"type":"string","description":"Geographic type at this level","example":"local_authority_district"},"level":{"type":"number","description":"Hierarchy level (0 = finest granularity like output_area, higher numbers = broader areas like country)","example":5}},"required":["code","name","type","level"]},"description":"Geographic hierarchy showing parent areas at different administrative levels"}},"required":["code","type","name"],"description":"A geographic entity representing an administrative or statistical area","example":{"id":12345,"code":"SW1A1AA","type":"postcode","name":"Westminster, Buckingham Palace","status":"active","metadata":{"households":45,"population":112},"lat":51.5014,"long":-0.1419,"geometry":{"type":"Polygon","coordinates":[[[-0.1419,51.5014],[-0.1409,51.5014],[-0.1409,51.5024],[-0.1419,51.5024],[-0.1419,51.5014]]]},"areaSqm":125000,"relationships":[{"targetId":"E09000033","targetType":"local_authority_district","relationshipType":"contains"}],"hierarchy":[{"code":"E09000033","name":"Westminster","type":"local_authority_district","level":5},{"code":"E12000007","name":"London","type":"county","level":6}]}},"children":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","description":"Internal database ID for the geographic entity","example":12345},"code":{"type":"string","description":"Unique identifier code for this area (e.g., 'SW1A1AA' for postcode, 'E09000001' for local authority)","example":"SW1A1AA"},"type":{"type":"string","enum":["postcode","lsoa21","uk_output_area","ward","country","county","local_authority_district","area_natural_beauty","national_scenic_area"],"description":"Geographic hierarchy type - from smallest (output_area) to largest (country)","example":"postcode"},"name":{"type":"string","description":"Human-readable name of the geographic area","example":"Westminster"},"status":{"type":"string","description":"Current status of the area (e.g., 'active', 'archived')","example":"active"},"metadata":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Additional metadata about the area in key-value format","example":{"population":242100,"households":118200}},"lat":{"type":"number","nullable":true,"description":"Latitude of the area's centroid point in WGS84 (EPSG:4326)","example":51.5074},"long":{"type":"number","nullable":true,"description":"Longitude of the area's centroid point in WGS84 (EPSG:4326)","example":-0.1278},"geometry":{"nullable":true,"description":"GeoJSON geometry object representing the area boundary (Polygon or MultiPolygon format)","example":{"type":"Polygon","coordinates":[[[-0.1278,51.5074],[-0.1268,51.5074],[-0.1268,51.5084],[-0.1278,51.5084],[-0.1278,51.5074]]]}},"areaSqm":{"type":"number","nullable":true,"description":"Total area in square metres","example":2147000},"relationships":{"type":"array","nullable":true,"items":{"type":"object","properties":{"targetId":{"type":"string","description":"Code of the related geographic entity","example":"E09000001"},"targetType":{"type":"string","description":"Type of the related geographic entity","example":"local_authority_district"},"relationshipType":{"type":"string","description":"Nature of the relationship: 'contains' (parent-child), 'borders' (adjacent), 'overlaps' (partial overlap)","example":"contains"}},"required":["targetId","targetType","relationshipType"]},"description":"List of relationships this area has with other geographic entities"},"hierarchy":{"type":"array","nullable":true,"items":{"type":"object","properties":{"code":{"type":"string","description":"Code of the area at this hierarchy level","example":"E09000001"},"name":{"type":"string","description":"Name of the area at this hierarchy level","example":"City of London"},"type":{"type":"string","description":"Geographic type at this level","example":"local_authority_district"},"level":{"type":"number","description":"Hierarchy level (0 = finest granularity like output_area, higher numbers = broader areas like country)","example":5}},"required":["code","name","type","level"]},"description":"Geographic hierarchy showing parent areas at different administrative levels"}},"required":["code","type","name"],"description":"A geographic entity representing an administrative or statistical area","example":{"id":12345,"code":"SW1A1AA","type":"postcode","name":"Westminster, Buckingham Palace","status":"active","metadata":{"households":45,"population":112},"lat":51.5014,"long":-0.1419,"geometry":{"type":"Polygon","coordinates":[[[-0.1419,51.5014],[-0.1409,51.5014],[-0.1409,51.5024],[-0.1419,51.5024],[-0.1419,51.5014]]]},"areaSqm":125000,"relationships":[{"targetId":"E09000033","targetType":"local_authority_district","relationshipType":"contains"}],"hierarchy":[{"code":"E09000033","name":"Westminster","type":"local_authority_district","level":5},{"code":"E12000007","name":"London","type":"county","level":6}]}},"description":"Array of child areas contained within the parent"},"total":{"type":"number","description":"Total number of child areas","example":24}},"required":["success","parent","children","total"],"description":"Response containing parent area and its children","example":{"success":true,"parent":{"code":"E09000033","type":"local_authority_district","name":"Westminster","status":"active","lat":51.5074,"long":-0.1419},"children":[{"code":"E05009372","type":"ward","name":"St James's","status":"active","lat":51.5074,"long":-0.1278},{"code":"E05009373","type":"ward","name":"Hyde Park","status":"active","lat":51.508,"long":-0.1285}],"total":24}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses"},"error":{"type":"string","description":"High-level error category or message","example":"Invalid request parameters"},"details":{"type":"string","description":"Detailed error information for debugging","example":"Latitude must be between -90 and 90"},"code":{"type":"string","description":"Machine-readable error code","example":"VALIDATION_ERROR"}},"required":["success","error"],"description":"Error response format for failed requests","example":{"success":false,"error":"Invalid request parameters","details":"Latitude must be between -90 and 90","code":"VALIDATION_ERROR"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses"},"error":{"type":"string","description":"High-level error category or message","example":"Invalid request parameters"},"details":{"type":"string","description":"Detailed error information for debugging","example":"Latitude must be between -90 and 90"},"code":{"type":"string","description":"Machine-readable error code","example":"VALIDATION_ERROR"}},"required":["success","error"],"description":"Error response format for failed requests","example":{"success":false,"error":"Invalid request parameters","details":"Latitude must be between -90 and 90","code":"VALIDATION_ERROR"}}}}}}}},"/v1/area-reference/areas/border/{targetType}/{targetCode}/{sourceType}":{"get":{"operationId":"getBorderingAreas","x-speakeasy-name-override":"getBorderingAreas","tags":["Areas"],"summary":"Find areas that border a target area","description":"Find all areas of a specified type that share a border with the target area.","parameters":[{"schema":{"type":"string","description":"Type of the target area"},"required":true,"description":"Type of the target area","name":"targetType","in":"path"},{"schema":{"type":"string","description":"Code of the target area"},"required":true,"description":"Code of the target area","name":"targetCode","in":"path"},{"schema":{"type":"string","description":"Type of areas to find that border the target"},"required":true,"description":"Type of areas to find that border the target","name":"sourceType","in":"path"},{"schema":{"type":"string","description":"Include GeoJSON boundary geometry (default: false)","example":"false"},"required":false,"description":"Include GeoJSON boundary geometry (default: false)","name":"includeGeometry","in":"query"}],"responses":{"200":{"description":"Bordering areas successfully retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates whether the request was successful","example":true},"message":{"type":"string","description":"Optional message providing additional context about the response","example":"Data retrieved successfully"},"target":{"type":"object","properties":{"id":{"type":"number","description":"Internal database ID for the geographic entity","example":12345},"code":{"type":"string","description":"Unique identifier code for this area (e.g., 'SW1A1AA' for postcode, 'E09000001' for local authority)","example":"SW1A1AA"},"type":{"type":"string","enum":["postcode","lsoa21","uk_output_area","ward","country","county","local_authority_district","area_natural_beauty","national_scenic_area"],"description":"Geographic hierarchy type - from smallest (output_area) to largest (country)","example":"postcode"},"name":{"type":"string","description":"Human-readable name of the geographic area","example":"Westminster"},"status":{"type":"string","description":"Current status of the area (e.g., 'active', 'archived')","example":"active"},"metadata":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Additional metadata about the area in key-value format","example":{"population":242100,"households":118200}},"lat":{"type":"number","nullable":true,"description":"Latitude of the area's centroid point in WGS84 (EPSG:4326)","example":51.5074},"long":{"type":"number","nullable":true,"description":"Longitude of the area's centroid point in WGS84 (EPSG:4326)","example":-0.1278},"geometry":{"nullable":true,"description":"GeoJSON geometry object representing the area boundary (Polygon or MultiPolygon format)","example":{"type":"Polygon","coordinates":[[[-0.1278,51.5074],[-0.1268,51.5074],[-0.1268,51.5084],[-0.1278,51.5084],[-0.1278,51.5074]]]}},"areaSqm":{"type":"number","nullable":true,"description":"Total area in square metres","example":2147000},"relationships":{"type":"array","nullable":true,"items":{"type":"object","properties":{"targetId":{"type":"string","description":"Code of the related geographic entity","example":"E09000001"},"targetType":{"type":"string","description":"Type of the related geographic entity","example":"local_authority_district"},"relationshipType":{"type":"string","description":"Nature of the relationship: 'contains' (parent-child), 'borders' (adjacent), 'overlaps' (partial overlap)","example":"contains"}},"required":["targetId","targetType","relationshipType"]},"description":"List of relationships this area has with other geographic entities"},"hierarchy":{"type":"array","nullable":true,"items":{"type":"object","properties":{"code":{"type":"string","description":"Code of the area at this hierarchy level","example":"E09000001"},"name":{"type":"string","description":"Name of the area at this hierarchy level","example":"City of London"},"type":{"type":"string","description":"Geographic type at this level","example":"local_authority_district"},"level":{"type":"number","description":"Hierarchy level (0 = finest granularity like output_area, higher numbers = broader areas like country)","example":5}},"required":["code","name","type","level"]},"description":"Geographic hierarchy showing parent areas at different administrative levels"}},"required":["code","type","name"],"description":"A geographic entity representing an administrative or statistical area","example":{"id":12345,"code":"SW1A1AA","type":"postcode","name":"Westminster, Buckingham Palace","status":"active","metadata":{"households":45,"population":112},"lat":51.5014,"long":-0.1419,"geometry":{"type":"Polygon","coordinates":[[[-0.1419,51.5014],[-0.1409,51.5014],[-0.1409,51.5024],[-0.1419,51.5024],[-0.1419,51.5014]]]},"areaSqm":125000,"relationships":[{"targetId":"E09000033","targetType":"local_authority_district","relationshipType":"contains"}],"hierarchy":[{"code":"E09000033","name":"Westminster","type":"local_authority_district","level":5},{"code":"E12000007","name":"London","type":"county","level":6}]}},"borderingAreas":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","description":"Internal database ID for the geographic entity","example":12345},"code":{"type":"string","description":"Unique identifier code for this area (e.g., 'SW1A1AA' for postcode, 'E09000001' for local authority)","example":"SW1A1AA"},"type":{"type":"string","enum":["postcode","lsoa21","uk_output_area","ward","country","county","local_authority_district","area_natural_beauty","national_scenic_area"],"description":"Geographic hierarchy type - from smallest (output_area) to largest (country)","example":"postcode"},"name":{"type":"string","description":"Human-readable name of the geographic area","example":"Westminster"},"status":{"type":"string","description":"Current status of the area (e.g., 'active', 'archived')","example":"active"},"metadata":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Additional metadata about the area in key-value format","example":{"population":242100,"households":118200}},"lat":{"type":"number","nullable":true,"description":"Latitude of the area's centroid point in WGS84 (EPSG:4326)","example":51.5074},"long":{"type":"number","nullable":true,"description":"Longitude of the area's centroid point in WGS84 (EPSG:4326)","example":-0.1278},"geometry":{"nullable":true,"description":"GeoJSON geometry object representing the area boundary (Polygon or MultiPolygon format)","example":{"type":"Polygon","coordinates":[[[-0.1278,51.5074],[-0.1268,51.5074],[-0.1268,51.5084],[-0.1278,51.5084],[-0.1278,51.5074]]]}},"areaSqm":{"type":"number","nullable":true,"description":"Total area in square metres","example":2147000},"relationships":{"type":"array","nullable":true,"items":{"type":"object","properties":{"targetId":{"type":"string","description":"Code of the related geographic entity","example":"E09000001"},"targetType":{"type":"string","description":"Type of the related geographic entity","example":"local_authority_district"},"relationshipType":{"type":"string","description":"Nature of the relationship: 'contains' (parent-child), 'borders' (adjacent), 'overlaps' (partial overlap)","example":"contains"}},"required":["targetId","targetType","relationshipType"]},"description":"List of relationships this area has with other geographic entities"},"hierarchy":{"type":"array","nullable":true,"items":{"type":"object","properties":{"code":{"type":"string","description":"Code of the area at this hierarchy level","example":"E09000001"},"name":{"type":"string","description":"Name of the area at this hierarchy level","example":"City of London"},"type":{"type":"string","description":"Geographic type at this level","example":"local_authority_district"},"level":{"type":"number","description":"Hierarchy level (0 = finest granularity like output_area, higher numbers = broader areas like country)","example":5}},"required":["code","name","type","level"]},"description":"Geographic hierarchy showing parent areas at different administrative levels"}},"required":["code","type","name"],"description":"A geographic entity representing an administrative or statistical area","example":{"id":12345,"code":"SW1A1AA","type":"postcode","name":"Westminster, Buckingham Palace","status":"active","metadata":{"households":45,"population":112},"lat":51.5014,"long":-0.1419,"geometry":{"type":"Polygon","coordinates":[[[-0.1419,51.5014],[-0.1409,51.5014],[-0.1409,51.5024],[-0.1419,51.5024],[-0.1419,51.5014]]]},"areaSqm":125000,"relationships":[{"targetId":"E09000033","targetType":"local_authority_district","relationshipType":"contains"}],"hierarchy":[{"code":"E09000033","name":"Westminster","type":"local_authority_district","level":5},{"code":"E12000007","name":"London","type":"county","level":6}]}},"description":"Array of areas that share a border with the target area"},"total":{"type":"number","description":"Total number of bordering areas","example":6}},"required":["success","target","borderingAreas","total"],"description":"Response containing target area and its bordering neighbors","example":{"success":true,"target":{"code":"E09000033","type":"local_authority_district","name":"Westminster","status":"active","lat":51.5074,"long":-0.1419},"borderingAreas":[{"code":"E09000001","type":"local_authority_district","name":"City of London","status":"active","lat":51.5155,"long":-0.0922},{"code":"E09000007","type":"local_authority_district","name":"Camden","status":"active","lat":51.529,"long":-0.1255}],"total":6}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses"},"error":{"type":"string","description":"High-level error category or message","example":"Invalid request parameters"},"details":{"type":"string","description":"Detailed error information for debugging","example":"Latitude must be between -90 and 90"},"code":{"type":"string","description":"Machine-readable error code","example":"VALIDATION_ERROR"}},"required":["success","error"],"description":"Error response format for failed requests","example":{"success":false,"error":"Invalid request parameters","details":"Latitude must be between -90 and 90","code":"VALIDATION_ERROR"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses"},"error":{"type":"string","description":"High-level error category or message","example":"Invalid request parameters"},"details":{"type":"string","description":"Detailed error information for debugging","example":"Latitude must be between -90 and 90"},"code":{"type":"string","description":"Machine-readable error code","example":"VALIDATION_ERROR"}},"required":["success","error"],"description":"Error response format for failed requests","example":{"success":false,"error":"Invalid request parameters","details":"Latitude must be between -90 and 90","code":"VALIDATION_ERROR"}}}}}}}},"/v1/area-reference/connectivity/{geographicCodes}":{"get":{"operationId":"getConnectivityScores","x-speakeasy-name-override":"getConnectivityScores","tags":["Connectivity"],"summary":"Get broadband and mobile connectivity scores","description":"Retrieve connectivity scores for one or more geographic areas, including fixed broadband and mobile coverage data. Supports historical data and detailed breakdowns.","parameters":[{"schema":{"type":"string","description":"Comma-separated list of geographic codes"},"required":true,"description":"Comma-separated list of geographic codes","name":"geographicCodes","in":"path"},{"schema":{"type":"string","description":"Include detailed technology and speed band breakdowns (default: false)","example":"true"},"required":false,"description":"Include detailed technology and speed band breakdowns (default: false)","name":"includeBreakdown","in":"query"},{"schema":{"type":"string","description":"Include geographic area name and type (default: false)","example":"true"},"required":false,"description":"Include geographic area name and type (default: false)","name":"includeAreaInfo","in":"query"},{"schema":{"type":"string","description":"Specific date period to retrieve (ISO 8601 date format)","example":"2024-01-01"},"required":false,"description":"Specific date period to retrieve (ISO 8601 date format)","name":"dataPeriod","in":"query"},{"schema":{"type":"string","description":"Start date for date range query (ISO 8601 date format)","example":"2024-01-01"},"required":false,"description":"Start date for date range query (ISO 8601 date format)","name":"startPeriod","in":"query"},{"schema":{"type":"string","description":"End date for date range query (ISO 8601 date format)","example":"2024-12-31"},"required":false,"description":"End date for date range query (ISO 8601 date format)","name":"endPeriod","in":"query"},{"schema":{"type":"string","description":"Include historical time series data (default: false)","example":"false"},"required":false,"description":"Include historical time series data (default: false)","name":"includePeriodHistory","in":"query"},{"schema":{"type":"string","default":"10","description":"Maximum number of historical periods to return (default: 10)","example":"12"},"required":false,"description":"Maximum number of historical periods to return (default: 10)","name":"periodLimit","in":"query"},{"schema":{"type":"string","enum":["basic","detailed"],"default":"basic","description":"Response format: basic (scores only) or detailed (with all metadata)","example":"basic"},"required":false,"description":"Response format: basic (scores only) or detailed (with all metadata)","name":"format","in":"query"},{"schema":{"type":"string","default":"50","description":"Maximum number of geographic areas to return (max: 100)","example":"10"},"required":false,"description":"Maximum number of geographic areas to return (max: 100)","name":"limit","in":"query"}],"responses":{"200":{"description":"Connectivity scores successfully retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates whether the request was successful","example":true},"message":{"type":"string","description":"Optional message providing additional context about the response","example":"Data retrieved successfully"},"result":{"type":"array","items":{"type":"object","properties":{"geographicCode":{"type":"string","description":"Geographic area code for this connectivity result","example":"SW1A1AA"},"areaInfo":{"type":"object","properties":{"code":{"type":"string","description":"Geographic area code","example":"SW1A1AA"},"name":{"type":"string","description":"Geographic area name","example":"Westminster, Buckingham Palace"},"type":{"type":"string","description":"Geographic area type (e.g., 'postcode', 'ward')","example":"postcode"}},"required":["code","name","type"],"description":"Basic information about the geographic area"},"connectivityScores":{"type":"object","properties":{"overall":{"type":"number","nullable":true,"description":"Overall connectivity score combining fixed and mobile (0-100, higher is better)","example":87.5},"fixedBroadband":{"type":"number","nullable":true,"description":"Fixed broadband connectivity score (0-100)","example":92.3},"mobileCoverage":{"type":"number","nullable":true,"description":"Mobile coverage score (0-100)","example":82.7},"breakdown":{"type":"object","properties":{"fixedBroadband":{"type":"object","properties":{"availability":{"type":"object","properties":{"hasCoverage":{"type":"boolean","description":"Whether any fixed broadband service is available in this area","example":true},"coveragePercentage":{"type":"number","description":"Percentage of premises with any broadband access (0-100)","example":98.5},"premisesWithService":{"type":"number","description":"Number of premises with broadband available","example":1398},"totalPremises":{"type":"number","description":"Total number of premises in the area","example":1420}},"required":["hasCoverage","coveragePercentage"],"description":"Overall broadband availability statistics"},"speedBands":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the speed band (e.g., 'Gigabit', 'Ultrafast', 'Superfast')","example":"Gigabit"},"minSpeed":{"type":"number","description":"Minimum download speed in Mbps for this band","example":1000},"maxSpeed":{"type":"number","nullable":true,"description":"Maximum download speed in Mbps (null if no upper limit)","example":null},"coverage":{"type":"number","description":"Percentage of premises in the area with this speed band (0-100)","example":87.5},"premises":{"type":"number","description":"Absolute number of premises with this speed available","example":1245}},"required":["name","minSpeed","maxSpeed","coverage"],"description":"Broadband speed band availability statistics","example":{"name":"Gigabit","minSpeed":1000,"maxSpeed":null,"coverage":87.5,"premises":1245}},"description":"Breakdown of coverage by speed tiers"},"technology":{"type":"object","properties":{"fiber":{"type":"number","description":"Percentage of premises with fiber optic access (FTTP/FTTH)","example":78.3},"cable":{"type":"number","description":"Percentage of premises with cable broadband access","example":12.5},"dsl":{"type":"number","description":"Percentage of premises with DSL/ADSL access","example":8.2},"wireless":{"type":"number","description":"Percentage of premises with fixed wireless access","example":1},"satellite":{"type":"number","description":"Percentage of premises with satellite broadband access","example":0.5}},"description":"Breakdown by underlying technology type"},"rawData":{"type":"object","properties":{"gigabitCoverage":{"type":"number","nullable":true,"description":"Percentage with ≥1000 Mbps (1 Gbps) download speed","example":87.5},"ufbbCoverage":{"type":"number","nullable":true,"description":"Ultrafast broadband: Percentage with ≥100 Mbps download","example":95.2},"sfbbCoverage":{"type":"number","nullable":true,"description":"Superfast broadband: Percentage with ≥30 Mbps download","example":98.5},"poorCoverage":{"type":"number","nullable":true,"description":"Percentage with <10 Mbps download (considered poor)","example":1.5},"noServiceCoverage":{"type":"number","nullable":true,"description":"Percentage with no broadband service available","example":0.3}},"required":["gigabitCoverage","ufbbCoverage","sfbbCoverage","poorCoverage","noServiceCoverage"],"description":"Raw Ofcom-defined coverage statistics"}},"required":["availability","speedBands"],"description":"Detailed fixed broadband connectivity breakdown","example":{"availability":{"hasCoverage":true,"coveragePercentage":98.5,"premisesWithService":1398,"totalPremises":1420},"speedBands":[{"name":"Gigabit","minSpeed":1000,"maxSpeed":null,"coverage":87.5,"premises":1242},{"name":"Ultrafast","minSpeed":100,"maxSpeed":999,"coverage":7.7,"premises":109}],"technology":{"fiber":78.3,"cable":12.5,"dsl":8.2,"wireless":1},"rawData":{"gigabitCoverage":87.5,"ufbbCoverage":95.2,"sfbbCoverage":98.5,"poorCoverage":1.5,"noServiceCoverage":0.3}}},"mobileCoverage":{"type":"object","properties":{"indoor":{"type":"object","properties":{"fourG":{"type":"number","description":"Indoor 4G coverage percentage (0-100)","example":92.3},"fiveG":{"type":"number","description":"Indoor 5G coverage percentage (0-100)","example":45.8},"voice":{"type":"number","description":"Indoor voice call coverage percentage (0-100)","example":98.5},"data":{"type":"number","description":"Indoor mobile data coverage percentage (0-100)","example":94.2}},"required":["fourG","voice","data"],"description":"Indoor mobile coverage statistics"},"outdoor":{"type":"object","properties":{"fourG":{"type":"number","description":"Outdoor 4G coverage percentage (0-100)","example":98.7},"fiveG":{"type":"number","description":"Outdoor 5G coverage percentage (0-100)","example":67.3},"voice":{"type":"number","description":"Outdoor voice call coverage percentage (0-100)","example":99.8},"data":{"type":"number","description":"Outdoor mobile data coverage percentage (0-100)","example":99.2}},"required":["fourG","voice","data"],"description":"Outdoor mobile coverage statistics"},"byOperator":{"type":"array","items":{"type":"object","properties":{"operator":{"type":"string","description":"Mobile network operator name","example":"EE"},"indoor4G":{"type":"number","description":"Indoor 4G coverage for this operator (0-100)","example":95.2},"outdoor4G":{"type":"number","description":"Outdoor 4G coverage for this operator (0-100)","example":99.1},"indoor5G":{"type":"number","description":"Indoor 5G coverage for this operator (0-100)","example":52.3},"outdoor5G":{"type":"number","description":"Outdoor 5G coverage for this operator (0-100)","example":71.8}},"required":["operator","indoor4G","outdoor4G"]},"description":"Coverage breakdown by individual mobile operators"},"rawData":{"type":"object","additionalProperties":{"nullable":true},"description":"Additional operator-specific raw coverage data"}},"description":"Detailed mobile network coverage breakdown","example":{"indoor":{"fourG":92.3,"fiveG":45.8,"voice":98.5,"data":94.2},"outdoor":{"fourG":98.7,"fiveG":67.3,"voice":99.8,"data":99.2},"byOperator":[{"operator":"EE","indoor4G":95.2,"outdoor4G":99.1,"indoor5G":52.3,"outdoor5G":71.8},{"operator":"O2","indoor4G":91.5,"outdoor4G":98.3,"indoor5G":41.2,"outdoor5G":64.5}]}}},"description":"Detailed breakdown (only included when includeBreakdown=true)"}},"required":["overall","fixedBroadband","mobileCoverage"],"description":"Connectivity quality scores for an area","example":{"overall":87.5,"fixedBroadband":92.3,"mobileCoverage":82.7}},"speedSummary":{"type":"object","properties":{"gigabitAvailable":{"type":"boolean","description":"Whether gigabit speeds (≥1000 Mbps) are available in this area","example":true},"gigabitCoverage":{"type":"number","nullable":true,"description":"Percentage of premises with gigabit speeds (0-100)","example":87.5},"ultrafastCoverage":{"type":"number","nullable":true,"description":"Percentage with ultrafast speeds ≥100 Mbps (0-100)","example":95.2},"superfastCoverage":{"type":"number","nullable":true,"description":"Percentage with superfast speeds ≥30 Mbps (0-100)","example":98.5},"poorCoveragePercentage":{"type":"number","nullable":true,"description":"Percentage with poor speeds <10 Mbps (0-100)","example":1.5}},"required":["gigabitAvailable","gigabitCoverage","ultrafastCoverage","superfastCoverage","poorCoveragePercentage"],"description":"Quick summary of broadband speed availability","example":{"gigabitAvailable":true,"gigabitCoverage":87.5,"ultrafastCoverage":95.2,"superfastCoverage":98.5,"poorCoveragePercentage":1.5}},"dataSources":{"type":"object","properties":{"fixed":{"type":"object","properties":{"method":{"type":"string","description":"Method used to determine fixed broadband data","example":"spatial_aggregation"},"sourceCode":{"type":"string","description":"Source area code if data was inherited/aggregated","example":"E05009372"}},"required":["method","sourceCode"],"description":"Source information for fixed broadband data"},"mobile":{"type":"object","properties":{"method":{"type":"string","description":"Method used to determine mobile coverage data","example":"direct_calculation"},"sourceCode":{"type":"string","description":"Source area code if data was inherited/aggregated","example":"SW1A1AA"}},"required":["method","sourceCode"],"description":"Source information for mobile coverage data"}},"description":"Information about data sources and calculation methods"},"timeseries":{"type":"array","items":{"type":"object","properties":{"dataPeriod":{"type":"string","description":"Date period for this data point (ISO 8601 format)","example":"2024-01-01"},"connectivityScores":{"type":"object","properties":{"overall":{"type":"number","nullable":true,"description":"Overall connectivity score combining fixed and mobile (0-100, higher is better)","example":87.5},"fixedBroadband":{"type":"number","nullable":true,"description":"Fixed broadband connectivity score (0-100)","example":92.3},"mobileCoverage":{"type":"number","nullable":true,"description":"Mobile coverage score (0-100)","example":82.7},"breakdown":{"type":"object","properties":{"fixedBroadband":{"type":"object","properties":{"availability":{"type":"object","properties":{"hasCoverage":{"type":"boolean","description":"Whether any fixed broadband service is available in this area","example":true},"coveragePercentage":{"type":"number","description":"Percentage of premises with any broadband access (0-100)","example":98.5},"premisesWithService":{"type":"number","description":"Number of premises with broadband available","example":1398},"totalPremises":{"type":"number","description":"Total number of premises in the area","example":1420}},"required":["hasCoverage","coveragePercentage"],"description":"Overall broadband availability statistics"},"speedBands":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the speed band (e.g., 'Gigabit', 'Ultrafast', 'Superfast')","example":"Gigabit"},"minSpeed":{"type":"number","description":"Minimum download speed in Mbps for this band","example":1000},"maxSpeed":{"type":"number","nullable":true,"description":"Maximum download speed in Mbps (null if no upper limit)","example":null},"coverage":{"type":"number","description":"Percentage of premises in the area with this speed band (0-100)","example":87.5},"premises":{"type":"number","description":"Absolute number of premises with this speed available","example":1245}},"required":["name","minSpeed","maxSpeed","coverage"],"description":"Broadband speed band availability statistics","example":{"name":"Gigabit","minSpeed":1000,"maxSpeed":null,"coverage":87.5,"premises":1245}},"description":"Breakdown of coverage by speed tiers"},"technology":{"type":"object","properties":{"fiber":{"type":"number","description":"Percentage of premises with fiber optic access (FTTP/FTTH)","example":78.3},"cable":{"type":"number","description":"Percentage of premises with cable broadband access","example":12.5},"dsl":{"type":"number","description":"Percentage of premises with DSL/ADSL access","example":8.2},"wireless":{"type":"number","description":"Percentage of premises with fixed wireless access","example":1},"satellite":{"type":"number","description":"Percentage of premises with satellite broadband access","example":0.5}},"description":"Breakdown by underlying technology type"},"rawData":{"type":"object","properties":{"gigabitCoverage":{"type":"number","nullable":true,"description":"Percentage with ≥1000 Mbps (1 Gbps) download speed","example":87.5},"ufbbCoverage":{"type":"number","nullable":true,"description":"Ultrafast broadband: Percentage with ≥100 Mbps download","example":95.2},"sfbbCoverage":{"type":"number","nullable":true,"description":"Superfast broadband: Percentage with ≥30 Mbps download","example":98.5},"poorCoverage":{"type":"number","nullable":true,"description":"Percentage with <10 Mbps download (considered poor)","example":1.5},"noServiceCoverage":{"type":"number","nullable":true,"description":"Percentage with no broadband service available","example":0.3}},"required":["gigabitCoverage","ufbbCoverage","sfbbCoverage","poorCoverage","noServiceCoverage"],"description":"Raw Ofcom-defined coverage statistics"}},"required":["availability","speedBands"],"description":"Detailed fixed broadband connectivity breakdown","example":{"availability":{"hasCoverage":true,"coveragePercentage":98.5,"premisesWithService":1398,"totalPremises":1420},"speedBands":[{"name":"Gigabit","minSpeed":1000,"maxSpeed":null,"coverage":87.5,"premises":1242},{"name":"Ultrafast","minSpeed":100,"maxSpeed":999,"coverage":7.7,"premises":109}],"technology":{"fiber":78.3,"cable":12.5,"dsl":8.2,"wireless":1},"rawData":{"gigabitCoverage":87.5,"ufbbCoverage":95.2,"sfbbCoverage":98.5,"poorCoverage":1.5,"noServiceCoverage":0.3}}},"mobileCoverage":{"type":"object","properties":{"indoor":{"type":"object","properties":{"fourG":{"type":"number","description":"Indoor 4G coverage percentage (0-100)","example":92.3},"fiveG":{"type":"number","description":"Indoor 5G coverage percentage (0-100)","example":45.8},"voice":{"type":"number","description":"Indoor voice call coverage percentage (0-100)","example":98.5},"data":{"type":"number","description":"Indoor mobile data coverage percentage (0-100)","example":94.2}},"required":["fourG","voice","data"],"description":"Indoor mobile coverage statistics"},"outdoor":{"type":"object","properties":{"fourG":{"type":"number","description":"Outdoor 4G coverage percentage (0-100)","example":98.7},"fiveG":{"type":"number","description":"Outdoor 5G coverage percentage (0-100)","example":67.3},"voice":{"type":"number","description":"Outdoor voice call coverage percentage (0-100)","example":99.8},"data":{"type":"number","description":"Outdoor mobile data coverage percentage (0-100)","example":99.2}},"required":["fourG","voice","data"],"description":"Outdoor mobile coverage statistics"},"byOperator":{"type":"array","items":{"type":"object","properties":{"operator":{"type":"string","description":"Mobile network operator name","example":"EE"},"indoor4G":{"type":"number","description":"Indoor 4G coverage for this operator (0-100)","example":95.2},"outdoor4G":{"type":"number","description":"Outdoor 4G coverage for this operator (0-100)","example":99.1},"indoor5G":{"type":"number","description":"Indoor 5G coverage for this operator (0-100)","example":52.3},"outdoor5G":{"type":"number","description":"Outdoor 5G coverage for this operator (0-100)","example":71.8}},"required":["operator","indoor4G","outdoor4G"]},"description":"Coverage breakdown by individual mobile operators"},"rawData":{"type":"object","additionalProperties":{"nullable":true},"description":"Additional operator-specific raw coverage data"}},"description":"Detailed mobile network coverage breakdown","example":{"indoor":{"fourG":92.3,"fiveG":45.8,"voice":98.5,"data":94.2},"outdoor":{"fourG":98.7,"fiveG":67.3,"voice":99.8,"data":99.2},"byOperator":[{"operator":"EE","indoor4G":95.2,"outdoor4G":99.1,"indoor5G":52.3,"outdoor5G":71.8},{"operator":"O2","indoor4G":91.5,"outdoor4G":98.3,"indoor5G":41.2,"outdoor5G":64.5}]}}},"description":"Detailed breakdown (only included when includeBreakdown=true)"}},"required":["overall","fixedBroadband","mobileCoverage"],"description":"Connectivity quality scores for an area","example":{"overall":87.5,"fixedBroadband":92.3,"mobileCoverage":82.7}},"speedSummary":{"type":"object","properties":{"gigabitAvailable":{"type":"boolean","description":"Whether gigabit speeds (≥1000 Mbps) are available in this area","example":true},"gigabitCoverage":{"type":"number","nullable":true,"description":"Percentage of premises with gigabit speeds (0-100)","example":87.5},"ultrafastCoverage":{"type":"number","nullable":true,"description":"Percentage with ultrafast speeds ≥100 Mbps (0-100)","example":95.2},"superfastCoverage":{"type":"number","nullable":true,"description":"Percentage with superfast speeds ≥30 Mbps (0-100)","example":98.5},"poorCoveragePercentage":{"type":"number","nullable":true,"description":"Percentage with poor speeds <10 Mbps (0-100)","example":1.5}},"required":["gigabitAvailable","gigabitCoverage","ultrafastCoverage","superfastCoverage","poorCoveragePercentage"],"description":"Quick summary of broadband speed availability","example":{"gigabitAvailable":true,"gigabitCoverage":87.5,"ultrafastCoverage":95.2,"superfastCoverage":98.5,"poorCoveragePercentage":1.5}},"breakdown":{"type":"object","properties":{"fixedBroadband":{"type":"object","properties":{"availability":{"type":"object","properties":{"hasCoverage":{"type":"boolean","description":"Whether any fixed broadband service is available in this area","example":true},"coveragePercentage":{"type":"number","description":"Percentage of premises with any broadband access (0-100)","example":98.5},"premisesWithService":{"type":"number","description":"Number of premises with broadband available","example":1398},"totalPremises":{"type":"number","description":"Total number of premises in the area","example":1420}},"required":["hasCoverage","coveragePercentage"],"description":"Overall broadband availability statistics"},"speedBands":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the speed band (e.g., 'Gigabit', 'Ultrafast', 'Superfast')","example":"Gigabit"},"minSpeed":{"type":"number","description":"Minimum download speed in Mbps for this band","example":1000},"maxSpeed":{"type":"number","nullable":true,"description":"Maximum download speed in Mbps (null if no upper limit)","example":null},"coverage":{"type":"number","description":"Percentage of premises in the area with this speed band (0-100)","example":87.5},"premises":{"type":"number","description":"Absolute number of premises with this speed available","example":1245}},"required":["name","minSpeed","maxSpeed","coverage"],"description":"Broadband speed band availability statistics","example":{"name":"Gigabit","minSpeed":1000,"maxSpeed":null,"coverage":87.5,"premises":1245}},"description":"Breakdown of coverage by speed tiers"},"technology":{"type":"object","properties":{"fiber":{"type":"number","description":"Percentage of premises with fiber optic access (FTTP/FTTH)","example":78.3},"cable":{"type":"number","description":"Percentage of premises with cable broadband access","example":12.5},"dsl":{"type":"number","description":"Percentage of premises with DSL/ADSL access","example":8.2},"wireless":{"type":"number","description":"Percentage of premises with fixed wireless access","example":1},"satellite":{"type":"number","description":"Percentage of premises with satellite broadband access","example":0.5}},"description":"Breakdown by underlying technology type"},"rawData":{"type":"object","properties":{"gigabitCoverage":{"type":"number","nullable":true,"description":"Percentage with ≥1000 Mbps (1 Gbps) download speed","example":87.5},"ufbbCoverage":{"type":"number","nullable":true,"description":"Ultrafast broadband: Percentage with ≥100 Mbps download","example":95.2},"sfbbCoverage":{"type":"number","nullable":true,"description":"Superfast broadband: Percentage with ≥30 Mbps download","example":98.5},"poorCoverage":{"type":"number","nullable":true,"description":"Percentage with <10 Mbps download (considered poor)","example":1.5},"noServiceCoverage":{"type":"number","nullable":true,"description":"Percentage with no broadband service available","example":0.3}},"required":["gigabitCoverage","ufbbCoverage","sfbbCoverage","poorCoverage","noServiceCoverage"],"description":"Raw Ofcom-defined coverage statistics"}},"required":["availability","speedBands"],"description":"Detailed fixed broadband connectivity breakdown","example":{"availability":{"hasCoverage":true,"coveragePercentage":98.5,"premisesWithService":1398,"totalPremises":1420},"speedBands":[{"name":"Gigabit","minSpeed":1000,"maxSpeed":null,"coverage":87.5,"premises":1242},{"name":"Ultrafast","minSpeed":100,"maxSpeed":999,"coverage":7.7,"premises":109}],"technology":{"fiber":78.3,"cable":12.5,"dsl":8.2,"wireless":1},"rawData":{"gigabitCoverage":87.5,"ufbbCoverage":95.2,"sfbbCoverage":98.5,"poorCoverage":1.5,"noServiceCoverage":0.3}}},"mobileCoverage":{"type":"object","properties":{"indoor":{"type":"object","properties":{"fourG":{"type":"number","description":"Indoor 4G coverage percentage (0-100)","example":92.3},"fiveG":{"type":"number","description":"Indoor 5G coverage percentage (0-100)","example":45.8},"voice":{"type":"number","description":"Indoor voice call coverage percentage (0-100)","example":98.5},"data":{"type":"number","description":"Indoor mobile data coverage percentage (0-100)","example":94.2}},"required":["fourG","voice","data"],"description":"Indoor mobile coverage statistics"},"outdoor":{"type":"object","properties":{"fourG":{"type":"number","description":"Outdoor 4G coverage percentage (0-100)","example":98.7},"fiveG":{"type":"number","description":"Outdoor 5G coverage percentage (0-100)","example":67.3},"voice":{"type":"number","description":"Outdoor voice call coverage percentage (0-100)","example":99.8},"data":{"type":"number","description":"Outdoor mobile data coverage percentage (0-100)","example":99.2}},"required":["fourG","voice","data"],"description":"Outdoor mobile coverage statistics"},"byOperator":{"type":"array","items":{"type":"object","properties":{"operator":{"type":"string","description":"Mobile network operator name","example":"EE"},"indoor4G":{"type":"number","description":"Indoor 4G coverage for this operator (0-100)","example":95.2},"outdoor4G":{"type":"number","description":"Outdoor 4G coverage for this operator (0-100)","example":99.1},"indoor5G":{"type":"number","description":"Indoor 5G coverage for this operator (0-100)","example":52.3},"outdoor5G":{"type":"number","description":"Outdoor 5G coverage for this operator (0-100)","example":71.8}},"required":["operator","indoor4G","outdoor4G"]},"description":"Coverage breakdown by individual mobile operators"},"rawData":{"type":"object","additionalProperties":{"nullable":true},"description":"Additional operator-specific raw coverage data"}},"description":"Detailed mobile network coverage breakdown","example":{"indoor":{"fourG":92.3,"fiveG":45.8,"voice":98.5,"data":94.2},"outdoor":{"fourG":98.7,"fiveG":67.3,"voice":99.8,"data":99.2},"byOperator":[{"operator":"EE","indoor4G":95.2,"outdoor4G":99.1,"indoor5G":52.3,"outdoor5G":71.8},{"operator":"O2","indoor4G":91.5,"outdoor4G":98.3,"indoor5G":41.2,"outdoor5G":64.5}]}}},"description":"Detailed breakdown (only when includeBreakdown=true)"},"metadata":{"type":"object","properties":{"dataVintage":{"type":"string","nullable":true,"description":"Date when the underlying data was collected","example":"2024-01-01"},"computedAt":{"type":"string","description":"Timestamp when scores were calculated (ISO 8601)","example":"2024-01-15T10:30:00Z"}},"required":["dataVintage","computedAt"],"description":"Metadata about this data point"}},"required":["dataPeriod","connectivityScores","metadata"],"description":"Historical connectivity data for a specific time period","example":{"dataPeriod":"2024-01-01","connectivityScores":{"overall":87.5,"fixedBroadband":92.3,"mobileCoverage":82.7},"speedSummary":{"gigabitAvailable":true,"gigabitCoverage":87.5,"ultrafastCoverage":95.2,"superfastCoverage":98.5,"poorCoveragePercentage":1.5},"metadata":{"dataVintage":"2024-01-01","computedAt":"2024-01-15T10:30:00Z"}}},"description":"Historical data points (when includePeriodHistory=true)"},"metadata":{"type":"object","properties":{"processingTimeMs":{"type":"number","description":"Time taken to process this result in milliseconds","example":45},"dataVintage":{"type":"string","nullable":true,"description":"Date of underlying data collection","example":"2024-01-01"},"lastUpdated":{"type":"string","description":"Timestamp of last score calculation (ISO 8601)","example":"2024-01-15T10:30:00Z"},"periodsAvailable":{"type":"number","description":"Total number of historical periods available","example":12}},"required":["processingTimeMs"],"description":"Metadata about this connectivity result"}},"required":["geographicCode","metadata"],"description":"Connectivity scores and metadata for a single geographic area","example":{"geographicCode":"SW1A1AA","areaInfo":{"code":"SW1A1AA","name":"Westminster, Buckingham Palace","type":"postcode"},"connectivityScores":{"overall":87.5,"fixedBroadband":92.3,"mobileCoverage":82.7},"speedSummary":{"gigabitAvailable":true,"gigabitCoverage":87.5,"ultrafastCoverage":95.2,"superfastCoverage":98.5,"poorCoveragePercentage":1.5},"dataSources":{"fixed":{"method":"direct_calculation","sourceCode":"SW1A1AA"},"mobile":{"method":"spatial_aggregation","sourceCode":"E05009372"}},"metadata":{"processingTimeMs":45,"dataVintage":"2024-01-01","lastUpdated":"2024-01-15T10:30:00Z"}}},"description":"Array of connectivity scores for requested geographic areas"}},"required":["success","result"],"description":"Response containing connectivity scores for one or more areas","example":{"success":true,"result":[{"geographicCode":"SW1A1AA","areaInfo":{"code":"SW1A1AA","name":"Westminster, Buckingham Palace","type":"postcode"},"connectivityScores":{"overall":87.5,"fixedBroadband":92.3,"mobileCoverage":82.7},"speedSummary":{"gigabitAvailable":true,"gigabitCoverage":87.5,"ultrafastCoverage":95.2,"superfastCoverage":98.5,"poorCoveragePercentage":1.5},"metadata":{"processingTimeMs":45,"dataVintage":"2024-01-01","lastUpdated":"2024-01-15T10:30:00Z"}}]}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses"},"error":{"type":"string","description":"High-level error category or message","example":"Invalid request parameters"},"details":{"type":"string","description":"Detailed error information for debugging","example":"Latitude must be between -90 and 90"},"code":{"type":"string","description":"Machine-readable error code","example":"VALIDATION_ERROR"}},"required":["success","error"],"description":"Error response format for failed requests","example":{"success":false,"error":"Invalid request parameters","details":"Latitude must be between -90 and 90","code":"VALIDATION_ERROR"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses"},"error":{"type":"string","description":"High-level error category or message","example":"Invalid request parameters"},"details":{"type":"string","description":"Detailed error information for debugging","example":"Latitude must be between -90 and 90"},"code":{"type":"string","description":"Machine-readable error code","example":"VALIDATION_ERROR"}},"required":["success","error"],"description":"Error response format for failed requests","example":{"success":false,"error":"Invalid request parameters","details":"Latitude must be between -90 and 90","code":"VALIDATION_ERROR"}}}}}}}},"/v1/area-reference/poi/nearest":{"get":{"operationId":"getNearestPOI","x-speakeasy-name-override":"getNearestPOI","tags":["POI"],"summary":"Find nearest points of interest","description":"Find the nearest points of interest to a given location. Filter by POI category and optionally include routing distances.","parameters":[{"schema":{"type":"string"},"required":true,"name":"lat","in":"query"},{"schema":{"type":"string"},"required":true,"name":"lng","in":"query"},{"schema":{"type":"string"},"required":false,"name":"types","in":"query"},{"schema":{"type":"string","default":"5000"},"required":false,"name":"radius","in":"query"},{"schema":{"type":"string","default":"10"},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string"},"required":false,"name":"routing","in":"query"}],"responses":{"200":{"description":"Nearest POIs successfully retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates whether the request was successful","example":true},"message":{"type":"string","description":"Optional message providing additional context about the response","example":"Data retrieved successfully"},"result":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","description":"Unique identifier for the point of interest","example":98765},"name":{"type":"string","description":"Name of the point of interest","example":"Westminster Abbey"},"categoryId":{"type":"string","description":"Category identifier (e.g., 'education', 'health', 'transport')","example":"education"},"location":{"type":"object","properties":{"type":{"type":"string","enum":["Point"],"description":"GeoJSON geometry type"},"coordinates":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2,"description":"GeoJSON coordinates [longitude, latitude] in WGS84 (EPSG:4326)","example":[-0.1275,51.4995]}},"required":["type","coordinates"],"description":"GeoJSON Point geometry representing the POI location"},"address":{"type":"string","nullable":true,"description":"Street address of the point of interest","example":"20 Deans Yd, Westminster, London SW1P 3PA"},"source":{"type":"string","nullable":true,"description":"Data source provider","example":"OpenStreetMap"},"sourceId":{"type":"string","nullable":true,"description":"ID in the source system","example":"way/123456789"},"distance":{"type":"number","description":"Straight-line distance from search point in metres (only present in nearest POI queries)","example":245.8},"routingDistance":{"type":"number","description":"Actual routing distance by road/path in metres (only present when routing=true)","example":312.5},"routingDuration":{"type":"number","description":"Estimated travel time in seconds (only present when routing=true)","example":240}},"required":["id","name","categoryId","location"],"description":"A point of interest such as a school, hospital, or transport hub","example":{"id":98765,"name":"Westminster Abbey","categoryId":"education","location":{"type":"Point","coordinates":[-0.1275,51.4995]},"address":"20 Deans Yd, Westminster, London SW1P 3PA","source":"OpenStreetMap","sourceId":"way/123456789","distance":245.8,"routingDistance":312.5,"routingDuration":240}}},"metadata":{"type":"object","properties":{"searchLocation":{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"]},"searchRadius":{"type":"number"},"totalResults":{"type":"number"},"categories":{"type":"array","items":{"type":"string"}},"routingEnabled":{"type":"boolean"}},"required":["searchLocation","searchRadius","totalResults"]}},"required":["success","result","metadata"],"description":"Standard response envelope for all API responses"}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses"},"error":{"type":"string","description":"High-level error category or message","example":"Invalid request parameters"},"details":{"type":"string","description":"Detailed error information for debugging","example":"Latitude must be between -90 and 90"},"code":{"type":"string","description":"Machine-readable error code","example":"VALIDATION_ERROR"}},"required":["success","error"],"description":"Error response format for failed requests","example":{"success":false,"error":"Invalid request parameters","details":"Latitude must be between -90 and 90","code":"VALIDATION_ERROR"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses"},"error":{"type":"string","description":"High-level error category or message","example":"Invalid request parameters"},"details":{"type":"string","description":"Detailed error information for debugging","example":"Latitude must be between -90 and 90"},"code":{"type":"string","description":"Machine-readable error code","example":"VALIDATION_ERROR"}},"required":["success","error"],"description":"Error response format for failed requests","example":{"success":false,"error":"Invalid request parameters","details":"Latitude must be between -90 and 90","code":"VALIDATION_ERROR"}}}}}}}},"/v1/area-reference/poi/bounds/{z}/{x}/{y}":{"get":{"operationId":"getPOITile","x-speakeasy-name-override":"getPOITile","tags":["POI"],"summary":"Get POIs in a map tile","description":"Retrieve points of interest within a map tile specified by z/x/y coordinates. Supports GeoJSON and MVT formats.","parameters":[{"schema":{"type":"string","description":"Zoom level"},"required":true,"description":"Zoom level","name":"z","in":"path"},{"schema":{"type":"string","description":"Tile X coordinate"},"required":true,"description":"Tile X coordinate","name":"x","in":"path"},{"schema":{"type":"string","description":"Tile Y coordinate"},"required":true,"description":"Tile Y coordinate","name":"y","in":"path"},{"schema":{"type":"string","enum":["geojson","mvt"],"default":"geojson"},"required":false,"name":"format","in":"query"}],"responses":{"200":{"description":"POI tile successfully retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates whether the request was successful","example":true},"message":{"type":"string","description":"Optional message providing additional context about the response","example":"Data retrieved successfully"},"result":{"type":"object","properties":{"type":{"type":"string","enum":["FeatureCollection"]},"features":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["Feature"]},"properties":{"type":"object","properties":{"id":{"type":"number"},"name":{"type":"string"},"categoryId":{"type":"string"},"category":{"type":"string"},"address":{"type":"string","nullable":true},"source":{"type":"string","nullable":true}},"required":["id","name","categoryId"]},"geometry":{"type":"object","properties":{"type":{"type":"string","enum":["Point"]},"coordinates":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}},"required":["type","coordinates"]}},"required":["type","properties","geometry"]}},"metadata":{"type":"object","properties":{"tile":{"type":"object","properties":{"z":{"type":"number"},"x":{"type":"number"},"y":{"type":"number"}},"required":["z","x","y"]},"count":{"type":"number"},"generated":{"type":"string"}},"required":["tile","count","generated"]}},"required":["type","features"]}},"required":["success","result"],"description":"Standard response envelope for all API responses"}},"application/vnd.mapbox-vector-tile":{"schema":{"nullable":true}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses"},"error":{"type":"string","description":"High-level error category or message","example":"Invalid request parameters"},"details":{"type":"string","description":"Detailed error information for debugging","example":"Latitude must be between -90 and 90"},"code":{"type":"string","description":"Machine-readable error code","example":"VALIDATION_ERROR"}},"required":["success","error"],"description":"Error response format for failed requests","example":{"success":false,"error":"Invalid request parameters","details":"Latitude must be between -90 and 90","code":"VALIDATION_ERROR"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses"},"error":{"type":"string","description":"High-level error category or message","example":"Invalid request parameters"},"details":{"type":"string","description":"Detailed error information for debugging","example":"Latitude must be between -90 and 90"},"code":{"type":"string","description":"Machine-readable error code","example":"VALIDATION_ERROR"}},"required":["success","error"],"description":"Error response format for failed requests","example":{"success":false,"error":"Invalid request parameters","details":"Latitude must be between -90 and 90","code":"VALIDATION_ERROR"}}}}}}}},"/v1/area-reference/poi/tiles":{"get":{"operationId":"getPOIMultipleTiles","x-speakeasy-name-override":"getPOIMultipleTiles","tags":["POI"],"summary":"Get POIs from multiple tiles","description":"Retrieve points of interest from multiple map tiles in a single request. Tiles specified as comma-separated z/x/y values.","parameters":[{"schema":{"type":"string"},"required":true,"name":"tiles","in":"query"},{"schema":{"type":"string","enum":["geojson","mvt"],"default":"geojson"},"required":false,"name":"format","in":"query"}],"responses":{"200":{"description":"POI tiles successfully retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates whether the request was successful","example":true},"message":{"type":"string","description":"Optional message providing additional context about the response","example":"Data retrieved successfully"},"result":{"type":"array","items":{"type":"object","properties":{"tile":{"type":"string"},"data":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["FeatureCollection"]},"features":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["Feature"]},"properties":{"type":"object","properties":{"id":{"type":"number"},"name":{"type":"string"},"categoryId":{"type":"string"},"category":{"type":"string"},"address":{"type":"string","nullable":true},"source":{"type":"string","nullable":true}},"required":["id","name","categoryId"]},"geometry":{"type":"object","properties":{"type":{"type":"string","enum":["Point"]},"coordinates":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}},"required":["type","coordinates"]}},"required":["type","properties","geometry"]}},"metadata":{"type":"object","properties":{"tile":{"type":"object","properties":{"z":{"type":"number"},"x":{"type":"number"},"y":{"type":"number"}},"required":["z","x","y"]},"count":{"type":"number"},"generated":{"type":"string"}},"required":["tile","count","generated"]}},"required":["type","features"]},{"type":"object","properties":{"tile":{"type":"string"},"layerName":{"type":"string"}},"required":["tile","layerName"]}]},"error":{"type":"string"}},"required":["tile","data"]}},"metadata":{"type":"object","properties":{"requestedTiles":{"type":"number"},"successfulTiles":{"type":"number"},"failedTiles":{"type":"number"},"format":{"type":"string","enum":["geojson","mvt"]}},"required":["requestedTiles","successfulTiles","failedTiles","format"]}},"required":["success","result","metadata"],"description":"Standard response envelope for all API responses"}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses"},"error":{"type":"string","description":"High-level error category or message","example":"Invalid request parameters"},"details":{"type":"string","description":"Detailed error information for debugging","example":"Latitude must be between -90 and 90"},"code":{"type":"string","description":"Machine-readable error code","example":"VALIDATION_ERROR"}},"required":["success","error"],"description":"Error response format for failed requests","example":{"success":false,"error":"Invalid request parameters","details":"Latitude must be between -90 and 90","code":"VALIDATION_ERROR"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses"},"error":{"type":"string","description":"High-level error category or message","example":"Invalid request parameters"},"details":{"type":"string","description":"Detailed error information for debugging","example":"Latitude must be between -90 and 90"},"code":{"type":"string","description":"Machine-readable error code","example":"VALIDATION_ERROR"}},"required":["success","error"],"description":"Error response format for failed requests","example":{"success":false,"error":"Invalid request parameters","details":"Latitude must be between -90 and 90","code":"VALIDATION_ERROR"}}}}}}}},"/v1/area-reference/metric-values":{"get":{"operationId":"getMetricValues","x-speakeasy-name-override":"getMetricValues","tags":["Metrics"],"summary":"Get metric values for geographic areas","description":"Retrieve metric values for geographic areas. Filter by geographic code, metric ID, time period, and other parameters.","parameters":[{"schema":{"type":"string"},"required":false,"name":"geographicCode","in":"query"},{"schema":{"type":"string"},"required":false,"name":"metricId","in":"query"},{"schema":{"type":"string"},"required":false,"name":"metricName","in":"query"},{"schema":{"type":"string","enum":["postcode","lsoa21","uk_output_area","ward","country","county","local_authority_district","area_natural_beauty","national_scenic_area"],"description":"Geographic hierarchy type - from smallest (output_area) to largest (country)","example":"postcode"},"required":false,"description":"Type of geographic entity. Options: postcode (UK postal code area), lsoa21 (Lower Layer Super Output Area 2021), uk_output_area (Census Output Area), ward (Electoral ward), country (Country level), county (County level), local_authority_district (Local authority district), area_natural_beauty (Area of Outstanding Natural Beauty), national_scenic_area (National Scenic Area in Scotland)","name":"geographicType","in":"query"},{"schema":{"type":"string"},"required":false,"name":"period","in":"query"},{"schema":{"type":"string"},"required":false,"name":"startPeriod","in":"query"},{"schema":{"type":"string"},"required":false,"name":"endPeriod","in":"query"},{"schema":{"type":"string"},"required":false,"name":"category","in":"query"},{"schema":{"type":"string"},"required":false,"name":"includeMetricDetails","in":"query"},{"schema":{"type":"string"},"required":false,"name":"includeGeographyDetails","in":"query"},{"schema":{"type":"string","default":"100"},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","default":"0"},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Metric values successfully retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates whether the request was successful","example":true},"message":{"type":"string","description":"Optional message providing additional context about the response","example":"Data retrieved successfully"},"result":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number"},"metricId":{"type":"number"},"geographicCode":{"type":"string"},"geographicType":{"type":"string","enum":["postcode","lsoa21","uk_output_area","ward","country","county","local_authority_district","area_natural_beauty","national_scenic_area"],"description":"Geographic hierarchy type - from smallest (output_area) to largest (country)","example":"postcode"},"value":{"type":"number"},"period":{"type":"string","nullable":true},"confidence":{"type":"number","nullable":true},"metadata":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"createdAt":{"type":"string"},"updatedAt":{"type":"string","nullable":true},"metric":{"type":"object","properties":{"id":{"type":"number"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"unit":{"type":"string","nullable":true},"aggregationLevel":{"type":"string","nullable":true,"enum":["national","regional","local_authority","ward","lsoa","output_area","postcode"]},"frequency":{"type":"string","nullable":true,"enum":["annual","quarterly","monthly","weekly","daily","one_time","irregular"]},"source":{"type":"string","nullable":true},"category":{"type":"string","nullable":true},"tags":{"type":"array","nullable":true,"items":{"type":"string"}},"metadata":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}}},"required":["id","name","description","unit","aggregationLevel","frequency","source","category"]},"geography":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["postcode","lsoa21","uk_output_area","ward","country","county","local_authority_district","area_natural_beauty","national_scenic_area"],"description":"Geographic hierarchy type - from smallest (output_area) to largest (country)","example":"postcode"}},"required":["code","name","type"]}},"required":["id","metricId","geographicCode","geographicType","value","period","confidence","createdAt","updatedAt"]}},"pagination":{"type":"object","properties":{"total":{"type":"number"},"limit":{"type":"number"},"offset":{"type":"number"},"hasMore":{"type":"boolean"}},"required":["total","limit","offset","hasMore"]}},"required":["success","result","pagination"],"description":"Standard response envelope for all API responses"}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses"},"error":{"type":"string","description":"High-level error category or message","example":"Invalid request parameters"},"details":{"type":"string","description":"Detailed error information for debugging","example":"Latitude must be between -90 and 90"},"code":{"type":"string","description":"Machine-readable error code","example":"VALIDATION_ERROR"}},"required":["success","error"],"description":"Error response format for failed requests","example":{"success":false,"error":"Invalid request parameters","details":"Latitude must be between -90 and 90","code":"VALIDATION_ERROR"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses"},"error":{"type":"string","description":"High-level error category or message","example":"Invalid request parameters"},"details":{"type":"string","description":"Detailed error information for debugging","example":"Latitude must be between -90 and 90"},"code":{"type":"string","description":"Machine-readable error code","example":"VALIDATION_ERROR"}},"required":["success","error"],"description":"Error response format for failed requests","example":{"success":false,"error":"Invalid request parameters","details":"Latitude must be between -90 and 90","code":"VALIDATION_ERROR"}}}}}}}},"/v1/area-reference/health":{"get":{"operationId":"checkAreaReferenceHealth","x-speakeasy-name-override":"checkAreaReferenceHealth","tags":["System"],"summary":"Area reference service health check","description":"Check if the area reference proxy service is operational","responses":{"200":{"description":"Service is healthy","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"service":{"type":"string"},"timestamp":{"type":"string"}},"required":["status","service","timestamp"]}}}}}}},"/v1/address/resolve":{"post":{"operationId":"resolveAddress","x-speakeasy-name-override":"resolveAddress","tags":["Address"],"summary":"Resolve addresses to UPRNs with AI","description":"AI-powered address resolution that converts address strings to UPRNs (Unique Property Reference Numbers). Uses advanced LLM parsing to handle complex multi-unit addresses, ranges, incomplete addresses, and various formatting styles. Combines Elasticsearch search with intelligent postcode-based fallback for maximum accuracy.","requestBody":{"description":"Address string and optional resolution configuration","content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string","minLength":5,"maxLength":500,"description":"The address string to resolve"},"options":{"type":"object","properties":{"confidenceThreshold":{"type":"number","minimum":0,"maximum":100,"description":"Minimum confidence threshold for matches (0-100)"},"fallbackThreshold":{"type":"number","minimum":0,"maximum":100,"description":"Confidence threshold below which fallback matching is triggered"},"maxResults":{"type":"number","minimum":1,"maximum":100,"description":"Maximum number of results to return"},"enableFallback":{"type":"boolean","description":"Enable postcode-based fallback matching"},"includeProcessingDetails":{"type":"boolean","description":"Include detailed processing steps in response"},"timeout":{"type":"number","description":"Request timeout in milliseconds"}},"description":"Optional matching configuration"}},"required":["address"]}}}},"responses":{"200":{"description":"Address resolved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the request was successful"},"result":{"type":"object","properties":{"matches":{"type":"array","items":{"type":"object","properties":{"uprn":{"type":"string","description":"Unique Property Reference Number"},"address":{"type":"string","description":"Formatted address string"},"confidence":{"type":"number","description":"Match confidence score (0-100)"},"source":{"type":"string","enum":["elasticsearch-exact","elasticsearch-partial","elasticsearch-fuzzy","elasticsearch-direct","postcode-fallback"],"description":"Source of the match"},"originalAddress":{"type":"string","description":"Original parsed address fragment"}},"required":["uprn","address","confidence","source","originalAddress"]},"description":"Array of matched addresses"},"confidence":{"type":"number","description":"Overall confidence score of the results"},"metadata":{"type":"object","properties":{"addressCount":{"type":"number","description":"Number of addresses parsed from input"},"executionTimeMs":{"type":"number","description":"Total execution time in milliseconds"},"pattern":{"type":"string","enum":["single","range","multiple","descriptive","complex"],"description":"Detected address pattern type"},"fastPath":{"type":"boolean","description":"Whether fast-path matching was used"},"processingSteps":{"type":"array","items":{"type":"object","properties":{"step":{"type":"string","description":"Processing step name"},"status":{"type":"string","enum":["success","failed","skipped"],"description":"Step status"},"confidence":{"type":"number","description":"Confidence score for this step"},"executionTimeMs":{"type":"number","description":"Execution time for this step"},"details":{"type":"string","description":"Additional step details"}},"required":["step","status","confidence","executionTimeMs"]},"description":"Detailed processing steps (if requested)"}},"required":["addressCount","executionTimeMs","pattern"],"description":"Metadata about the matching process"}},"required":["matches","confidence","metadata"],"description":"Matching results (only present on success)"},"error":{"type":"string","description":"Error message (only present on failure)"},"statusCode":{"type":"number","description":"HTTP status code"}},"required":["success"]}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string","description":"Error message"},"statusCode":{"type":"number","description":"HTTP status code"}},"required":["success","error","statusCode"]}}}},"401":{"description":"Unauthorized - Invalid or missing API key","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string","description":"Error message"},"statusCode":{"type":"number","description":"HTTP status code"}},"required":["success","error","statusCode"]}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string","description":"Error message"},"statusCode":{"type":"number","description":"HTTP status code"}},"required":["success","error","statusCode"]}}}}}}}}}
|