Skip to content

In-depth

POST /v2/in-depth

The core probabilistic endpoint. Unlike lite, you specify exactly which perils to run, CAT or weather, and each comes back with the full exceedance curve: thresholds, probabilities and return periods, with daily granularity and optional hour windows. Synchronous; up to 25 peril-event combinations per request.

Request body

Field Type Required Description
perils list[string] REQUIRED Peril API names to assess (see perils reference)
events list[Event] REQUIRED Locations and time windows to evaluate
window_days int CONDITIONAL A value for contignecy between 0 and 7 and used to get the cumulative fall of rain and snow. Must be used with CumulativeRain and Cumulativesnow

Event object

Field Type Required Default Notes
index integer OPTIONAL Auto-assigned Unique identifier, echoed in results
tag string OPTIONAL null Free-text risk label
location string CONDITIONAL – Place name to geocode, or supply coordinates
latitude float CONDITIONAL – Decimal degrees
longitude float CONDITIONAL – Decimal degrees
start_date string OPTIONAL Tomorrow YYYY-MM-DD
end_date string OPTIONAL start_date + 1 year YYYY-MM-DD, must be ≥ start_date
start_hour integer OPTIONAL 0 0–23
end_hour integer OPTIONAL 23 0–23, must be ≥ start_hour

Date defaults: ready for the policy year

With no dates supplied, every event runs from tomorrow to one year ahead: the annual policy window a property underwriter needs, with no date arithmetic. Contingency and construction underwriters assessing shorter periods should set start_date and end_date manually.

POST /v2/in-depth
{
  "perils": ["TropicalCyclone", "Wildfire"],
  "events": [{
    "index": 0,
    "tag": "US property schedule, policy year",
    "location": "Naples, Florida US",
    "start_date": "2026-01-01",
    "end_date": "2026-12-31"
  }]
}
{
  "results": [
    {
      "index": 0,
      "peril": "Wildfire",
      "latitude": 26.1475,
      "longitude": -81.7955,
      "threshold": [
        "Severe"
      ],
      "probability": [
        54.7841
      ],
      "return_period": [
        1
      ],
      "unit": "Severe"
    },
    {
      "index": 0,
      "peril": "TropicalCyclone",
      "latitude": 26.1475,
      "longitude": -81.7955,
      "threshold": [
        "CAT0",
        "CAT1",
        "CAT2",
        "CAT3",
        "CAT4",
        "CAT5"
      ],
      "probability": [
        15.7065,
        2.8966,
        1.2156,
        0.7003,
        0.3942,
        0.0717
      ],
      "return_period": [
        6,
        35,
        80,
        140,
        255,
        1395
      ],
      "unit": "CAT0,CAT1,CAT2,CAT3,CAT4,CAT5"
    }
  ],
  "failed_items": [],
  "metadata": {
    "total_requested": 1,
    "successful": 1,
    "failed": 0,
    "event_outcomes": {
      "requested": 1,
      "successful": 1,
      "partially_successful": 0,
      "failed": 0
    },
    "peril_outcomes": {
      "requested": 2,
      "successful": 2,
      "failed": 0
    }
  }
}
POST /v2/in-depth
{
  "perils": ["Rain"],
  "events": [{
    "index": 0,
    "tag": "US contingency schedule, LA Concert at beginning of the year",
    "location": "Los Angeles, US",
    "start_date": "2026-01-01",
    "end_date": "2026-01-02",
    "start_hour": 18,
    "end_hour": 22
  }]
}
{
  "results": [
    {
      "index": 0,
      "peril": "Rain",
      "latitude": 34.0522,
      "longitude": -118.2433,
      "threshold": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        15,
        20,
        25,
        30,
        35,
        40,
        45,
        50,
        55,
        60,
        65,
        70,
        75,
        80,
        85,
        90,
        95,
        100,
        105,
        110,
        115,
        120,
        125,
        130,
        135,
        140,
        145,
        150,
        155,
        160,
        165,
        170,
        175,
        180,
        185,
        190,
        195,
        200,
        205,
        210,
        215,
        220,
        225,
        230,
        235,
        240,
        245,
        250,
        250.2337
      ],
      "probability": [
        56.8841,
        16.3772,
        11.4453,
        8.869,
        7.0443,
        5.5599,
        4.5314,
        3.8756,
        3.4179,
        3.0924,
        2.8156,
        1.6002,
        0.901,
        0.3177,
        0.1604,
        0.101,
        0.0678,
        0.0441,
        0.032,
        0.0197,
        0.0142,
        0.0106,
        0.0066,
        0.0059,
        0.003,
        0.0011,
        0.0011,
        0.0011,
        0.0011,
        0.0011,
        0.0011,
        0.0011,
        0.0011,
        0.0011,
        0.0011,
        0.0011,
        0.0011,
        0.0011,
        0.0005,
        0.0005,
        0.0005,
        0.0005,
        0.0005,
        0.0005,
        0.0005,
        0.0005,
        0.0005,
        0.0005,
        0.0005,
        0.0005,
        0.0005,
        0.0005,
        0.0005,
        0.0005,
        0.0005,
        0.0005,
        0.0005,
        0.0005,
        0.0002,
        0.0001
      ],
      "return_period": [
        1,
        6,
        8,
        10,
        15,
        15,
        20,
        25,
        30,
        30,
        35,
        60,
        110,
        315,
        625,
        990,
        1475,
        2265,
        3125,
        5075,
        7040,
        9435,
        15150,
        16950,
        33335,
        90910,
        90910,
        90910,
        90910,
        90910,
        90910,
        90910,
        90910,
        90910,
        90910,
        90910,
        90910,
        90910,
        200000,
        200000,
        200000,
        200000,
        200000,
        200000,
        200000,
        200000,
        200000,
        200000,
        200000,
        200000,
        200000,
        200000,
        200000,
        200000,
        200000,
        200000,
        200000,
        200000,
        500000,
        1000000
      ],
      "unit": "mm"
    }
  ],
  "failed_items": [],
  "metadata": {
    "total_requested": 1,
    "successful": 1,
    "failed": 0,
    "event_outcomes": {
      "requested": 1,
      "successful": 1,
      "partially_successful": 0,
      "failed": 0
    },
    "peril_outcomes": {
      "requested": 1,
      "successful": 1,
      "failed": 0
    }
  }
}

