Errors
Error format
All errors return a structured JSON body:
{ "error": "No item found with this external ID", "code": "NOT_FOUND", "statusCode": 404}HTTP status codes
| Status | Meaning |
|---|---|
202 Accepted | Request queued successfully |
400 Bad Request | Invalid request body or parameters |
401 Unauthorized | Missing or invalid x-api-key |
404 Not Found | Item with the given external_id does not exist |
422 Unprocessable Entity | Request body failed validation (e.g. price < 1, invalid URL) |
429 Too Many Requests | Rate limit exceeded |
500 Internal Server Error | Unexpected server error |
Common errors
401 — Invalid API key
{ "error": "Invalid or missing API key", "statusCode": 401 }Check that you are passing the key in the x-api-key header (not Authorization: Bearer ...).
404 — Item not found (on PATCH or DELETE)
{ "error": "No item found with this external ID", "statusCode": 404 }The external_id in the URL does not match any item for your account. Either the PUT call has not been made yet, or the external_id has a typo.
422 — Validation failed
{ "error": "Validation failed", "details": [ { "field": "price", "message": "Must be at least 1" }, { "field": "imageUrls.0", "message": "Must be an HTTPS URL" } ], "statusCode": 422}Fix the listed fields and retry. Common causes: price below minimum, non-HTTPS image URL, title too long.
422 — Invalid status value
{ "error": "Invalid status. Must be 'sold' or 'not_listed'", "statusCode": 422 }The PATCH /status endpoint only accepts sold or not_listed.
429 — Rate limit exceeded
{ "error": "Too many requests", "statusCode": 429 }Implement exponential backoff. Check the Retry-After header for the recommended delay in seconds.
Webhook failure events
If Rheo cannot publish your item to Tradera, you will receive a listing.failed webhook rather than an HTTP error (since publishing is asynchronous). Common causes:
| Cause | Resolution |
|---|---|
| Tradera token expired | Rheo partner must reconnect their Tradera account in settings |
| Tradera API timeout | Rheo retries automatically. If persistent, contact support. |
| Image download failed | Check that your image URLs are publicly accessible HTTPS endpoints |
| Price update rejected (bids exist) | Tradera does not allow price changes after a bid. The item remains at its original price. |
Support
For persistent errors or integration issues, contact the Rheo team at support@rheo.se with your externalId and the timestamp of the failed request.