One Concern · OpenAPI Overlay 1.0.0
API Evangelist enhancements for the One Concern Domino AI API
17 actions
17 updates
servers
Derived by API Evangelist
Built from the contracts One Concern publishes. One Concern did not publish this file.
What the actions change
descriptiontagsserverscontacttermsOfServicecomponentssecurity401
Targets 15
$
$.info
$.paths.*.post.responses
$.paths.*.post.responses.204
$.paths['/v1/location/business-interruption/return-period'].post
$.paths['/v1/location/business-interruption/average-annual'].post
$.paths['/v1/location/business-interruption/planning-horizon'].post
$.paths['/v1/location/property-damage/return-period'].post
$.paths['/v1/location/property-damage/average-annual'].post
$.components.schemas.PerilRP
$.components.schemas.PerilAA
$.components.schemas.BusinessInterruptionType
$.components.schemas.ClimateChange
$.components.schemas.ReturnPeriod
$.components.schemas.BIRiskScoreResponse.properties.score
OpenAPI Overlay
overlay: 1.0.0
info:
title: API Evangelist enhancements for the One Concern Domino AI API
version: 1.0.0
x-provenance:
generated: '2026-08-26'
method: generated
source: openapi/one-concern-domino-ai-openapi.json
extends: openapi/one-concern-domino-ai-openapi.json
note: >-
Captures API Evangelist enhancements to the One Concern Domino AI API v1.31.2 as fetched
verbatim from https://developer.oneconcern.com/openapi.json on 2026-08-26. The original spec
is never mutated. Every value added here is taken from One Concern's own published
documentation (https://developer.oneconcern.com/overview and /calculation-process) or from a
live probe of api.oneconcern.com; nothing is invented.
actions:
- target: $
description: >-
Add the production server. The published spec has no servers[] block. api.oneconcern.com is
established by probe — documented operation paths return 401 with
{"error":"Authorization field missing"} while undocumented paths on the same host return 404.
update:
servers:
- url: https://api.oneconcern.com
description: Production (Tyk gateway; HTTPS only)
- target: $.info
description: >-
Replace the placeholder one-word description and add contact/licence-adjacent metadata that
the provider publishes elsewhere.
update:
description: >-
The One Concern Domino AI API quantifies physical risk to a specific location from
catastrophes that damage the property itself and disrupt the infrastructure networks its
normal operations depend on. Five POST operations return business-interruption downtime
statistics and property-damage ratios for the closest modeled building to a supplied
latitude/longitude, selectable by peril, climate scenario, and either return period,
average annual downtime, or forward planning horizon.
contact:
name: One Concern Customer Success
url: https://oneconcern.com/en/contact/
termsOfService: https://oneconcern.com/en/terms/
- target: $
description: >-
Declare the authentication scheme the docs specify. The published spec has no
components.securitySchemes at all, so a generated client cannot discover that a token is
required.
update:
components:
securitySchemes:
ApiTokenAuth:
type: apiKey
in: header
name: x-1c-api-token
description: >-
Customer-issued API token, obtained from the One Concern customer success team. A
token may authorize only a subset of the endpoints in this specification.
security:
- ApiTokenAuth: []
- target: $.paths.*.post.responses
description: >-
Declare the 401 response documented in the Errors section of the developer portal but absent
from every operation in the published spec.
update:
'401':
description: >-
Unauthorized. The API token is missing, invalid, or not entitled to this endpoint.
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: Human-readable gateway error message.
examples:
- error: Authorization field missing
- target: $.paths.*.post.responses.204
description: >-
Clarify that 204 is a modelled-coverage answer rather than a failure — the single most
likely runtime surprise for a consumer of this API.
update:
description: >-
No Content. The request was well formed and authorized, but One Concern has no modeled
building within max_distance_m of the supplied coordinates. This is a valid answer, not an
error; do not retry unchanged. Widening max_distance_m (maximum 500 metres) may resolve it.
- target: $.paths['/v1/location/business-interruption/return-period'].post
description: Tag the operation. The published spec declares no tags anywhere.
update:
tags: [Business Interruption]
- target: $.paths['/v1/location/business-interruption/average-annual'].post
update:
tags: [Business Interruption]
- target: $.paths['/v1/location/business-interruption/planning-horizon'].post
update:
tags: [Business Interruption]
- target: $.paths['/v1/location/property-damage/return-period'].post
update:
tags: [Property Damage]
- target: $.paths['/v1/location/property-damage/average-annual'].post
update:
tags: [Property Damage]
- target: $
description: Declare the two tag groups added above.
update:
tags:
- name: Business Interruption
description: >-
Downtime statistics and risk bands for a location, accounting for the building and the
lifelines it depends on.
- name: Property Damage
description: Direct structural damage ratios for a location.
- target: $.components.schemas.PerilRP
description: >-
Record the peril definitions from the calculation-process documentation, and flag the
divergence from PerilAA that is the most common cause of a 422.
update:
description: >-
Cause of loss or damage. flood = inland and coastal flooding; wind = tropical cyclone wind;
seismic = earthquake ground-shaking. Note that `integrated` is NOT accepted on return-period
operations, although it is accepted on average-annual and planning-horizon operations.
- target: $.components.schemas.PerilAA
update:
description: >-
Cause of loss or damage. flood = inland and coastal flooding; wind = tropical cyclone wind;
seismic = earthquake ground-shaking; integrated = all perils combined.
- target: $.components.schemas.BusinessInterruptionType
update:
description: >-
The component of infrastructure essential to recovery. ingress_egress = ports, airports,
roads and bridges; community = residential community only; utility = power distribution
network only; repair_time = building structural downtime; integrated = all of the above.
Different countries and peril combinations support different dependencies, so an accepted
enum value may still return 204 for a given location.
- target: $.components.schemas.ClimateChange
update:
description: >-
Climate change scenario. ccbaseline = baseline climate view; cc2050_45 = RCP 4.5 or
equivalent SSP view for the 2050 projection year.
- target: $.components.schemas.ReturnPeriod
update:
description: >-
Return period in years. A 100-year return period is probabilistically equivalent to a 1%
chance of occurrence in any given year; a 250-year return period to 0.4%.
- target: $.components.schemas.BIRiskScoreResponse.properties.score
update:
description: >-
Business interruption risk band. high when downtime >= 7 days, med when downtime < 7 and
>= 2 days, low when downtime < 2 days. For the average-annual operation the bins are
applied to (downtime_avg_days + 2 * downtime_stdev_days).
enum: [low, med, high]
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.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.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/one-concern-domino-ai-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
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.