The API uses conventional HTTP status codes and a consistent JSON error shape so your code can handle failures programmatically.
Error response shape
All error responses return a JSON object with a detail field:
Some endpoints return a structured detail object with additional context:
Status codes
Every response includes rate limit information in the headers:
When you receive a 429 response, the Retry-After header tells you how many seconds to wait:
Handling errors
Always check the HTTP status code first, then parse the detail field for a human-readable message.