All error responses from the Avvail Guest Book API follow the RFC 7807 Problem Details standard. Every error response includes a machine-readable type URI, a human-readable title, and contextual detail.
Error Response Format
All error responses use application/problem+json content type:
{
"type": "https://docs.avvail.com/v2/problems/not-found",
"title": "Not Found",
"detail": "The requested resource could not be found",
"instance": "/v2/reservations/abc-123"
}
Common Error Types
| Status Code | Title | Detail |
|---|---|---|
| 400 | Bad Request Body | The request body is malformed or does not match the expected format |
| 400 | Bad Query Parameter | One or more query parameters are invalid |
| 400 | Bad Request Header | One or more header values are invalid |
| 400 | Bad Request Path | The path parameters are invalid or missing |
| 400 | Bad Request | The request is invalid or malformed |
| 401 | Unauthorized | Invalid or missing access token |
| 403 | Forbidden | Insufficient permissions to perform the request |
| 404 | Not Found | The requested resource could not be found |
| 405 | Request Method Not Allowed | The HTTP method used is not allowed for this endpoint |
| 410 | Gone | The resource is no longer available |
| 415 | Unsupported Media Type | The request's media type is not supported by this endpoint |
| 422 | Validation Error | Validation failed for one or more fields |
| 429 | Rate Limit Exceeded | The maximum request rate has been exceeded |
| 500 | Internal Server Error | An unexpected error occurred on the server |
Validation Errors
Validation errors (HTTP 422) include an errors array with field-level details:
{
"type": "https://docs.avvail.com/v2/problems/validation-error",
"title": "Validation Error",
"detail": "Validation failed for one or more fields",
"instance": "/v2/reservations",
"errors": [
{
"message": "must be in the format 'HH:MM'",
"pointer": "/time",
"code": "invalid"
}
]
}
Each entry in the errors array includes:
| Field | Description |
|---|---|
pointer |
JSON pointer to the field that caused the error |
message |
Human-readable description of the error |
code |
Machine-readable error category identifier |
Retry Strategy
- 429 (Rate Limit): Respect the
Retry-Afterheader before retrying. See Advanced Usage for rate limit details. - 500 (Server Error): Use exponential backoff with jitter (e.g., 1s, 2s, 4s).
- 4xx errors: Do not retry — fix the request based on the error details.