Skip to main content
The Upstack Data API returns errors as JSON responses with a message field and the appropriate HTTP status code.

Validation errors

400 responses on validated endpoints also include an errors array with per-field detail:
The server-side events API (POST /tr/api/events) returns a richer envelope: the same top-level message, plus a requestId and a structured error object with a machine-readable code and per-event details. See Send server-side events for the full shape.

Status codes

Handling errors

  • Treat 4xx responses as client errors: fix the request, don’t retry it as-is. 429 is the exception — retry with backoff as described in Rate limiting.
  • Treat 5xx responses as transient: retry with exponential backoff. If the error persists, file a support ticket with the request id.
  • Log the full response body — the message (and requestId where present) is what support needs to trace the request.