---
title: "GetChokepointStatus"
method: GET
path: "/api/supply-chain/v1/get-chokepoint-status"
tags: ["SupplyChainService"]
---

# GetChokepointStatus

`GET /api/supply-chain/v1/get-chokepoint-status`

## Request

- Base URL: `https://api.worldmonitor.app`
- URL: `https://api.worldmonitor.app/api/supply-chain/v1/get-chokepoint-status`
- Auth: one of:
  - API key in header `X-WorldMonitor-Key`
  - API key in header `X-Api-Key`

GetChokepointStatus retrieves seeded chokepoint status. Empty chokepoints with upstream_unavailable=true means the seed snapshot is unavailable/ degraded, not that there are confirmed zero chokepoints.

## Query parameters

- `jmespath` string

## Response `200`

OK

- WorldmonitorSupplyChainV1GetChokepointStatusResponse
  - `chokepoints` WorldmonitorSupplyChainV1ChokepointInfo[]
    - `id` string
    - `name` string
    - `lat` number, double
    - `lon` number, double
    - `disruptionScore` integer
    - `status` string: Traffic-light score badge: green (<20), yellow (20-49), or red (>=50). Not an operational closure taxonomy.
    - `activeWarnings` integer
    - `congestionLevel` string: AIS-derived congestion level. "normal" is an observed AIS level, not a default. Empty when ais_snapshot_available is false.
    - `affectedRoutes` string[]
    - `description` string
    - `aisDisruptions` integer
    - `directions` string[]
    - `directionalDwt` WorldmonitorSupplyChainV1DirectionalDwt[]
      - `direction` string
      - `dwtThousandTonnes` number, double
      - `wowChangePct` number, double
    - `transitSummary` WorldmonitorSupplyChainV1TransitSummary
      - `todayTotal` integer
      - `todayTanker` integer
      - `todayCargo` integer
      - `todayOther` integer
      - `wowChangePct` number, double
      - `history` WorldmonitorSupplyChainV1TransitDayCount[]
        - `date` string
        - `tanker` integer
        - `cargo` integer
        - `other` integer
        - `total` integer
        - `container` integer
        - `dryBulk` integer
        - `generalCargo` integer
        - `roro` integer
        - `capContainer` number, double
        - `capDryBulk` number, double
        - `capGeneralCargo` number, double
        - `capRoro` number, double
        - `capTanker` number, double
      - `riskLevel` string
      - `incidentCount7d` integer
      - `disruptionPct` number, double
      - `riskSummary` string
      - `riskReportAction` string
      - `dataAvailable` boolean: False when the upstream portwatch source did not return history for this chokepoint in the current cycle — wow_change_pct and history are then zero-state fill, not genuine readings. Client should render a "transit data unavailable" indicator and skip chart rendering. This says nothing about today_* — those come from the relay's in-memory AIS window, a separate source. Read today_counts_available for those.
      - `todayCountsAvailable` boolean: False when the relay's 24h AIS window held no crossings for this chokepoint, so today_total/tanker/cargo/other are unsupplied rather than a measured zero (#7457). The fields stay 0 to keep the int32 contract; clients must withhold the count when this is false instead of publishing the 0. True means the counts are a real measurement.
    - `flowEstimate` WorldmonitorSupplyChainV1FlowEstimate
      - `currentMbd` number, double: Current estimated flow in million barrels/day. Computed as baseline_mbd * flow_ratio.
      - `baselineMbd` number, double: EIA 2023 annual reference level in million barrels/day for the mapped seven-item live-flow subset.
      - `flowRatio` number, double: Latest 7-day PortWatch average divided by the preceding rolling baseline window of up to 90 days, clamped to 0.0-1.5.
      - `disrupted` boolean: True when each of the latest 3 daily ratios is below 85% of the same rolling baseline window. Separate from the green/yellow/red status badge.
      - `source` 'FLOW_SOURCE_UNSPECIFIED' | 'portwatch-dwt' | 'portwatch-counts': Coverage basis behind a PortWatch-derived flow estimate: "portwatch-dwt" when the rolling baseline window has DWT-majority coverage, otherwise "portwatch-counts" for vessel-count coverage. FLOW_SOURCE_UNSPECIFIED means the cached estimate carried a basis this taxonomy does not list, which the endpoint reports rather than passing through undeclared.
      - `hazardAlertLevel` string: Nearest active GDACS hazard alert level within the configured radius: "RED", "ORANGE", or empty string when no nearby alert applies.
      - `hazardAlertName` string: Name of the nearest active GDACS hazard event within the configured radius, or empty string when no nearby alert applies.
    - `warRiskTier` 'WAR_RISK_TIER_UNSPECIFIED' | 'WAR_RISK_TIER_NORMAL' | 'WAR_RISK_TIER_ELEVATED' | 'WAR_RISK_TIER_HIGH' | 'WAR_RISK_TIER_CRITICAL' | 'WAR_RISK_TIER_WAR_ZONE': War risk tier derived from Lloyd's JWC Listed Areas + OSINT threat classification. Free field (no PRO gate).
    - `navigationalWarningsAvailable` boolean: True when the NGA navigational-warning source returned a valid response, including a valid empty list. Missing legacy values fail closed.
    - `aisSnapshotAvailable` boolean: True when the AIS snapshot source returned a valid response. This owns both ais_disruptions and congestion_level. Missing legacy values fail closed.
  - `fetchedAt` string: ISO-8601 time the status snapshot was fetched. Empty string with upstream_unavailable=true means the snapshot is unavailable/degraded.
  - `upstreamUnavailable` boolean: True when upstream seed/relay data is unavailable or partial. When true, an empty chokepoints array is graceful degradation, not confirmed zero data.

## Other responses

- `400`: Validation error
- `401`: Missing or invalid API key.
- `403`: API access requires an active subscription (the API key's subscription is inactive or expired).
- `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)
