Skip to main content
The API uses conventional HTTP status codes: 2xx for success, 4xx for something wrong with the request, and 5xx for a problem on Stell’s side.

Error response format

Every error returns a JSON body with the same shape:
  • error.code: a machine-readable code your integration can branch on.
  • error.message: a human-readable explanation of what went wrong.
  • error.details: additional context when available, such as which field failed validation.
  • requestId: a unique identifier for the request. Include it when you contact support about a failed call. It lets us find the exact request in our logs.

Status codes

Handle errors well

  • Branch on error.code, not on error.message. Messages can change, codes won’t.
  • Retry 5xx and 429 responses with exponential backoff. Don’t retry 4xx responses unchanged; fix the request first.
  • Log the requestId for every failed call so support conversations start with the right context.