Skip to main content
The Upstack Data API returns errors as JSON responses with a message field and the appropriate HTTP status code. The one exception is a rejected API key, which returns Message — capitalised.

Validation errors

400 responses on validated endpoints also include an errors array with per-field detail:
POST /tr/api/events reports validation differently — it returns error.details, naming the event in your batch that failed. That shape is documented with the endpoint.

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.