Hometrack Climate API (v2)
Hometrack Climate API (v2) from Hometrack — 5 path(s) described in OpenAPI.
Hometrack Climate API (v2) from Hometrack — 5 path(s) described in OpenAPI.
openapi: 3.0.1
info:
title: Climate API (v2)
description: ''
version: v2
x-api-evangelist-provenance:
provider: Hometrack
portal: https://developer.hometrack.com
harvested: '2026-07-26'
method: Azure API Management developer data-plane, anonymous
sources:
- url: https://developer.hometrack.com/developer/apis/climate-api-v2?api-version=2022-04-01-preview&export=true&format=openapi-link
status: 200
note: OpenAPI 3.0.1 export (info/servers/securitySchemes verbatim; paths empty in export)
- url: https://developer.hometrack.com/developer/apis/climate-api-v2/operations?api-version=2022-04-01-preview
status: 200
note: operation list
- url: https://developer.hometrack.com/developer/apis/climate-api-v2/operations/{operationId}?api-version=2022-04-01-preview
status: 200
note: per-operation request/response metadata
- url: https://developer.hometrack.com/developer/apis/climate-api-v2/schemas?api-version=2022-04-01-preview
status: 200
note: component schema documents
note: paths and components.schemas were reassembled verbatim from Hometrack's own APIM operation and
schema metadata; nothing was invented.
servers:
- url: https://api.hometrack.com/climate
- url: https://api.hometrack.local/climate
paths:
/ground-coastalerosion-twinn/{uprn}:
get:
operationId: CoastalErosionData
summary: Returns CoastalErosionData data for a given property
description: Returns CoastalErosionData data for a given property
parameters:
- name: dataVersion
in: query
required: true
schema:
$ref: '#/components/schemas/Ground-coastalerosion-twinn-uprn-GetRequest'
description: Data Version Number
- name: uprn
in: path
required: true
schema:
$ref: '#/components/schemas/Ground-coastalerosion-twinn-uprn-GetRequest-1'
description: Format - int64. Data Version Number
- name: X-Client-ID
in: header
required: false
schema:
$ref: '#/components/schemas/Ground-coastalerosion-twinn-uprn-GetRequest-2'
description: Client Identifer used for tracking
- name: X-Client-Reference
in: header
required: false
schema:
$ref: '#/components/schemas/Ground-coastalerosion-twinn-uprn-GetRequest-3'
description: Client Reference used for tracking
- name: X-Correlation-ID
in: header
required: false
schema:
$ref: '#/components/schemas/Ground-coastalerosion-twinn-uprn-GetRequest-4'
description: Unique Transaction ID, used for tracking and support
responses:
'200':
description: Request successful
content:
application/json:
schema:
$ref: '#/components/schemas/CoastalErosionScoreResponseModelV2'
example:
uprn: 0
versionNumber: string
noActiveIntervention:
managementPlan: string
distanceM: string
current:
firstYearOfHazard: 0
firstYearOfHazardErosionScore: 0
future:
- scenario: string
firstYearOfHazard: 0
firstYearOfHazardErosionScore: 0
shorelineManagementPlan:
managementPlan: string
distanceM: string
current:
firstYearOfHazard: 0
firstYearOfHazardErosionScore: 0
future:
- scenario: string
firstYearOfHazard: 0
firstYearOfHazardErosionScore: 0
text/json:
schema:
$ref: '#/components/schemas/CoastalErosionScoreResponseModelV2'
example:
uprn: 0
versionNumber: string
noActiveIntervention:
managementPlan: string
distanceM: string
current:
firstYearOfHazard: 0
firstYearOfHazardErosionScore: 0
future:
- scenario: string
firstYearOfHazard: 0
firstYearOfHazardErosionScore: 0
shorelineManagementPlan:
managementPlan: string
distanceM: string
current:
firstYearOfHazard: 0
firstYearOfHazardErosionScore: 0
future:
- scenario: string
firstYearOfHazard: 0
firstYearOfHazardErosionScore: 0
'400':
description: Request was not valid
content:
application/json:
schema:
type: string
text/json:
schema:
type: string
'404':
description: CoastalErosionData data not found
'500':
description: An error has occured
/epc-hometrack/{uprn}:
get:
operationId: Epc
summary: Returns EPC data for a given property
description: Returns EPC data for a given property
parameters:
- name: uprn
in: path
required: true
schema:
$ref: '#/components/schemas/Epc-hometrack-uprn-GetRequest'
description: Format - int64.
responses:
'200':
description: Request successful
content:
application/json:
schema:
$ref: '#/components/schemas/EnergyCertificateResponseModelV2'
example:
rawHashValue: string
mappingHeatingKey: 0
mappingTenureKey: 0
dataSourceId: 0
uprn: 0
concatenatedAddress: string
custRef1: string
custRef2: string
postcode: string
pcd: string
houseName: string
streetName: string
locality: string
town: string
county: string
fullAddress: string
propType: string
propStyle: string
totalRoomCount: 0
floorArea: 0
heating: string
floorsInBlock: 0
outbuildings: 0
inspectionDate: string
reportDate: string
instrType1: string
addressMatchFlag: true
addressMatchAttempts: 0
numberHeatedRooms: 0
roofDescription: string
floorHeight: 0
currentEnergyRating: A
currentEnergyEfficiency: 0
potentialEnergyRating: A
potentialEnergyEfficiency: 0
localAuthority: string
constituency: string
environmentImpactCurrent: 0
environmentImpactPotential: 0
energyConsumptionCurrent: 0
energyConsumptionPotential: 0
co2EmissionCurrent: 0
co2CurrentPerFloorArea: 0
co2EmissionPotential: 0
lightingCostCurrent: 0
lightingCostPotential: 0
heatingCostCurrent: 0
heatingCostPotential: 0
hotWaterCostCurrent: 0
hotWaterCostPotential: 0
energyTariff: string
mainsGasFlag: string
floorLevel: string
flatTopStorey: string
mainHeatingControls: 0
multiGlazeProportion: 0
glazedType: string
glazedArea: string
lowEnergyLighting: 0
numberOpenFireplaces: 0
hotwaterDescription: string
hotWaterEnergyEff: string
hotWaterEnvEff: string
floorDescription: string
floorEnergyEff: string
floorEnvEff: string
windowsDescription: string
windowsEnergyEff: string
windowsEnvEff: string
wallsDescription: string
wallsEnergyEff: string
wallsEnvEff: string
secondheatDescription: string
sheatingEnergyEff: string
sheatingEnvEff: string
roofEnergyEff: string
roofEnvEff: string
mainheatDescription: string
mainheatEnergyEff: string
mainheatEnvEff: string
mainheatcontDescription: string
mainheatcEnergyEff: string
mainheatcEnvEff: string
lightingDescription: string
lightingEnergyEff: string
lightingEnvEff: string
airTightnessDescription: string
airTightnessEnergyEff: string
airTightnessEnvEff: string
windTurbineCount: 0
heatLossCorridoor: string
heatLossCorridoorLength: 0
photoSupply: 0
solarWaterHeatingFlag: string
mechanicalVentilation: string
localAuthorityLabel: string
constituencyLabel: string
constructionAgeBand: string
lodgementDate: string
tenure: string
fixedLightingOutletsCount: 0
lowEnergyFixedLightCount: 0
typeOfAssessment: string
_3YearEnergyCostCurrent: 0
_3YearEnergySavingPotential: 0
currentEnvironmentalRating: string
potentialEnvironmentalRating: string
lzcEnergySources: 0
spaceHeatingDemand: 0
waterHeatingDemand: 0
impactLoftInsulation: 0
impactCavityWallInsulation: 0
impactSolidWallInsulation: 0
mainHeatingCategory: 0
addendumText: 0
dataZone: 0
YearBuilt: 0
isNewBuild: 0
effectiveDate: string
hashValue: string
text/json:
schema:
$ref: '#/components/schemas/EnergyCertificateResponseModelV2'
example:
rawHashValue: string
mappingHeatingKey: 0
mappingTenureKey: 0
dataSourceId: 0
uprn: 0
concatenatedAddress: string
custRef1: string
custRef2: string
postcode: string
pcd: string
houseName: string
streetName: string
locality: string
town: string
county: string
fullAddress: string
propType: string
propStyle: string
totalRoomCount: 0
floorArea: 0
heating: string
floorsInBlock: 0
outbuildings: 0
inspectionDate: string
reportDate: string
instrType1: string
addressMatchFlag: true
addressMatchAttempts: 0
numberHeatedRooms: 0
roofDescription: string
floorHeight: 0
currentEnergyRating: A
currentEnergyEfficiency: 0
potentialEnergyRating: A
potentialEnergyEfficiency: 0
localAuthority: string
constituency: string
environmentImpactCurrent: 0
environmentImpactPotential: 0
energyConsumptionCurrent: 0
energyConsumptionPotential: 0
co2EmissionCurrent: 0
co2CurrentPerFloorArea: 0
co2EmissionPotential: 0
lightingCostCurrent: 0
lightingCostPotential: 0
heatingCostCurrent: 0
heatingCostPotential: 0
hotWaterCostCurrent: 0
hotWaterCostPotential: 0
energyTariff: string
mainsGasFlag: string
floorLevel: string
flatTopStorey: string
mainHeatingControls: 0
multiGlazeProportion: 0
glazedType: string
glazedArea: string
lowEnergyLighting: 0
numberOpenFireplaces: 0
hotwaterDescription: string
hotWaterEnergyEff: string
hotWaterEnvEff: string
floorDescription: string
floorEnergyEff: string
floorEnvEff: string
windowsDescription: string
windowsEnergyEff: string
windowsEnvEff: string
wallsDescription: string
wallsEnergyEff: string
wallsEnvEff: string
secondheatDescription: string
sheatingEnergyEff: string
sheatingEnvEff: string
roofEnergyEff: string
roofEnvEff: string
mainheatDescription: string
mainheatEnergyEff: string
mainheatEnvEff: string
mainheatcontDescription: string
mainheatcEnergyEff: string
mainheatcEnvEff: string
lightingDescription: string
lightingEnergyEff: string
lightingEnvEff: string
airTightnessDescription: string
airTightnessEnergyEff: string
airTightnessEnvEff: string
windTurbineCount: 0
heatLossCorridoor: string
heatLossCorridoorLength: 0
photoSupply: 0
solarWaterHeatingFlag: string
mechanicalVentilation: string
localAuthorityLabel: string
constituencyLabel: string
constructionAgeBand: string
lodgementDate: string
tenure: string
fixedLightingOutletsCount: 0
lowEnergyFixedLightCount: 0
typeOfAssessment: string
_3YearEnergyCostCurrent: 0
_3YearEnergySavingPotential: 0
currentEnvironmentalRating: string
potentialEnvironmentalRating: string
lzcEnergySources: 0
spaceHeatingDemand: 0
waterHeatingDemand: 0
impactLoftInsulation: 0
impactCavityWallInsulation: 0
impactSolidWallInsulation: 0
mainHeatingCategory: 0
addendumText: 0
dataZone: 0
YearBuilt: 0
isNewBuild: 0
effectiveDate: string
hashValue: string
'400':
description: Request was not valid
content:
application/json:
schema:
type: string
text/json:
schema:
type: string
'404':
description: EPC data not found
'500':
description: An error has occured
/flood-twinn/{uprn}:
get:
operationId: Flood
summary: Returns Flood data for a given property
description: Returns Flood data for a given property
parameters:
- name: dataVersion
in: query
required: true
schema:
$ref: '#/components/schemas/Flood-twinn-uprn-GetRequest'
description: Data Version Number
- name: uprn
in: path
required: true
schema:
$ref: '#/components/schemas/Flood-twinn-uprn-GetRequest-1'
description: Format - int64. Data Version Number
- name: X-Client-ID
in: header
required: false
schema:
$ref: '#/components/schemas/Flood-twinn-uprn-GetRequest-2'
description: Client Identifer used for tracking
- name: X-Client-Reference
in: header
required: false
schema:
$ref: '#/components/schemas/Flood-twinn-uprn-GetRequest-3'
description: Client Reference used for tracking
- name: X-Correlation-ID
in: header
required: false
schema:
$ref: '#/components/schemas/Flood-twinn-uprn-GetRequest-4'
description: Unique Transaction ID, used for tracking and support
responses:
'200':
description: Request successful
content:
application/json:
schema:
$ref: '#/components/schemas/FloodScoreResponseModelV2'
example:
current:
- versionNumber: string
year: string
scenario: string
floodDefenceLevel: 0
defendedScore: 0
defendedRiskRatio: 0
defendedADR: 0
defendedAAL: 0
defendedFluvialScore: 0
defendedFluvialRiskRatio: 0
defendedFluvialMaxDepth30Years: 0
defendedFluvialMaxDepth75Years: 0
defendedFluvialMaxDepth100Years: 0
defendedFluvialMaxDepth250Years: 0
defendedFluvialMaxDepth500Years: 0
defendedFluvialMaxDepth1000Years: 0
defendedFluvialADR: 0
defendedFluvialAAL: 0
defendedTidalScore: 0
defendedTidalRiskRatio: 0
defendedTidalMaxDepth30Years: 0
defendedTidalMaxDepth75Years: 0
defendedTidalMaxDepth100Years: 0
defendedTidalMaxDepth250Years: 0
defendedTidalMaxDepth500Years: 0
defendedTidalMaxDepth1000Years: 0
defendedTidalADR: 0
defendedTidalAAL: 0
undefendedScore: 0
undefendedRiskRatio: 0
undefendedADR: 0
undefendedAAL: 0
undefendedFluvialScore: 0
undefendedFluvialRiskRatio: 0
undefendedFluvialMaxDepth30Years: 0
undefendedFluvialMaxDepth75Years: 0
undefendedFluvialMaxDepth100Years: 0
undefendedFluvialMaxDepth250Years: 0
undefendedFluvialMaxDepth500Years: 0
undefendedFluvialMaxDepth1000Years: 0
undefendedFluvialADR: 0
undefendedFluvialAAL: 0
undefendedTidalScore: 0
undefendedTidalRiskRatio: 0
undefendedTidalMaxDepth30Years: 0
undefendedTidalMaxDepth75Years: 0
undefendedTidalMaxDepth100Years: 0
undefendedTidalMaxDepth250Years: 0
undefendedTidalMaxDepth500Years: 0
undefendedTidalMaxDepth1000Years: 0
undefendedTidalADR: 0
undefendedTidalAAL: 0
undefendedPluvialScore: 0
undefendedPluvialRiskRatio: 0
undefendedPluvialMaxDepth30Years: 0
undefendedPluvialMaxDepth75Years: 0
undefendedPluvialMaxDepth100Years: 0
undefendedPluvialMaxDepth250Years: 0
undefendedPluvialMaxDepth500Years: 0
undefendedPluvialMaxDepth1000Years: 0
undefendedPluvialADR: 0
undefendedPluvialAAL: 0
future:
- versionNumber: string
year: string
scenario: string
floodDefenceLevel: 0
defendedScore: 0
defendedRiskRatio: 0
defendedADR: 0
defendedAAL: 0
defendedFluvialScore: 0
defendedFluvialRiskRatio: 0
defendedFluvialMaxDepth30Years: 0
defendedFluvialMaxDepth75Years: 0
defendedFluvialMaxDepth100Years: 0
defendedFluvialMaxDepth250Years: 0
defendedFluvialMaxDepth500Years: 0
defendedFluvialMaxDepth1000Years: 0
defendedFluvialADR: 0
defendedFluvialAAL: 0
defendedTidalScore: 0
defendedTidalRiskRatio: 0
defendedTidalMaxDepth30Years: 0
defendedTidalMaxDepth75Years: 0
defendedTidalMaxDepth100Years: 0
defendedTidalMaxDepth250Years: 0
defendedTidalMaxDepth500Years: 0
defendedTidalMaxDepth1000Years: 0
defendedTidalADR: 0
defendedTidalAAL: 0
undefendedScore: 0
undefendedRiskRatio: 0
undefendedADR: 0
undefendedAAL: 0
undefendedFluvialScore: 0
undefendedFluvialRiskRatio: 0
undefendedFluvialMaxDepth30Years: 0
undefendedFluvialMaxDepth75Years: 0
undefendedFluvialMaxDepth100Years: 0
undefendedFluvialMaxDepth250Years: 0
undefendedFluvialMaxDepth500Years: 0
undefendedFluvialMaxDepth1000Years: 0
undefendedFluvialADR: 0
undefendedFluvialAAL: 0
undefendedTidalScore: 0
undefendedTidalRiskRatio: 0
undefendedTidalMaxDepth30Years: 0
undefendedTidalMaxDepth75Years: 0
undefendedTidalMaxDepth100Years: 0
undefendedTidalMaxDepth250Years: 0
undefendedTidalMaxDepth500Years: 0
undefendedTidalMaxDepth1000Years: 0
undefendedTidalADR: 0
undefendedTidalAAL: 0
undefendedPluvialScore: 0
undefendedPluvialRiskRatio: 0
undefendedPluvialMaxDepth30Years: 0
undefendedPluvialMaxDepth75Years: 0
undefendedPluvialMaxDepth100Years: 0
undefendedPluvialMaxDepth250Years: 0
undefendedPluvialMaxDepth500Years: 0
undefendedPluvialMaxDepth1000Years: 0
undefendedPluvialADR: 0
undefendedPluvialAAL: 0
text/json:
schema:
$ref: '#/components/schemas/FloodScoreResponseModelV2'
example:
current:
- versionNumber: string
year: string
scenario: string
floodDefenceLevel: 0
defendedScore: 0
defendedRiskRatio: 0
defendedADR: 0
defendedAAL: 0
defendedFluvialScore: 0
defendedFluvialRiskRatio: 0
defendedFluvialMaxDepth30Years: 0
defendedFluvialMaxDepth75Years: 0
defendedFluvialMaxDepth100Years: 0
defendedFluvialMaxDepth250Years: 0
defendedFluvialMaxDepth500Years: 0
defendedFluvialMaxDepth1000Years: 0
defendedFluvialADR: 0
defendedFluvialAAL: 0
defendedTidalScore: 0
defendedTidalRiskRatio: 0
defendedTidalMaxDepth30Years: 0
defendedTidalMaxDepth75Years: 0
defendedTidalMaxDepth100Years: 0
defendedTidalMaxDepth250Years: 0
defendedTidalMaxDepth500Years: 0
defendedTidalMaxDepth1000Years: 0
defendedTidalADR: 0
defendedTidalAAL: 0
undefendedScore: 0
undefendedRiskRatio: 0
undefendedADR: 0
undefendedAAL: 0
undefendedFluvialScore: 0
undefendedFluvialRiskRatio: 0
undefendedFluvialMaxDepth30Years: 0
undefendedFluvialMaxDepth75Years: 0
undefendedFluvialMaxDepth100Years: 0
undefendedFluvialMaxDepth250Years: 0
undefendedFluvialMaxDepth500Years: 0
undefendedFluvialMaxDepth1000Years: 0
undefendedFluvialADR: 0
undefendedFluvialAAL: 0
undefendedTidalScore: 0
undefendedTidalRiskRatio: 0
undefendedTidalMaxDepth30Years: 0
undefendedTidalMaxDepth75Years: 0
undefendedTidalMaxDepth100Years: 0
undefendedTidalMaxDepth250Years: 0
undefendedTidalMaxDepth500Years: 0
undefendedTidalMaxDepth1000Years: 0
undefendedTidalADR: 0
undefendedTidalAAL: 0
undefendedPluvialScore: 0
undefendedPluvialRiskRatio: 0
undefendedPluvialMaxDepth30Years: 0
undefendedPluvialMaxDepth75Years: 0
undefendedPluvialMaxDepth100Years: 0
undefendedPluvialMaxDepth250Years: 0
undefendedPluvialMaxDepth500Years: 0
undefendedPluvialMaxDepth1000Years: 0
undefendedPluvialADR: 0
undefendedPluvialAAL: 0
future:
- versionNumber: string
year: string
scenario: string
floodDefenceLevel: 0
defendedScore: 0
defendedRiskRatio: 0
defendedADR: 0
defendedAAL: 0
defendedFluvialScore: 0
defendedFluvialRiskRatio: 0
defendedFluvialMaxDepth30Years: 0
defendedFluvialMaxDepth75Years: 0
defendedFluvialMaxDepth100Years: 0
defendedFluvialMaxDepth250Years: 0
defendedFluvialMaxDepth500Years: 0
defendedFluvialMaxDepth1000Years: 0
defendedFluvialADR: 0
defendedFluvialAAL: 0
defendedTidalScore: 0
defendedTidalRiskRatio: 0
defendedTidalMaxDepth30Years: 0
defendedTidalMaxDepth75Years: 0
defendedTidalMaxDepth100Years: 0
defendedTidalMaxDepth250Years: 0
defendedTidalMaxDepth500Years: 0
defendedTidalMaxDepth1000Years: 0
defendedTidalADR: 0
defendedTidalAAL: 0
undefendedScore: 0
undefendedRiskRatio: 0
undefendedADR: 0
undefendedAAL: 0
undefendedFluvialScore: 0
undefendedFluvialRiskRatio: 0
undefendedFluvialMaxDepth30Years: 0
undefendedFluvialMaxDepth75Years: 0
undefendedFluvialMaxDepth100Years: 0
undefendedFluvialMaxDepth250Years: 0
undefendedFluvialMaxDepth500Years: 0
undefendedFluvialMaxDepth1000Years: 0
undefendedFluvialADR: 0
undefendedFluvialAAL: 0
undefendedTidalScore: 0
undefendedTidalRiskRatio: 0
undefendedTidalMaxDepth30Years: 0
undefendedTidalMaxDepth75Years: 0
undefendedTidalMaxDepth100Years: 0
undefendedTidalMaxDepth250Years: 0
undefendedTidalMaxDepth500Years: 0
undefendedTidalMaxDepth1000Years: 0
undefendedTidalADR: 0
undefendedTidalAAL: 0
undefendedPluvialScore: 0
undefendedPluvialRiskRatio: 0
undefendedPluvialMaxDepth30Years: 0
undefendedPluvialMaxDepth75Years: 0
undefendedPluvialMaxDepth100Years: 0
undefendedPluvialMaxDepth250Years: 0
undefendedPluvialMaxDepth500Years: 0
undefendedPluvialMaxDepth1000Years: 0
undefendedPluvialADR: 0
undefendedPluvialAAL: 0
'400':
description: Request was not valid
content:
application/json:
schema:
type: string
text/json:
schema:
type: string
'404':
description: Flood data not found
'500':
description: An error has occured
/ground-terrafirma/{uprn}:
get:
operationId: Ground
summary: Returns Ground data for a given property
description: Returns Ground data for a given property
parameters:
- name: dataVersion
in: query
required: true
schema:
$ref: '#/components/schemas/Ground-terrafirma-uprn-GetRequest'
description: Data Version Number
- name: uprn
in: path
required: true
schema:
$ref: '#/components/schemas/Ground-terrafirma-uprn-GetRequest-1'
description: Format - int64. Data Version Number
- name: X-Client-ID
in: header
required: false
schema:
$ref: '#/components/schemas/Ground-terrafirma-uprn-GetRequest-2'
description: Client Identifer used for tracking
- name: X-Client-Reference
in: header
required: false
schema:
$ref: '#/components/schemas/Ground-terrafirma-uprn-GetRequest-3'
description: Client Reference used for tracking
- name: X-Correlation-ID
in: header
required: false
schema:
$ref: '#/components/schemas/Ground-terrafirma-uprn-GetRequest-4'
description: Unique Transaction ID, used for tracking and support
responses:
'200':
description: Request successful
content:
application/json:
schema:
$ref: '#/components/schemas/GroundScoreResponseModelV2'
example:
current:
- versionNumber: string
highestScore: 0
miningScore: 0
miningNonCoalScore: 0
miningCoalScore: 0
miningCheshireBrineScore: 0
dissolutionScore: 0
sinkHoleScore: 0
miscellaneousScore: 0
soilSubsidenceScore: 0
coastalErosionScore: 0
landslipScore: 0
shape: string
subsidenceScore: 0
future:
- versionNumber: string
year: string
scenario: string
uprn: 0
highestScore: 0
soilSubsidenceScore: 0
coastalErosionScore: 0
subsidenceScore: 0
text/json:
schema:
$ref: '#/components/schemas/GroundScoreResponseModelV2'
example:
current:
- versionNumber: string
highestScore: 0
miningScore: 0
miningNonCoalScore: 0
miningCoalScore: 0
miningCheshireBrineScore: 0
dissolutionScore: 0
sinkHoleScore: 0
miscellaneousScore: 0
soilSubsidenceScore: 0
coastalErosionScore: 0
landslipScore: 0
shape: string
subsidenceScore: 0
future:
- versionNumber: string
year: string
scenario: string
uprn: 0
highestScore: 0
soilSubsidenceScore: 0
coastalErosionScore: 0
subsidenceScore: 0
'400':
description: Request was not valid
content:
application/json:
schema:
type: string
text/json:
schema:
type: string
# --- truncated at 32 KB (62 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hometrack/refs/heads/main/openapi/hometrack-climate-api-v2-openapi.yml