Overview
The Quiz Quail API uses RFC 9457 Problem Details for all error responses. Every error response hasContent-Type: application/problem+json and a consistent JSON structure.
Error Format
| Field | Type | Description |
|---|---|---|
type | string | A URI identifying the error type. Stable — safe to match on. |
title | string | Short human-readable summary of the error type. |
status | number | HTTP status code. |
detail | string | Human-readable explanation specific to this occurrence. |
instance | string | (Optional) URI identifying this specific error occurrence. |
errors | array | (Optional) Field-level validation errors. See below. |
Error Types
400 — Validation Error
Returned when the request body or query parameters fail validation.errors array contains per-field details:
| Field | Type | Description |
|---|---|---|
field | string | Dot-separated path to the invalid field. |
message | string | Human-readable description of the problem. |
code | string | (Optional) Machine-readable error code. |
401 — Unauthorized
Returned when the request is missing or has an invalid API key.403 — Forbidden
Returned when the API key does not have the required scope for the operation.404 — Not Found
Returned when the requested resource does not exist or is not accessible to your account.409 — Conflict
Returned when the request conflicts with the current state of a resource (e.g., trying to render a quiz that is already rendering).429 — Too Many Requests
Returned when you exceed the rate limit for the endpoint. Includes aRetry-After header.
500 — Internal Server Error
Returned when an unexpected error occurs. Thedetail field will not contain sensitive information.
Handling Errors
Match on type, Not title
The type URI is stable and safe to use in error-handling logic. The title and detail fields are human-readable and may change.