Skip to main content

Overview

The Infrastructure Service provides APIs for monitoring critical infrastructure including:
  • Internet outages from Cloudflare Radar
  • External service status tracking
  • Submarine cable health monitoring
  • Temporal baseline anomaly detection
Base Path: /api/infrastructure/v1

ListInternetOutages

Retrieves detected internet outages from Cloudflare Radar. Endpoint: GET /api/infrastructure/v1/list-internet-outages

Request Parameters

start
integer
required
Start of time range (inclusive), Unix epoch milliseconds.
end
integer
required
End of time range (inclusive), Unix epoch milliseconds.
page_size
integer
Maximum items per page.
cursor
string
Cursor for next page.
country
string
Optional country filter (ISO 3166-1 alpha-2).

Response

outages
array
The list of internet outages.
pagination
object
Pagination metadata with cursor for next page.

Example Request

curl -X GET "https://api.worldmonitor.com/api/infrastructure/v1/list-internet-outages?start=1704067200000&end=1706745599999&country=US&page_size=10"

Example Response

{
  "outages": [
    {
      "id": "cf-2024-01-15-us-001",
      "title": "Internet disruption in California",
      "link": "https://radar.cloudflare.com/outage/...",
      "description": "Widespread connectivity issues affecting Bay Area",
      "detected_at": 1705334400000,
      "country": "US",
      "region": "California",
      "location": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "severity": "MAJOR",
      "categories": ["ISP", "DNS"],
      "cause": "Fiber cut",
      "outage_type": "PHYSICAL",
      "ended_at": 1705348800000
    }
  ],
  "pagination": {
    "cursor": "eyJvZmZzZXQiOjEwfQ==",
    "has_more": true
  }
}

ListServiceStatuses

Retrieves operational status of monitored external services. Endpoint: GET /api/infrastructure/v1/list-service-statuses

Request Parameters

status
enum
Optional status filter. Returns only services in this state.Values: OPERATIONAL, DEGRADED, PARTIAL_OUTAGE, MAJOR_OUTAGE, MAINTENANCE

Response

statuses
array
The list of service statuses.

Example Request

curl -X GET "https://api.worldmonitor.com/api/infrastructure/v1/list-service-statuses?status=DEGRADED"

Example Response

{
  "statuses": [
    {
      "id": "github",
      "name": "GitHub",
      "status": "DEGRADED",
      "description": "Experiencing elevated error rates",
      "url": "https://github.com",
      "checked_at": 1705334400000,
      "latency_ms": 450
    }
  ]
}

GetTemporalBaseline

Checks current activity count against stored baseline for anomaly detection. Endpoint: GET /api/infrastructure/v1/get-temporal-baseline

Request Parameters

type
string
required
Activity type: military_flights, vessels, protests, news, ais_gaps, or satellite_fires.
region
string
Geographic region key, defaults to “global”.
count
number
Current observed count to compare against baseline.

Response

anomaly
object
Anomaly details; absent when count is within normal range.
baseline
object
Baseline statistics; absent when still in learning phase.
learning
boolean
True if insufficient samples have been collected.
sample_count
integer
Current number of samples stored.
samples_needed
integer
Minimum samples required before anomaly detection activates.
error
string
Error message if request was invalid.

Example Request

curl -X GET "https://api.worldmonitor.com/api/infrastructure/v1/get-temporal-baseline?type=military_flights&region=europe&count=245"

Example Response

{
  "anomaly": {
    "z_score": 2.8,
    "severity": "high",
    "multiplier": 1.85
  },
  "baseline": {
    "mean": 132.5,
    "std_dev": 40.2,
    "sample_count": 90
  },
  "learning": false,
  "sample_count": 90,
  "samples_needed": 30
}

RecordBaselineSnapshot

Batch-updates baseline statistics using Welford’s online algorithm. Endpoint: POST /api/infrastructure/v1/record-baseline-snapshot

Request Body

updates
array
required
Up to 20 metric updates to apply.

Response

updated
integer
Number of baselines that were written.
error
string
Error message if the request was invalid.

Example Request

curl -X POST "https://api.worldmonitor.com/api/infrastructure/v1/record-baseline-snapshot" \
  -H "Content-Type: application/json" \
  -d '{
    "updates": [
      {
        "type": "military_flights",
        "region": "global",
        "count": 156
      },
      {
        "type": "vessels",
        "region": "asia",
        "count": 4523
      }
    ]
  }'

Example Response

{
  "updated": 2
}

GetCableHealth

Computes health status for submarine cables from NGA maritime warning signals. Endpoint: GET /api/infrastructure/v1/get-cable-health

Request Parameters

No request parameters required.

Response

generated_at
integer
Generation timestamp, as Unix epoch milliseconds.
cables
object
Health records keyed by cable identifier.

Example Request

curl -X GET "https://api.worldmonitor.com/api/infrastructure/v1/get-cable-health"

Example Response

{
  "generated_at": 1705334400000,
  "cables": {
    "SEA-ME-WE-3": {
      "status": "DEGRADED",
      "score": 0.65,
      "confidence": 0.82,
      "last_updated": 1705330800000,
      "evidence": [
        {
          "source": "NGA",
          "summary": "Maritime warning near cable route in Indian Ocean",
          "ts": 1705330800000
        },
        {
          "source": "NGA",
          "summary": "Elevated repair vessel activity detected",
          "ts": 1705327200000
        }
      ]
    },
    "FASTER": {
      "status": "OK",
      "score": 0.05,
      "confidence": 0.95,
      "last_updated": 1705334400000,
      "evidence": []
    }
  }
}

Build docs developers (and LLMs) love