Errors
Error shape
Section titled “Error shape”Every error response follows a consistent structure (powered by the Huma framework):
{ "status": 400, "title": "Bad Request", "detail": "validation failed", "errors": [ { "message": "expected required property input to be present", "location": "body.input", "value": null } ]}| Field | Type | Description |
|---|---|---|
status | integer | HTTP status code |
title | string | Human-readable status label |
detail | string | Specific error description |
errors | array | Validation details — each entry contains message, location, and value. Only present for validation errors. |
Status codes
Section titled “Status codes”| Status | Meaning | Common causes |
|---|---|---|
400 | Bad Request | Malformed JSON, missing required field, invalid enum value |
401 | Unauthorized | Missing or invalid API key |
413 | Payload Too Large | Request body exceeds endpoint size limit |
422 | Unprocessable Entity | Structurally valid but semantically wrong (e.g. hmac-sha256 without a key) |
429 | Too Many Requests | Rate limit exceeded — wait and retry |
503 | Service Unavailable | Storage backend unavailable for binary output |
Individual endpoint pages document their specific error cases.