Errors & Rate Limits
The backend returns structured JSON errors through the shared HTTP helpers. Error codes depend on the module, but common route-level failures are stable.
Typical error codes
- invalid_json — malformed request body
- tenant_required — tenant path parameter missing or invalid
- invalid_input — invalid IDs, wallet, or other route payload fields
- unauthorized / insufficient_scope — auth present but not allowed for that surface
- rate_limited — request throttled by route-specific limiter
- not_ready — service dependency is disabled or not configured
Rate-limit response example
json
{
"error": "rate_limited",
"message": "rate limit exceeded"
}Where rate limits apply
- Access check route
- Payment intent create, preflight, and purchase routes