Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
133 changes: 66 additions & 67 deletions doc/specs/lichess-api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -106,37 +106,10 @@ tags:
description: |
Read and write account information and preferences.
<https://lichess.org/account/preferences/game-display>
- name: Users
description: |
Access registered users on Lichess.
<https://lichess.org/player>

- Each user blog exposes an atom (RSS) feed, like <https://lichess.org/@/thibault/blog.atom>
- User blogs mashup feed: https://lichess.org/blog/community.atom
- User blogs mashup feed for a language: https://lichess.org/blog/community/fr.atom

- name: Relations
description: |
Access relations between users.
- name: Games
description: |
Access games played on Lichess.
<https://lichess.org/games>
- name: TV
description: |
Access Lichess TV channels and games.
<https://lichess.org/tv> & <https://lichess.org/games>
- name: Puzzles
description: |
Access Lichess [puzzle history and dashboard](https://lichess.org/training).

Our collection of puzzles is in the public domain, you can [download it here](https://database.lichess.org/#puzzles).
For a list of our puzzle themes with their description, check out the [theme translation file](https://github.com/ornicar/lila/blob/master/translation/source/puzzleTheme.xml).
The daily puzzle can be [posted in your slack workspace](https://lichess.org/daily-puzzle-slack).
- name: Teams
- name: Analysis
description: |
Access and manage Lichess teams and their members.
<https://lichess.org/team>
Access Lichess cloud evaluations database.
<https://lichess.org/analysis>
- name: Board
description: |
Play on Lichess with physical boards and third-party clients.
Expand Down Expand Up @@ -193,37 +166,6 @@ tags:
- Join the [Lichess Bots team](https://lichess.org/team/lichess-bots) with your bot account
- [Get help in the discord channel](https://discord.gg/quwueFd)
- Watch [Lichess Bot TV](https://lichess.org/tv/bot)
- name: Challenges
description: |
Send and receive challenges to play.

To create a lot of challenges, consider [bulk pairing](#tag/bulk-pairings/post/apibulk-pairing) instead.
- name: Bulk pairings
description: |
Create many games for other players.

These endpoints are intended for tournament organisers.
- name: Arena tournaments
description: |
Access Arena tournaments played on Lichess.
[Official Arena tournaments](https://lichess.org/tournament) are maintained by Lichess,
but you can [create your own Arena tournaments](https://lichess.org/tournament/new) as well.
- name: Swiss tournaments
description: |
Access Swiss tournaments played on Lichess.
[Read more about Swiss tournaments.](https://lichess.org/swiss).
- name: Simuls
description: |
Access simuls played on Lichess.
<https://lichess.org/simul>
- name: Studies
description: |
Access Lichess studies.
<https://lichess.org/study>
- name: Messaging
description: |
Private messages with other players.
<https://lichess.org/inbox>
- name: Broadcasts
description: |
Relay chess events on Lichess.
Expand All @@ -234,15 +176,16 @@ tags:

Broadcasts are organized in tournaments, which have several rounds, which have several games.
You must first create a tournament, then you can add rounds to them.
- name: FIDE
- name: Bulk pairings
description: |
FIDE players and federations from [their public download](https://ratings.fide.com/download_lists.phtml).
Create many games for other players.

<https://lichess.org/fide>
- name: Analysis
These endpoints are intended for tournament organisers.
- name: Challenges
description: |
Access Lichess cloud evaluations database.
<https://lichess.org/analysis>
Send and receive challenges to play.

To create a lot of challenges, consider [bulk pairing](#tag/bulk-pairings/post/apibulk-pairing) instead.
- name: External engine
description: |
**This API is in alpha and subject to change.**
Expand All @@ -252,18 +195,74 @@ tags:
External engines can provide analysis on pages like the
[analysis board](https://lichess.org/analysis), running as a service
outside of the browser, or even on a different machine.
- name: FIDE
description: |
FIDE players and federations from [their public download](https://ratings.fide.com/download_lists.phtml).

<https://lichess.org/fide>
- name: Games
description: |
Access games played on Lichess.
<https://lichess.org/games>
- name: Messaging
description: |
Private messages with other players.
<https://lichess.org/inbox>
- name: Opening Explorer
description: |
Lookup positions from the [Lichess opening explorer](https://lichess.org/analysis#explorer).

Runs <https://github.com/lichess-org/lila-openingexplorer>.

**The endpoint hostname is not lichess.org but explorer.lichess.ovh.**
- name: Puzzles
description: |
Access Lichess [puzzle history and dashboard](https://lichess.org/training).

Our collection of puzzles is in the public domain, you can [download it here](https://database.lichess.org/#puzzles).
For a list of our puzzle themes with their description, check out the [theme translation file](https://github.com/ornicar/lila/blob/master/translation/source/puzzleTheme.xml).
The daily puzzle can be [posted in your slack workspace](https://lichess.org/daily-puzzle-slack).
- name: Relations
description: |
Access relations between users.
- name: Simuls
description: |
Access simuls played on Lichess.
<https://lichess.org/simul>
- name: Studies
description: |
Access Lichess studies.
<https://lichess.org/study>
- name: Tablebase
description: |
Lookup positions from the [Lichess tablebase server](https://lichess.org/blog/W3WeMyQAACQAdfAL/7-piece-syzygy-tablebases-are-complete).

**The endpoint hostname is not lichess.org but tablebase.lichess.ovh.**
- name: Teams
description: |
Access and manage Lichess teams and their members.
<https://lichess.org/team>
- name: Tournaments (Arena)
description: |
Access Arena tournaments played on Lichess.
[Official Arena tournaments](https://lichess.org/tournament) are maintained by Lichess,
but you can [create your own Arena tournaments](https://lichess.org/tournament/new) as well.
- name: Tournaments (Swiss)
description: |
Access Swiss tournaments played on Lichess.
[Read more about Swiss tournaments.](https://lichess.org/swiss).
- name: TV
description: |
Access Lichess TV channels and games.
<https://lichess.org/tv> & <https://lichess.org/games>
- name: Users
description: |
Access registered users on Lichess.
<https://lichess.org/player>

- Each user blog exposes an atom (RSS) feed, like <https://lichess.org/@/thibault/blog.atom>
- User blogs mashup feed: https://lichess.org/blog/community.atom
- User blogs mashup feed for a language: https://lichess.org/blog/community/fr.atom
- name: OAuth
description: |
Obtaining and revoking OAuth tokens.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ get:
- Anonymous request: 20 games per second
- [OAuth2 authenticated](/#description/authentication) request: 30 games per second
tags:
- "Arena tournaments"
- "Tournaments (Arena)"
security: []
parameters:
- $ref: "../../schemas/headers/AcceptPgnOrNdjson.yaml"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ post:
Join an Arena tournament, possibly with a password and/or a team.
Also unpauses if you had previously [paused](#tag/arena-tournaments/post/apitournamentidwithdraw) the tournament.
tags:
- "Arena tournaments"
- "Tournaments (Arena)"
security:
- OAuth2: ["tournament:write"]
parameters:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ get:
due to ranking changes while the players are being streamed.
Use on finished tournaments for guaranteed consistency.
tags:
- "Arena tournaments"
- "Tournaments (Arena)"
security: []
parameters:
- in: path
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ get:
description: |
Teams of a team battle tournament, with top players, sorted by rank (best first).
tags:
- "Arena tournaments"
- "Tournaments (Arena)"
security: []
parameters:
- in: path
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ post:
description: |
Terminate an Arena tournament
tags:
- "Arena tournaments"
- "Tournaments (Arena)"
security:
- OAuth2: ["tournament:write"]
parameters:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ post:
Leave a future Arena tournament, or take a break on an ongoing Arena tournament.
It's possible to join again later. Points and streaks are preserved.
tags:
- "Arena tournaments"
- "Tournaments (Arena)"
security:
- OAuth2: ["tournament:write"]
parameters:
Expand Down
4 changes: 2 additions & 2 deletions doc/specs/tags/arenatournaments/api-tournament-id.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ get:
description: |
Get detailed info about recently finished, current, or upcoming tournament's duels, player standings, and other info.
tags:
- "Arena tournaments"
- "Tournaments (Arena)"
security: []
parameters:
- in: query
Expand Down Expand Up @@ -50,7 +50,7 @@ post:
- 15s and 0+1 variant tournaments cannot be rated
- Clock time in comparison to tournament length must be reasonable: 3 <= (minutes * 60) / (96 * clockTime + 48 * clockIncrement + 15) <= 150
tags:
- "Arena tournaments"
- "Tournaments (Arena)"
security:
- OAuth2: ["tournament:write"]
requestBody:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ post:
Set the teams and number of leaders of a team battle.
To update the other attributes of a team battle, use the [tournament update endpoint](#tag/arena-tournaments/post/apitournamentid).
tags:
- "Arena tournaments"
- "Tournaments (Arena)"
security:
- OAuth2: ["tournament:write"]
parameters:
Expand Down
4 changes: 2 additions & 2 deletions doc/specs/tags/arenatournaments/api-tournament.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ get:
Get recently active and finished tournaments.
This API is used to display the [Lichess tournament schedule](https://lichess.org/tournament).
tags:
- "Arena tournaments"
- "Tournaments (Arena)"
security: []
responses:
"200":
Expand Down Expand Up @@ -35,7 +35,7 @@ post:
- 15s and 0+1 variant tournaments cannot be rated
- Clock time in comparison to tournament length must be reasonable: 3 <= (minutes * 60) / (96 * clockTime + 48 * clockIncrement + 15) <= 150
tags:
- "Arena tournaments"
- "Tournaments (Arena)"
security:
- OAuth2: ["tournament:write"]
requestBody:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ get:
- [OAuth2 authenticated](/#description/authentication) request: 30 tournaments per second
- Authenticated, downloading your own tournaments: 50 tournaments per second
tags:
- "Arena tournaments"
- "Tournaments (Arena)"
security:
- OAuth2: []
parameters:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ get:
- [OAuth2 authenticated](/#description/authentication) request: 30 tournaments per second
- Authenticated, downloading your own tournaments: 50 tournaments per second
tags:
- "Arena tournaments"
- "Tournaments (Arena)"
security:
- OAuth2: []
parameters:
Expand Down
2 changes: 1 addition & 1 deletion doc/specs/tags/swisstournaments/api-swiss-id-edit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ post:
- clock.limit + clock.increment > 0
- 15s and 0+1 variant tournaments cannot be rated
tags:
- "Swiss tournaments"
- "Tournaments (Swiss)"
security:
- OAuth2: ["tournament:write"]
parameters:
Expand Down
2 changes: 1 addition & 1 deletion doc/specs/tags/swisstournaments/api-swiss-id-games.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ get:
- Anonymous request: 20 games per second
- [OAuth2 authenticated](/#description/authentication) request: 30 games per second
tags:
- "Swiss tournaments"
- "Tournaments (Swiss)"
security: []
parameters:
- $ref: "../../schemas/headers/AcceptPgnOrNdjson.yaml"
Expand Down
2 changes: 1 addition & 1 deletion doc/specs/tags/swisstournaments/api-swiss-id-join.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ post:
description: |
Join a Swiss tournament, possibly with a password.
tags:
- "Swiss tournaments"
- "Tournaments (Swiss)"
security:
- OAuth2: ["tournament:write"]
parameters:
Expand Down
2 changes: 1 addition & 1 deletion doc/specs/tags/swisstournaments/api-swiss-id-results.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ get:
due to ranking changes while the players are being streamed.
Use on finished tournaments for guaranteed consistency.
tags:
- "Swiss tournaments"
- "Tournaments (Swiss)"
security: []
parameters:
- in: path
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ post:
This sets the `roundInterval` field to `99999999`, i.e. manual scheduling.
All further rounds will need to be manually scheduled, unless the `roundInterval` field is changed back to automatic scheduling.
tags:
- "Swiss tournaments"
- "Tournaments (Swiss)"
security:
- OAuth2: ["tournament:write"]
parameters:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ post:
description: |
Terminate a Swiss tournament
tags:
- "Swiss tournaments"
- "Tournaments (Swiss)"
security:
- OAuth2: ["tournament:write"]
parameters:
Expand Down
2 changes: 1 addition & 1 deletion doc/specs/tags/swisstournaments/api-swiss-id-withdraw.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ post:
Leave a future Swiss tournament, or take a break on an ongoing Swiss tournament.
It's possible to join again later. Points are preserved.
tags:
- "Swiss tournaments"
- "Tournaments (Swiss)"
security:
- OAuth2: ["tournament:write"]
parameters:
Expand Down
2 changes: 1 addition & 1 deletion doc/specs/tags/swisstournaments/api-swiss-id.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ get:
description: |
Get detailed info about a Swiss tournament.
tags:
- "Swiss tournaments"
- "Tournaments (Swiss)"
security: []
responses:
"200":
Expand Down
2 changes: 1 addition & 1 deletion doc/specs/tags/swisstournaments/api-swiss-new-teamId.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ post:
- clock.limit + clock.increment > 0
- 15s and 0+1 variant tournaments cannot be rated
tags:
- "Swiss tournaments"
- "Tournaments (Swiss)"
security:
- OAuth2: ["tournament:write"]
parameters:
Expand Down
2 changes: 1 addition & 1 deletion doc/specs/tags/swisstournaments/swiss-id.trf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ get:
Documentation: <https://www.fide.com/FIDE/handbook/C04Annex2_TRF16.pdf>
Example: <https://lichess.org/swiss/j8rtJ5GL.trf>
tags:
- "Swiss tournaments"
- "Tournaments (Swiss)"
security: []
parameters:
- in: path
Expand Down
2 changes: 1 addition & 1 deletion doc/specs/tags/teams/api-team-teamId-arena.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ get:
Tournaments are streamed as [ndjson](#description/streaming-with-nd-json).
tags:
- Teams
- "Arena tournaments"
- "Tournaments (Arena)"
security: []
parameters:
- in: path
Expand Down
Loading