Hometrack Climate API (v2)

Five GET operations returning climate and energy risk data for a single property, keyed on UPRN — the Unique Property Reference Number, the UK's government-issued national property identifier: /epc-hometrack/{uprn} returns EPC (energy performance) data, /flood-twinn/{uprn} returns flood data, /ground-terrafirma/{uprn} returns ground data, /ground-subsidence-twinn/{uprn} returns subsidence score data and /ground-coastalerosion-twinn/{uprn} returns coastal erosion data. Four of the five take a dataVersion parameter, and the supplier is visible in the path segments — Twinn for flood, subsidence and coastal erosion, Terrafirma for ground. Every operation accepts X-Client-ID, X-Client-Reference and X-Correlation-ID tracking headers. The harvested schema document carries 35 component schemas covering the response models (FloodScoreResponseModelV2, SubsidenceScoreResponseModelV2, CoastalErosionScoreResponseModelV2, GroundScoreResponseModelV2, EnergyCertificateResponseModelV2 and their sub-models). The APIM contract records the backend as web-uks-prod-data-api.azurewebsites.net/v2.

OpenAPI Specification

hometrack-climate-api-v2-openapi.yml Raw ↑
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