Recent error events with full context. One row per occurrence, returned newest-first. Each row carries the error itself (message, type, stack, fingerprint, handled flag) plus the standard event context (url, browser/OS/device, country, anonymous_id, session_id) — same shape ingest enriches every other event with, so an agent can correlate "errors here, traffic there" without joining a second tool.
Errors are written to the events table with name = "$error" by the SDKs' captureError() / window.onerror auto-capture. The server adds a stable `error.fingerprint` at ingest (sha256 of normalized message + first stack frame), so the same bug groups across occurrences regardless of which session or SDK reported it.
Examples:
- "what errors fired today" → period="today" (no other filters)
- "show me all TypeError occurrences this week" → message="<known message>", or use errors.groups first to find the fingerprint
- "errors on Safari only" → browser="Safari"
- "errors on the same fingerprint" → fingerprint="<from errors.groups>"
- "only the auto-captured ones, not manual reports" → handled="false"
Limitations: returns up to `limit` rows (default 50, max 200). Stacks are stored verbatim from the SDK with no source-map resolution — production stacks will be minified for users on a build pipeline. For aggregate counts and dedup, use errors.groups; for breadcrumbs leading to one error, use errors.context.
Pairs with: `errors.groups` (find a noisy fingerprint, then list its occurrences here); `errors.context` (drill from one error row into the events from the same session that led to it); `users.journey` (full multi-session view of a user who hit an error).
Connector