// API DOCUMENTATION
TerraSignal API provides programmatic access to real-time Earth systems monitoring data. All data available on the dashboard is accessible via REST endpoints. Sentinel tier subscribers get API key access for automated integrations.
AUTHENTICATION
Two authentication methods:
Cookie Auth (Frontend)
Used by the web dashboard. Login via /api/auth/login sets httpOnly cookies automatically. Works for any tier — Monitor and Sentinel users can hit every Monitor+ endpoint below from the web app.
API Key (Programmatic)
Sentinel tier only. Monitor-tier users do not have a programmatic-access path — upgrade to Sentinel to generate keys. Create a key from your Account page. Pass it as a Bearer token:
curl -H "Authorization: Bearer gsk_YOUR_KEY" \ https://terrasignal.io/api/threat-index
Tier matrix for endpoints below: "Public" means no auth required. "Monitor+" means the content is available to Monitor or Sentinel tier — but the API-key access channel is Sentinel-only. A Monitor user reads these via the web dashboard; a Sentinel user can use either web or API key.
RATE LIMITS
API keys are limited to 60 requests per minute. Exceeding this returns 429 Too Many Requests:
{"error": "Rate limit exceeded", "code": "RATE_LIMITED", "retry_after": 60}PUBLIC ENDPOINTS
No authentication required. API key recommended for higher rate limits.
MONITOR+ ENDPOINTS
Require Monitor or Sentinel tier authentication.
ERROR FORMAT
All errors return JSON with error and code fields:
{"error": "Human-readable message", "code": "ERROR_CODE"}AUTH_REQUIRED — no authentication provided (401)TOKEN_INVALID — invalid or expired token/key (401)TIER_REQUIRED — insufficient tier for this endpoint (403)RATE_LIMITED — too many requests (429)NOT_FOUND — resource not found (404)