Overview
The World Monitor API provides programmatic access to real-time global intelligence data across 19 specialized domains including military operations, economic indicators, cybersecurity threats, natural disasters, and market data.Proto-First Architecture
World Monitor uses Sebuf (Simple, Efficient Buffers), a Protocol Buffers-based framework that generates both client and server code from.proto schema definitions.
How It Works
- Schema Definition: All APIs are defined in
.protofiles underproto/worldmonitor/{domain}/v1/ - HTTP Annotations: The
sebuf.http.annotationsextension maps RPC methods to HTTP endpoints - Code Generation: TypeScript client/server code is generated from proto definitions
- Type Safety: Full end-to-end type safety from request to response
HTTP Annotations
Sebuf uses custom Protocol Buffer extensions to define HTTP routing:GET /api/wildfire/v1/list-fire-detections
HTTP Methods
Sebuf supports all standard HTTP methods:HTTP_METHOD_GET- Idempotent read operations (most common)HTTP_METHOD_POST- Write operations and complex queriesHTTP_METHOD_PUT- Full resource updatesHTTP_METHOD_DELETE- Resource deletionHTTP_METHOD_PATCH- Partial resource updatesHTTP_METHOD_UNSPECIFIED- Defaults to POST
API Domains
The API is organized into 19 domain-specific services:Endpoint Patterns
All endpoints follow consistent naming conventions:- List operations:
/list-{resource}- Returns paginated collections - Get operations:
/get-{resource}- Returns single resource or computed data - Action operations:
/{verb}-{resource}- Performs specific actions
Example Endpoints
Versioning
All APIs are versioned using/v1/ in the path. Version numbers follow semantic versioning:
- Major version (v1, v2): Breaking changes to request/response schemas
- Minor version: Backward-compatible additions (new fields, endpoints)
- Patch version: Bug fixes and internal improvements
Data Formats
Request Format
- GET requests: Query parameters (URL-encoded)
- POST requests: JSON body with camelCase field names
Response Format
All successful responses return JSON with:Error Format
Errors return JSON with HTTP status codes:400- Bad Request (invalid parameters)401- Unauthorized (missing/invalid API key)403- Forbidden (origin not allowed)404- Not Found (endpoint doesn’t exist)429- Too Many Requests (rate limit exceeded)500- Internal Server Error
Edge Caching
Endpoints are cached at the edge with different strategies:- Fast (2 min): Real-time market data, earthquakes
- Medium (5 min): Default for most endpoints
- Slow (15 min): Composite analytics, risk scores
- Static (1 hour): Historical data, reports
- No-store: Live vessel tracking, personalized data
?_debug=1 to see the cache tier in response headers.
Next Steps
Authentication
Learn how to authenticate API requests
Rate Limits
Understand rate limiting and quotas