---
title: "V1 Compute Route"
method: POST
path: "/v1/compute/route"
tags: ["v1"]
---

# V1 Compute Route

`POST /v1/compute/route`

Crash rate aggregated over a sequence of interstate (route, milepost)
segments. Counties with ROUTE mode (travis, interstates).

## Headers

- `X-API-Key` string, nullable
- `authorization` string, nullable

## Request body

- V1RouteRequest
  - `region` string — Which served region to compute. Discover the set with /v1/regions.
  - `segment_ids` array[], required — Ordered [route, milepost] pairs, e.g. [["I-35", 250], ["I-35", 251]].
    - unknown[]
      - unknown
  - `selections` RouteSelections — Filters for POST /v1/compute/route (interstate-segment mode).
    - `outcome` 'police_reported' | 'observed_any_injury' | 'airbag' | 'ego_airbag' | 'ka' | 'fatal'
    - `severity` integer
    - `ego_vehicle` union
      - VehicleClass[]
      - 'cars' | 'light_trucks' | 'heavy_trucks' | 'motorcycles' | 'buses' | 'other'
    - `unresolved_nfs` 'marginal' | 'none' | 'all'
    - `in_transport` 'in_transport' | 'include_all'
    - `weather` union
      - WeatherFilter[]
      - 'any' | 'dry' | 'rain' | 'fog' | 'winter_storm'
    - `light_condition` union
      - LightFilter[]
      - 'any' | 'daylight' | 'dawn_dusk' | 'dark'
    - `driver_impairment` 'any' | 'exclude_impaired' | 'impaired_only'
    - `under_reporting` 'none' | 'adjusted'
    - `ci_method` 'fay_feuer' | 'empirical_bayes'

## Response `200`

Successful Response

- RouteComputeResult
  - `N` number, required
  - `trip_miles` number, required
  - `rate` number, nullable, required
  - `rate_low` number, nullable
  - `rate_high` number, nullable
  - `variance` number, nullable
  - `segments` PerSegmentResult[]
    - `route` string, required
    - `milepost` integer, required
    - `count` number, required
    - `vmt` number, required
    - `length_mi` number, required
  - `exposure_sources` string[]
  - `crash_sources` string[]

## Other responses

- `422` — Validation Error

## Changes

> 4 revisions in range; 2 could not be searched.

- **2026-08-12** `f97928a07496` — 1 breaking, 1 info
  - response property `rate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - the `weather` request property default value changed from `dry, rain, fog` to `any`

[Change history](https://skmtc.dev/humanbaselines/apis/human-crash-baselines-api/changes/v1/compute/route/post.md)

---

[API](https://skmtc.dev/humanbaselines/apis/human-crash-baselines-api.md) · [All operations](https://skmtc.dev/humanbaselines/apis/human-crash-baselines-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/humanbaselines/human-crash-baselines-api/revisions/204314331993/schema)
