Hometrack Flood Twinn API
The Flood Twinn API from Hometrack — 1 operation(s) for flood twinn.
The Flood Twinn API from Hometrack — 1 operation(s) for flood twinn.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/hometrack-flood-twinn-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
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