v1v2

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-After header 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.