Challonge API Docs
  1. API v2.1
Challonge API Docs
  • Guides
    • Welcome
    • Changelog
    • Upgrading
      • Upgrading from v2.0 to v2.1
    • Sample Use Cases
      • Running a Two-Stage Tournament
    • Challonge Connect
      • About
      • Game Integration (beta)
      • Connect Request Signing
  • API v2.1
    • Getting Started
    • Authorization
    • Error Responses
    • Resource Scoping
    • OAuth
      • Scopes
      • Grant Request
      • Token Request
      • Refresh Token Request
      • Device Grant Authorization Request
      • Device Grant Access Token Request
    • Tournament API
      • Tournaments
        • Tournament States
        • List Tournaments
        • Create Tournament
        • Get Tournament
        • Update Tournament
        • Delete Tournament
        • Change Tournament State
      • Participants
        • List Participants
        • Create Participant
        • Get Participant
        • Update Participant
        • Delete Participant
        • Bulk Create Participants
        • Clear All Participants
        • Randomize Participants
        • Register Me
      • Matches
        • List Matches
        • Get Match
        • Update Match
        • Change Match State
      • Match Attachments
        • List Match Attachments
        • Create Match Attachment
        • Delete Match Attachment
    • Race API
      • Races
        • List Races
        • Create Race
        • Get Race
        • Update Race
        • Delete Race
        • Change Race State
      • Rounds
        • List Rounds
        • Get Round
        • Update Round
      • Elapsed Times
        • List Elapsed Times
        • Get Elapsed Time
        • Update Elapsed Time
        • Bulk Update Elapsed Times
    • Get User
      GET
    • List Communities
      GET
    • Schemas
      • MatchAttachmentModel
      • MatchAttachmentInput
      • MatchAttachmentOutput
      • MatchAttachment
      • ParticipantModel
      • ParticipantOutput
      • ParticipantInput
      • ParticipantBulkInput
      • Participant
      • TournamentModel
      • TournamentInput
      • Tournament
      • TournamentStateInput
      • CommunityModel
      • Community
      • MatchModel
      • MatchInput
      • MatchOutput
      • Match
      • MatchStateInput
      • ErrorModel
      • UserModel
      • User
      • ElapsedTimeBulkInput
      • ElapsedTimeWithID
      • ElapsedTimeOutput
      • ElaspedTimeInput
      • Timestamps
      • RelationshipLink
      • RoundOutput
      • RoundStateInput
      • RacingOutput
      • RacingInput
      • RacingStateInput
  • Bracket JSAPI v1.0
    • Getting Started
    • Broadcasted Events
    • API Actions
      • scrollToCoordinates
      • scrollToMatchIdentifier
      • setZoomScale
      • zoomToCoordinate
      • zoomToMatchIdentifier
      • loadTheme
      • filterRounds
      • loadIntegrationData
      • setBracketSettings
  • API v2.0 (deprecated)
    • About
    • Deprecated Endpoints
      • Tournament
        • findTournaments
        • createTournament
        • showTournament
        • updateTournament
        • deleteTournament
        • changeStateTournament
      • Match
        • findMatches
        • showMatch
        • updateMatch
        • changeStateTournament
      • Participant
        • findParticipants
        • createParticipant
        • showParticipant
        • updateParticipant
        • deleteParticipant
        • bulkCreateParticipant
        • clearAllParticipants
        • randomizeParticipants
      • Match Attachment
        • findMatchAttachments
        • createMatchAttachments
        • deleteMatchAttachment
      • Race
        • findRaces
        • createRace
        • showRace
        • updateRace
        • deleteRace
        • changeStateRace
      • Round
        • findRounds
        • showRound
        • updateRound
      • Elapsed Time
        • findElapsedTime
        • showElapsedTime
        • updateElapsedTime
        • bulkUpdateElapsedTime
      • User
        • findUser
        • findCommunities
    • Schemas
      • MatchAttachmentModel
      • MatchAttachmentInput
      • MatchAttachmentOutput
      • MatchAttachment
      • ParticipantModel
      • ParticipantOutput
      • ParticipantInput
      • ParticipantBulkInput
      • Participant
      • TournamentModel
      • TournamentInput
      • Tournament
      • TournamentStateInput
      • CommunityModel
      • Community
      • MatchModel
      • MatchInput
      • MatchOutput
      • Match
      • MatchStateInput
      • ErrorModel
      • UserModel
      • User
      • ElapsedTimeBulkInput
      • ElapsedTimeWithID
      • ElapsedTimeOutput
      • ElaspedTimeInput
      • Timestamps
      • RelationshipLink
      • RoundOutput
      • RoundStateInput
      • RacingOutput
      • RacingInput
      • RacingStateInput
  • API v1 (deprecated)
    • About
    • Deprecated Endpoints
      • Tournaments
        • List tournaments
        • Create a tournament
        • Get a tournament
        • Update a tournament
        • Delete a tournament
        • Process check-in results for a tournament
        • Abort check-in for a tournament
        • Start a tournament
        • Finalize a tournament
        • Reset a tournament
        • Open for predictions
      • Participants
        • List a tournament's participants
        • Create a participant
        • Bulk create participants
        • Get a participant
        • Update a participant
        • Check in a participant
        • Undo check-in for a participant
        • Delete/deactivate a participant
        • Clear/delete all participants
        • Randomize a tournament's participants
      • Matches
        • List a tournament's matches
        • Get a match
        • Update a match
        • Reopen a match
        • Mark a match as underway
        • Unmark a match as underway
      • Match Attachments
        • List a match's attachments
        • Create a match attachment
        • Get a match attachment
        • Update a match attachment
        • Delete a match attachment
  1. API v2.1

