Hydra
Docs

Query historical intelligence signals via REST.

Signals

Query the historical intelligence signal database.

GET /v1/signals

Returns a paginated list of signals matching your filters.

Query Parameters:

Param Type Description
category string Filter by signal category enum
severity integer Minimum severity (1–5)
since string Start time (1h, 24h, 7d, or ISO datetime)
until string End time (ISO datetime)
lat number Center latitude for geo filter
lng number Center longitude for geo filter
radius number Radius in km
tags string Comma-separated tags to filter by
limit integer Results per page (max 500)
offset integer Pagination offset

Example — recent high-severity signals:

curl "https://api.hydra.app/v1/signals?severity=4&since=24h&limit=20" \
  -H "Authorization: Bearer <jwt>"

Example — signals near a location:

curl "https://api.hydra.app/v1/signals?lat=32.07&lng=34.78&radius=200&since=7d" \
  -H "Authorization: Bearer <jwt>"

Response:

{
  "data": [
    {
      "id": "clxxx...",
      "title": "Elevated naval activity in Eastern Mediterranean",
      "description": "Three warships detected repositioning...",
      "category": "NAVAL",
      "severity": 4,
      "lat": 35.2,
      "lng": 33.4,
      "tags": ["naval", "mediterranean", "posturing"],
      "createdAt": "2024-03-15T12:34:56Z"
    }
  ],
  "meta": { "total": 312, "limit": 20, "offset": 0, "hasMore": true }
}

GET /v1/signals/:id

Fetch a single signal by ID.

curl "https://api.hydra.app/v1/signals/clxxx..." \
  -H "Authorization: Bearer <jwt>"
{
  "data": {
    "id": "clxxx...",
    "title": "...",
    "category": "NAVAL",
    "severity": 4,
    "lat": 35.2,
    "lng": 33.4,
    "tags": ["naval"],
    "createdAt": "2024-03-15T12:34:56Z"
  }
}

Signal Categories

Use these exact values in the category filter:

AIRCRAFT_MOVEMENT  NAVAL          MISSILE_ALERT   CYBER
AIRSPACE           MARKET_MOVEMENT SOCIAL_MEDIA   DIPLOMATIC
FORCE_DEPLOYMENT   NUCLEAR        COMMUNICATIONS  OTHER