Observability

List a merged page of observability events for a project.

Each row carries everything the side panel needs to render — no follow-up fetch is required for the common case. Heavy fields (stacktraces, headers, span attributes) are truncated server-side and expose a *_truncated flag; clients fetch the full row from the /full endpoint only when the user explicitly clicks "Show full".

get/projects/{project_id}/observe/events

Request

  • Base URL: /api (relative, and the document was published on a file host, not at the API’s origin)
  • URL: /api/projects/{project_id}/observe/events
  • Auth: HTTP bearer

Path parameters

project_idinteger required

Project ID

Query parameters

kindsstring

Comma-separated kinds: request,span,error,revenue. Empty or missing returns every kind. There is no log kind — runtime logs intentionally never appear in this feed (see ObservabilityEvent's "No Log variant" doc); passing kinds=log is rejected with 400 InvalidKindsFilter, not silently ignored.

fromstring date-time

Inclusive lower bound on event timestamp (ISO 8601, Z suffix).

tostring date-time

Inclusive upper bound on event timestamp.

deployment_idinteger
environment_idinteger
searchstring

Free-text substring matched against per-kind summary fields (request path / error class / revenue event_type).

limitinteger

Page size (default 50, max 200).

hide_botsboolean

When true, exclude bot/crawler request rows. When false, only include bot rows. Omitted means "include everything" (default). Only affects the Request kind.

Response

Merged event page

applied_kindsEventKind[] required

Echo of the kinds filter actually applied (server-resolved). Useful for clients that pass kinds= empty and want to know what they got.

Changes

No recorded changes to this operation across all 50 revisions of this API.