---
title: "RouteIntelligence"
method: GET
path: "/api/v2/shipping/route-intelligence"
tags: ["ShippingV2Service"]
---

# RouteIntelligence

`GET /api/v2/shipping/route-intelligence`

## Request

- Base URL: `https://api.worldmonitor.app`
- URL: `https://api.worldmonitor.app/api/v2/shipping/route-intelligence`
- Auth: one of:
  - API key in header `X-WorldMonitor-Key`
  - API key in header `X-Api-Key`
  - HTTP bearer

RouteIntelligence scores a country-pair trade route for chokepoint exposure and current disruption risk. Partner-facing; wire shape is byte-compatible with the pre-migration JSON response documented at docs/api-shipping-v2.mdx. Empty exposure/bypass arrays with empty fetched_at mean the route snapshot is unavailable/degraded, not that the route has confirmed zero exposure. PRO-gated. Requires an active Pro subscription.

## Query parameters

- `fromIso2` string, required
- `toIso2` string, required
- `cargoType` string
- `hs2` string
- `jmespath` string

## Response `200`

OK

- WorldmonitorShippingV2RouteIntelligenceResponse: RouteIntelligenceResponse wire shape preserved byte-for-byte from the pre-migration JSON at docs/api-shipping-v2.mdx. `fetched_at` is intentionally a string (ISO-8601) rather than int64 epoch ms because partners depend on the ISO-8601 shape.
  - `fromIso2` string
  - `toIso2` string
  - `cargoType` string
  - `hs2` string
  - `primaryRouteId` string
  - `chokepointExposures` WorldmonitorShippingV2ChokepointExposure[]
    - `chokepointId` string
    - `chokepointName` string
    - `exposurePct` integer
  - `bypassOptions` WorldmonitorShippingV2BypassOption[]
    - `id` string
    - `name` string
    - `type` string: Type of bypass (e.g., "maritime_detour", "land_corridor").
    - `addedTransitDays` integer
    - `addedCostMultiplier` number, double
    - `activationThreshold` string: Enum-like string, e.g., "DISRUPTION_SCORE_60".
  - `warRiskTier` string: War-risk tier enum string, e.g., "WAR_RISK_TIER_NORMAL" or "WAR_RISK_TIER_ELEVATED".
  - `disruptionScore` integer: Disruption score of the primary chokepoint, 0-100.
  - `fetchedAt` string: ISO-8601 timestamp of when the response was assembled. Empty string means the route snapshot is unavailable/degraded, not confirmed zero exposure.

## Other responses

- `400`: Validation error
- `401`: Missing or invalid API key.
- `403`: Pro subscription required.
- `429`: Rate limit exceeded.
- `503`: Service unavailable. Billing-verification responses include code and X-Billing-Verification; other gateway infrastructure failures use the generic GatewayError shape.
- `default`: Gateway or handler error response.

---

[API](https://skmtc.dev/worldmonitor/apis/worldmonitor-api.md) · [All operations](https://skmtc.dev/worldmonitor/apis/worldmonitor-api/llms.txt) · [OpenAPI document](https://skmtc.dev/worldmonitor/apis/worldmonitor-api/revisions/e3dc8463a5c9?raw)
