Read the org-wide events feed (union across the org's projects)
Same envelope and cursor semantics as the per-project feed — both pagination modes, ascending catch-up and order=desc display reads — over every fact the organization owns. That is a superset of the per-project feeds: it also carries ORGANIZATION-level facts, which belong to the org and to no project and appear here with project_id: null (a project feed can never show them). Cursors are not interchangeable between the two feeds even though an event's id is the same in both — see cursor. Principal-only: any active org member may read; project service_keys are rejected (a deployed app must not read sibling projects' events). Read-only and never lifecycle-gated.
Request
- Base URL: https://api.run402.com
- URL: https://api.run402.com/orgs/v1/{org_id}/events
- Auth: one of:
- API key in header SIGN-IN-WITH-X
- HTTP bearer
Path parameters
Query parameters
Opaque cursor from a prior response's page-level cursor. Returns events strictly after it. Omit on first contact to start from the earliest retained event. Ascending catch-up only — it does not compose with order=desc (400); display reads page older via before. A cursor is bound to the PROJECTION that issued it (its scope and its source/event_type filters) and is not portable: replaying a project feed's cursor against the org feed, or an unfiltered cursor against a filtered read, returns reset: true + earliest_cursor rather than silently skipping the rows the other projection omitted. An event id is NOT a cursor — the same fact carries the same id in every feed, which is exactly why it cannot also encode a position; passing one back resets.
console-project-events-feed: desc selects the display-order read — the newest N visible events first, with before_cursor in the response when older rows remain. asc is the default's explicit alias, byte-identical to omitting the param. Any other value is rejected 400.
console-project-events-feed: opaque cursor (a prior desc response's before_cursor) bounding the page from above, exclusive — returns the next OLDER page. Requires order=desc (400 otherwise). Projection-bound like cursor: one issued for a different scope or filter set is unusable here. A malformed or foreign value follows the reset semantics: 200 with reset: true, earliest_cursor, and a restart from the newest page — never a bare 4xx.
Page size (default 50, max 200).
app-events-emit-lane: filter to just the app lane (source='app') or just platform-emitted rows (source<>'app'). Composes with cursor/limit (and order/before) unchanged. Omit to see both.
app-events-emit-lane: comma-separated event_type names to filter to, e.g. signature_completed,booking_created. Each name must match ^[a-z][a-z0-9_]{2,63}$ or the request is rejected 400. Composes with source/cursor/limit (and order/before) unchanged.
event-attention-rules: only events at or above this severity (info < notice < warn < critical). Composes with source/event_type/cursor/limit (and order/before). Joins the page cursor's projection exactly as source and event_type do: a cursor from a filtered read replayed on a read with different filters takes the reset path, never a silent partial page. info filters nothing and is treated as absent. Any other value is 400 VALIDATION_FAILED.
Headers
SIWX auth header — base64-encoded JSON payload containing a signed CAIP-122 (EIP-4361) message. See https://docs.x402.org/extensions/sign-in-with-x.
Response
Feed page
Example response
{
"platform_incidents": [
{
"id": "inc_9b21fa0c7d4e15a3",
"subsystem": "gateway"
}
]
}Changes
No recorded changes to this operation across all 1 revision of this API.