Overview
Create a new arena tournament on Lichess. Arena tournaments use automatic pairing and allow players to join at any time during the tournament.Requires authentication with OAuth token that has the
tournament:write scope.Endpoint
Authentication
Requires OAuth token withtournament:write scope:
Request Parameters
Tournament name (2-35 characters). Optional - defaults to your username or a random name
Clock initial time in minutes (decimal allowed, e.g., 0.5 for 30 seconds)
Clock increment in seconds per move
Tournament duration in minutes. Valid options: 20, 25, 30, 35, 40, 45, 50, 55, 60, 70, 80, 90, 100, 110, 120, 150, 180, 210, 240, 270, 300, 330, 360, 420, 480, 540, 600, 720
Delay before tournament starts (1-60 minutes). Default: 5. Omit for instant start if using
startDateTimestamp in milliseconds for scheduled start. Cannot be more than 1 day in advance for non-verified accounts
Chess variant. Options:
standard, chess960, crazyhouse, antichess, atomic, horde, kingOfTheHill, racingKings, threeCheck. Default: standardWhether the tournament is rated. Default:
true. Some variant/time control combinations cannot be ratedFEN string for custom starting position (thematic tournament). Only valid for standard variant
Allow players to go berserk (halve clock for bonus points). Default:
true. Not allowed if increment > time*2Enable streak scoring. Default:
trueEnable tournament chat. Default:
trueTournament description text
Password required to join the tournament. Creates a private tournament
Entry Conditions
Minimum rating required to join (in the relevant perf type)
Maximum rating allowed to join (in the relevant perf type)
Minimum number of rated games required in the relevant perf type
Minimum account age in days
Comma-separated list of usernames allowed to join (creates an allow-list tournament)
Team Battle Parameters
Team ID to create a team battle tournament. You must be a team leader to use this
Restrict tournament to members of a specific team
Response
Returns the created tournament object with all details:8-character tournament ID
Tournament name
Always
10 (created) for newly created tournamentsYour user ID
Tournament start timestamp in milliseconds
Tournament end timestamp in milliseconds
Number of players (initially 0 or 1 if auto-joined)
Example Response
Validation Rules
Clock Validation
- Total time must be > 0 (clockTime + clockIncrement > 0)
- For bot tournaments, time control must be bot-compatible (≥ 2+1)
- Berserk disabled if increment > clockTime * 2
Duration Validation
- Minimum games per player must be ≥ 3
- Maximum games per player must be ≤ 150
- Calculated as: (minutes * 60) / estimatedGameSeconds
Rating Validation
- Cannot be rated if using custom position (unless it’s a known thematic opening)
- 15s and 0+1 variant games cannot be rated
Rate Limits
Error Responses
Best Practices
Related Endpoints
- List Tournaments - Get all current tournaments
- Join Tournament - Join a tournament
- Update Tournament - Update tournament settings (before start)
Source Code Reference
Implementation can be found in:app/controllers/Tournament.scala:249-288-createmethodmodules/tournament/src/main/TournamentApi.scala:56-71-createTournamentmethodmodules/tournament/src/main/TournamentForm.scala- Form validation

