Classic Chess · REST API

Errors & rate limits

Application API errors use an HTTP status code and a JSON body with a machine-readable code and a human-readable message:

{
  "error": {
    "code": "missing_query",
    "message": "q is required."
  }
}
StatusCodeMeaning
400missing_queryA required q parameter was empty.
400missing_playerA required player parameter was empty.
400missing_opponenthead_to_head mode needs an opponent.
400invalid_modemode was not summary or head_to_head.
400invalid_paginationpage or page_size was not a positive integer.
404not_foundThe requested public game or player archive is unavailable.
400invalid_queryA filter is invalid, too long, or uses an unsupported output format.
429rate_limitedRequest budget exhausted. Back off; honor Retry-After when present. Proxy responses may be plain text or HTML.
503stats_unavailableThe master database is temporarily not connected.