Events API

GET /v1/events

List recent events with optional filters.

Query parameters

ParamTypeDefaultNotes
limitinteger 1–20050Max items returned.
sinceinteger (Unix ms)Only events with published_at >= since.
sourcestringSource ID, e.g. aioffice.
severity_minenumOne of info | low | medium | high | critical.
topicsstringComma-separated, e.g. gpai,high-risk.

Example

curl 'https://api.aiactradar.com/v1/events?since=1714000000000&severity_min=medium&topics=gpai,transparency&limit=20' \
  -H "Authorization: Bearer $AIACTRADAR_API_KEY"

Response

{
  "events": [
    {
      "id": "evt_…",
      "source_id": "aioffice",
      "event_type": "guidance",
      "topics": ["gpai", "transparency"],
      "severity": "medium",
      "title_en": "Updated GPAI Training Data Summary template v2.1",
      "summary_en": "...",
      "url_official": "https://digital-strategy.ec.europa.eu/...",
      "ai_act_articles": ["Art. 53(1)(d)"],
      "published_at": 1714000000000,
      "ingested_at": 1714000900000,
      "version": 1,
      "language_versions": ["en","de","fr"]
    }
  ],
  "count": 1,
  "disclaimer": "Information only — not legal advice."
}

GET /v1/events/{id}

Get a single event by id.

curl 'https://api.aiactradar.com/v1/events/evt_…' \
  -H "Authorization: Bearer $AIACTRADAR_API_KEY"

Pagination

Page through with since: take the smallest published_at from the previous page, set since to that value minus 1 ms. (Cursor-based pagination is on the roadmap.)

Stability

Event records are append-only. We never mutate an existing id. When a source publishes a revised version, we insert a new row with the same external_id and incremented version — and (for webhook subscribers) we set diff_to_previous.