Docs
Pricing Log in
Documentation

Error Responses

Every error response is JSON with a top-level message, and a 422 additionally includes a field-level errors object.

StatusMeaning
401Missing or invalid X-API-Key
403voter_identifier doesn't match the vote being deleted
404Resource doesn't exist, or belongs to a different account
409Duplicate vote or quiz attempt (same voter_identifier/taker_identifier on the same poll/quiz)
422Validation failed — see the errors object in the response body
429Rate limit exceeded on vote, quiz-attempt, or form-submission endpoints

Example: 401 Unauthorized

401 UNAUTHORIZED
{ "message": "Invalid or missing API key." }

Example: 422 Unprocessable Entity

422 UNPROCESSABLE ENTITY
{
  "message": "The title field is required.",
  "errors": {
    "title": ["The title field is required."]
  }
}
A resource that belongs to a different account, or doesn't exist at all, always returns 404 rather than 403 — this way, no information about other accounts' data ever leaks through the response code.