Authentication
Pass your key as a bearer token in the Authorization header. Keys are scoped to your account and only one paid plan's zones are visible.
curl https://augur.news/api/v1/events \ -H "Authorization: Bearer aug_live_xxxxxxxxxxxx"
Developer reference
REST endpoints for canonical OSINT events and your alert history. Bearer-token auth. Available on Pro and Enterprise plans.
Pass your key as a bearer token in the Authorization header. Keys are scoped to your account and only one paid plan's zones are visible.
curl https://augur.news/api/v1/events \ -H "Authorization: Bearer aug_live_xxxxxxxxxxxx"
Returns canonical OSINT events from the last minutes window, filtered to your watch zones (haversine for circles, ray-cast for polygons).
Query params: limit (1–500, default 100), minutes (1–1440, default 60)
{
"events": [
{
"id": "usgs:us6000abcd",
"source": "usgs",
"title": "M 5.7 — 12km NE of Calama, Chile",
"lat": -22.31, "lon": -68.74,
"ts": "2026-05-25T11:42:18Z",
"severity": 67
}
]
}Your alert history. Returns rows from augur_alert_history with the event that triggered each alert.
Query params: limit (1–500, default 100), days (1–90, default 7)
{
"alerts": [
{
"id": "uuid",
"zone_id": "uuid",
"zone_name": "Shanghai port",
"event_id": "ais:vessel:...",
"dispatched_at": "2026-05-25T11:42:18Z",
"channel": "slack"
}
]
}Manage watch zones programmatically. RLS still applies — you can read your own zones and any shared with an org you belong to. Mutations require zone ownership or org admin/owner role.
GET /api/v1/zones — list zones (own + org-shared)POST /api/v1/zones — create a zone. Body: { label, lat, lon, radius_km?, min_severity?, shape_type?, polygon?, dwell_minutes? }GET /api/v1/zones/:id — fetch onePATCH /api/v1/zones/:id — partial update. Also acceptscolor, icon, quiet_hours_start /quiet_hours_end / quiet_hours_tz,emergency_severity for quiet-hours override.DELETE /api/v1/zones/:id — removeseverity_multiplier — 0.1..5.0 nudge applied to event severity before min_severity comparisonGET /api/v1/orgs/:id/members — list members (any org member)POST /api/v1/orgs/:id/members — issue an invite. Body: { email, role?: "admin" | "member" }. Owner / admin only. Returns the invite_url.PATCH /api/v1/orgs/:id/members/:userId — change role between admin and member. Owner row protected.DELETE /api/v1/orgs/:id/members/:userId — remove. Owner row protected.PATCH /api/v1/alerts/:id — body { resolved: true|false, note?: string }. resolved: true stamps resolved_via="api" + the note. Write scope.GET /api/v1/analytics?days=30 — usage stats: zone + channel totals, alerts in window, resolved count, by-source breakdown, by-day sparkline series.GET /api/v1/me — caller's user_id, email, plan, scopes, key_id, rate-limit budgetGET /api/v1/zones/:id/preview?days=7 — counts the events that would have fired on the zone over the window, with breakdown by source. Quiet hours + multiplier + min_severity applied.GET /api/v1/audit?days=30&limit=200 — read your own augur_audit_log rows. Useful for shipping events into your SIEM / compliance vault.GET /api/v1/channels — list own + org-shared channelsPOST /api/v1/channels — create. Body: { kind, target, label?, config?, org_id? }. Webhook channels auto-generate a signing_secret if you omit one.PATCH /api/v1/channels/:id — partial update of label, target, enabled, config, org_idDELETE /api/v1/channels/:id401 — missing or revoked key402 — key exists but the account is below Pro429 — rate limitedNo auth needed. Polled by the /status page; safe to embed in your own dashboard.
curl https://augur.news/api/sources/health