openapi: 3.2.0 info: title: Climate API (v2) Flood Twinn API 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 security: - {} - apiKeyHeader: [] - apiKeyQuery: [] tags: - name: Flood Twinn paths: /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 tags: - Flood Twinn components: schemas: ClimateChangeDataWithVersionResponseFloodScoreDataModel: type: object properties: versionNumber: type: - string - 'null' year: type: - string - 'null' scenario: type: - string - 'null' floodDefenceLevel: type: - integer - 'null' format: int32 defendedScore: type: - integer - 'null' format: int32 defendedRiskRatio: type: - integer - 'null' format: int32 defendedADR: type: - number - 'null' format: double defendedAAL: type: - integer - 'null' format: int32 defendedFluvialScore: type: - integer - 'null' format: int32 defendedFluvialRiskRatio: type: - integer - 'null' format: int32 defendedFluvialMaxDepth30Years: type: - integer - 'null' format: int32 defendedFluvialMaxDepth75Years: type: - integer - 'null' format: int32 defendedFluvialMaxDepth100Years: type: - integer - 'null' format: int32 defendedFluvialMaxDepth250Years: type: - integer - 'null' format: int32 defendedFluvialMaxDepth500Years: type: - integer - 'null' format: int32 defendedFluvialMaxDepth1000Years: type: - integer - 'null' format: int32 defendedFluvialADR: type: - integer - 'null' format: int32 defendedFluvialAAL: type: - integer - 'null' format: int32 defendedTidalScore: type: - integer - 'null' format: int32 defendedTidalRiskRatio: type: - integer - 'null' format: int32 defendedTidalMaxDepth30Years: type: - integer - 'null' format: int32 defendedTidalMaxDepth75Years: type: - integer - 'null' format: int32 defendedTidalMaxDepth100Years: type: - integer - 'null' format: int32 defendedTidalMaxDepth250Years: type: - integer - 'null' format: int32 defendedTidalMaxDepth500Years: type: - integer - 'null' format: int32 defendedTidalMaxDepth1000Years: type: - integer - 'null' format: int32 defendedTidalADR: type: - integer - 'null' format: int32 defendedTidalAAL: type: - integer - 'null' format: int32 undefendedScore: type: - integer - 'null' format: int32 undefendedRiskRatio: type: - integer - 'null' format: int32 undefendedADR: type: - number - 'null' format: double undefendedAAL: type: - integer - 'null' format: int32 undefendedFluvialScore: type: - integer - 'null' format: int32 undefendedFluvialRiskRatio: type: - integer - 'null' format: int32 undefendedFluvialMaxDepth30Years: type: - integer - 'null' format: int32 undefendedFluvialMaxDepth75Years: type: - integer - 'null' format: int32 undefendedFluvialMaxDepth100Years: type: - integer - 'null' format: int32 undefendedFluvialMaxDepth250Years: type: - integer - 'null' format: int32 undefendedFluvialMaxDepth500Years: type: - integer - 'null' format: int32 undefendedFluvialMaxDepth1000Years: type: - integer - 'null' format: int32 undefendedFluvialADR: type: - integer - 'null' format: int32 undefendedFluvialAAL: type: - integer - 'null' format: int32 undefendedTidalScore: type: - integer - 'null' format: int32 undefendedTidalRiskRatio: type: - integer - 'null' format: int32 undefendedTidalMaxDepth30Years: type: - integer - 'null' format: int32 undefendedTidalMaxDepth75Years: type: - integer - 'null' format: int32 undefendedTidalMaxDepth100Years: type: - integer - 'null' format: int32 undefendedTidalMaxDepth250Years: type: - integer - 'null' format: int32 undefendedTidalMaxDepth500Years: type: - integer - 'null' format: int32 undefendedTidalMaxDepth1000Years: type: - integer - 'null' format: int32 undefendedTidalADR: type: - integer - 'null' format: int32 undefendedTidalAAL: type: - integer - 'null' format: int32 undefendedPluvialScore: type: - integer - 'null' format: int32 undefendedPluvialRiskRatio: type: - integer - 'null' format: int32 undefendedPluvialMaxDepth30Years: type: - integer - 'null' format: int32 undefendedPluvialMaxDepth75Years: type: - integer - 'null' format: int32 undefendedPluvialMaxDepth100Years: type: - integer - 'null' format: int32 undefendedPluvialMaxDepth250Years: type: - number - 'null' format: double undefendedPluvialMaxDepth500Years: type: - number - 'null' format: double undefendedPluvialMaxDepth1000Years: type: - number - 'null' format: double undefendedPluvialADR: type: - number - 'null' format: double undefendedPluvialAAL: type: - integer - 'null' format: int32 additionalProperties: false FloodScoreResponseModelV2: required: - current - future type: object properties: current: type: array items: $ref: '#/components/schemas/ClimateChangeDataWithVersionResponseFloodScoreDataModel' future: type: array items: $ref: '#/components/schemas/ClimateChangeDataWithVersionResponseFloodScoreDataModel' additionalProperties: false Flood-twinn-uprn-GetRequest-2: maxLength: 20 type: string x-apim-inline: true Flood-twinn-uprn-GetRequest-4: maxLength: 50 type: string x-apim-inline: true Flood-twinn-uprn-GetRequest-1: type: integer format: int64 x-apim-inline: true Flood-twinn-uprn-GetRequest: type: string x-apim-inline: true Flood-twinn-uprn-GetRequest-3: maxLength: 50 type: string x-apim-inline: true securitySchemes: apiKeyHeader: type: apiKey name: Ocp-Apim-Subscription-Key in: header apiKeyQuery: type: apiKey name: subscription-key in: query