---
title: "Pull the governance event bus"
method: GET
path: "/api/v1/events"
tags: ["Governance"]
---

# Pull the governance event bus

`GET /api/v1/events`

## Request

- Base URL: `https://legal.nexusquantum.legal`
- URL: `https://legal.nexusquantum.legal/api/v1/events`
- Auth: HTTP bearer

Cursor-paginated read over the append-only governance event bus — the same event catalogue delivered by webhooks, durably readable here for replay/backfill even when no push endpoint is registered.

Ownership-scoped (a child key never sees another sub-key's events):
- **child** → its own `api_key_id` only.
- **master** → the whole organization (`organization_id`).
- **solo/legacy** → the caller's `user_id`.

Keyset pagination by `(created_at, id)` descending. Zero-Retention: each event's `payload` is an allowlisted projection — never analysis text or canonical citation strings.

## Query parameters

- `type` string
- `since` string, date-time
- `cursor` string
- `limit` integer

## Response `200`

A page of governance events.

- GovernanceEventsResponse
  - `data` GovernanceEvent[], required
    - `id` string, uuid, required: Row id (also the keyset cursor tiebreaker).
    - `event_id` string, uuid, required: Stable event id — identical across webhook retries and shared by subscribed endpoints (SIEM dedupe key).
    - `type` string, required: Event type, identical string to the webhook event catalogue.
    - `api_key_id` string, uuid, nullable: Sub-key the event is attributed to.
    - `organization_id` string, uuid, nullable: Organization snapshot at emission time.
    - `created_at` string, date-time, required
    - `payload` object, required: Allowlisted projection (safe subset). Keys depend on `type` (e.g. key_id/key_prefix, cap/spent/amount, jurisdiction, provider_id/routing_policy, quality counts).
  - `has_more` boolean, required: true if another page exists (pass `next_cursor`).
  - `next_cursor` string, nullable: Opaque keyset cursor for the next page; null on the last page.

## Other responses

- `401`: INVALID_API_KEY.
- `429`: RATE_LIMITED — RPM exceeded.

---

[API](https://skmtc.dev/nexusquantum/apis/nexus-legal-api.md) · [All operations](https://skmtc.dev/nexusquantum/apis/nexus-legal-api/llms.txt) · [OpenAPI document](https://skmtc.dev/nexusquantum/apis/nexus-legal-api/revisions/4084d8d4eb0b?raw)
