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
4xxresponses as client errors: fix the request, don’t retry it as-is.429is the exception — retry with backoff as described in Rate limiting. - Treat
5xxresponses 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(andrequestIdwhere present) is what support needs to trace the request.