code and a human-readable message so your application can handle failures programmatically and surface clear feedback to users.
Error Response Format
All error responses share the same envelope structure. The top-levelerror object always contains code, message, and request_id. For validation failures, a details array is also included with field-level information:
request_id value when contacting Varo Cloud support — it allows the support team to trace and resolve your request quickly.
HTTP Status Codes
The API uses standard HTTP status codes to indicate the outcome of every request.Error Codes
Theerror.code field contains a stable, machine-readable string that identifies the type of failure. Use this value in your error-handling logic rather than parsing the human-readable message.
Handling Validation Errors
When the API returns avalidation_error, the error.details array contains one entry per invalid field, each with a field name and an issue description. Iterate over details to surface actionable feedback:
error.details directly onto form field errors or structured log entries without relying on string-matching the human-readable message.
Retries and Rate Limiting
On a
429 Too Many Requests response, do not retry immediately. Read the X-RateLimit-Reset header, which contains a Unix timestamp indicating when your quota resets, and wait until that time before sending another request.On 500 Internal Server Error or 503 Service Unavailable responses, use exponential backoff starting at 1 second. These errors are typically transient and resolve quickly, but hammering the API during an incident will delay recovery and exhaust your rate limit.