The Challonge API expands tournament creation and control to the programmatic level. You can create tournaments on the fly and report scores directly from your application. This allows you to define score reporting permissions that fit your user model, and provide a more seamless tournament experience for your users.
The API is accessible over a secure connection at https://api.challonge.com/v1/
All interactions with the API require a Challonge account with a verified email address and API key. We support HTTP basic authentication. Username = your Challonge username, Password = your API key. Many clients format these requests as: https://username:[email protected]/v1/...
Or, if you prefer, you can just pass your API key as parameter api_key
to all method calls.
API methods with GET request types are permitted for any tournament, whether belonging to you or not. All other API methods are scoped to tournaments that you either own or have admin access to.
XML or JSON. The extension in your request indicates your desired response. e.g. https://api.challonge.com/v1/tournaments.xml or https://api.challonge.com/v1/tournaments.json - you may also set your request headers to accept application/json, text/xml or application/xml
The following HTTP response codes are issued by the API. All other codes are the result of a request not reaching the application.
200- OK
401- Unauthorized (Invalid API key or insufficient permissions)
404- Object not found within your account scope
406- Requested format is not supported - request JSON or XML only
422- Validation error(s) for create or update method
500- Something went wrong on our end. If you continually receive this, please contact us.
Requests that complete but have validation errors or other issues will return an array of error messages and status code 422. e.g.:
{ "errors": [ "Имя can't be blank", "Ссылка can't be blank" ] }
<?xml version="1.0" encoding="UTF-8"?> <errors> <error>Имя can't be blank</error> <error>Ссылка can't be blank</error> </errors>
Индекс | GET | Retrieve a set of tournaments created with your account. |
Создать | POST | Create a new tournament. |
Показать | GET | Retrieve a single tournament record created with your account. |
Обновить | PUT | Update a tournament's attributes. |
Уничтожить | DELETE | Deletes a tournament along with all its associated records. There is no undo, so use with care! |
Процесс регистрации | POST | This should be invoked after a tournament's check-in window closes before the tournament is started.
|
Прервать регистрацию | POST | When your tournament is in a 'checking_in' or 'checked_in' state, there's no way to edit the tournament's start time (start_at) or check-in duration (check_in_duration). You must first abort check-in, then you may edit those attributes.
|
Начать | POST | Start a tournament, opening up first round matches for score reporting. The tournament must have at least 2 participants. |
Финализировать | POST | Finalize a tournament that has had all match scores submitted, rendering its results permanent. |
Сбросить | POST | Reset a tournament, clearing all of its scores and attachments. You can then add/remove/edit participants before starting the tournament again. |
Откройте для установления результатов прогнозов | POST | Sets the state of the tournament to start accepting predictions. Your tournament's 'prediction_method' attribute must be set to 1 (exponential scoring) or 2 (linear scoring) to use this option. Note: Once open for predictions, match records will be persisted, so participant additions and removals will no longer be permitted. |
Индекс | GET | Retrieve a tournament's participant list. |
Создать | POST | Add a participant to a tournament (up until it is started). |
Массовое добавление | POST | Bulk add participants to a tournament (up until it is started). If an invalid participant is detected, bulk participant creation will halt and any previously added participants (from this API request) will be rolled back. |
Показать | GET | Retrieve a single participant record for a tournament. |
Обновить | PUT | Update the attributes of a tournament participant. |
Регистрация | POST | Checks a participant in, setting checked_in_at to the current time. |
Отменить регистрацию | POST | Marks a participant as having not checked in, setting checked_in_at to nil. |
Уничтожить | DELETE | If the tournament has not started, delete a participant, automatically filling in the abandoned seed number. If tournament is underway, mark a participant inactive, automatically forfeiting his/her remaining matches. |
Очистить | DELETE | Deletes all participants in a tournament. (Only allowed if tournament hasn't started yet) |
Случайно | POST | Randomize seeds among participants. Only applicable before a tournament has started. |
Индекс | GET | Retrieve a tournament's match list. |
Показать | GET | Retrieve a single match record for a tournament. |
Обновить | PUT | Update/submit the score(s) for a match. |
Переоткрыть | POST | Переоткрывает матч, помеченный как законченный, автоматически сбрасывая матчи после него |
Mark as underway | POST | Sets "underway_at" to the current time and highlights the match in the bracket |
Unmark as underway | POST | Clears "underway_at" and unhighlights the match in the bracket |
Индекс | GET | Retrieve a match's attachments. |
Создать | POST | Add a file, link, or text attachment to a match. NOTE: The associated tournament's "accept_attachments" attribute must be true for this action to succeed. |
Показать | GET | Retrieve a single match attachment record. |
Обновить | PUT | Update the attributes of a match attachment. |
Уничтожить | DELETE | Delete a match attachment. |
A Ruby gem provided by us that greatly eases integration with the Challonge API
PHP wrapper class for the Challonge API that utilizes cURL and SimpleXML (author: Tony Drake)
Python bindings for the Challonge API (author: russ-)
Perl Module for interfacing the Challonge API (author: Alex Kerr)
We strongly encourage API users to join the Challonge API Google Group for all API-related notices.