API referenceError codes

Error codes

The API returns standard HTTP status codes plus a JSON body explaining the error.

Format

{
  "error": {
    "code": "rate_limited",
    "message": "Too many requests. Try again in 30 seconds.",
    "details": { "retryAfter": 30 }
  }
}

Common codes

HTTPCodeMeaning
400invalid_requestMalformed JSON or missing required field.
401unauthorizedAPI key missing or invalid.
403forbiddenKey lacks the required scope.
404not_foundResource does not exist.
409conflictResource already exists (e.g. duplicate QR shortId).
410goneResource expired or was deleted.
422validation_failedField-level validation errors. See details.
429rate_limitedHit a rate limit. See details.retryAfter.
500internal_errorServer-side error. Retry with exponential backoff.
503unavailableService temporarily unavailable.