Logs

Developer Logs give every workspace an observability surface for API, publishing, OAuth, webhook, and worker activity. Query them over REST, backfill with cursor pagination, or stream them in near real time over SSE.
Scope and isolation
  • Logs are always scoped to the workspace that owns the API key or dashboard session. The normal logs API never accepts a workspace_id parameter.
  • Requesting a log that belongs to another workspace returns 404 NOT_FOUND.
  • Admin logs are a separate, super-admin-only surface and are never available through these endpoints.
Redaction and payloads
  • The list endpoint never returns raw payloads. The detail endpoint includes redacted request_payload and response_payload.
  • Redaction runs before logs are persisted. Any object key whose lowercased name contains token, secret, authorization, cookie, password, refresh_token, access_token, or client_secret is replaced with [REDACTED].
  • Payloads are truncated to keep log rows bounded.
  • Use the request_id field to correlate API responses with their logs.
Retention by plan
Backfill returns every log still retained for your workspace, not all logs ever created. Retention depends on plan:
Plan
Retention
free1 day
api7 days
basic14 days
growth30 days
team90 days
enterprise180 days
Choosing an access pattern
Use REST list with cursor for polling and backfill. Use the SSE stream for near real-time ingestion. Keep using webhooks for post and account lifecycle events.