One Concern · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the One Concern Domino AI API

17 actions 17 updates servers
Generated by API Evangelist Written by API Evangelist tooling for One Concern's API. It is a proposal applied on top of the contract, not a document One Concern publishes.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
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]