Error Responses

Challonge API is RESTful and uses conventional HTTP response codes to indicate the success or failure of the API request. The table below will help you identify the meaning and the implication of error responses. Additionally, the documentation for many of the endpoints shows sample error responses.
As a general rule of thumb:
2xx range codes indicate success
4xx range codes indicate a failure from the given information (e.g missing API identifiers, invalid parameters, failed transactions, etc.)
5xx range codes indicate an error on the platform itself.

HTTP Status Codes#

200 OK
Retrieving and updating a resource uses 200 HTTP code.

201 Created
Creating a resource uses 201 HTTP Code.

204 No Content
Deleting a resource uses 204 HTTP Code.

400 Bad Request
The request was not understood, often causes by missing parameters, invalid payload format, validation or processing errors.

401 Unauthorized
You are not authenticated. You might not be passing the Access Token properly.

403 Forbidden
You are authenticated in the AP but the resource you are accessing is not allowed. This might be missing permissions.

404 Not Found
The requested resource or the API endpoint does not exist.

422 Unprocessable Entity
The updated resource was unable to be processed due to an error.

500 Internal Server Error
Something went wrong on Challonge's end. Please let us know 🙏

Error Response#

A standard JSON error response is returned whenever an issue is encountered:
{
  "errors": [
    {
      "status": 422,
      "detail": "Tournament Format is invalid",
      "source": {
        "pointer": "/data/attributes/tournament_format"
      }   
    }
  ]
}
Errors are also returned concurrently if multiple issues are experienced. This happens most of the time when multiple field validations are violated
status integer
HTTP code of the error you encountered. It's usually 400 or 422

detail string
A developer-friendly error message of a single error. This can also be used as an error message to inform your end users of the issue that hey encountered. However, if you feel that the detail does not match you needs, you can utilize your own to provide a more suitable, custom error message.

source dictionary
This attribute exists if the error originated from the JSON payload. IF the error is related to the query parameter, for example the :id parameter when retrieving a certain resource, this attribute is not returned.
Modified at 2025-11-03 16:52:10
Previous
Authorization
Next
Resource Scoping
Built with