Weather perils and hour windows

The same endpoint covers day-to-day weather perils with hour precision. For example, "perils": ["Rain"] with "start_date": "2026-08-14", "end_date": "2026-08-16", "start_hour": 8 and "end_hour": 20 prices a three-day outdoor event window. Cat underwriting typically uses the policy year, as in the example above.

One location, every cat peril

Because requests are counted in peril-event combinations, one call can return the full return-period distribution for every cat peril at a location: list the perils, give one event. Five perils for one location is five combinations, well inside the 25-combination limit.

POST /v2/in-depth
{
  "perils": ["Earthquake", "TropicalCyclone", "Wildfire", "FloodLivePlus"],
  "events": [{
    "index": 0,
    "tag": "Naples FL, policy year",
    "latitude": 26.142,
    "longitude": -81.7948
  }]
}
{
  "results": [
    {
      "index": 0,
      "peril": "Wildfire",
      "latitude": 26.142,
      "longitude": -81.7948,
      "threshold": [
        "Severe"
      ],
      "probability": [
        55.8897
      ],
      "return_period": [
        1
      ],
      "unit": "Severe"
    },
    {
      "index": 0,
      "peril": "Earthquake",
      "latitude": 26.142,
      "longitude": -81.7948,
      "threshold": [
        "MMI3",
        "MMI4",
        "MMI5",
        "MMI6",
        "MMI7",
        "MMI8",
        "MMI9",
        "PGA0.0001",
        "PGA0.0131",
        "PGA0.0451",
        "PGA0.0841",
        "PGA0.161",
        "PGA0.291",
        "PGA0.41",
        "PGA0.551",
        "PGA0.751"
      ],
      "probability": [
        81.0421,
        12.9334,
        0.3034,
        0.01,
        0.01,
        0.01,
        0.01,
        88.054,
        0.0439,
        0.01,
        0.01,
        0.01,
        0.01,
        0.01,
        0.01,
        0.01
      ],
      "return_period": [
        1,
        7,
        330,
        10000,
        10000,
        10000,
        10000,
        1,
        2275,
        10000,
        10000,
        10000,
        10000,
        10000,
        10000,
        10000
      ],
      "unit": "MMI3,MMI4,MMI5,MMI6,MMI7,MMI8,MMI9,PGA0.0001,PGA0.0131,PGA0.0451,PGA0.0841,PGA0.161,PGA0.291,PGA0.41,PGA0.551,PGA0.751"
    },
    {
      "index": 0,
      "peril": "TropicalCyclone",
      "latitude": 26.142,
      "longitude": -81.7948,
      "threshold": [
        "CAT0",
        "CAT1",
        "CAT2",
        "CAT3",
        "CAT4",
        "CAT5"
      ],
      "probability": [
        15.7065,
        2.8966,
        1.2156,
        0.7003,
        0.3942,
        0.0717
      ],
      "return_period": [
        6,
        35,
        80,
        140,
        255,
        1395
      ],
      "unit": "CAT0,CAT1,CAT2,CAT3,CAT4,CAT5"
    },
    {
      "index": 0,
      "peril": "FloodLivePlus",
      "latitude": 26.142,
      "longitude": -81.7948,
      "threshold": [
        0,
        0.1,
        0.25,
        0.5,
        1,
        1.5,
        2,
        2.5,
        3,
        4,
        5,
        10
      ],
      "probability": [
        29.5193,
        21.9405,
        14.0591,
        6.6959,
        1.5189,
        0.3445,
        0.0781,
        0.0177,
        0.004,
        0.0002,
        0,
        0
      ],
      "return_period": [
        3,
        4,
        7,
        15,
        65,
        290,
        1280,
        5650,
        25000,
        500000,
        10000,
        10000
      ],
      "unit": "m"
    }
  ],
  "failed_items": [],
  "metadata": {
    "total_requested": 1,
    "successful": 1,
    "failed": 0,
    "event_outcomes": {
      "requested": 1,
      "successful": 1,
      "partially_successful": 0,
      "failed": 0
    },
    "peril_outcomes": {
      "requested": 4,
      "successful": 4,
      "failed": 0
    }
  }
}

The exact response number may vary as our models are constantly be corrected to give the best view of risk.

Response fields

Field Type Description
results[].threshold list Threshold values in the peril's unit
results[].probability list[float] Probability of exceeding each threshold within the window
results[].return_period list[int] Equivalent return period, in years, per threshold
results[].unit string Unit of the thresholds
failed_items[] list[FailedItem] index, stage (geocoding | model_execution), error
metadata object total_requested, successful, failed, partial_failure

Constraints and errors

Status Meaning
207 Partial success; inspect failed_items
401 Missing or invalid API key
422 Invalid input: unknown perils, bad dates, or more than 25 peril-event combinations