@lichess-org/types 2.0.104 → 2.0.105

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lichess-api.d.ts +631 -620
  2. package/package.json +5 -5
package/lichess-api.d.ts CHANGED
@@ -17,7 +17,6 @@ export interface paths {
17
17
  * This API is very fast and cheap on lichess side.
18
18
  * So you can call it quite often (like once every 5 seconds).
19
19
  * Use it to track players and know when they're connected on lichess and playing games.
20
- *
21
20
  */
22
21
  get: operations["apiUsersStatus"];
23
22
  put?: never;
@@ -39,7 +38,6 @@ export interface paths {
39
38
  * Get all top 10
40
39
  * @description Get the top 10 players for each speed and variant.
41
40
  * See <https://lichess.org/player>.
42
- *
43
41
  */
44
42
  get: operations["player"];
45
43
  put?: never;
@@ -62,7 +60,6 @@ export interface paths {
62
60
  * @description Get the leaderboard for a single speed or variant (a.k.a. `perfType`).
63
61
  * There is no leaderboard for correspondence or puzzles.
64
62
  * See <https://lichess.org/player/top/200/bullet>.
65
- *
66
63
  */
67
64
  get: operations["playerTopNbPerfType"];
68
65
  put?: never;
@@ -83,7 +80,6 @@ export interface paths {
83
80
  /**
84
81
  * Get user public data
85
82
  * @description Read public data of a user.
86
- *
87
83
  */
88
84
  get: operations["apiUser"];
89
85
  put?: never;
@@ -107,7 +103,6 @@ export interface paths {
107
103
  * There is at most one entry per day.
108
104
  * Format of an entry is `[year, month, day, rating]`.
109
105
  * `month` starts at zero (January).
110
- *
111
106
  */
112
107
  get: operations["apiUserRatingHistory"];
113
108
  put?: never;
@@ -129,7 +124,6 @@ export interface paths {
129
124
  * Get performance statistics of a user
130
125
  * @description Read performance statistics of a user, for a single performance.
131
126
  * Similar to the [performance pages on the website](https://lichess.org/@/thibault/perf/bullet).
132
- *
133
127
  */
134
128
  get: operations["apiUserPerf"];
135
129
  put?: never;
@@ -150,7 +144,6 @@ export interface paths {
150
144
  /**
151
145
  * Get user activity
152
146
  * @description Read data to generate the activity feed of a user.
153
- *
154
147
  */
155
148
  get: operations["apiUserActivity"];
156
149
  put?: never;
@@ -172,7 +165,6 @@ export interface paths {
172
165
  * Get the daily puzzle
173
166
  * @description Get the daily Lichess puzzle in JSON format.
174
167
  * Alternatively, you can [post it in your slack workspace](https://lichess.org/daily-puzzle-slack).
175
- *
176
168
  */
177
169
  get: operations["apiPuzzleDaily"];
178
170
  put?: never;
@@ -217,7 +209,6 @@ export interface paths {
217
209
  * If authenticated, only returns puzzles that the user has never seen before.
218
210
  *
219
211
  * **DO NOT** use this endpoint to enumerate puzzles for mass download. Instead, download the [full public puzzle database](https://database.lichess.org/#puzzles).
220
- *
221
212
  */
222
213
  get: operations["apiPuzzleNext"];
223
214
  put?: never;
@@ -242,14 +233,12 @@ export interface paths {
242
233
  * If authenticated, only returns puzzles that the user has never seen before.
243
234
  *
244
235
  * **DO NOT** use this endpoint to enumerate puzzles for mass download. Instead, download the [full public puzzle database](https://database.lichess.org/#puzzles).
245
- *
246
236
  */
247
237
  get: operations["apiPuzzleBatchSelect"];
248
238
  put?: never;
249
239
  /**
250
240
  * Solve multiple puzzles at once
251
241
  * @description Set puzzles as solved and update ratings.
252
- *
253
242
  */
254
243
  post: operations["apiPuzzleBatchSolve"];
255
244
  delete?: never;
@@ -267,10 +256,9 @@ export interface paths {
267
256
  };
268
257
  /**
269
258
  * Get your puzzle activity
270
- * @description Download your puzzle activity in [ndjson](#section/Introduction/Streaming-with-ND-JSON) format.
259
+ * @description Download your puzzle activity in [ndjson](#description/streaming-with-nd-json) format.
271
260
  * Puzzle activity is sorted by reverse chronological order (most recent first)
272
261
  * We recommend streaming the response, for it can be very long.
273
- *
274
262
  */
275
263
  get: operations["apiPuzzleActivity"];
276
264
  put?: never;
@@ -313,7 +301,6 @@ export interface paths {
313
301
  * @description Download your [puzzle dashboard](https://lichess.org/training/dashboard/30/dashboard) as JSON.
314
302
  * Also includes all puzzle themes played, with aggregated results.
315
303
  * Allows re-creating the [improvement/strengths](https://lichess.org/training/dashboard/30/improvementAreas) interfaces.
316
- *
317
304
  */
318
305
  get: operations["apiPuzzleDashboard"];
319
306
  put?: never;
@@ -336,7 +323,6 @@ export interface paths {
336
323
  * @description Download the [storm dashboard](https://lichess.org/storm/dashboard/mrbasso) of any player as JSON.
337
324
  * Contains the aggregated highscores, and the history of storm runs aggregated by days.
338
325
  * Use `?days=0` if you only care about the highscores.
339
- *
340
326
  */
341
327
  get: operations["apiStormDashboard"];
342
328
  put?: never;
@@ -362,7 +348,6 @@ export interface paths {
362
348
  * The Lichess user who creates the race must join the race page,
363
349
  * and manually start the race when enough players have joined.
364
350
  * - <https://lichess.org/racer>
365
- *
366
351
  */
367
352
  post: operations["racerPost"];
368
353
  delete?: never;
@@ -386,7 +371,6 @@ export interface paths {
386
371
  *
387
372
  * Note that Lichess puzzle races are not persisted, and are only available
388
373
  * for 30 minutes. After that delay, they are permanently deleted.
389
- *
390
374
  */
391
375
  get: operations["racerGet"];
392
376
  put?: never;
@@ -413,7 +397,6 @@ export interface paths {
413
397
  * Please do not try to download all the Lichess users with this endpoint, or any other endpoint.
414
398
  * An API is not a way to fully export a website. We do not provide a full download of the Lichess users.
415
399
  * This endpoint is limited to 8,000 users every 10 minutes, and 120,000 every day.
416
- *
417
400
  */
418
401
  post: operations["apiUsers"];
419
402
  delete?: never;
@@ -432,7 +415,6 @@ export interface paths {
432
415
  /**
433
416
  * Get my profile
434
417
  * @description Public information about the logged in user.
435
- *
436
418
  */
437
419
  get: operations["accountMe"];
438
420
  put?: never;
@@ -453,7 +435,6 @@ export interface paths {
453
435
  /**
454
436
  * Get my email address
455
437
  * @description Read the email address of the logged in user.
456
- *
457
438
  */
458
439
  get: operations["accountEmail"];
459
440
  put?: never;
@@ -476,7 +457,6 @@ export interface paths {
476
457
  * @description Read the preferences of the logged in user.
477
458
  * - <https://lichess.org/account/preferences/game-display>
478
459
  * - <https://github.com/ornicar/lila/blob/master/modules/pref/src/main/Pref.scala>
479
- *
480
460
  */
481
461
  get: operations["account"];
482
462
  put?: never;
@@ -498,7 +478,6 @@ export interface paths {
498
478
  * Get my kid mode status
499
479
  * @description Read the kid mode status of the logged in user.
500
480
  * - <https://lichess.org/account/kid>
501
- *
502
481
  */
503
482
  get: operations["accountKid"];
504
483
  put?: never;
@@ -506,7 +485,6 @@ export interface paths {
506
485
  * Set my kid mode status
507
486
  * @description Set the kid mode status of the logged in user.
508
487
  * - <https://lichess.org/account/kid>
509
- *
510
488
  */
511
489
  post: operations["accountKidPost"];
512
490
  delete?: never;
@@ -525,7 +503,6 @@ export interface paths {
525
503
  /**
526
504
  * Get my timeline
527
505
  * @description Get the timeline events of the logged in user.
528
- *
529
506
  */
530
507
  get: operations["timeline"];
531
508
  put?: never;
@@ -547,7 +524,6 @@ export interface paths {
547
524
  * Export one game
548
525
  * @description Download one game in either PGN or JSON format.
549
526
  * Ongoing games are delayed by a few seconds ranging from 3 to 60 depending on the time control, as to prevent cheat bots from using this API.
550
- *
551
527
  */
552
528
  get: operations["gamePgn"];
553
529
  put?: never;
@@ -570,7 +546,6 @@ export interface paths {
570
546
  * @description Download the ongoing game, or the last game played, of a user.
571
547
  * Available in either PGN or JSON format.
572
548
  * Ongoing games are delayed by a few seconds ranging from 3 to 60 depending on the time control, as to prevent cheat bots from using this API.
573
- *
574
549
  */
575
550
  get: operations["apiUserCurrentGame"];
576
551
  put?: never;
@@ -590,15 +565,14 @@ export interface paths {
590
565
  };
591
566
  /**
592
567
  * Export games of a user
593
- * @description Download all games of any user in PGN or [ndjson](#section/Introduction/Streaming-with-ND-JSON) format.
568
+ * @description Download all games of any user in PGN or [ndjson](#description/streaming-with-nd-json) format.
594
569
  * Games are sorted by reverse chronological order (most recent first).
595
570
  * We recommend streaming the response, for it can be very long.
596
571
  * <https://lichess.org/@/german11> for instance has more than 500,000 games.
597
572
  * The game stream is throttled, depending on who is making the request:
598
573
  * - Anonymous request: 20 games per second
599
- * - [OAuth2 authenticated](#section/Introduction/Authentication) request: 30 games per second
574
+ * - [OAuth2 authenticated](/#description/authentication) request: 30 games per second
600
575
  * - Authenticated, downloading your own games: 60 games per second
601
- *
602
576
  */
603
577
  get: operations["apiGamesUser"];
604
578
  put?: never;
@@ -620,12 +594,11 @@ export interface paths {
620
594
  put?: never;
621
595
  /**
622
596
  * Export games by IDs
623
- * @description Download games by IDs in PGN or [ndjson](#section/Introduction/Streaming-with-ND-JSON) format, depending on the request `Accept` header.
597
+ * @description Download games by IDs in PGN or [ndjson](#description/streaming-with-nd-json) format, depending on the request `Accept` header.
624
598
  * Games are sorted by reverse chronological order (most recent first)
625
599
  * The method is `POST` so a longer list of IDs can be sent in the request body.
626
600
  * 300 IDs can be submitted.
627
601
  * Ongoing games are delayed by a few seconds ranging from 3 to 60 depending on the time control, as to prevent cheat bots from using this API.
628
- *
629
602
  */
630
603
  post: operations["gamesExportIds"];
631
604
  delete?: never;
@@ -649,10 +622,9 @@ export interface paths {
649
622
  * Only games where **both players** are part of the list are included.
650
623
  * The stream emits an event each time a game is started or finished.
651
624
  * To also get all current ongoing games at the beginning of the stream, use the `withCurrentGames` flag.
652
- * Games are streamed as [ndjson](#section/Introduction/Streaming-with-ND-JSON).
625
+ * Games are streamed as [ndjson](#description/streaming-with-nd-json).
653
626
  * Maximum number of users: 300.
654
627
  * The method is `POST` so a longer list of IDs can be sent in the request body.
655
- *
656
628
  */
657
629
  post: operations["gamesByUsers"];
658
630
  delete?: never;
@@ -674,10 +646,9 @@ export interface paths {
674
646
  * Stream games by IDs
675
647
  * @description Creates a stream of games from an arbitrary streamId, and a list of game IDs.
676
648
  * The stream first outputs the games that already exists, then emits an event each time a game is started or finished.
677
- * Games are streamed as [ndjson](#section/Introduction/Streaming-with-ND-JSON).
678
- * Maximum number of games: 500 for anonymous requests, or 1000 for [OAuth2 authenticated](#section/Introduction/Authentication) requests.
649
+ * Games are streamed as [ndjson](#description/streaming-with-nd-json).
650
+ * Maximum number of games: 500 for anonymous requests, or 1000 for [OAuth2 authenticated](/#description/authentication) requests.
679
651
  * While the stream is open, it is possible to [add new game IDs to watch](#operation/gamesByIdsAdd).
680
- *
681
652
  */
682
653
  post: operations["gamesByIds"];
683
654
  delete?: never;
@@ -699,7 +670,6 @@ export interface paths {
699
670
  * Add game IDs to stream
700
671
  * @description Add new game IDs for [an existing stream](#operation/gamesByIds) to watch.
701
672
  * The stream will immediately outputs the games that already exists, then emit an event each time a game is started or finished.
702
- *
703
673
  */
704
674
  post: operations["gamesByIdsAdd"];
705
675
  delete?: never;
@@ -720,7 +690,6 @@ export interface paths {
720
690
  * @description Get the ongoing games of the current user.
721
691
  * Real-time and correspondence games are included.
722
692
  * The most urgent games are listed first.
723
- *
724
693
  */
725
694
  get: operations["apiAccountPlaying"];
726
695
  put?: never;
@@ -740,13 +709,12 @@ export interface paths {
740
709
  };
741
710
  /**
742
711
  * Stream moves of a game
743
- * @description Stream positions and moves of any ongoing game, in [ndjson](#section/Introduction/Streaming-with-ND-JSON).
712
+ * @description Stream positions and moves of any ongoing game, in [ndjson](#description/streaming-with-nd-json).
744
713
  * A description of the game is sent as a first message.
745
714
  * Then a message is sent each time a move is played.
746
715
  * Finally, a description of the game is sent when it finishes, and the stream is closed.
747
716
  * Ongoing games are delayed by a few seconds ranging from 3 to 60 depending on the time control, as to prevent cheat bots from using this API.
748
717
  * No more than 8 game streams can be opened at the same time from the same IP address.
749
- *
750
718
  */
751
719
  get: operations["streamGame"];
752
720
  put?: never;
@@ -773,7 +741,6 @@ export interface paths {
773
741
  * To broadcast ongoing games, consider [pushing to a broadcast instead](#operation/broadcastPush).
774
742
  * To analyse a position or a line, just construct an analysis board URL (most standard tags supported if URL-encoded):
775
743
  * [https://lichess.org/analysis/pgn/e4_e5_Nf3_Nc6_Bc4_Bc5_Bxf7+](https://lichess.org/analysis/pgn/e4_e5_Nf3_Nc6_Bc4_Bc5_Bxf7+)
776
- *
777
744
  */
778
745
  post: operations["gameImport"];
779
746
  delete?: never;
@@ -811,10 +778,9 @@ export interface paths {
811
778
  };
812
779
  /**
813
780
  * Export your bookmarked games
814
- * @description Download all games bookmarked by you, in PGN or [ndjson](#section/Introduction/Streaming-with-ND-JSON) format.
781
+ * @description Download all games bookmarked by you, in PGN or [ndjson](#description/streaming-with-nd-json) format.
815
782
  * Games are sorted by reverse chronological order (most recent first).
816
783
  * We recommend streaming the response, for it can be very long.
817
- *
818
784
  */
819
785
  get: operations["apiExportBookmarks"];
820
786
  put?: never;
@@ -837,7 +803,6 @@ export interface paths {
837
803
  * @description Get basic info about the best games being played for each speed and variant,
838
804
  * but also computer games and bot games.
839
805
  * See [lichess.org/tv](https://lichess.org/tv).
840
- *
841
806
  */
842
807
  get: operations["tvChannels"];
843
808
  put?: never;
@@ -857,9 +822,8 @@ export interface paths {
857
822
  };
858
823
  /**
859
824
  * Stream current TV game
860
- * @description Stream positions and moves of the current [TV game](https://lichess.org/tv) in [ndjson](#section/Introduction/Streaming-with-ND-JSON).
825
+ * @description Stream positions and moves of the current [TV game](https://lichess.org/tv) in [ndjson](#description/streaming-with-nd-json).
861
826
  * Try it with `curl https://lichess.org/api/tv/feed`.
862
- *
863
827
  */
864
828
  get: operations["tvFeed"];
865
829
  put?: never;
@@ -879,9 +843,8 @@ export interface paths {
879
843
  };
880
844
  /**
881
845
  * Stream current TV game of a TV channel
882
- * @description Stream positions and moves of a current [TV channel's game](https://lichess.org/tv/rapid) in [ndjson](#section/Introduction/Streaming-with-ND-JSON).
846
+ * @description Stream positions and moves of a current [TV channel's game](https://lichess.org/tv/rapid) in [ndjson](#description/streaming-with-nd-json).
883
847
  * Try it with `curl https://lichess.org/api/tv/rapid/feed`.
884
- *
885
848
  */
886
849
  get: operations["tvChannelFeed"];
887
850
  put?: never;
@@ -902,8 +865,7 @@ export interface paths {
902
865
  /**
903
866
  * Get best ongoing games of a TV channel
904
867
  * @description Get a list of ongoing games for a given TV channel. Similar to [lichess.org/games](https://lichess.org/games).
905
- * Available in PGN or [ndjson](#section/Introduction/Streaming-with-ND-JSON) format, depending on the request `Accept` header.
906
- *
868
+ * Available in PGN or [ndjson](#description/streaming-with-nd-json) format, depending on the request `Accept` header.
907
869
  */
908
870
  get: operations["tvChannelGames"];
909
871
  put?: never;
@@ -925,7 +887,6 @@ export interface paths {
925
887
  * Get current tournaments
926
888
  * @description Get recently active and finished tournaments.
927
889
  * This API is used to display the [Lichess tournament schedule](https://lichess.org/tournament).
928
- *
929
890
  */
930
891
  get: operations["apiTournament"];
931
892
  put?: never;
@@ -939,7 +900,6 @@ export interface paths {
939
900
  * - clockTime + clockIncrement > 0
940
901
  * - 15s and 0+1 variant tournaments cannot be rated
941
902
  * - Clock time in comparison to tournament length must be reasonable: 3 <= (minutes * 60) / (96 * clockTime + 48 * clockIncrement + 15) <= 150
942
- *
943
903
  */
944
904
  post: operations["apiTournamentPost"];
945
905
  delete?: never;
@@ -961,7 +921,6 @@ export interface paths {
961
921
  /**
962
922
  * Get info about an Arena tournament
963
923
  * @description Get detailed info about recently finished, current, or upcoming tournament's duels, player standings, and other info.
964
- *
965
924
  */
966
925
  get: operations["tournament"];
967
926
  put?: never;
@@ -974,7 +933,6 @@ export interface paths {
974
933
  * - clockTime + clockIncrement > 0
975
934
  * - 15s and 0+1 variant tournaments cannot be rated
976
935
  * - Clock time in comparison to tournament length must be reasonable: 3 <= (minutes * 60) / (96 * clockTime + 48 * clockIncrement + 15) <= 150
977
- *
978
936
  */
979
937
  post: operations["apiTournamentUpdate"];
980
938
  delete?: never;
@@ -996,7 +954,6 @@ export interface paths {
996
954
  * Join an Arena tournament
997
955
  * @description Join an Arena tournament, possibly with a password and/or a team.
998
956
  * Also unpauses if you had previously [paused](#operation/apiTournamentWithdraw) the tournament.
999
- *
1000
957
  */
1001
958
  post: operations["apiTournamentJoin"];
1002
959
  delete?: never;
@@ -1018,7 +975,6 @@ export interface paths {
1018
975
  * Pause or leave an Arena tournament
1019
976
  * @description Leave a future Arena tournament, or take a break on an ongoing Arena tournament.
1020
977
  * It's possible to join again later. Points and streaks are preserved.
1021
- *
1022
978
  */
1023
979
  post: operations["apiTournamentWithdraw"];
1024
980
  delete?: never;
@@ -1039,7 +995,6 @@ export interface paths {
1039
995
  /**
1040
996
  * Terminate an Arena tournament
1041
997
  * @description Terminate an Arena tournament
1042
- *
1043
998
  */
1044
999
  post: operations["apiTournamentTerminate"];
1045
1000
  delete?: never;
@@ -1061,7 +1016,6 @@ export interface paths {
1061
1016
  * Update a team battle
1062
1017
  * @description Set the teams and number of leaders of a team battle.
1063
1018
  * To update the other attributes of a team battle, use the [tournament update endpoint](#operation/apiTournamentUpdate).
1064
- *
1065
1019
  */
1066
1020
  post: operations["apiTournamentTeamBattlePost"];
1067
1021
  delete?: never;
@@ -1079,12 +1033,11 @@ export interface paths {
1079
1033
  };
1080
1034
  /**
1081
1035
  * Export games of an Arena tournament
1082
- * @description Download games of a tournament in PGN or [ndjson](#section/Introduction/Streaming-with-ND-JSON) format.
1036
+ * @description Download games of a tournament in PGN or [ndjson](#description/streaming-with-nd-json) format.
1083
1037
  * Games are sorted by reverse chronological order (most recent first).
1084
1038
  * The game stream is throttled, depending on who is making the request:
1085
1039
  * - Anonymous request: 20 games per second
1086
- * - [OAuth2 authenticated](#section/Introduction/Authentication) request: 30 games per second
1087
- *
1040
+ * - [OAuth2 authenticated](/#description/authentication) request: 30 games per second
1088
1041
  */
1089
1042
  get: operations["gamesByTournament"];
1090
1043
  put?: never;
@@ -1105,11 +1058,10 @@ export interface paths {
1105
1058
  /**
1106
1059
  * Get results of an Arena tournament
1107
1060
  * @description Players of an Arena tournament, with their score and performance, sorted by rank (best first).
1108
- * **Players are streamed as [ndjson](#section/Introduction/Streaming-with-ND-JSON)**, i.e. one JSON object per line.
1061
+ * **Players are streamed as [ndjson](#description/streaming-with-nd-json)**, i.e. one JSON object per line.
1109
1062
  * If called on an ongoing tournament, results can be inconsistent
1110
1063
  * due to ranking changes while the players are being streamed.
1111
1064
  * Use on finished tournaments for guaranteed consistency.
1112
- *
1113
1065
  */
1114
1066
  get: operations["resultsByTournament"];
1115
1067
  put?: never;
@@ -1130,7 +1082,6 @@ export interface paths {
1130
1082
  /**
1131
1083
  * Get team standing of a team battle
1132
1084
  * @description Teams of a team battle tournament, with top players, sorted by rank (best first).
1133
- *
1134
1085
  */
1135
1086
  get: operations["teamsByTournament"];
1136
1087
  put?: never;
@@ -1152,12 +1103,11 @@ export interface paths {
1152
1103
  * Get tournaments created by a user
1153
1104
  * @description Get all tournaments created by a given user.
1154
1105
  * Tournaments are sorted by reverse chronological order of start date (last starting first).
1155
- * Tournaments are streamed as [ndjson](#section/Introduction/Streaming-with-ND-JSON).
1106
+ * Tournaments are streamed as [ndjson](#description/streaming-with-nd-json).
1156
1107
  * The stream is throttled, depending on who is making the request:
1157
1108
  * - Anonymous request: 20 tournaments per second
1158
- * - [OAuth2 authenticated](#section/Introduction/Authentication) request: 30 tournaments per second
1109
+ * - [OAuth2 authenticated](/#description/authentication) request: 30 tournaments per second
1159
1110
  * - Authenticated, downloading your own tournaments: 50 tournaments per second
1160
- *
1161
1111
  */
1162
1112
  get: operations["apiUserNameTournamentCreated"];
1163
1113
  put?: never;
@@ -1179,12 +1129,11 @@ export interface paths {
1179
1129
  * Get tournaments played by a user
1180
1130
  * @description Get all tournaments played by a given user.
1181
1131
  * Tournaments are sorted by reverse chronological order of start date (last played first).
1182
- * Tournaments are streamed as [ndjson](#section/Introduction/Streaming-with-ND-JSON).
1132
+ * Tournaments are streamed as [ndjson](#description/streaming-with-nd-json).
1183
1133
  * The stream is throttled, depending on who is making the request:
1184
1134
  * - Anonymous request: 20 tournaments per second
1185
- * - [OAuth2 authenticated](#section/Introduction/Authentication) request: 30 tournaments per second
1135
+ * - [OAuth2 authenticated](/#description/authentication) request: 30 tournaments per second
1186
1136
  * - Authenticated, downloading your own tournaments: 50 tournaments per second
1187
- *
1188
1137
  */
1189
1138
  get: operations["apiUserNameTournamentPlayed"];
1190
1139
  put?: never;
@@ -1212,7 +1161,6 @@ export interface paths {
1212
1161
  * Additional restrictions:
1213
1162
  * - clock.limit + clock.increment > 0
1214
1163
  * - 15s and 0+1 variant tournaments cannot be rated
1215
- *
1216
1164
  */
1217
1165
  post: operations["apiSwissNew"];
1218
1166
  delete?: never;
@@ -1234,7 +1182,6 @@ export interface paths {
1234
1182
  /**
1235
1183
  * Get info about a Swiss tournament
1236
1184
  * @description Get detailed info about a Swiss tournament.
1237
- *
1238
1185
  */
1239
1186
  get: operations["swiss"];
1240
1187
  put?: never;
@@ -1261,7 +1208,6 @@ export interface paths {
1261
1208
  * Additional restrictions:
1262
1209
  * - clock.limit + clock.increment > 0
1263
1210
  * - 15s and 0+1 variant tournaments cannot be rated
1264
- *
1265
1211
  */
1266
1212
  post: operations["apiSwissUpdate"];
1267
1213
  delete?: never;
@@ -1284,7 +1230,6 @@ export interface paths {
1284
1230
  * @description Manually schedule the next round date and time of a Swiss tournament.
1285
1231
  * This sets the `roundInterval` field to `99999999`, i.e. manual scheduling.
1286
1232
  * All further rounds will need to be manually scheduled, unless the `roundInterval` field is changed back to automatic scheduling.
1287
- *
1288
1233
  */
1289
1234
  post: operations["apiSwissScheduleNextRound"];
1290
1235
  delete?: never;
@@ -1305,7 +1250,6 @@ export interface paths {
1305
1250
  /**
1306
1251
  * Join a Swiss tournament
1307
1252
  * @description Join a Swiss tournament, possibly with a password.
1308
- *
1309
1253
  */
1310
1254
  post: operations["apiSwissJoin"];
1311
1255
  delete?: never;
@@ -1327,7 +1271,6 @@ export interface paths {
1327
1271
  * Pause or leave a swiss tournament
1328
1272
  * @description Leave a future Swiss tournament, or take a break on an ongoing Swiss tournament.
1329
1273
  * It's possible to join again later. Points are preserved.
1330
- *
1331
1274
  */
1332
1275
  post: operations["apiSwissWithdraw"];
1333
1276
  delete?: never;
@@ -1348,7 +1291,6 @@ export interface paths {
1348
1291
  /**
1349
1292
  * Terminate a Swiss tournament
1350
1293
  * @description Terminate a Swiss tournament
1351
- *
1352
1294
  */
1353
1295
  post: operations["apiSwissTerminate"];
1354
1296
  delete?: never;
@@ -1369,7 +1311,6 @@ export interface paths {
1369
1311
  * @description Download a tournament in the Tournament Report File format, the FIDE standard.
1370
1312
  * Documentation: <https://www.fide.com/FIDE/handbook/C04Annex2_TRF16.pdf>
1371
1313
  * Example: <https://lichess.org/swiss/j8rtJ5GL.trf>
1372
- *
1373
1314
  */
1374
1315
  get: operations["swissTrf"];
1375
1316
  put?: never;
@@ -1389,12 +1330,11 @@ export interface paths {
1389
1330
  };
1390
1331
  /**
1391
1332
  * Export games of a Swiss tournament
1392
- * @description Download games of a swiss tournament in PGN or [ndjson](#section/Introduction/Streaming-with-ND-JSON) format.
1333
+ * @description Download games of a swiss tournament in PGN or [ndjson](#description/streaming-with-nd-json) format.
1393
1334
  * Games are sorted by chronological order.
1394
1335
  * The game stream is throttled, depending on who is making the request:
1395
1336
  * - Anonymous request: 20 games per second
1396
- * - [OAuth2 authenticated](#section/Introduction/Authentication) request: 30 games per second
1397
- *
1337
+ * - [OAuth2 authenticated](/#description/authentication) request: 30 games per second
1398
1338
  */
1399
1339
  get: operations["gamesBySwiss"];
1400
1340
  put?: never;
@@ -1415,11 +1355,10 @@ export interface paths {
1415
1355
  /**
1416
1356
  * Get results of a swiss tournament
1417
1357
  * @description Players of a swiss tournament, with their score and performance, sorted by rank (best first).
1418
- * Players are streamed as [ndjson](#section/Introduction/Streaming-with-ND-JSON).
1358
+ * Players are streamed as [ndjson](#description/streaming-with-nd-json).
1419
1359
  * If called on an ongoing tournament, results can be inconsistent
1420
1360
  * due to ranking changes while the players are being streamed.
1421
1361
  * Use on finished tournaments for guaranteed consistency.
1422
- *
1423
1362
  */
1424
1363
  get: operations["resultsBySwiss"];
1425
1364
  put?: never;
@@ -1441,8 +1380,7 @@ export interface paths {
1441
1380
  * Get team swiss tournaments
1442
1381
  * @description Get all swiss tournaments of a team.
1443
1382
  * Tournaments are sorted by reverse chronological order of start date (last starting first).
1444
- * Tournaments are streamed as [ndjson](#section/Introduction/Streaming-with-ND-JSON).
1445
- *
1383
+ * Tournaments are streamed as [ndjson](#description/streaming-with-nd-json).
1446
1384
  */
1447
1385
  get: operations["apiTeamSwiss"];
1448
1386
  put?: never;
@@ -1465,7 +1403,6 @@ export interface paths {
1465
1403
  * @description Download one study chapter in PGN format.
1466
1404
  * If authenticated, then all public, unlisted, and private study chapters are read.
1467
1405
  * If not, only public (non-unlisted) study chapters are read.
1468
- *
1469
1406
  */
1470
1407
  get: operations["studyChapterPgn"];
1471
1408
  put?: never;
@@ -1488,7 +1425,6 @@ export interface paths {
1488
1425
  * @description Download all chapters of a study in PGN format.
1489
1426
  * If authenticated, then all public, unlisted, and private study chapters are read.
1490
1427
  * If not, only public (non-unlisted) study chapters are read.
1491
- *
1492
1428
  */
1493
1429
  get: operations["studyAllChaptersPgn"];
1494
1430
  put?: never;
@@ -1498,7 +1434,6 @@ export interface paths {
1498
1434
  /**
1499
1435
  * Study metadata
1500
1436
  * @description Only get the study headers, including `Last-Modified`.
1501
- *
1502
1437
  */
1503
1438
  head: operations["studyAllChaptersHead"];
1504
1439
  patch?: never;
@@ -1519,7 +1454,6 @@ export interface paths {
1519
1454
  * If the PGN contains multiple games (separated by 2 or more newlines)
1520
1455
  * then multiple chapters will be created within the study.
1521
1456
  * Note that a study can contain at most 64 chapters.
1522
- *
1523
1457
  */
1524
1458
  post: operations["apiStudyImportPGN"];
1525
1459
  delete?: never;
@@ -1546,7 +1480,6 @@ export interface paths {
1546
1480
  * - Delete existing chapter tags, by providing a tag with an empty value.
1547
1481
  *
1548
1482
  * The chapter keeps the tags that you don't provide.
1549
- *
1550
1483
  */
1551
1484
  post: operations["apiStudyChapterTags"];
1552
1485
  delete?: never;
@@ -1567,7 +1500,6 @@ export interface paths {
1567
1500
  * @description Download all chapters of all studies of a user in PGN format.
1568
1501
  * If authenticated, then all public, unlisted, and private studies are included.
1569
1502
  * If not, only public (non-unlisted) studies are included.
1570
- *
1571
1503
  */
1572
1504
  get: operations["studyExportAllPgn"];
1573
1505
  put?: never;
@@ -1590,8 +1522,7 @@ export interface paths {
1590
1522
  * @description Get metadata (name and dates) of all studies of a user.
1591
1523
  * If authenticated, then all public, unlisted, and private studies are included.
1592
1524
  * If not, only public (non-unlisted) studies are included.
1593
- * Studies are streamed as [ndjson](#section/Introduction/Streaming-with-ND-JSON).
1594
- *
1525
+ * Studies are streamed as [ndjson](#description/streaming-with-nd-json).
1595
1526
  */
1596
1527
  get: operations["studyListMetadata"];
1597
1528
  put?: never;
@@ -1617,7 +1548,6 @@ export interface paths {
1617
1548
  * @description Delete a chapter of a study you own. This is definitive.
1618
1549
  * A study must have at least one chapter; so if you delete the last chapter,
1619
1550
  * an empty one will be automatically created to replace it.
1620
- *
1621
1551
  */
1622
1552
  delete: operations["apiStudyStudyIdChapterIdDelete"];
1623
1553
  options?: never;
@@ -1636,8 +1566,7 @@ export interface paths {
1636
1566
  * Get official broadcasts
1637
1567
  * @description Returns ongoing official broadcasts sorted by tier.
1638
1568
  * After that, returns finished broadcasts sorted by most recent sync time.
1639
- * Broadcasts are streamed as [ndjson](#section/Introduction/Streaming-with-ND-JSON).
1640
- *
1569
+ * Broadcasts are streamed as [ndjson](#description/streaming-with-nd-json).
1641
1570
  */
1642
1571
  get: operations["broadcastsOfficial"];
1643
1572
  put?: never;
@@ -1658,7 +1587,6 @@ export interface paths {
1658
1587
  /**
1659
1588
  * Get paginated top broadcast previews
1660
1589
  * @description The same data, in the same order, as can be seen on [https://lichess.org/broadcast](/broadcast).
1661
- *
1662
1590
  */
1663
1591
  get: operations["broadcastsTop"];
1664
1592
  put?: never;
@@ -1682,7 +1610,6 @@ export interface paths {
1682
1610
  * The broadcasts are sorted by created date, most recent first.
1683
1611
  *
1684
1612
  * If you are authenticated as the user whose broadcasts you are requesting, you will also see your private and unlisted broadcasts.
1685
- *
1686
1613
  */
1687
1614
  get: operations["broadcastsByUser"];
1688
1615
  put?: never;
@@ -1703,7 +1630,6 @@ export interface paths {
1703
1630
  /**
1704
1631
  * Search broadcasts
1705
1632
  * @description Search across recent official broadcasts.
1706
- *
1707
1633
  */
1708
1634
  get: operations["broadcastsSearch"];
1709
1635
  put?: never;
@@ -1727,7 +1653,6 @@ export interface paths {
1727
1653
  * Create a broadcast tournament
1728
1654
  * @description Create a new broadcast tournament to relay external games.
1729
1655
  * This endpoint accepts the same form data as the [web form](https://lichess.org/broadcast/new).
1730
- *
1731
1656
  */
1732
1657
  post: operations["broadcastTourCreate"];
1733
1658
  delete?: never;
@@ -1746,7 +1671,6 @@ export interface paths {
1746
1671
  /**
1747
1672
  * Get a broadcast tournament
1748
1673
  * @description Get information about a broadcast tournament.
1749
- *
1750
1674
  */
1751
1675
  get: operations["broadcastTourGet"];
1752
1676
  put?: never;
@@ -1767,7 +1691,6 @@ export interface paths {
1767
1691
  /**
1768
1692
  * Get players of a broadcast
1769
1693
  * @description Get the list of players of a broadcast tournament, if available.
1770
- *
1771
1694
  */
1772
1695
  get: operations["broadcastPlayersGet"];
1773
1696
  put?: never;
@@ -1788,7 +1711,6 @@ export interface paths {
1788
1711
  /**
1789
1712
  * Get a player from a broadcast
1790
1713
  * @description Get the details of a specific player and their games from a broadcast tournament.
1791
- *
1792
1714
  */
1793
1715
  get: operations["broadcastPlayerGet"];
1794
1716
  put?: never;
@@ -1813,7 +1735,6 @@ export interface paths {
1813
1735
  * @description Update information about a broadcast tournament that you created.
1814
1736
  * This endpoint accepts the same form data as the web form.
1815
1737
  * All fields must be populated with data. Missing fields will override the broadcast with empty data.
1816
- *
1817
1738
  */
1818
1739
  post: operations["broadcastTourUpdate"];
1819
1740
  delete?: never;
@@ -1837,7 +1758,6 @@ export interface paths {
1837
1758
  * This endpoint accepts the same form data as the web form.
1838
1759
  *
1839
1760
  * Choose one between `syncUrl`, `syncUrls`, `syncIds` and `syncUsers`, if it is missing, the broadcast needs to be fed by [pushing PGN to it](#operation/broadcastPush)
1840
- *
1841
1761
  */
1842
1762
  post: operations["broadcastRoundCreate"];
1843
1763
  delete?: never;
@@ -1856,7 +1776,6 @@ export interface paths {
1856
1776
  /**
1857
1777
  * Get a broadcast round
1858
1778
  * @description Get information about a broadcast round.
1859
- *
1860
1779
  */
1861
1780
  get: operations["broadcastRoundGet"];
1862
1781
  put?: never;
@@ -1882,7 +1801,6 @@ export interface paths {
1882
1801
  * This endpoint accepts the same form data as the web form.
1883
1802
  * All fields must be populated with data. Missing fields will override the broadcast with empty data.
1884
1803
  * For instance, if you omit `startDate`, then any pre-existing start date will be removed.
1885
- *
1886
1804
  */
1887
1805
  post: operations["broadcastRoundUpdate"];
1888
1806
  delete?: never;
@@ -1903,7 +1821,6 @@ export interface paths {
1903
1821
  /**
1904
1822
  * Reset a broadcast round
1905
1823
  * @description Remove any games from the broadcast round and reset it to its initial state.
1906
- *
1907
1824
  */
1908
1825
  post: operations["broadcastRoundReset"];
1909
1826
  delete?: never;
@@ -1925,7 +1842,6 @@ export interface paths {
1925
1842
  * Push PGN to a broadcast round
1926
1843
  * @description Update a broadcast with new PGN.
1927
1844
  * Only for broadcasts without a source URL.
1928
- *
1929
1845
  */
1930
1846
  post: operations["broadcastPush"];
1931
1847
  delete?: never;
@@ -1948,7 +1864,6 @@ export interface paths {
1948
1864
  * The stream will also send PGNs when games are added to the round.
1949
1865
  * This is the best way to get updates about an ongoing round. Streaming means no polling,
1950
1866
  * and no pollings means no latency, and minimum impact on the server.
1951
- *
1952
1867
  */
1953
1868
  get: operations["broadcastStreamRoundPgn"];
1954
1869
  put?: never;
@@ -1973,7 +1888,6 @@ export interface paths {
1973
1888
  * and very inefficient.
1974
1889
  * Instead, consider [streaming the tournament](#operation/broadcastStreamRoundPgn) to get
1975
1890
  * a new PGN every time a game is updated, in real-time.
1976
- *
1977
1891
  */
1978
1892
  get: operations["broadcastRoundPgn"];
1979
1893
  put?: never;
@@ -1997,7 +1911,6 @@ export interface paths {
1997
1911
  * If a `study:read` [OAuth token](#tag/OAuth) is provided,
1998
1912
  * the private rounds where the user is a contributor will be available.
1999
1913
  * You may want to [download only the games of a single round](#operation/broadcastRoundPgn) instead.
2000
- *
2001
1914
  */
2002
1915
  get: operations["broadcastAllRoundsPgn"];
2003
1916
  put?: never;
@@ -2021,7 +1934,6 @@ export interface paths {
2021
1934
  * Also includes broadcasts rounds you did not create, but were invited to.
2022
1935
  * Also includes broadcasts rounds where you're a non-writing member. See the `writeable` flag in the response.
2023
1936
  * Rounds are ordered by rank, which is roughly chronological, most recent first, slightly pondered with popularity.
2024
- *
2025
1937
  */
2026
1938
  get: operations["broadcastMyRoundsGet"];
2027
1939
  put?: never;
@@ -2042,7 +1954,6 @@ export interface paths {
2042
1954
  /**
2043
1955
  * Get a FIDE player
2044
1956
  * @description Get information about a FIDE player.
2045
- *
2046
1957
  */
2047
1958
  get: operations["fidePlayerGet"];
2048
1959
  put?: never;
@@ -2063,7 +1974,6 @@ export interface paths {
2063
1974
  /**
2064
1975
  * Search FIDE players
2065
1976
  * @description List of FIDE players search results for a query.
2066
- *
2067
1977
  */
2068
1978
  get: operations["fidePlayerSearch"];
2069
1979
  put?: never;
@@ -2086,8 +1996,7 @@ export interface paths {
2086
1996
  * @description Get recently created, started, finished, simuls.
2087
1997
  * Created and finished simul lists are not exhaustives, only those with
2088
1998
  * strong enough host will be listed, the same filter is used to display simuls on https://lichess.org/simul.
2089
- * When [authenticated with OAuth2](#section/Introduction/Authentication), the pending list will be populated with your created, but unstarted simuls.
2090
- *
1999
+ * When [authenticated with OAuth2](/#description/authentication), the pending list will be populated with your created, but unstarted simuls.
2091
2000
  */
2092
2001
  get: operations["apiSimul"];
2093
2002
  put?: never;
@@ -2128,7 +2037,6 @@ export interface paths {
2128
2037
  /**
2129
2038
  * Get popular teams
2130
2039
  * @description Paginator of the most popular teams.
2131
- *
2132
2040
  */
2133
2041
  get: operations["teamAll"];
2134
2042
  put?: never;
@@ -2149,7 +2057,6 @@ export interface paths {
2149
2057
  /**
2150
2058
  * Teams of a player
2151
2059
  * @description All the teams a player is a member of.
2152
- *
2153
2060
  */
2154
2061
  get: operations["teamOfUsername"];
2155
2062
  put?: never;
@@ -2170,7 +2077,6 @@ export interface paths {
2170
2077
  /**
2171
2078
  * Search teams
2172
2079
  * @description Paginator of team search results for a keyword.
2173
- *
2174
2080
  */
2175
2081
  get: operations["teamSearch"];
2176
2082
  put?: never;
@@ -2192,8 +2098,7 @@ export interface paths {
2192
2098
  * Get members of a team
2193
2099
  * @description Members are sorted by reverse chronological order of joining the team (most recent first).
2194
2100
  * OAuth is only required if the list of members is private.
2195
- * Up to 5,000 users are streamed as [ndjson](#section/Introduction/Streaming-with-ND-JSON).
2196
- *
2101
+ * Up to 5,000 users are streamed as [ndjson](#description/streaming-with-nd-json).
2197
2102
  */
2198
2103
  get: operations["teamIdUsers"];
2199
2104
  put?: never;
@@ -2215,8 +2120,7 @@ export interface paths {
2215
2120
  * Get team Arena tournaments
2216
2121
  * @description Get all Arena tournaments relevant to a team.
2217
2122
  * Tournaments are sorted by reverse chronological order of start date (last starting first).
2218
- * Tournaments are streamed as [ndjson](#section/Introduction/Streaming-with-ND-JSON).
2219
- *
2123
+ * Tournaments are streamed as [ndjson](#description/streaming-with-nd-json).
2220
2124
  */
2221
2125
  get: operations["apiTeamArena"];
2222
2126
  put?: never;
@@ -2244,7 +2148,6 @@ export interface paths {
2244
2148
  * Similarly, if the team join policy requires a confirmation but the
2245
2149
  * `message` parameter is not given, then the call fails with
2246
2150
  * `403 Forbidden`.
2247
- *
2248
2151
  */
2249
2152
  post: operations["teamIdJoin"];
2250
2153
  delete?: never;
@@ -2266,7 +2169,6 @@ export interface paths {
2266
2169
  * Leave a team
2267
2170
  * @description Leave a team.
2268
2171
  * - <https://lichess.org/team>
2269
- *
2270
2172
  */
2271
2173
  post: operations["teamIdQuit"];
2272
2174
  delete?: never;
@@ -2348,7 +2250,6 @@ export interface paths {
2348
2250
  * Kick a user from your team
2349
2251
  * @description Kick a member out of one of your teams.
2350
2252
  * - <https://lichess.org/team>
2351
- *
2352
2253
  */
2353
2254
  post: operations["teamIdKickUserId"];
2354
2255
  delete?: never;
@@ -2370,7 +2271,6 @@ export interface paths {
2370
2271
  * Message all members
2371
2272
  * @description Send a private message to all members of a team.
2372
2273
  * You must be a team leader with the "Messages" permission.
2373
- *
2374
2274
  */
2375
2275
  post: operations["teamIdPmAll"];
2376
2276
  delete?: never;
@@ -2391,7 +2291,6 @@ export interface paths {
2391
2291
  * @description Get basic info about currently streaming users.
2392
2292
  * This API is very fast and cheap on lichess side.
2393
2293
  * So you can call it quite often (like once every 5 seconds).
2394
- *
2395
2294
  */
2396
2295
  get: operations["streamerLive"];
2397
2296
  put?: never;
@@ -2413,7 +2312,6 @@ export interface paths {
2413
2312
  * Get crosstable
2414
2313
  * @description Get total number of games, and current score, of any two users.
2415
2314
  * If the `matchup` flag is provided, and the users are currently playing, also gets the current match game number and scores.
2416
- *
2417
2315
  */
2418
2316
  get: operations["apiCrosstable"];
2419
2317
  put?: never;
@@ -2434,7 +2332,6 @@ export interface paths {
2434
2332
  /**
2435
2333
  * Autocomplete usernames
2436
2334
  * @description Provides autocompletion options for an incomplete username.
2437
- *
2438
2335
  */
2439
2336
  get: operations["apiPlayerAutocomplete"];
2440
2337
  put?: never;
@@ -2455,14 +2352,12 @@ export interface paths {
2455
2352
  /**
2456
2353
  * Get notes for a user
2457
2354
  * @description Get the private notes that you have added for a user.
2458
- *
2459
2355
  */
2460
2356
  get: operations["readNote"];
2461
2357
  put?: never;
2462
2358
  /**
2463
2359
  * Add a note for a user
2464
2360
  * @description Add a private note available only to you about this account.
2465
- *
2466
2361
  */
2467
2362
  post: operations["writeNote"];
2468
2363
  delete?: never;
@@ -2480,8 +2375,7 @@ export interface paths {
2480
2375
  };
2481
2376
  /**
2482
2377
  * Get users followed by the logged in user
2483
- * @description Users are streamed as [ndjson](#section/Introduction/Streaming-with-ND-JSON).
2484
- *
2378
+ * @description Users are streamed as [ndjson](#description/streaming-with-nd-json).
2485
2379
  */
2486
2380
  get: operations["apiUserFollowing"];
2487
2381
  put?: never;
@@ -2504,7 +2398,6 @@ export interface paths {
2504
2398
  /**
2505
2399
  * Follow a player
2506
2400
  * @description Follow a player, adding them to your list of Lichess friends.
2507
- *
2508
2401
  */
2509
2402
  post: operations["followUser"];
2510
2403
  delete?: never;
@@ -2525,7 +2418,6 @@ export interface paths {
2525
2418
  /**
2526
2419
  * Unfollow a player
2527
2420
  * @description Unfollow a player, removing them from your list of Lichess friends.
2528
- *
2529
2421
  */
2530
2422
  post: operations["unfollowUser"];
2531
2423
  delete?: never;
@@ -2546,7 +2438,6 @@ export interface paths {
2546
2438
  /**
2547
2439
  * Block a player
2548
2440
  * @description Block a player, adding them to your list of blocked Lichess users.
2549
- *
2550
2441
  */
2551
2442
  post: operations["blockUser"];
2552
2443
  delete?: never;
@@ -2567,7 +2458,6 @@ export interface paths {
2567
2458
  /**
2568
2459
  * Unblock a player
2569
2460
  * @description Unblock a player, removing them from your list of blocked Lichess users.
2570
- *
2571
2461
  */
2572
2462
  post: operations["unblockUser"];
2573
2463
  delete?: never;
@@ -2585,7 +2475,7 @@ export interface paths {
2585
2475
  };
2586
2476
  /**
2587
2477
  * Stream incoming events
2588
- * @description Stream the events reaching a lichess user in real time as [ndjson](#section/Introduction/Streaming-with-ND-JSON).
2478
+ * @description Stream the events reaching a lichess user in real time as [ndjson](#description/streaming-with-nd-json).
2589
2479
  *
2590
2480
  * An empty line is sent every 7 seconds for keep alive purposes.
2591
2481
  *
@@ -2599,7 +2489,6 @@ export interface paths {
2599
2489
  * When the stream opens, all current challenges and games are sent.
2600
2490
  *
2601
2491
  * Only one global event stream can be active at a time. When the stream opens, the previous one with the same access token is closed.
2602
- *
2603
2492
  */
2604
2493
  get: operations["apiStreamEvent"];
2605
2494
  put?: never;
@@ -2641,7 +2530,6 @@ export interface paths {
2641
2530
  *
2642
2531
  * Specify the `days` per turn value.
2643
2532
  * The response is not streamed, it immediately completes with the seek ID. The seek remains active on the server until it is joined by someone.
2644
- *
2645
2533
  */
2646
2534
  post: operations["apiBoardSeek"];
2647
2535
  delete?: never;
@@ -2659,7 +2547,7 @@ export interface paths {
2659
2547
  };
2660
2548
  /**
2661
2549
  * Stream Board game state
2662
- * @description Stream the state of a game being played with the Board API, as [ndjson](#section/Introduction/Streaming-with-ND-JSON).
2550
+ * @description Stream the state of a game being played with the Board API, as [ndjson](#description/streaming-with-nd-json).
2663
2551
  *
2664
2552
  * Use this endpoint to get updates about the game in real-time, with a single request.
2665
2553
  *
@@ -2672,7 +2560,6 @@ export interface paths {
2672
2560
  * The first line is always of type `gameFull`.
2673
2561
  *
2674
2562
  * The server closes the stream when the game ends, or if the game has already ended.
2675
- *
2676
2563
  */
2677
2564
  get: operations["boardGameStream"];
2678
2565
  put?: never;
@@ -2696,7 +2583,6 @@ export interface paths {
2696
2583
  * Make a Board move
2697
2584
  * @description Make a move in a game being played with the Board API.
2698
2585
  * The move can also contain a draw offer/agreement.
2699
- *
2700
2586
  */
2701
2587
  post: operations["boardGameMove"];
2702
2588
  delete?: never;
@@ -2717,14 +2603,12 @@ export interface paths {
2717
2603
  /**
2718
2604
  * Fetch the game chat
2719
2605
  * @description Get the messages posted in the game chat
2720
- *
2721
2606
  */
2722
2607
  get: operations["boardGameChatGet"];
2723
2608
  put?: never;
2724
2609
  /**
2725
2610
  * Write in the chat
2726
2611
  * @description Post a message to the player or spectator chat, in a game being played with the Board API.
2727
- *
2728
2612
  */
2729
2613
  post: operations["boardGameChatPost"];
2730
2614
  delete?: never;
@@ -2745,7 +2629,6 @@ export interface paths {
2745
2629
  /**
2746
2630
  * Abort a game
2747
2631
  * @description Abort a game being played with the Board API.
2748
- *
2749
2632
  */
2750
2633
  post: operations["boardGameAbort"];
2751
2634
  delete?: never;
@@ -2766,7 +2649,6 @@ export interface paths {
2766
2649
  /**
2767
2650
  * Resign a game
2768
2651
  * @description Resign a game being played with the Board API.
2769
- *
2770
2652
  */
2771
2653
  post: operations["boardGameResign"];
2772
2654
  delete?: never;
@@ -2789,7 +2671,6 @@ export interface paths {
2789
2671
  * @description Create/accept/decline draw offers.
2790
2672
  * - `yes`: Offer a draw, or accept the opponent's draw offer.
2791
2673
  * - `no`: Decline a draw offer from the opponent.
2792
- *
2793
2674
  */
2794
2675
  post: operations["boardGameDraw"];
2795
2676
  delete?: never;
@@ -2812,7 +2693,6 @@ export interface paths {
2812
2693
  * @description Create/accept/decline takebacks.
2813
2694
  * - `yes`: Propose a takeback, or accept the opponent's takeback offer.
2814
2695
  * - `no`: Decline a takeback offer from the opponent.
2815
- *
2816
2696
  */
2817
2697
  post: operations["boardGameTakeback"];
2818
2698
  delete?: never;
@@ -2833,7 +2713,6 @@ export interface paths {
2833
2713
  /**
2834
2714
  * Claim victory of a game
2835
2715
  * @description Claim victory when the opponent has left the game for a while.
2836
- *
2837
2716
  */
2838
2717
  post: operations["boardGameClaimVictory"];
2839
2718
  delete?: never;
@@ -2854,7 +2733,6 @@ export interface paths {
2854
2733
  /**
2855
2734
  * Claim draw of a game
2856
2735
  * @description Claim draw when the opponent has left the game for a while.
2857
- *
2858
2736
  */
2859
2737
  post: operations["boardGameClaimDraw"];
2860
2738
  delete?: never;
@@ -2876,7 +2754,6 @@ export interface paths {
2876
2754
  * Berserk a tournament game
2877
2755
  * @description Go berserk on an arena tournament game. Halves the clock time, grants an extra point upon winning.
2878
2756
  * Only available in arena tournaments that allow berserk, and before each player has made a move.
2879
- *
2880
2757
  */
2881
2758
  post: operations["boardGameBerserk"];
2882
2759
  delete?: never;
@@ -2894,7 +2771,7 @@ export interface paths {
2894
2771
  };
2895
2772
  /**
2896
2773
  * Get online bots
2897
- * @description Stream the [online bot users](https://lichess.org/player/bots), as [ndjson](#section/Introduction/Streaming-with-ND-JSON). Throttled to 50 bot users per second.
2774
+ * @description Stream the [online bot users](https://lichess.org/player/bots), as [ndjson](#description/streaming-with-nd-json). Throttled to 50 bot users per second.
2898
2775
  */
2899
2776
  get: operations["apiBotOnline"];
2900
2777
  put?: never;
@@ -2923,7 +2800,6 @@ export interface paths {
2923
2800
  * - `curl -d '' https://lichess.org/api/bot/account/upgrade -H "Authorization: Bearer <yourTokenHere>"`
2924
2801
  * To know if an account has already been upgraded, use the [Get my profile API](#operation/accountMe):
2925
2802
  * the `title` field should be set to `BOT`.
2926
- *
2927
2803
  */
2928
2804
  post: operations["botAccountUpgrade"];
2929
2805
  delete?: never;
@@ -2941,7 +2817,7 @@ export interface paths {
2941
2817
  };
2942
2818
  /**
2943
2819
  * Stream Bot game state
2944
- * @description Stream the state of a game being played with the Bot API, as [ndjson](#section/Introduction/Streaming-with-ND-JSON).
2820
+ * @description Stream the state of a game being played with the Bot API, as [ndjson](#description/streaming-with-nd-json).
2945
2821
  * Use this endpoint to get updates about the game in real-time, with a single request.
2946
2822
  * Each line is a JSON object containing a `type` field. Possible values are:
2947
2823
  * - `gameFull` Full game data. All values are immutable, except for the `state` field.
@@ -2949,7 +2825,6 @@ export interface paths {
2949
2825
  * - `chatLine` Chat message sent by a user (or the bot itself) in the `room` "player" or "spectator".
2950
2826
  * - `opponentGone` Whether the opponent has left the game, and how long before you can claim a win or draw.
2951
2827
  * The first line is always of type `gameFull`.
2952
- *
2953
2828
  */
2954
2829
  get: operations["botGameStream"];
2955
2830
  put?: never;
@@ -2973,7 +2848,6 @@ export interface paths {
2973
2848
  * Make a Bot move
2974
2849
  * @description Make a move in a game being played with the Bot API.
2975
2850
  * The move can also contain a draw offer/agreement.
2976
- *
2977
2851
  */
2978
2852
  post: operations["botGameMove"];
2979
2853
  delete?: never;
@@ -2992,14 +2866,12 @@ export interface paths {
2992
2866
  /**
2993
2867
  * Fetch the game chat
2994
2868
  * @description Get the messages posted in the game chat
2995
- *
2996
2869
  */
2997
2870
  get: operations["botGameChatGet"];
2998
2871
  put?: never;
2999
2872
  /**
3000
2873
  * Write in the chat
3001
2874
  * @description Post a message to the player or spectator chat, in a game being played with the Bot API.
3002
- *
3003
2875
  */
3004
2876
  post: operations["botGameChat"];
3005
2877
  delete?: never;
@@ -3020,7 +2892,6 @@ export interface paths {
3020
2892
  /**
3021
2893
  * Abort a game
3022
2894
  * @description Abort a game being played with the Bot API.
3023
- *
3024
2895
  */
3025
2896
  post: operations["botGameAbort"];
3026
2897
  delete?: never;
@@ -3041,7 +2912,6 @@ export interface paths {
3041
2912
  /**
3042
2913
  * Resign a game
3043
2914
  * @description Resign a game being played with the Bot API.
3044
- *
3045
2915
  */
3046
2916
  post: operations["botGameResign"];
3047
2917
  delete?: never;
@@ -3064,7 +2934,6 @@ export interface paths {
3064
2934
  * @description Create/accept/decline draw offers with the Bot API.
3065
2935
  * - `yes`: Offer a draw, or accept the opponent's draw offer.
3066
2936
  * - `no`: Decline a draw offer from the opponent.
3067
- *
3068
2937
  */
3069
2938
  post: operations["botGameDraw"];
3070
2939
  delete?: never;
@@ -3087,7 +2956,6 @@ export interface paths {
3087
2956
  * @description Create/accept/decline takebacks with the Bot API.
3088
2957
  * - `yes`: Propose a takeback, or accept the opponent's takeback offer.
3089
2958
  * - `no`: Decline a takeback offer from the opponent.
3090
- *
3091
2959
  */
3092
2960
  post: operations["botGameTakeback"];
3093
2961
  delete?: never;
@@ -3108,7 +2976,6 @@ export interface paths {
3108
2976
  /**
3109
2977
  * Claim victory of a game
3110
2978
  * @description Claim victory when the opponent has left the game for a while.
3111
- *
3112
2979
  */
3113
2980
  post: operations["botGameClaimVictory"];
3114
2981
  delete?: never;
@@ -3129,7 +2996,6 @@ export interface paths {
3129
2996
  /**
3130
2997
  * Claim draw of a game
3131
2998
  * @description Claim draw when the opponent has left the game for a while.
3132
- *
3133
2999
  */
3134
3000
  post: operations["botGameClaimDraw"];
3135
3001
  delete?: never;
@@ -3148,7 +3014,6 @@ export interface paths {
3148
3014
  /**
3149
3015
  * List your challenges
3150
3016
  * @description Get a list of challenges created by or targeted at you.
3151
- *
3152
3017
  */
3153
3018
  get: operations["challengeList"];
3154
3019
  put?: never;
@@ -3175,7 +3040,6 @@ export interface paths {
3175
3040
  * that a new game has started. The game ID will be the same as the challenge ID.
3176
3041
  * Challenges for realtime games (not correspondence) expire after 20s if not accepted.
3177
3042
  * To prevent that, use the `keepAliveStream` flag described below.
3178
- *
3179
3043
  */
3180
3044
  post: operations["challengeCreate"];
3181
3045
  delete?: never;
@@ -3194,7 +3058,6 @@ export interface paths {
3194
3058
  /**
3195
3059
  * Show one challenge
3196
3060
  * @description Get details about a challenge, even if it has been recently accepted, canceled or declined.
3197
- *
3198
3061
  */
3199
3062
  get: operations["challengeShow"];
3200
3063
  put?: never;
@@ -3218,7 +3081,6 @@ export interface paths {
3218
3081
  * Accept a challenge
3219
3082
  * @description Accept an incoming challenge.
3220
3083
  * You should receive a `gameStart` event on the [incoming events stream](#operation/apiStreamEvent).
3221
- *
3222
3084
  */
3223
3085
  post: operations["challengeAccept"];
3224
3086
  delete?: never;
@@ -3239,7 +3101,6 @@ export interface paths {
3239
3101
  /**
3240
3102
  * Decline a challenge
3241
3103
  * @description Decline an incoming challenge.
3242
- *
3243
3104
  */
3244
3105
  post: operations["challengeDecline"];
3245
3106
  delete?: never;
@@ -3262,7 +3123,6 @@ export interface paths {
3262
3123
  * @description Cancel a challenge you sent, or aborts the game if the challenge was accepted, but the game was not yet played.
3263
3124
  * Note that the ID of a game is the same as the ID of the challenge that created it.
3264
3125
  * Works for user challenges and open challenges alike.
3265
- *
3266
3126
  */
3267
3127
  post: operations["challengeCancel"];
3268
3128
  delete?: never;
@@ -3284,7 +3144,6 @@ export interface paths {
3284
3144
  * Challenge the AI
3285
3145
  * @description Start a game with Lichess AI.
3286
3146
  * You will be notified on the [event stream](#operation/apiStreamEvent) that a new game has started.
3287
- *
3288
3147
  */
3289
3148
  post: operations["challengeAi"];
3290
3149
  delete?: never;
@@ -3310,10 +3169,9 @@ export interface paths {
3310
3169
  * You can control which color each player gets by giving them these URLs,
3311
3170
  * instead of the main challenge URL.
3312
3171
  * Open challenges expire after 24h.
3313
- * If the challenge creation is [authenticated with OAuth2](#section/Introduction/Authentication),
3172
+ * If the challenge creation is [authenticated with OAuth2](/#description/authentication),
3314
3173
  * then you can use the [challenge cancel endpoint](#operation/challengeCancel) to cancel it.
3315
3174
  * To directly pair 2 known players, use [this endpoint](#operation/bulkPairingList) instead.
3316
- *
3317
3175
  */
3318
3176
  post: operations["challengeOpen"];
3319
3177
  delete?: never;
@@ -3338,7 +3196,6 @@ export interface paths {
3338
3196
  * If the clocks have already started, the call will have no effect.
3339
3197
  *
3340
3198
  * For AI games with only one player, omit the `token2` parameter.
3341
- *
3342
3199
  */
3343
3200
  post: operations["challengeStartClocks"];
3344
3201
  delete?: never;
@@ -3357,7 +3214,6 @@ export interface paths {
3357
3214
  /**
3358
3215
  * View your bulk pairings
3359
3216
  * @description Get a list of bulk pairings you created.
3360
- *
3361
3217
  */
3362
3218
  get: operations["bulkPairingList"];
3363
3219
  put?: never;
@@ -3384,7 +3240,6 @@ export interface paths {
3384
3240
  * Failed bulks are not counted in the rate limiting, they are free.
3385
3241
  * Fix the issues, manually or programmatically, then retry to schedule the bulk.
3386
3242
  * A successful bulk creation returns a JSON bulk document. Its ID can be used for further operations.
3387
- *
3388
3243
  */
3389
3244
  post: operations["bulkPairingCreate"];
3390
3245
  delete?: never;
@@ -3408,7 +3263,6 @@ export interface paths {
3408
3263
  * This overrides the `startClocksAt` value of an existing bulk pairing.
3409
3264
  * If the games have not yet been created (`bulk.pairAt` is in the future), then this does nothing.
3410
3265
  * If the clocks have already started (`bulk.startClocksAt` is in the past), then this does nothing.
3411
- *
3412
3266
  */
3413
3267
  post: operations["bulkPairingStartClocks"];
3414
3268
  delete?: never;
@@ -3427,7 +3281,6 @@ export interface paths {
3427
3281
  /**
3428
3282
  * Show a bulk pairing
3429
3283
  * @description Get a single bulk pairing by its ID.
3430
- *
3431
3284
  */
3432
3285
  get: operations["bulkPairingGet"];
3433
3286
  put?: never;
@@ -3437,7 +3290,6 @@ export interface paths {
3437
3290
  * @description Cancel and delete a bulk pairing that is scheduled in the future.
3438
3291
  * If the games have already been created, then this does nothing.
3439
3292
  * Canceling a bulk pairing does not refund the rate limit cost of that bulk pairing.
3440
- *
3441
3293
  */
3442
3294
  delete: operations["bulkPairingDelete"];
3443
3295
  options?: never;
@@ -3454,8 +3306,7 @@ export interface paths {
3454
3306
  };
3455
3307
  /**
3456
3308
  * Export games of a bulk pairing
3457
- * @description Download games of a bulk in PGN or [ndjson](#section/Introduction/Streaming-with-ND-JSON) format, depending on the request `Accept` header.
3458
- *
3309
+ * @description Download games of a bulk in PGN or [ndjson](#description/streaming-with-nd-json) format, depending on the request `Accept` header.
3459
3310
  */
3460
3311
  get: operations["bulkPairingIdGamesGet"];
3461
3312
  put?: never;
@@ -3478,7 +3329,6 @@ export interface paths {
3478
3329
  /**
3479
3330
  * Add time to the opponent clock
3480
3331
  * @description Add seconds to the opponent's clock. Can be used to create games with time odds.
3481
- *
3482
3332
  */
3483
3333
  post: operations["roundAddTime"];
3484
3334
  delete?: never;
@@ -3501,7 +3351,6 @@ export interface paths {
3501
3351
  * @description **This endpoint can only be used by Lichess administrators. It will not work if you do not have the appropriate permissions.** Tournament organizers should instead use [OAuth](#tag/OAuth) to obtain `challenge:write` tokens from users in order to perform bulk pairing.*
3502
3352
  * Create and obtain `challenge:write` tokens for multiple users.
3503
3353
  * If a similar token already exists for a user, it is reused. This endpoint is idempotent.
3504
- *
3505
3354
  */
3506
3355
  post: operations["adminChallengeTokens"];
3507
3356
  delete?: never;
@@ -3522,7 +3371,6 @@ export interface paths {
3522
3371
  /**
3523
3372
  * Send a private message
3524
3373
  * @description Send a private message to another player.
3525
- *
3526
3374
  */
3527
3375
  post: operations["inboxUsername"];
3528
3376
  delete?: never;
@@ -3545,7 +3393,6 @@ export interface paths {
3545
3393
  * Up to 5 variations may be available. Variants are supported.
3546
3394
  * Use this endpoint to fetch a few positions here and there.
3547
3395
  * If you want to download a lot of positions, [get the full list](https://database.lichess.org/#evals) from our exported database.
3548
- *
3549
3396
  */
3550
3397
  get: operations["apiCloudEval"];
3551
3398
  put?: never;
@@ -3567,7 +3414,6 @@ export interface paths {
3567
3414
  * List external engines
3568
3415
  * @description Lists all external engines that have been registered for the user,
3569
3416
  * and the credentials required to use them.
3570
- *
3571
3417
  */
3572
3418
  get: operations["apiExternalEngineList"];
3573
3419
  put?: never;
@@ -3576,7 +3422,6 @@ export interface paths {
3576
3422
  * @description Registers a new external engine for the user. It can then be selected
3577
3423
  * and used on the analysis board.
3578
3424
  * After registering, the provider should start waiting for analyis requests.
3579
- *
3580
3425
  */
3581
3426
  post: operations["apiExternalEngineCreate"];
3582
3427
  delete?: never;
@@ -3601,20 +3446,17 @@ export interface paths {
3601
3446
  /**
3602
3447
  * Get external engine
3603
3448
  * @description Get properties and credentials of an external engine.
3604
- *
3605
3449
  */
3606
3450
  get: operations["apiExternalEngineGet"];
3607
3451
  /**
3608
3452
  * Update external engine
3609
3453
  * @description Updates the properties of an external engine.
3610
- *
3611
3454
  */
3612
3455
  put: operations["apiExternalEnginePut"];
3613
3456
  post?: never;
3614
3457
  /**
3615
3458
  * Delete external engine
3616
3459
  * @description Unregisters an external engine.
3617
- *
3618
3460
  */
3619
3461
  delete: operations["apiExternalEngineDelete"];
3620
3462
  options?: never;
@@ -3641,11 +3483,10 @@ export interface paths {
3641
3483
  * Analyse with external engine
3642
3484
  * @description **Endpoint: `https://engine.lichess.ovh/api/external-engine/{id}/analyse`**
3643
3485
  * Request analysis from an external engine.
3644
- * Response content is streamed as [newline delimited JSON](#section/Introduction/Streaming-with-ND-JSON).
3486
+ * Response content is streamed as [newline delimited JSON](#description/streaming-with-nd-json).
3645
3487
  * The properties are based on the [UCI specification](https://backscattering.de/chess/uci/#engine).
3646
3488
  * Analysis stops when the client goes away, the requested limit
3647
3489
  * is reached, or the provider goes away.
3648
- *
3649
3490
  */
3650
3491
  post: operations["apiExternalEngineAnalyse"];
3651
3492
  delete?: never;
@@ -3671,7 +3512,6 @@ export interface paths {
3671
3512
  * Uses long polling.
3672
3513
  * After acquiring a request, the provider should immediately
3673
3514
  * [start streaming the results](#tag/External-engine/operation/apiExternalEngineSubmit).
3674
- *
3675
3515
  */
3676
3516
  post: operations["apiExternalEngineAcquire"];
3677
3517
  delete?: never;
@@ -3706,7 +3546,6 @@ export interface paths {
3706
3546
  * - `pv`
3707
3547
  * The server may close the connection at any time, indicating that
3708
3548
  * the requester has gone away and analysis should be stopped.
3709
- *
3710
3549
  */
3711
3550
  post: operations["apiExternalEngineSubmit"];
3712
3551
  delete?: never;
@@ -3758,7 +3597,6 @@ export interface paths {
3758
3597
  *
3759
3598
  * Finally, continue by using the authorization code to
3760
3599
  * [obtain an access token](#operation/apiToken).
3761
- *
3762
3600
  */
3763
3601
  get: operations["oauth"];
3764
3602
  put?: never;
@@ -3781,7 +3619,6 @@ export interface paths {
3781
3619
  /**
3782
3620
  * Obtain access token
3783
3621
  * @description OAuth2 token endpoint. Exchanges an authorization code for an access token.
3784
- *
3785
3622
  */
3786
3623
  post: operations["apiToken"];
3787
3624
  /**
@@ -3809,7 +3646,6 @@ export interface paths {
3809
3646
  * returns their associated user ID and scopes,
3810
3647
  * or `null` if the token is invalid.
3811
3648
  * The method is `POST` so a longer list of tokens can be sent in the request body.
3812
- *
3813
3649
  */
3814
3650
  post: operations["tokenTest"];
3815
3651
  delete?: never;
@@ -3830,7 +3666,6 @@ export interface paths {
3830
3666
  * @description **Endpoint: <https://explorer.lichess.ovh/masters>**
3831
3667
  *
3832
3668
  * Example: `curl https://explorer.lichess.ovh/masters?play=d2d4,d7d5,c2c4,c7c6,c4d5`
3833
- *
3834
3669
  */
3835
3670
  get: operations["openingExplorerMaster"];
3836
3671
  put?: never;
@@ -3855,7 +3690,6 @@ export interface paths {
3855
3690
  * Games sampled from all Lichess players.
3856
3691
  *
3857
3692
  * Example: `curl https://explorer.lichess.ovh/lichess?variant=standard&speeds=blitz,rapid,classical&ratings=2200,2500&fen=rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR%20w%20KQkq%20-%200%201`
3858
- *
3859
3693
  */
3860
3694
  get: operations["openingExplorerLichess"];
3861
3695
  put?: never;
@@ -3879,7 +3713,7 @@ export interface paths {
3879
3713
  *
3880
3714
  * Games of a Lichess player.
3881
3715
  *
3882
- * Responds with a stream of [newline delimited JSON](#section/Introduction/Streaming-with-ND-JSON). Will start indexing
3716
+ * Responds with a stream of [newline delimited JSON](#description/streaming-with-nd-json). Will start indexing
3883
3717
  * on demand, immediately respond with the current results, and stream
3884
3718
  * more updates until indexing is complete. The stream is throttled
3885
3719
  * and deduplicated. Empty lines may be sent to avoid timeouts.
@@ -3888,7 +3722,6 @@ export interface paths {
3888
3722
  * ongoing games at most once every day.
3889
3723
  *
3890
3724
  * Example: `curl https://explorer.lichess.ovh/player?player=revoof&color=white&play=d2d4,d7d5&recentGames=1`
3891
- *
3892
3725
  */
3893
3726
  get: operations["openingExplorerPlayer"];
3894
3727
  put?: never;
@@ -3911,7 +3744,6 @@ export interface paths {
3911
3744
  * @description **Endpoint: `https://explorer.lichess.ovh/masters/pgn/{gameId}`**
3912
3745
  *
3913
3746
  * Example: `curl https://explorer.lichess.ovh/masters/pgn/aAbqI4ey`
3914
- *
3915
3747
  */
3916
3748
  get: operations["openingExplorerMasterGame"];
3917
3749
  put?: never;
@@ -3934,7 +3766,6 @@ export interface paths {
3934
3766
  * @description **Endpoint: <https://tablebase.lichess.ovh>**
3935
3767
  *
3936
3768
  * Example: `curl http://tablebase.lichess.ovh/standard?fen=4k3/6KP/8/8/8/8/7p/8_w_-_-_0_1`
3937
- *
3938
3769
  */
3939
3770
  get: operations["tablebaseStandard"];
3940
3771
  put?: never;
@@ -3955,7 +3786,6 @@ export interface paths {
3955
3786
  /**
3956
3787
  * Tablebase lookup for Atomic chess
3957
3788
  * @description **Endpoint: <https://tablebase.lichess.ovh>**
3958
- *
3959
3789
  */
3960
3790
  get: operations["tablebaseAtomic"];
3961
3791
  put?: never;
@@ -3976,7 +3806,6 @@ export interface paths {
3976
3806
  /**
3977
3807
  * Tablebase lookup for Antichess
3978
3808
  * @description **Endpoint: <https://tablebase.lichess.ovh>**
3979
- *
3980
3809
  */
3981
3810
  get: operations["antichessAtomic"];
3982
3811
  put?: never;
@@ -4013,14 +3842,14 @@ export interface components {
4013
3842
  /**
4014
3843
  * @deprecated
4015
3844
  * @description Use patronColor value instead to determine if player is a patron.
4016
- *
4017
3845
  */
4018
3846
  Patron: boolean;
4019
- /** @description Players can choose a color for their Patron wings.
3847
+ /**
3848
+ * @description Players can choose a color for their Patron wings.
4020
3849
  * See [here for the color mappings](https://github.com/lichess-org/lila/blob/master/ui/lib/css/abstract/_patron-colors.scss).
4021
3850
  *
4022
3851
  * The presence of this field indicates the player is an active Patron.
4023
- * */
3852
+ */
4024
3853
  PatronColor: number;
4025
3854
  TopUser: {
4026
3855
  id: string;
@@ -4128,8 +3957,10 @@ export interface components {
4128
3957
  * @example 1500
4129
3958
  */
4130
3959
  dsbRating?: number;
4131
- /** @example github.com/ornicar
4132
- * mas.to/@thibault */
3960
+ /**
3961
+ * @example github.com/ornicar
3962
+ * mas.to/@thibault
3963
+ */
4133
3964
  links?: string;
4134
3965
  };
4135
3966
  PlayTime: {
@@ -4196,14 +4027,15 @@ export interface components {
4196
4027
  count?: components["schemas"]["Count"];
4197
4028
  streaming?: boolean;
4198
4029
  streamer?: components["schemas"]["UserStreamer"];
4199
- /** @description only appears if the request is [authenticated with OAuth2](#section/Introduction/Authentication) */
4030
+ /** @description only appears if the request is [authenticated with OAuth2](/#description/authentication) */
4200
4031
  followable?: boolean;
4201
- /** @description only appears if the request is [authenticated with OAuth2](#section/Introduction/Authentication) */
4032
+ /** @description only appears if the request is [authenticated with OAuth2](/#description/authentication) */
4202
4033
  following?: boolean;
4203
- /** @description only appears if the request is [authenticated with OAuth2](#section/Introduction/Authentication) */
4034
+ /** @description only appears if the request is [authenticated with OAuth2](/#description/authentication) */
4204
4035
  blocking?: boolean;
4205
4036
  };
4206
- /** @example {
4037
+ /**
4038
+ * @example {
4207
4039
  * "name": "Bullet",
4208
4040
  * "points": [
4209
4041
  * [
@@ -4225,12 +4057,14 @@ export interface components {
4225
4057
  * 1314
4226
4058
  * ]
4227
4059
  * ]
4228
- * } */
4060
+ * }
4061
+ */
4229
4062
  RatingHistoryEntry: {
4230
4063
  name?: string;
4231
4064
  points?: number[][];
4232
4065
  };
4233
- /** @example [
4066
+ /**
4067
+ * @example [
4234
4068
  * {
4235
4069
  * "name": "Bullet",
4236
4070
  * "points": [
@@ -4265,7 +4099,8 @@ export interface components {
4265
4099
  * ]
4266
4100
  * ]
4267
4101
  * }
4268
- * ] */
4102
+ * ]
4103
+ */
4269
4104
  RatingHistory: components["schemas"]["RatingHistoryEntry"][];
4270
4105
  /** @enum {string} */
4271
4106
  PerfType:
@@ -4734,9 +4569,11 @@ export interface components {
4734
4569
  /** @description Timestamp in milliseconds when the race started */
4735
4570
  startsAt: number;
4736
4571
  };
4737
- /** @example {
4572
+ /**
4573
+ * @example {
4738
4574
  * "error": "Not found."
4739
- * } */
4575
+ * }
4576
+ */
4740
4577
  NotFound: {
4741
4578
  error: string;
4742
4579
  };
@@ -5015,7 +4852,8 @@ export interface components {
5015
4852
  title?: string;
5016
4853
  };
5017
4854
  };
5018
- /** @example {
4855
+ /**
4856
+ * @example {
5019
4857
  * "entries": [
5020
4858
  * {
5021
4859
  * "type": "follow",
@@ -5162,7 +5000,8 @@ export interface components {
5162
5000
  * "patron": true
5163
5001
  * }
5164
5002
  * }
5165
- * } */
5003
+ * }
5004
+ */
5166
5005
  Timeline: {
5167
5006
  entries: (
5168
5007
  | components["schemas"]["TimelineEntryFollow"]
@@ -5191,7 +5030,8 @@ export interface components {
5191
5030
  };
5192
5031
  };
5193
5032
  };
5194
- /** @example [Event "Rated Blitz game"]
5033
+ /**
5034
+ * @example [Event "Rated Blitz game"]
5195
5035
  * [Site "https://lichess.org/fY44h4OY"]
5196
5036
  * [Date "2018.03.29"]
5197
5037
  * [Round "-"]
@@ -5211,7 +5051,7 @@ export interface components {
5211
5051
  * [Termination "Normal"]
5212
5052
  *
5213
5053
  * 1. e4 { [%clk 0:03:00] } e5 { [%clk 0:03:00] } 2. Nf3 { [%clk 0:02:59] } Nc6 { [%clk 0:02:58] } 3. Bb5 { [%clk 0:02:57] } d6 { [%clk 0:02:55] } 4. h3 { [%clk 0:02:54] } Nf6 { [%clk 0:02:52] } 5. Bxc6+ { [%clk 0:02:52] } bxc6 { [%clk 0:02:49] } 6. d3 { [%clk 0:02:51] } Be7 { [%clk 0:02:46] } 7. O-O { [%clk 0:02:47] } O-O { [%clk 0:02:45] } 8. b3 { [%clk 0:02:45] } d5 { [%clk 0:02:45] } 9. exd5 { [%clk 0:02:33] } cxd5 { [%clk 0:02:40] } 10. Nxe5 { [%clk 0:02:31] } Qd6 { [%clk 0:02:38] } 1-0
5214
- * */
5054
+ */
5215
5055
  GamePgn: string;
5216
5056
  /** @enum {string} */
5217
5057
  Speed:
@@ -5336,7 +5176,8 @@ export interface components {
5336
5176
  | 38
5337
5177
  | 39
5338
5178
  | 60;
5339
- /** @example {
5179
+ /**
5180
+ * @example {
5340
5181
  * "id": "A5fcMO3k",
5341
5182
  * "rated": true,
5342
5183
  * "variant": "standard",
@@ -5360,7 +5201,8 @@ export interface components {
5360
5201
  * "rating": 2288
5361
5202
  * }
5362
5203
  * }
5363
- * } */
5204
+ * }
5205
+ */
5364
5206
  GameStreamGame: {
5365
5207
  id: string;
5366
5208
  rated?: boolean;
@@ -5387,7 +5229,8 @@ export interface components {
5387
5229
  };
5388
5230
  winner?: components["schemas"]["GameColor"];
5389
5231
  };
5390
- /** @example [
5232
+ /**
5233
+ * @example [
5391
5234
  * {
5392
5235
  * "id": "A5fcMO3k",
5393
5236
  * "rated": true,
@@ -5439,7 +5282,8 @@ export interface components {
5439
5282
  * },
5440
5283
  * "winner": "white"
5441
5284
  * }
5442
- * ] */
5285
+ * ]
5286
+ */
5443
5287
  GameStream: components["schemas"]["GameStreamGame"][];
5444
5288
  /** @enum {string} */
5445
5289
  GameSource:
@@ -5489,7 +5333,8 @@ export interface components {
5489
5333
  wc: number;
5490
5334
  bc: number;
5491
5335
  };
5492
- /** @example [
5336
+ /**
5337
+ * @example [
5493
5338
  * {
5494
5339
  * "id": "LuGQwhBb",
5495
5340
  * "variant": {
@@ -5559,7 +5404,8 @@ export interface components {
5559
5404
  * "wc": 177,
5560
5405
  * "bc": 177
5561
5406
  * }
5562
- * ] */
5407
+ * ]
5408
+ */
5563
5409
  MoveStream: components["schemas"]["MoveStreamEntry"][];
5564
5410
  TvGame: {
5565
5411
  user: components["schemas"]["LightUser"];
@@ -5573,7 +5419,6 @@ export interface components {
5573
5419
  * @description The type of message.
5574
5420
  * A summary of the game is sent as the first message and when the featured game changes.
5575
5421
  * Subsequent messages are just the X-FEN, last move, and clocks.
5576
- *
5577
5422
  * @constant
5578
5423
  */
5579
5424
  t: "featured";
@@ -5602,7 +5447,6 @@ export interface components {
5602
5447
  * @description The type of message.
5603
5448
  * A summary of the game is sent as the first message and when the featured game changes.
5604
5449
  * Subsequent messages are just the X-FEN, last move, and clocks.
5605
- *
5606
5450
  * @constant
5607
5451
  */
5608
5452
  t: "fen";
@@ -5613,9 +5457,10 @@ export interface components {
5613
5457
  d: {
5614
5458
  /** @description The X-FEN of the current position */
5615
5459
  fen: string;
5616
- /** @description The last move in UCI format (King to rook for Chess960-compatible
5460
+ /**
5461
+ * @description The last move in UCI format (King to rook for Chess960-compatible
5617
5462
  * castling notation)
5618
- * */
5463
+ */
5619
5464
  lm: string;
5620
5465
  /** @description White's clock in seconds */
5621
5466
  wc: number;
@@ -5632,7 +5477,6 @@ export interface components {
5632
5477
  };
5633
5478
  /**
5634
5479
  * @description 10: created, 20: started, 30: finished
5635
- *
5636
5480
  * @enum {integer}
5637
5481
  */
5638
5482
  ArenaStatus: 10 | 20 | 30;
@@ -5859,19 +5703,23 @@ export interface components {
5859
5703
  };
5860
5704
  myUsername?: string;
5861
5705
  };
5862
- /** @example {
5706
+ /**
5707
+ * @example {
5863
5708
  * "error": "This request is invalid because [...]"
5864
- * } */
5709
+ * }
5710
+ */
5865
5711
  Error: {
5866
5712
  /** @description The cause of the error. */
5867
5713
  error: string;
5868
5714
  };
5869
- /** @example {
5715
+ /**
5716
+ * @example {
5870
5717
  * "games": 10,
5871
5718
  * "score": 14,
5872
5719
  * "rank": 30,
5873
5720
  * "performance": 1935
5874
- * } */
5721
+ * }
5722
+ */
5875
5723
  ArenaTournamentPlayer: {
5876
5724
  games: number;
5877
5725
  score: number;
@@ -5925,13 +5773,16 @@ export interface components {
5925
5773
  in?: number;
5926
5774
  };
5927
5775
  };
5928
- /** @example {
5776
+ /**
5777
+ * @example {
5929
5778
  * "error": "This user cannot edit this swiss"
5930
- * } */
5779
+ * }
5780
+ */
5931
5781
  SwissUnauthorisedEdit: {
5932
5782
  error?: string;
5933
5783
  };
5934
- /** @example [Event "All about the Sicilian Defense: Dragon Variation"]
5784
+ /**
5785
+ * @example [Event "All about the Sicilian Defense: Dragon Variation"]
5935
5786
  * [Site "https://lichess.org/study/8c8bmUfy/qwnXMwVC"]
5936
5787
  * [Result "*"]
5937
5788
  * [UTCDate "2017.06.25"]
@@ -5943,9 +5794,10 @@ export interface components {
5943
5794
  *
5944
5795
  * { This chapter will go over the Dragon Variation, a very common variation used by Black and it is the most aggressive variation in the Sicilian defense. }
5945
5796
  * 1. e4 c5 2. Nf3 { Simple developing move to control the d4 square } { [%csl Gd4,Gc5][%cal Gf3d4,Gc5d4] } 2... d6 { [%cal Gd6e5] } (2... e6 3. d4 cxd4 4. Nxd4 Nf6 5. e5 (5. Nc3 { [%cal Ge4e5] }) 5... Qa5+) 3. d4 { Whites want the exchange of pawns } { [%cal Gc5d4] } 3... cxd4 { [%cal Gf3d4] } 4. Nxd4 { Whites are now ahead in development but blacks still have the two central pawns whereas whites only one. } { [%csl Ge7,Gd6,Ge4] } 4... Nf6 { Blacks are now developing their knight and threatening the e4 pawn } { [%csl Ge4][%cal Gf6e4] } 5. Nc3 { The e4 pawn is now protected by the c3 knight } { [%csl Ge4,Bc3][%cal Rf6e4,Bc3e4] } 5... g6 { This is the DRAGON VARIATION. g6 allows the dark-squared bishop to develop and move to g7, controlling the long dark-squared diagonal } { [%csl Gd4] } 6. Be3 { [%cal Gd1d2,Gf2f3,Ge1c1,Gg2g4,Gh2h4,Gg4g5] } (6. Be2 Bg7 7. O-O Nc6 8. Be3 { [%cal Ge3d4] } (8. f3 Nxe4 { [%cal Gg7d4,Gc6d4] } 9. Nxc6 Qb6+ { [%cal Gb6c6,Gb6g1] } 10. Kh1 Nxc3 { [%cal Gc3d1,Gc3e2] } 11. bxc3 bxc6 { [%cal Gc8a6] }) 8... O-O 9. Nb3 a6 { [%cal Gb7b5,Gb5b4,Ge2c4] }) 6... Bg7 (6... Ng4 { [%cal Gg4e3] } 7. Bb5+ { [%cal Gb5e8,Gb8d7,Gc8d7,Gd1g4] } 7... Nc6 8. Nxc6 bxc6 9. Bxc6+ { [%cal Gc6a8] }) 7. f3 { The key opening moves for White, who attempt to castle queenside , whereas f3 strengthens the pawn structure, connecting e4 to the h2 and g2, while White also plan pushing to g4 and possibly h4. } { [%csl Bf3,Be3][%cal Rg2g4,Rh2h4,Rg4g5] } 7... O-O (7... h5 { Is operating against g4. }) 8. Qd2 { [%csl Gh6,Gg7][%cal Ge1c1,Ga1d1,Re3h6,Rd2h6] } 8... Nc6 { [%csl Gc6,Gh6][%cal Gb8c6,Ge1c1,Ga7a6,Ge3h6] } 9. g4 (9. Bh6 { [%cal Ge3d4] } 9... Bxh6 10. Qxh6 Nxd4) 9... Be6 10. Nxe6 fxe6 { [%cal Gf8f1] } 11. O-O-O Ne5 12. Be2 { [%csl Gf3][%cal Re5f3,Bd1h1,Bg1d1] } 12... Qc7 { [%csl Gc4][%cal Ge5c4,Gc4e3,Gc4d2,Bf8c8,Yc7c3] } 13. h4 Nc4 *
5946
- * */
5797
+ */
5947
5798
  StudyPgn: string;
5948
- /** @example {
5799
+ /**
5800
+ * @example {
5949
5801
  * "chapters": [
5950
5802
  * {
5951
5803
  * "id": "iBjmYBya",
@@ -5963,7 +5815,8 @@ export interface components {
5963
5815
  * "status": "1-0"
5964
5816
  * }
5965
5817
  * ]
5966
- * } */
5818
+ * }
5819
+ */
5967
5820
  StudyImportPgnChapters: {
5968
5821
  chapters?: {
5969
5822
  /** @description The chapter ID */
@@ -5980,12 +5833,14 @@ export interface components {
5980
5833
  status?: string;
5981
5834
  }[];
5982
5835
  };
5983
- /** @example {
5836
+ /**
5837
+ * @example {
5984
5838
  * "id": "WTvnkWAL",
5985
5839
  * "name": "Guess the move",
5986
5840
  * "createdAt": 1463756350225,
5987
5841
  * "updatedAt": 1469965025205
5988
- * } */
5842
+ * }
5843
+ */
5989
5844
  StudyMetadata: {
5990
5845
  /** @description The study ID */
5991
5846
  id: string;
@@ -6034,9 +5889,10 @@ export interface components {
6034
5889
  * @enum {string}
6035
5890
  */
6036
5891
  fideTc?: "standard" | "rapid" | "blitz";
6037
- /** @description Timezone of the tournament. Example: `America/New_York`.
5892
+ /**
5893
+ * @description Timezone of the tournament. Example: `America/New_York`.
6038
5894
  * See [list of possible timezone identifiers](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) for more.
6039
- * */
5895
+ */
6040
5896
  timeZone?: string;
6041
5897
  /**
6042
5898
  * Format: uri
@@ -6173,65 +6029,60 @@ export interface components {
6173
6029
  | "TPR"
6174
6030
  | "WON";
6175
6031
  BroadcastForm: {
6176
- /** @description Name of the broadcast tournament.
6032
+ /**
6033
+ * @description Name of the broadcast tournament.
6177
6034
  *
6178
6035
  * Example: `Sinquefield Cup`
6179
- * */
6036
+ */
6180
6037
  name: string;
6181
- /** @description Tournament format.
6038
+ /**
6039
+ * @description Tournament format.
6182
6040
  * Example: `"8-player round-robin" or "5-round Swiss"`
6183
- * */
6041
+ */
6184
6042
  "info.format"?: string;
6185
- /** @description Tournament Location
6186
- * */
6043
+ /** @description Tournament Location */
6187
6044
  "info.location"?: string;
6188
- /** @description Time control.
6045
+ /**
6046
+ * @description Time control.
6189
6047
  * Example: `"Classical" or "Rapid" or "Rapid & Blitz"`
6190
- * */
6048
+ */
6191
6049
  "info.tc"?: string;
6192
6050
  /**
6193
6051
  * @description FIDE rating category. Which FIDE ratings to use
6194
- *
6195
6052
  * @enum {string}
6196
6053
  */
6197
6054
  "info.fideTc"?: "standard" | "rapid" | "blitz";
6198
- /** @description Timezone of the tournament. Example: `America/New_York`.
6055
+ /**
6056
+ * @description Timezone of the tournament. Example: `America/New_York`.
6199
6057
  * See [list of possible timezone identifiers](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) for more.
6200
- * */
6058
+ */
6201
6059
  "info.timeZone"?: string;
6202
- /** @description Mention up to 4 of the best players participating.
6203
- * */
6060
+ /** @description Mention up to 4 of the best players participating. */
6204
6061
  "info.players"?: string;
6205
6062
  /**
6206
6063
  * Format: uri
6207
6064
  * @description Official website. External website URL
6208
- *
6209
6065
  */
6210
6066
  "info.website"?: string;
6211
6067
  /**
6212
6068
  * Format: uri
6213
6069
  * @description Official Standings. External website URL, e.g. chess-results.com, info64.org
6214
- *
6215
6070
  */
6216
6071
  "info.standings"?: string;
6217
- /** @description Optional long description of the broadcast. Markdown is supported.
6218
- * */
6072
+ /** @description Optional long description of the broadcast. Markdown is supported. */
6219
6073
  markdown?: string;
6220
6074
  /**
6221
6075
  * @description Show players scores based on game results
6222
- *
6223
6076
  * @default true
6224
6077
  */
6225
6078
  showScores?: boolean;
6226
6079
  /**
6227
6080
  * @description Show player's rating diffs
6228
- *
6229
6081
  * @default true
6230
6082
  */
6231
6083
  showRatingDiffs?: boolean;
6232
6084
  /**
6233
6085
  * @description Show a team leaderboard. Requires WhiteTeam and BlackTeam PGN tags.
6234
- *
6235
6086
  * @default false
6236
6087
  */
6237
6088
  teamTable?: boolean;
@@ -6240,12 +6091,12 @@ export interface components {
6240
6091
  * * `public`: Default. Anyone can view the broadcast
6241
6092
  * * `unlisted`: Only people with the link can view the broadcast
6242
6093
  * * `private`: Only the broadcast owner(s) can view the broadcast
6243
- *
6244
6094
  * @default public
6245
6095
  * @enum {string}
6246
6096
  */
6247
6097
  visibility?: "public" | "unlisted" | "private";
6248
- /** @description Optional replace player names, ratings and titles.
6098
+ /**
6099
+ * @description Optional replace player names, ratings and titles.
6249
6100
  *
6250
6101
  * One line per player, formatted as such:
6251
6102
  *
@@ -6278,9 +6129,10 @@ export interface components {
6278
6129
  * Magnus Carlsen / 2863 / GM
6279
6130
  * YouGotLittUp / 1890 / / Louis Litt
6280
6131
  * ```
6281
- * */
6132
+ */
6282
6133
  players?: string;
6283
- /** @description Optional: assign players to teams
6134
+ /**
6135
+ * @description Optional: assign players to teams
6284
6136
  *
6285
6137
  * One line per player, formatted as such:
6286
6138
  * ```txt
@@ -6294,7 +6146,7 @@ export interface components {
6294
6146
  * ```
6295
6147
  *
6296
6148
  * By default the PGN tags WhiteTeam and BlackTeam are used.
6297
- * */
6149
+ */
6298
6150
  teams?: string;
6299
6151
  /**
6300
6152
  * @description Optional, for Lichess admins only, used to feature on /broadcast.
@@ -6302,7 +6154,6 @@ export interface components {
6302
6154
  * * `3` for Official: normal tier
6303
6155
  * * `4` for Official: high tier
6304
6156
  * * `5` for Official: best tier
6305
- *
6306
6157
  * @enum {integer}
6307
6158
  */
6308
6159
  tier?: 3 | 4 | 5;
@@ -6366,9 +6217,10 @@ export interface components {
6366
6217
  /** @description List of games played by the player in the broadcast tournament */
6367
6218
  games?: components["schemas"]["BroadcastGameEntry"][];
6368
6219
  };
6369
- /** @description Name of the broadcast round.
6220
+ /**
6221
+ * @description Name of the broadcast round.
6370
6222
  * Example: `Round 1`
6371
- * */
6223
+ */
6372
6224
  BroadcastRoundFormName: string;
6373
6225
  BroadcastRoundForm: (
6374
6226
  | {
@@ -6384,10 +6236,10 @@ export interface components {
6384
6236
  * ```txt
6385
6237
  * https://myserver.org/myevent/round-10/games.pgn
6386
6238
  * ```
6387
- *
6388
6239
  */
6389
6240
  syncUrl: string;
6390
- /** @description Filter games by round number
6241
+ /**
6242
+ * @description Filter games by round number
6391
6243
  *
6392
6244
  * Optional, only keep games from the source that match a round number.
6393
6245
  * It uses the PGN **Round** tag. These would match round 3:
@@ -6398,9 +6250,10 @@ export interface components {
6398
6250
  * If you set a round number, then games without a **Round** tag are dropped.
6399
6251
  *
6400
6252
  * It only works if you chose `syncUrl` or `syncUrls` as the source.
6401
- * */
6253
+ */
6402
6254
  onlyRound?: number;
6403
- /** @description Select slices of the games
6255
+ /**
6256
+ * @description Select slices of the games
6404
6257
  *
6405
6258
  * Optional. Select games based on their position in the source.
6406
6259
  * ```txt
@@ -6413,21 +6266,23 @@ export interface components {
6413
6266
  * Slicing is done after filtering by round number.
6414
6267
  *
6415
6268
  * It only works if you chose `syncUrl` or `syncUrls` as the source.
6416
- * */
6269
+ */
6417
6270
  slices?: string;
6418
6271
  }
6419
6272
  | {
6420
6273
  name: components["schemas"]["BroadcastRoundFormName"];
6421
- /** @description URLs that Lichess will poll to get updates about the games, separated by newlines. They must be publicly accessible from the Internet.
6274
+ /**
6275
+ * @description URLs that Lichess will poll to get updates about the games, separated by newlines. They must be publicly accessible from the Internet.
6422
6276
  *
6423
6277
  * Example:
6424
6278
  * ```txt
6425
6279
  * https://myserver.org/myevent/round-10/game-1.pgn
6426
6280
  * https://myserver.org/myevent/round-10/game-2.pgn
6427
6281
  * ```
6428
- * */
6282
+ */
6429
6283
  syncUrls: string;
6430
- /** @description Filter games by round number
6284
+ /**
6285
+ * @description Filter games by round number
6431
6286
  *
6432
6287
  * Optional, only keep games from the source that match a round number.
6433
6288
  * It uses the PGN **Round** tag. These would match round 3:
@@ -6438,9 +6293,10 @@ export interface components {
6438
6293
  * If you set a round number, then games without a **Round** tag are dropped.
6439
6294
  *
6440
6295
  * It only works if you chose `syncUrl` or `syncUrls` as the source.
6441
- * */
6296
+ */
6442
6297
  onlyRound?: number;
6443
- /** @description Select slices of the games
6298
+ /**
6299
+ * @description Select slices of the games
6444
6300
  *
6445
6301
  * Optional. Select games based on their position in the source.
6446
6302
  * ```txt
@@ -6453,25 +6309,22 @@ export interface components {
6453
6309
  * Slicing is done after filtering by round number.
6454
6310
  *
6455
6311
  * It only works if you chose `syncUrl` or `syncUrls` as the source.
6456
- * */
6312
+ */
6457
6313
  slices?: string;
6458
6314
  }
6459
6315
  | {
6460
6316
  name: components["schemas"]["BroadcastRoundFormName"];
6461
- /** @description Lichess game IDs - Up to 100 Lichess game IDs, separated by spaces.
6462
- * */
6317
+ /** @description Lichess game IDs - Up to 100 Lichess game IDs, separated by spaces. */
6463
6318
  syncIds: string;
6464
6319
  }
6465
6320
  | {
6466
6321
  name: components["schemas"]["BroadcastRoundFormName"];
6467
- /** @description Up to 100 Lichess usernames, separated by spaces
6468
- * */
6322
+ /** @description Up to 100 Lichess usernames, separated by spaces */
6469
6323
  syncUsers: string;
6470
6324
  }
6471
6325
  ) & {
6472
6326
  /**
6473
6327
  * @description Where the games come from.
6474
- *
6475
6328
  * @default push
6476
6329
  * @enum {string}
6477
6330
  */
@@ -6480,22 +6333,20 @@ export interface components {
6480
6333
  * Format: int64
6481
6334
  * @description Timestamp in milliseconds of broadcast round start. Leave empty to manually start the broadcast round.
6482
6335
  * Example: `1356998400070`
6483
- *
6484
6336
  */
6485
6337
  startsAt?: number;
6486
6338
  /**
6487
6339
  * @description The start date is unknown, and the round will start automatically when the previous round completes.
6488
- *
6489
6340
  * @default false
6490
6341
  */
6491
6342
  startsAfterPrevious?: boolean;
6492
- /** @description Delay in seconds for movements to appear on the broadcast. Leave it empty if you don't need it.
6343
+ /**
6344
+ * @description Delay in seconds for movements to appear on the broadcast. Leave it empty if you don't need it.
6493
6345
  * Example: `900` (15 min)
6494
- * */
6346
+ */
6495
6347
  delay?: number;
6496
6348
  /**
6497
6349
  * @description Lichess can usually detect the round status, but you can also set it manually if needed.
6498
- *
6499
6350
  * @default new
6500
6351
  * @enum {string}
6501
6352
  */
@@ -6509,8 +6360,7 @@ export interface components {
6509
6360
  "customScoring.white.draw"?: components["schemas"]["BroadcastCustomPoints"];
6510
6361
  "customScoring.black.win"?: components["schemas"]["BroadcastCustomPoints"];
6511
6362
  "customScoring.black.draw"?: components["schemas"]["BroadcastCustomPoints"];
6512
- /** @description (Only for Admins) Waiting time for each poll.
6513
- * */
6363
+ /** @description (Only for Admins) Waiting time for each poll. */
6514
6364
  period?: number;
6515
6365
  };
6516
6366
  BroadcastRoundStudyInfo: {
@@ -6656,13 +6506,15 @@ export interface components {
6656
6506
  request: components["schemas"]["TeamRequest"];
6657
6507
  user: components["schemas"]["User"];
6658
6508
  };
6659
- /** @example {
6509
+ /**
6510
+ * @example {
6660
6511
  * "users": {
6661
6512
  * "neio": 201.5,
6662
6513
  * "thibault": 144.5
6663
6514
  * },
6664
6515
  * "nbGames": 346
6665
- * } */
6516
+ * }
6517
+ */
6666
6518
  Crosstable: {
6667
6519
  users: {
6668
6520
  [key: string]: number;
@@ -6773,7 +6625,8 @@ export interface components {
6773
6625
  };
6774
6626
  /** @enum {string} */
6775
6627
  ChallengeColor: "white" | "black" | "random";
6776
- /** @example {
6628
+ /**
6629
+ * @example {
6777
6630
  * "id": "H9fIRZUk",
6778
6631
  * "url": "https://lichess.org/H9fIRZUk",
6779
6632
  * "status": "created",
@@ -6815,7 +6668,8 @@ export interface components {
6815
6668
  * "name": "Rapid"
6816
6669
  * },
6817
6670
  * "direction": "out"
6818
- * } */
6671
+ * }
6672
+ */
6819
6673
  ChallengeJson: {
6820
6674
  id: string;
6821
6675
  /** Format: uri */
@@ -6882,7 +6736,8 @@ export interface components {
6882
6736
  rating?: number;
6883
6737
  provisional?: boolean;
6884
6738
  };
6885
- /** @example {
6739
+ /**
6740
+ * @example {
6886
6741
  * "type": "gameState",
6887
6742
  * "moves": "e2e4 c7c5 f2f4 d7d6 g1f3 b8c6 f1c4 g8f6 d2d3 g7g6 e1g1 f8g7 b1c3",
6888
6743
  * "wtime": 7598040,
@@ -6894,13 +6749,15 @@ export interface components {
6894
6749
  * "wtakeback": false,
6895
6750
  * "btakeback": false,
6896
6751
  * "status": "started"
6897
- * } */
6752
+ * }
6753
+ */
6898
6754
  GameStateEvent: {
6899
6755
  /** @constant */
6900
6756
  type: "gameState";
6901
- /** @description Current moves in UCI format (King to rook for Chess690-compatible castling
6757
+ /**
6758
+ * @description Current moves in UCI format (King to rook for Chess690-compatible castling
6902
6759
  * notation)
6903
- * */
6760
+ */
6904
6761
  moves: string;
6905
6762
  /** @description Integer of milliseconds White has left on the clock */
6906
6763
  wtime: number;
@@ -6922,7 +6779,8 @@ export interface components {
6922
6779
  /** @description true if black is proposing takeback, else omitted */
6923
6780
  btakeback?: boolean;
6924
6781
  };
6925
- /** @example {
6782
+ /**
6783
+ * @example {
6926
6784
  * "id": "BEOucQJo",
6927
6785
  * "variant": {
6928
6786
  * "key": "standard",
@@ -6962,7 +6820,8 @@ export interface components {
6962
6820
  * "binc": 0,
6963
6821
  * "status": "started"
6964
6822
  * }
6965
- * } */
6823
+ * }
6824
+ */
6966
6825
  GameFullEvent: {
6967
6826
  /** @constant */
6968
6827
  type: "gameFull";
@@ -6997,12 +6856,14 @@ export interface components {
6997
6856
  daysPerTurn?: number;
6998
6857
  tournamentId?: string;
6999
6858
  };
7000
- /** @example {
6859
+ /**
6860
+ * @example {
7001
6861
  * "type": "chatLine",
7002
6862
  * "username": "thibault",
7003
6863
  * "text": "Good luck, have fun",
7004
6864
  * "room": "player"
7005
- * } */
6865
+ * }
6866
+ */
7006
6867
  ChatLineEvent: {
7007
6868
  /** @constant */
7008
6869
  type: "chatLine";
@@ -7011,18 +6872,21 @@ export interface components {
7011
6872
  username: string;
7012
6873
  text: string;
7013
6874
  };
7014
- /** @example {
6875
+ /**
6876
+ * @example {
7015
6877
  * "type": "opponentGone",
7016
6878
  * "gone": true,
7017
6879
  * "claimWinInSeconds": 8
7018
- * } */
6880
+ * }
6881
+ */
7019
6882
  OpponentGoneEvent: {
7020
6883
  /** @constant */
7021
6884
  type: "opponentGone";
7022
6885
  gone: boolean;
7023
6886
  claimWinInSeconds?: number;
7024
6887
  };
7025
- /** @example [
6888
+ /**
6889
+ * @example [
7026
6890
  * {
7027
6891
  * "text": "Takeback sent",
7028
6892
  * "user": "lichess"
@@ -7035,7 +6899,8 @@ export interface components {
7035
6899
  * "text": "Good game, well played",
7036
6900
  * "user": "thibault"
7037
6901
  * }
7038
- * ] */
6902
+ * ]
6903
+ */
7039
6904
  GameChat: {
7040
6905
  text: string;
7041
6906
  user: string;
@@ -7067,7 +6932,8 @@ export interface components {
7067
6932
  userIds?: string[];
7068
6933
  };
7069
6934
  };
7070
- /** @example {
6935
+ /**
6936
+ * @example {
7071
6937
  * "id": "RVAcwgg7",
7072
6938
  * "games": [
7073
6939
  * {
@@ -7096,7 +6962,8 @@ export interface components {
7096
6962
  * "rated": false,
7097
6963
  * "startClocksAt": 1612200422971,
7098
6964
  * "scheduledAt": 1612203514628
7099
- * } */
6965
+ * }
6966
+ */
7100
6967
  BulkPairing: {
7101
6968
  id: string;
7102
6969
  games: {
@@ -7112,7 +6979,8 @@ export interface components {
7112
6979
  startClocksAt: number;
7113
6980
  scheduledAt: number;
7114
6981
  };
7115
- /** @example {
6982
+ /**
6983
+ * @example {
7116
6984
  * "fen": "r1bqkbnr/pppp1ppp/2n5/1B2p3/4P3/5N2/PPPP1PPP/RNBQK2R",
7117
6985
  * "knodes": 106325,
7118
6986
  * "depth": 29,
@@ -7130,7 +6998,8 @@ export interface components {
7130
6998
  * "cp": 37
7131
6999
  * }
7132
7000
  * ]
7133
- * } */
7001
+ * }
7002
+ */
7134
7003
  CloudEval: {
7135
7004
  depth: number;
7136
7005
  fen: string;
@@ -7139,17 +7008,19 @@ export interface components {
7139
7008
  | {
7140
7009
  /** @description Evaluation in centi-pawns, from White's point of view */
7141
7010
  cp: number;
7142
- /** @description Variation in UCI notation (King to rook for Chess960-compatible
7011
+ /**
7012
+ * @description Variation in UCI notation (King to rook for Chess960-compatible
7143
7013
  * castling notation)
7144
- * */
7014
+ */
7145
7015
  moves: string;
7146
7016
  }
7147
7017
  | {
7148
7018
  /** @description Evaluation in moves to mate, from White's point of view */
7149
7019
  mate: number;
7150
- /** @description Variation in UCI notation (King to rook for Chess960-compatible
7020
+ /**
7021
+ * @description Variation in UCI notation (King to rook for Chess960-compatible
7151
7022
  * castling notation)
7152
- * */
7023
+ */
7153
7024
  moves: string;
7154
7025
  }
7155
7026
  )[];
@@ -7173,10 +7044,11 @@ export interface components {
7173
7044
  id: string;
7174
7045
  /** @description Display name of the engine. */
7175
7046
  name: string;
7176
- /** @description A secret token that can be used to
7047
+ /**
7048
+ * @description A secret token that can be used to
7177
7049
  * [*request* analysis](#tag/External-engine/operation/apiExternalEngineAnalyse)
7178
7050
  * from this external engine.
7179
- * */
7051
+ */
7180
7052
  clientSecret: string;
7181
7053
  /** @description The user this engine has been registered for. */
7182
7054
  userId: string;
@@ -7186,12 +7058,13 @@ export interface components {
7186
7058
  maxHash: number;
7187
7059
  /** @description List of supported chess variants. */
7188
7060
  variants: components["schemas"]["UciVariant"][];
7189
- /** @description Arbitrary data that the engine provider can use for identification
7061
+ /**
7062
+ * @description Arbitrary data that the engine provider can use for identification
7190
7063
  * or bookkeeping.
7191
7064
  *
7192
7065
  * Users can read this information, but updating it requires knowing
7193
7066
  * or changing the `providerSecret`.
7194
- * */
7067
+ */
7195
7068
  providerData?: string | null;
7196
7069
  };
7197
7070
  ExternalEngineRegistration: {
@@ -7225,22 +7098,23 @@ export interface components {
7225
7098
  * token, even for different users, and wait for analysis requests
7226
7099
  * from any of them. In this case, the request must not be made via
7227
7100
  * CORS, so that the token is not revealed to any of the users.
7228
- *
7229
7101
  * @example Dee3uwieZei9ahpaici9bee2yahsai0K
7230
7102
  */
7231
7103
  providerSecret: string;
7232
- /** @description Arbitrary data that the engine provider can use for identification
7104
+ /**
7105
+ * @description Arbitrary data that the engine provider can use for identification
7233
7106
  * or bookkeeping.
7234
7107
  *
7235
7108
  * Users can read this information, but updating it requires knowing
7236
7109
  * or changing the `providerSecret`.
7237
- * */
7110
+ */
7238
7111
  providerData?: string;
7239
7112
  };
7240
7113
  ExternalEngineWorkCommon: {
7241
- /** @description Arbitary string that identifies the analysis session.
7114
+ /**
7115
+ * @description Arbitary string that identifies the analysis session.
7242
7116
  * Providers may wish to clear the hash table between sessions.
7243
- * */
7117
+ */
7244
7118
  sessionId: string;
7245
7119
  /** @description Number of threads to use for analysis. */
7246
7120
  threads: number;
@@ -7267,10 +7141,12 @@ export interface components {
7267
7141
  /** @description Number of nodes to analyse in the position */
7268
7142
  nodes: number;
7269
7143
  } & components["schemas"]["ExternalEngineWorkCommon"]);
7270
- /** @example {
7144
+ /**
7145
+ * @example {
7271
7146
  * "error": "invalid_grant",
7272
7147
  * "error_description": "hash of code_verifier does not match code_challenge"
7273
- * } */
7148
+ * }
7149
+ */
7274
7150
  OAuthError: {
7275
7151
  /** @description The cause of the error. */
7276
7152
  error: string;
@@ -7360,7 +7236,8 @@ export interface components {
7360
7236
  year: number;
7361
7237
  month: string;
7362
7238
  };
7363
- /** @example {
7239
+ /**
7240
+ * @example {
7364
7241
  * "opening": {
7365
7242
  * "eco": "D00",
7366
7243
  * "name": "Queen's Pawn Game"
@@ -7469,7 +7346,8 @@ export interface components {
7469
7346
  * "month": "2024-11"
7470
7347
  * }
7471
7348
  * ]
7472
- * } */
7349
+ * }
7350
+ */
7473
7351
  OpeningExplorerPlayer: {
7474
7352
  opening: components["schemas"]["OpeningExplorerOpening"] | null;
7475
7353
  /** @description Waiting for other players to be indexed first */
@@ -7522,7 +7400,8 @@ export interface components {
7522
7400
  variant_loss?: boolean;
7523
7401
  insufficient_material?: boolean;
7524
7402
  };
7525
- /** @example {
7403
+ /**
7404
+ * @example {
7526
7405
  * "dtz": 1,
7527
7406
  * "precise_dtz": 1,
7528
7407
  * "dtc": null,
@@ -7552,7 +7431,8 @@ export interface components {
7552
7431
  * "category": "loss"
7553
7432
  * }
7554
7433
  * ]
7555
- * } */
7434
+ * }
7435
+ */
7556
7436
  TablebaseJson: {
7557
7437
  /**
7558
7438
  * @description `cursed-win` and `blessed-loss` means the 50-move rule prevents
@@ -7567,7 +7447,6 @@ export interface components {
7567
7447
  * `maybe-win` and `maybe-loss` means the result with regard to the
7568
7448
  * 50-move rule is unknown, because DTZ is unknown and the DTC tablebase
7569
7449
  * does not guarantee to reach a zeroing move as soon as possible.
7570
- *
7571
7450
  * @enum {string}
7572
7451
  */
7573
7452
  category:
@@ -7581,30 +7460,33 @@ export interface components {
7581
7460
  | "maybe-loss"
7582
7461
  | "syzygy-loss"
7583
7462
  | "loss";
7584
- /** @description [DTZ50'' with rounding](https://syzygy-tables.info/metrics#dtz) in plies
7463
+ /**
7464
+ * @description [DTZ50'' with rounding](https://syzygy-tables.info/metrics#dtz) in plies
7585
7465
  * (for Standard chess positions with not more than 7 pieces and variant
7586
7466
  * positions not more than 6 pieces)
7587
- * */
7467
+ */
7588
7468
  dtz?: null | number;
7589
- /** @description DTZ50'' in plies, only if guaranteed to not be rounded, or absent if unknown
7590
- * */
7469
+ /** @description DTZ50'' in plies, only if guaranteed to not be rounded, or absent if unknown */
7591
7470
  precise_dtz?: null | number;
7592
- /** @description Experimental Depth to Conversion: Moves to next capture, promotion,
7471
+ /**
7472
+ * @description Experimental Depth to Conversion: Moves to next capture, promotion,
7593
7473
  * or checkmate. Available for:
7594
7474
  * * Standard chess positions with 8 pieces, more than one pawn of material
7595
7475
  * value for each side, and at least one pair of opposing pawns,
7596
7476
  * short *op1*, if query parameter `dtc` is `auxiliary` or `always`.
7597
7477
  * * Some standard chess positions with up to 7 pieces, if query parameter
7598
7478
  * `dtc` is `always`. Work in progress.
7599
- * */
7479
+ */
7600
7480
  dtc?: null | number;
7601
- /** @description Depth To Mate: Plies to mate (available only for Standard positions
7481
+ /**
7482
+ * @description Depth To Mate: Plies to mate (available only for Standard positions
7602
7483
  * with not more than 5 pieces)
7603
- * */
7484
+ */
7604
7485
  dtm?: null | number;
7605
- /** @description Depth To Win: Plies to win (available only for Antichess positions
7486
+ /**
7487
+ * @description Depth To Win: Plies to win (available only for Antichess positions
7606
7488
  * with not more than 4 pieces)
7607
- * */
7489
+ */
7608
7490
  dtw?: null | number;
7609
7491
  checkmate?: boolean;
7610
7492
  stalemate?: boolean;
@@ -7619,6 +7501,18 @@ export interface components {
7619
7501
  };
7620
7502
  responses: never;
7621
7503
  parameters: {
7504
+ /**
7505
+ * @description Specify the desired response format.
7506
+ * Use `application/x-chess-pgn` to get the games in PGN format.
7507
+ * Use `application/json` to get the games in JSON format.
7508
+ */
7509
+ AcceptPgnOrJson: "application/x-chess-pgn" | "application/json";
7510
+ /**
7511
+ * @description Specify the desired response format.
7512
+ * Use `application/x-chess-pgn` to get the games in PGN format.
7513
+ * Use `application/x-ndjson` to get the games in ndjson format. [Read about ndjson here](#description/streaming-with-nd-json) and how you can parse it in Javascript.
7514
+ */
7515
+ AcceptPgnOrNdjson: "application/x-chess-pgn" | "application/x-ndjson";
7622
7516
  /**
7623
7517
  * @description Only update the provided fields, leaving others unchanged
7624
7518
  * @example true
@@ -7643,21 +7537,18 @@ export interface operations {
7643
7537
  * @description Also return the network signal of the player, when available.
7644
7538
  * It ranges from 1 (poor connection, lag > 500ms) to 4 (great connection, lag < 150ms)
7645
7539
  * Defaults to `false` to preserve server resources.
7646
- *
7647
7540
  * @example true
7648
7541
  */
7649
7542
  withSignal?: boolean;
7650
7543
  /**
7651
7544
  * @description Also return the ID of the game being played, if any, for each player, in a `playingId` field.
7652
7545
  * Defaults to `false` to preserve server resources.
7653
- *
7654
7546
  * @example true
7655
7547
  */
7656
7548
  withGameIds?: boolean;
7657
7549
  /**
7658
7550
  * @description Also return the id, time control and variant of the game being played, if any, for each player, in a `playing` field.
7659
7551
  * Defaults to `false` to preserve server resources. Disables `withGameIds`.
7660
- *
7661
7552
  * @example true
7662
7553
  */
7663
7554
  withGameMetas?: boolean;
@@ -7898,10 +7789,11 @@ export interface operations {
7898
7789
  apiPuzzleNext: {
7899
7790
  parameters: {
7900
7791
  query?: {
7901
- /** @description The theme or opening to filter puzzles with.
7792
+ /**
7793
+ * @description The theme or opening to filter puzzles with.
7902
7794
  *
7903
7795
  * Available themes are listed in [the lichess source code](https://github.com/ornicar/lila/blob/master/translation/source/puzzleTheme.xml) and [the lichess training themes hyperlinks](https://lichess.org/training/themes).
7904
- * */
7796
+ */
7905
7797
  angle?: string;
7906
7798
  /** @description The desired puzzle difficulty, relative to the authenticated user puzzle rating, or 1500 if anonymous. */
7907
7799
  difficulty?: "easiest" | "easier" | "normal" | "harder" | "hardest";
@@ -7931,20 +7823,21 @@ export interface operations {
7931
7823
  query?: {
7932
7824
  /** @description The desired puzzle difficulty, relative to the authenticated user puzzle rating, or 1500 if anonymous. */
7933
7825
  difficulty?: "easiest" | "easier" | "normal" | "harder" | "hardest";
7934
- /** @description How many puzzles to fetch. Just set it to `1` if you only need one puzzle.
7935
- * */
7826
+ /** @description How many puzzles to fetch. Just set it to `1` if you only need one puzzle. */
7936
7827
  nb?: number;
7937
- /** @description The color to play. Better left empty to automatically get 50% white.
7828
+ /**
7829
+ * @description The color to play. Better left empty to automatically get 50% white.
7938
7830
  * Currently only works when `nb=1`.
7939
- * */
7831
+ */
7940
7832
  color?: "white" | "black";
7941
7833
  };
7942
7834
  header?: never;
7943
7835
  path: {
7944
- /** @description The theme or opening to filter puzzles with. Recommended: `mix`.
7836
+ /**
7837
+ * @description The theme or opening to filter puzzles with. Recommended: `mix`.
7945
7838
  *
7946
7839
  * Available themes are listed in [the lichess source code](https://github.com/ornicar/lila/blob/master/translation/source/puzzleTheme.xml) and [the lichess training themes hyperlinks](https://lichess.org/training/themes).
7947
- * */
7840
+ */
7948
7841
  angle: string;
7949
7842
  };
7950
7843
  cookie?: never;
@@ -7966,19 +7859,21 @@ export interface operations {
7966
7859
  apiPuzzleBatchSolve: {
7967
7860
  parameters: {
7968
7861
  query?: {
7969
- /** @description When > 0, the response includes a new puzzle batch with that many puzzles.
7862
+ /**
7863
+ * @description When > 0, the response includes a new puzzle batch with that many puzzles.
7970
7864
  *
7971
7865
  * This is equivalent to calling [/api/puzzle/batch/{angle}](#tag/Puzzles/operation/apiPuzzleBatchSelect),
7972
7866
  * and can sometimes save a request.
7973
- * */
7867
+ */
7974
7868
  nb?: number;
7975
7869
  };
7976
7870
  header?: never;
7977
7871
  path: {
7978
- /** @description The theme or opening of the solved puzzles.
7872
+ /**
7873
+ * @description The theme or opening of the solved puzzles.
7979
7874
  *
7980
7875
  * Available themes are listed in [the lichess source code](https://github.com/ornicar/lila/blob/master/translation/source/puzzleTheme.xml) and [the lichess training themes hyperlinks](https://lichess.org/training/themes).
7981
- * */
7876
+ */
7982
7877
  angle: string;
7983
7878
  };
7984
7879
  cookie?: never;
@@ -8357,37 +8252,49 @@ export interface operations {
8357
8252
  pgnInJson?: boolean;
8358
8253
  /** @description Include the PGN tags. */
8359
8254
  tags?: boolean;
8360
- /** @description Include clock status when available.
8255
+ /**
8256
+ * @description Include clock status when available.
8361
8257
  * Either as PGN comments: `2. exd5 { [%clk 1:01:27] } e5 { [%clk 1:01:28] }`
8362
8258
  * Or in a `clocks` JSON field, as centisecond integers, depending on the response type.
8363
- * */
8259
+ */
8364
8260
  clocks?: boolean;
8365
- /** @description Include analysis evaluations and comments, when available.
8261
+ /**
8262
+ * @description Include analysis evaluations and comments, when available.
8366
8263
  * Either as PGN comments: `12. Bxf6 { [%eval 0.23] } a3 { [%eval -1.09] }`
8367
8264
  * Or in an `analysis` JSON field, depending on the response type.
8368
- * */
8265
+ */
8369
8266
  evals?: boolean;
8370
- /** @description Include [accuracy percent](https://lichess.org/page/accuracy) of each player, when available. Only available in JSON.
8371
- * */
8267
+ /** @description Include [accuracy percent](https://lichess.org/page/accuracy) of each player, when available. Only available in JSON. */
8372
8268
  accuracy?: boolean;
8373
- /** @description Include the opening name.
8269
+ /**
8270
+ * @description Include the opening name.
8374
8271
  * Example: `[Opening "King's Gambit Accepted, King's Knight Gambit"]`
8375
- * */
8272
+ */
8376
8273
  opening?: boolean;
8377
- /** @description Plies which mark the beginning of the middlegame and endgame.
8274
+ /**
8275
+ * @description Plies which mark the beginning of the middlegame and endgame.
8378
8276
  * Only available in JSON
8379
- * */
8277
+ */
8380
8278
  division?: boolean;
8381
- /** @description Insert textual annotations in the PGN about the opening, analysis variations, mistakes, and game termination.
8279
+ /**
8280
+ * @description Insert textual annotations in the PGN about the opening, analysis variations, mistakes, and game termination.
8382
8281
  * Example: `5... g4? { (-0.98 → 0.60) Mistake. Best move was h6. } (5... h6 6. d4 Ne7 7. g3 d5 8. exd5 fxg3 9. hxg3 c6 10. dxc6)`
8383
- * */
8282
+ */
8384
8283
  literate?: boolean;
8385
- /** @description Add a `bookmarked: true` JSON field when the logged in user has bookmarked the game.
8284
+ /**
8285
+ * @description Add a `bookmarked: true` JSON field when the logged in user has bookmarked the game.
8386
8286
  * The response type must be set to `application/x-ndjson` by the request `Accept` header.
8387
- * */
8287
+ */
8388
8288
  withBookmarked?: boolean;
8389
8289
  };
8390
- header?: never;
8290
+ header?: {
8291
+ /**
8292
+ * @description Specify the desired response format.
8293
+ * Use `application/x-chess-pgn` to get the games in PGN format.
8294
+ * Use `application/json` to get the games in JSON format.
8295
+ */
8296
+ Accept?: components["parameters"]["AcceptPgnOrJson"];
8297
+ };
8391
8298
  path: {
8392
8299
  /** @description The game ID */
8393
8300
  gameId: string;
@@ -8418,33 +8325,44 @@ export interface operations {
8418
8325
  pgnInJson?: boolean;
8419
8326
  /** @description Include the PGN tags. */
8420
8327
  tags?: boolean;
8421
- /** @description Include clock status when available.
8328
+ /**
8329
+ * @description Include clock status when available.
8422
8330
  * Either as PGN comments: `2. exd5 { [%clk 1:01:27] } e5 { [%clk 1:01:28] }`
8423
8331
  * Or in a `clocks` JSON field, as centisecond integers, depending on the response type.
8424
- * */
8332
+ */
8425
8333
  clocks?: boolean;
8426
- /** @description Include analysis evaluations and comments, when available.
8334
+ /**
8335
+ * @description Include analysis evaluations and comments, when available.
8427
8336
  * Either as PGN comments: `12. Bxf6 { [%eval 0.23] } a3 { [%eval -1.09] }`
8428
8337
  * Or in an `analysis` JSON field, depending on the response type.
8429
- * */
8338
+ */
8430
8339
  evals?: boolean;
8431
- /** @description Include [accuracy percent](https://lichess.org/page/accuracy) of each player, when available. Only available in JSON.
8432
- * */
8340
+ /** @description Include [accuracy percent](https://lichess.org/page/accuracy) of each player, when available. Only available in JSON. */
8433
8341
  accuracy?: boolean;
8434
- /** @description Include the opening name.
8342
+ /**
8343
+ * @description Include the opening name.
8435
8344
  * Example: `[Opening "King's Gambit Accepted, King's Knight Gambit"]`
8436
- * */
8345
+ */
8437
8346
  opening?: boolean;
8438
- /** @description Plies which mark the beginning of the middlegame and endgame.
8347
+ /**
8348
+ * @description Plies which mark the beginning of the middlegame and endgame.
8439
8349
  * Only available in JSON
8440
- * */
8350
+ */
8441
8351
  division?: boolean;
8442
- /** @description Insert textual annotations in the PGN about the opening, analysis variations, mistakes, and game termination.
8352
+ /**
8353
+ * @description Insert textual annotations in the PGN about the opening, analysis variations, mistakes, and game termination.
8443
8354
  * Example: `5... g4? { (-0.98 → 0.60) Mistake. Best move was h6. } (5... h6 6. d4 Ne7 7. g3 d5 8. exd5 fxg3 9. hxg3 c6 10. dxc6)`
8444
- * */
8355
+ */
8445
8356
  literate?: boolean;
8446
8357
  };
8447
- header?: never;
8358
+ header?: {
8359
+ /**
8360
+ * @description Specify the desired response format.
8361
+ * Use `application/x-chess-pgn` to get the games in PGN format.
8362
+ * Use `application/json` to get the games in JSON format.
8363
+ */
8364
+ Accept?: components["parameters"]["AcceptPgnOrJson"];
8365
+ };
8448
8366
  path: {
8449
8367
  username: string;
8450
8368
  };
@@ -8478,11 +8396,12 @@ export interface operations {
8478
8396
  vs?: string;
8479
8397
  /** @description [Filter] Only rated (`true`) or casual (`false`) games */
8480
8398
  rated?: boolean;
8481
- /** @description [Filter] Only games in these speeds or variants.
8399
+ /**
8400
+ * @description [Filter] Only games in these speeds or variants.
8482
8401
  * Multiple perf types can be specified, separated by a comma.
8483
8402
  * Example: blitz,rapid,classical
8484
- * */
8485
- perfType?: components["schemas"]["PerfType"] & unknown;
8403
+ */
8404
+ perfType?: components["schemas"]["PerfType"];
8486
8405
  /** @description [Filter] Only games played as this color. */
8487
8406
  color?: "white" | "black";
8488
8407
  /** @description [Filter] Only games with or without a computer analysis available */
@@ -8493,52 +8412,59 @@ export interface operations {
8493
8412
  pgnInJson?: boolean;
8494
8413
  /** @description Include the PGN tags. */
8495
8414
  tags?: boolean;
8496
- /** @description Include clock status when available.
8415
+ /**
8416
+ * @description Include clock status when available.
8497
8417
  * Either as PGN comments: `2. exd5 { [%clk 1:01:27] } e5 { [%clk 1:01:28] }`
8498
8418
  * Or in a `clocks` JSON field, as centisecond integers, depending on the response type.
8499
- * */
8419
+ */
8500
8420
  clocks?: boolean;
8501
- /** @description Include analysis evaluations and comments, when available.
8421
+ /**
8422
+ * @description Include analysis evaluations and comments, when available.
8502
8423
  * Either as PGN comments: `12. Bxf6 { [%eval 0.23] } a3 { [%eval -1.09] }`
8503
8424
  * Or in an `analysis` JSON field, depending on the response type.
8504
- * */
8425
+ */
8505
8426
  evals?: boolean;
8506
- /** @description Include [accuracy percent](https://lichess.org/page/accuracy) of each player, when available. Only available in JSON.
8507
- * */
8427
+ /** @description Include [accuracy percent](https://lichess.org/page/accuracy) of each player, when available. Only available in JSON. */
8508
8428
  accuracy?: boolean;
8509
- /** @description Include the opening name.
8429
+ /**
8430
+ * @description Include the opening name.
8510
8431
  * Example: `[Opening "King's Gambit Accepted, King's Knight Gambit"]`
8511
- * */
8432
+ */
8512
8433
  opening?: boolean;
8513
- /** @description Plies which mark the beginning of the middlegame and endgame.
8434
+ /**
8435
+ * @description Plies which mark the beginning of the middlegame and endgame.
8514
8436
  * Only available in JSON
8515
- * */
8437
+ */
8516
8438
  division?: boolean;
8517
8439
  /** @description Ongoing games are delayed by a few seconds ranging from 3 to 60 depending on the time control, as to prevent cheat bots from using this API. */
8518
8440
  ongoing?: boolean;
8519
8441
  /** @description Include finished games. Set to `false` to only get ongoing games. */
8520
8442
  finished?: boolean;
8521
- /** @description Insert textual annotations in the PGN about the opening, analysis variations, mistakes, and game termination.
8443
+ /**
8444
+ * @description Insert textual annotations in the PGN about the opening, analysis variations, mistakes, and game termination.
8522
8445
  * Example: `5... g4? { (-0.98 → 0.60) Mistake. Best move was h6. } (5... h6 6. d4 Ne7 7. g3 d5 8. exd5 fxg3 9. hxg3 c6 10. dxc6)`
8523
- * */
8446
+ */
8524
8447
  literate?: boolean;
8525
- /** @description Include the X-FEN notation of the last position of the game.
8448
+ /**
8449
+ * @description Include the X-FEN notation of the last position of the game.
8526
8450
  * The response type must be set to `application/x-ndjson` by the request `Accept` header.
8527
- * */
8451
+ */
8528
8452
  lastFen?: boolean;
8529
- /** @description Add a `bookmarked: true` JSON field when the logged in user has bookmarked the game.
8453
+ /**
8454
+ * @description Add a `bookmarked: true` JSON field when the logged in user has bookmarked the game.
8530
8455
  * The response type must be set to `application/x-ndjson` by the request `Accept` header.
8531
- * */
8456
+ */
8532
8457
  withBookmarked?: boolean;
8533
8458
  /** @description Sort order of the games. */
8534
8459
  sort?: "dateAsc" | "dateDesc";
8535
8460
  };
8536
8461
  header?: {
8537
- /** @description Specify the desired response format.
8462
+ /**
8463
+ * @description Specify the desired response format.
8538
8464
  * Use `application/x-chess-pgn` to get the games in PGN format.
8539
- * Use `application/x-ndjson` to get the games in ndjson format.
8540
- * */
8541
- Accept?: "application/x-chess-pgn" | "application/x-ndjson";
8465
+ * Use `application/x-ndjson` to get the games in ndjson format. [Read about ndjson here](#description/streaming-with-nd-json) and how you can parse it in Javascript.
8466
+ */
8467
+ Accept?: components["parameters"]["AcceptPgnOrNdjson"];
8542
8468
  };
8543
8469
  path: {
8544
8470
  /** @description The user name. */
@@ -8570,33 +8496,44 @@ export interface operations {
8570
8496
  pgnInJson?: boolean;
8571
8497
  /** @description Include the PGN tags. */
8572
8498
  tags?: boolean;
8573
- /** @description Include clock status when available.
8499
+ /**
8500
+ * @description Include clock status when available.
8574
8501
  * Either as PGN comments: `2. exd5 { [%clk 1:01:27] } e5 { [%clk 1:01:28] }`
8575
8502
  * Or in a `clocks` JSON field, as centisecond integers, depending on the response type.
8576
- * */
8503
+ */
8577
8504
  clocks?: boolean;
8578
- /** @description Include analysis evaluations and comments, when available.
8505
+ /**
8506
+ * @description Include analysis evaluations and comments, when available.
8579
8507
  * Either as PGN comments: `12. Bxf6 { [%eval 0.23] } a3 { [%eval -1.09] }`
8580
8508
  * Or in an `analysis` JSON field, depending on the response type.
8581
- * */
8509
+ */
8582
8510
  evals?: boolean;
8583
- /** @description Include [accuracy percent](https://lichess.org/page/accuracy) of each player, when available. Only available in JSON.
8584
- * */
8511
+ /** @description Include [accuracy percent](https://lichess.org/page/accuracy) of each player, when available. Only available in JSON. */
8585
8512
  accuracy?: boolean;
8586
- /** @description Include the opening name.
8513
+ /**
8514
+ * @description Include the opening name.
8587
8515
  * Example: `[Opening "King's Gambit Accepted, King's Knight Gambit"]`
8588
- * */
8516
+ */
8589
8517
  opening?: boolean;
8590
- /** @description Plies which mark the beginning of the middlegame and endgame.
8518
+ /**
8519
+ * @description Plies which mark the beginning of the middlegame and endgame.
8591
8520
  * Only available in JSON
8592
- * */
8521
+ */
8593
8522
  division?: boolean;
8594
- /** @description Insert textual annotations in the PGN about the opening, analysis variations, mistakes, and game termination.
8523
+ /**
8524
+ * @description Insert textual annotations in the PGN about the opening, analysis variations, mistakes, and game termination.
8595
8525
  * Example: `5... g4? { (-0.98 → 0.60) Mistake. Best move was h6. } (5... h6 6. d4 Ne7 7. g3 d5 8. exd5 fxg3 9. hxg3 c6 10. dxc6)`
8596
- * */
8526
+ */
8597
8527
  literate?: boolean;
8598
8528
  };
8599
- header?: never;
8529
+ header?: {
8530
+ /**
8531
+ * @description Specify the desired response format.
8532
+ * Use `application/x-chess-pgn` to get the games in PGN format.
8533
+ * Use `application/x-ndjson` to get the games in ndjson format. [Read about ndjson here](#description/streaming-with-nd-json) and how you can parse it in Javascript.
8534
+ */
8535
+ Accept?: components["parameters"]["AcceptPgnOrNdjson"];
8536
+ };
8600
8537
  path?: never;
8601
8538
  cookie?: never;
8602
8539
  };
@@ -8631,9 +8568,10 @@ export interface operations {
8631
8568
  path?: never;
8632
8569
  cookie?: never;
8633
8570
  };
8634
- /** @description Up to 300 user IDs separated by commas.
8571
+ /**
8572
+ * @description Up to 300 user IDs separated by commas.
8635
8573
  * Example: `thibault,maia1,maia5`
8636
- * */
8574
+ */
8637
8575
  requestBody: {
8638
8576
  content: {
8639
8577
  "text/plain": string;
@@ -8661,9 +8599,10 @@ export interface operations {
8661
8599
  };
8662
8600
  cookie?: never;
8663
8601
  };
8664
- /** @description Up to 500 or 1000 game IDs separated by commas.
8602
+ /**
8603
+ * @description Up to 500 or 1000 game IDs separated by commas.
8665
8604
  * Example: `gameId01,gameId02,gameId03`
8666
- * */
8605
+ */
8667
8606
  requestBody: {
8668
8607
  content: {
8669
8608
  "text/plain": string;
@@ -8691,9 +8630,10 @@ export interface operations {
8691
8630
  };
8692
8631
  cookie?: never;
8693
8632
  };
8694
- /** @description Up to 500 or 1000 game IDs separated by commas.
8633
+ /**
8634
+ * @description Up to 500 or 1000 game IDs separated by commas.
8695
8635
  * Example: `gameId04,gameId05,gameId06`
8696
- * */
8636
+ */
8697
8637
  requestBody: {
8698
8638
  content: {
8699
8639
  "text/plain": string;
@@ -8874,39 +8814,51 @@ export interface operations {
8874
8814
  pgnInJson?: boolean;
8875
8815
  /** @description Include the PGN tags. */
8876
8816
  tags?: boolean;
8877
- /** @description Include clock status when available.
8817
+ /**
8818
+ * @description Include clock status when available.
8878
8819
  * Either as PGN comments: `2. exd5 { [%clk 1:01:27] } e5 { [%clk 1:01:28] }`
8879
8820
  * Or in a `clocks` JSON field, as centisecond integers, depending on the response type.
8880
- * */
8821
+ */
8881
8822
  clocks?: boolean;
8882
- /** @description Include analysis evaluations and comments, when available.
8823
+ /**
8824
+ * @description Include analysis evaluations and comments, when available.
8883
8825
  * Either as PGN comments: `12. Bxf6 { [%eval 0.23] } a3 { [%eval -1.09] }`
8884
8826
  * Or in an `analysis` JSON field, depending on the response type.
8885
- * */
8827
+ */
8886
8828
  evals?: boolean;
8887
- /** @description Include [accuracy percent](https://lichess.org/page/accuracy) of each player, when available. Only available in JSON.
8888
- * */
8829
+ /** @description Include [accuracy percent](https://lichess.org/page/accuracy) of each player, when available. Only available in JSON. */
8889
8830
  accuracy?: boolean;
8890
- /** @description Include the opening name.
8831
+ /**
8832
+ * @description Include the opening name.
8891
8833
  * Example: `[Opening "King's Gambit Accepted, King's Knight Gambit"]`
8892
- * */
8834
+ */
8893
8835
  opening?: boolean;
8894
- /** @description Plies which mark the beginning of the middlegame and endgame.
8836
+ /**
8837
+ * @description Plies which mark the beginning of the middlegame and endgame.
8895
8838
  * Only available in JSON
8896
- * */
8839
+ */
8897
8840
  division?: boolean;
8898
- /** @description Insert textual annotations in the PGN about the opening, analysis variations, mistakes, and game termination.
8841
+ /**
8842
+ * @description Insert textual annotations in the PGN about the opening, analysis variations, mistakes, and game termination.
8899
8843
  * Example: `5... g4? { (-0.98 → 0.60) Mistake. Best move was h6. } (5... h6 6. d4 Ne7 7. g3 d5 8. exd5 fxg3 9. hxg3 c6 10. dxc6)`
8900
- * */
8844
+ */
8901
8845
  literate?: boolean;
8902
- /** @description Include the X-FEN notation of the last position of the game.
8846
+ /**
8847
+ * @description Include the X-FEN notation of the last position of the game.
8903
8848
  * The response type must be set to `application/x-ndjson` by the request `Accept` header.
8904
- * */
8849
+ */
8905
8850
  lastFen?: boolean;
8906
8851
  /** @description Sort order of the bookmarks. */
8907
8852
  sort?: "dateAsc" | "dateDesc";
8908
8853
  };
8909
- header?: never;
8854
+ header?: {
8855
+ /**
8856
+ * @description Specify the desired response format.
8857
+ * Use `application/x-chess-pgn` to get the games in PGN format.
8858
+ * Use `application/x-ndjson` to get the games in ndjson format. [Read about ndjson here](#description/streaming-with-nd-json) and how you can parse it in Javascript.
8859
+ */
8860
+ Accept?: components["parameters"]["AcceptPgnOrNdjson"];
8861
+ };
8910
8862
  path?: never;
8911
8863
  cookie?: never;
8912
8864
  };
@@ -9017,17 +8969,26 @@ export interface operations {
9017
8969
  pgnInJson?: boolean;
9018
8970
  /** @description Include the PGN tags. */
9019
8971
  tags?: boolean;
9020
- /** @description Include clock status when available.
8972
+ /**
8973
+ * @description Include clock status when available.
9021
8974
  * Either as PGN comments: `2. exd5 { [%clk 1:01:27] } e5 { [%clk 1:01:28] }`
9022
8975
  * Or in a `clocks` JSON field, as centisecond integers, depending on the response type.
9023
- * */
8976
+ */
9024
8977
  clocks?: boolean;
9025
- /** @description Include the opening name.
8978
+ /**
8979
+ * @description Include the opening name.
9026
8980
  * Example: `[Opening "King's Gambit Accepted, King's Knight Gambit"]`
9027
- * */
8981
+ */
9028
8982
  opening?: boolean;
9029
8983
  };
9030
- header?: never;
8984
+ header?: {
8985
+ /**
8986
+ * @description Specify the desired response format.
8987
+ * Use `application/x-chess-pgn` to get the games in PGN format.
8988
+ * Use `application/x-ndjson` to get the games in ndjson format. [Read about ndjson here](#description/streaming-with-nd-json) and how you can parse it in Javascript.
8989
+ */
8990
+ Accept?: components["parameters"]["AcceptPgnOrNdjson"];
8991
+ };
9031
8992
  path: {
9032
8993
  /** @description The name of the channel in camel case. */
9033
8994
  channel: string;
@@ -9200,20 +9161,23 @@ export interface operations {
9200
9161
  hasChat?: boolean;
9201
9162
  /** @description Anything you want to tell players about the tournament */
9202
9163
  description?: string;
9203
- /** @description Make the tournament private, and restrict access with a password.
9164
+ /**
9165
+ * @description Make the tournament private, and restrict access with a password.
9204
9166
  * You can also [generate user-specific entry codes](https://github.com/lichess-org/api/tree/master/example/tournament-entry-code)
9205
9167
  * based on this password.
9206
- * */
9168
+ */
9207
9169
  password?: string;
9208
- /** @description Set the ID of a team you lead to create a team battle.
9170
+ /**
9171
+ * @description Set the ID of a team you lead to create a team battle.
9209
9172
  * The other teams can be added using the [team battle edit endpoint](#operation/apiTournamentTeamBattlePost).
9210
- * */
9173
+ */
9211
9174
  teamBattleByTeam?: string;
9212
- /** @description Restrict entry to members of a team.
9175
+ /**
9176
+ * @description Restrict entry to members of a team.
9213
9177
  * The teamId is the last part of a team URL, e.g. `https://lichess.org/team/coders` has teamId = `coders`.
9214
9178
  * Leave empty to let everyone join the tournament.
9215
9179
  * Do not use this to create team battles, use `teamBattleByTeam` instead.
9216
- * */
9180
+ */
9217
9181
  "conditions.teamMember.teamId"?: string;
9218
9182
  /**
9219
9183
  * @description Minimum rating to join. Leave empty to let everyone join the tournament.
@@ -9274,11 +9238,12 @@ export interface operations {
9274
9238
  | 100
9275
9239
  | 150
9276
9240
  | 200;
9277
- /** @description Predefined list of usernames that are allowed to join, separated by commas.
9241
+ /**
9242
+ * @description Predefined list of usernames that are allowed to join, separated by commas.
9278
9243
  * If this list is non-empty, then usernames absent from this list will be forbidden to join.
9279
9244
  * Adding `%titled` to the list additionally allows any titled player to join.
9280
9245
  * Example: `thibault,german11,%titled`
9281
- * */
9246
+ */
9282
9247
  "conditions.allowList"?: string;
9283
9248
  /**
9284
9249
  * @description Whether bots are allowed to join the tournament.
@@ -9548,11 +9513,12 @@ export interface operations {
9548
9513
  | 100
9549
9514
  | 150
9550
9515
  | 200;
9551
- /** @description Predefined list of usernames that are allowed to join, separated by commas.
9516
+ /**
9517
+ * @description Predefined list of usernames that are allowed to join, separated by commas.
9552
9518
  * If this list is non-empty, then usernames absent from this list will be forbidden to join.
9553
9519
  * Adding `%titled` to the list additionally allows any titled player to join.
9554
9520
  * Example: `thibault,german11,%titled`
9555
- * */
9521
+ */
9556
9522
  "conditions.allowList"?: string;
9557
9523
  /**
9558
9524
  * @description Whether bots are allowed to join the tournament.
@@ -9614,10 +9580,11 @@ export interface operations {
9614
9580
  requestBody?: {
9615
9581
  content: {
9616
9582
  "application/x-www-form-urlencoded": {
9617
- /** @description The tournament password, if one is required.
9583
+ /**
9584
+ * @description The tournament password, if one is required.
9618
9585
  * Can also be a [user-specific entry code](https://github.com/lichess-org/api/tree/master/example/tournament-entry-code)
9619
9586
  * generated and shared by the organizer.
9620
- * */
9587
+ */
9621
9588
  password?: string;
9622
9589
  /** @description The team to join the tournament with, for team battle tournaments */
9623
9590
  team?: string;
@@ -9626,7 +9593,6 @@ export interface operations {
9626
9593
  * even if they are not connected to the tournament page.
9627
9594
  * This expires after one minute, to avoid pairing a user who is long gone.
9628
9595
  * You may call "join" again to extend the waiting.
9629
- *
9630
9596
  * @default false
9631
9597
  */
9632
9598
  pairMeAsap?: boolean;
@@ -9734,11 +9700,12 @@ export interface operations {
9734
9700
  requestBody: {
9735
9701
  content: {
9736
9702
  "application/x-www-form-urlencoded": {
9737
- /** @description All team IDs of the team battle, separated by commas.
9703
+ /**
9704
+ * @description All team IDs of the team battle, separated by commas.
9738
9705
  * Make sure to always send the full list.
9739
9706
  * Teams that are not in the list will be removed from the team battle.
9740
9707
  * Example: `coders,zhigalko_sergei-fan-club,hhSwTKZv`
9741
- * */
9708
+ */
9742
9709
  teams: string;
9743
9710
  /** @description Number team leaders per team. */
9744
9711
  nbLeaders: number;
@@ -9778,29 +9745,39 @@ export interface operations {
9778
9745
  pgnInJson?: boolean;
9779
9746
  /** @description Include the PGN tags. */
9780
9747
  tags?: boolean;
9781
- /** @description Include clock status when available.
9748
+ /**
9749
+ * @description Include clock status when available.
9782
9750
  * Either as PGN comments: `2. exd5 { [%clk 1:01:27] } e5 { [%clk 1:01:28] }`
9783
9751
  * Or in a `clocks` JSON field, as centisecond integers, depending on the response type.
9784
- * */
9752
+ */
9785
9753
  clocks?: boolean;
9786
- /** @description Include analysis evaluations and comments, when available.
9754
+ /**
9755
+ * @description Include analysis evaluations and comments, when available.
9787
9756
  * Either as PGN comments: `12. Bxf6 { [%eval 0.23] } a3 { [%eval -1.09] }`
9788
9757
  * Or in an `analysis` JSON field, depending on the response type.
9789
- * */
9758
+ */
9790
9759
  evals?: boolean;
9791
- /** @description Include [accuracy percent](https://lichess.org/page/accuracy) of each player, when available. Only available in JSON.
9792
- * */
9760
+ /** @description Include [accuracy percent](https://lichess.org/page/accuracy) of each player, when available. Only available in JSON. */
9793
9761
  accuracy?: boolean;
9794
- /** @description Include the opening name.
9762
+ /**
9763
+ * @description Include the opening name.
9795
9764
  * Example: `[Opening "King's Gambit Accepted, King's Knight Gambit"]`
9796
- * */
9765
+ */
9797
9766
  opening?: boolean;
9798
- /** @description Plies which mark the beginning of the middlegame and endgame.
9767
+ /**
9768
+ * @description Plies which mark the beginning of the middlegame and endgame.
9799
9769
  * Only available in JSON
9800
- * */
9770
+ */
9801
9771
  division?: boolean;
9802
9772
  };
9803
- header?: never;
9773
+ header?: {
9774
+ /**
9775
+ * @description Specify the desired response format.
9776
+ * Use `application/x-chess-pgn` to get the games in PGN format.
9777
+ * Use `application/x-ndjson` to get the games in ndjson format. [Read about ndjson here](#description/streaming-with-nd-json) and how you can parse it in Javascript.
9778
+ */
9779
+ Accept?: components["parameters"]["AcceptPgnOrNdjson"];
9780
+ };
9804
9781
  path: {
9805
9782
  /** @description The tournament ID. */
9806
9783
  id: string;
@@ -9827,9 +9804,10 @@ export interface operations {
9827
9804
  query?: {
9828
9805
  /** @description Max number of players to fetch */
9829
9806
  nb?: number;
9830
- /** @description Add a `sheet` field to the player document.
9807
+ /**
9808
+ * @description Add a `sheet` field to the player document.
9831
9809
  * It's an expensive server computation that slows down the stream.
9832
- * */
9810
+ */
9833
9811
  sheet?: boolean;
9834
9812
  };
9835
9813
  header?: never;
@@ -9904,10 +9882,11 @@ export interface operations {
9904
9882
  query?: {
9905
9883
  /** @description Max number of tournaments to fetch */
9906
9884
  nb?: number;
9907
- /** @description Include tournaments in the given status: "Created" (10), "Started" (20), "Finished" (30)
9885
+ /**
9886
+ * @description Include tournaments in the given status: "Created" (10), "Started" (20), "Finished" (30)
9908
9887
  * You can add this parameter more than once to include tournaments in different statuses.
9909
9888
  * Example: `?status=10&status=20`
9910
- * */
9889
+ */
9911
9890
  status?: 10 | 20 | 30;
9912
9891
  };
9913
9892
  header?: never;
@@ -9936,8 +9915,7 @@ export interface operations {
9936
9915
  query?: {
9937
9916
  /** @description Max number of tournaments to fetch */
9938
9917
  nb?: number;
9939
- /** @description Include the player performance rating in the response, at some cost for the server.
9940
- * */
9918
+ /** @description Include the player performance rating in the response, at some cost for the server. */
9941
9919
  performance?: boolean;
9942
9920
  };
9943
9921
  header?: never;
@@ -10032,7 +10010,6 @@ export interface operations {
10032
10010
  * @description How long to wait between each round, in seconds.
10033
10011
  * Set to 99999999 to manually schedule each round from the tournament UI.
10034
10012
  * If empty or -1, a sensible value is picked automatically.
10035
- *
10036
10013
  * @enum {integer}
10037
10014
  */
10038
10015
  roundInterval?:
@@ -10067,11 +10044,13 @@ export interface operations {
10067
10044
  rated?: boolean;
10068
10045
  /** @description Make the tournament private and restrict access with a password. */
10069
10046
  password?: string;
10070
- /** @description Usernames of players that must not play together.
10047
+ /**
10048
+ * @description Usernames of players that must not play together.
10071
10049
  * Two usernames per line, separated by a space.
10072
- * */
10050
+ */
10073
10051
  forbiddenPairings?: string;
10074
- /** @description Manual pairings for the next round.
10052
+ /**
10053
+ * @description Manual pairings for the next round.
10075
10054
  * Two usernames per line, separated by a space. Example:
10076
10055
  * ```
10077
10056
  * PlayerA PlayerB
@@ -10082,7 +10061,7 @@ export interface operations {
10082
10061
  * PlayerE 1
10083
10062
  * ```
10084
10063
  * Missing players will be considered absent and get zero points.
10085
- * */
10064
+ */
10086
10065
  manualPairings?: string;
10087
10066
  /**
10088
10067
  * @description Who can read and write in the chat.
@@ -10090,7 +10069,6 @@ export interface operations {
10090
10069
  * - 10 = Only team leaders
10091
10070
  * - 20 = Only team members
10092
10071
  * - 30 = All Lichess players
10093
- *
10094
10072
  * @default 20
10095
10073
  * @enum {integer}
10096
10074
  */
@@ -10143,15 +10121,15 @@ export interface operations {
10143
10121
  * @description Only let players join if they have played their last swiss game.
10144
10122
  * If they failed to show up in a recent swiss event, they won't be able to enter yours.
10145
10123
  * This results in a better swiss experience for the players who actually show up.
10146
- *
10147
10124
  * @default false
10148
10125
  */
10149
10126
  "conditions.playYourGames"?: boolean;
10150
- /** @description Predefined list of usernames that are allowed to join, separated by commas.
10127
+ /**
10128
+ * @description Predefined list of usernames that are allowed to join, separated by commas.
10151
10129
  * If this list is non-empty, then usernames absent from this list will be forbidden to join.
10152
10130
  * Adding `%titled` to the list additionally allows any titled player to join.
10153
10131
  * Example: `thibault,german11,%titled`
10154
- * */
10132
+ */
10155
10133
  "conditions.allowList"?: string;
10156
10134
  };
10157
10135
  };
@@ -10273,7 +10251,6 @@ export interface operations {
10273
10251
  * @description How long to wait between each round, in seconds.
10274
10252
  * Set to 99999999 to manually schedule each round from the tournament UI, or [with the API](#tag/Swiss-tournaments/operation/apiSwissScheduleNextRound).
10275
10253
  * If empty or -1, a sensible value is picked automatically.
10276
- *
10277
10254
  * @enum {integer}
10278
10255
  */
10279
10256
  roundInterval?:
@@ -10308,15 +10285,17 @@ export interface operations {
10308
10285
  rated?: boolean;
10309
10286
  /** @description Make the tournament private and restrict access with a password. */
10310
10287
  password?: string;
10311
- /** @description Usernames of players that must not play together.
10288
+ /**
10289
+ * @description Usernames of players that must not play together.
10312
10290
  * Two usernames per line, separated by a space.
10313
- * */
10291
+ */
10314
10292
  forbiddenPairings?: string;
10315
- /** @description Manual pairings for the next round.
10293
+ /**
10294
+ * @description Manual pairings for the next round.
10316
10295
  * Two usernames per line, separated by a space.
10317
10296
  * Present players without a valid pairing will be given a bye, which is worth 1 point.
10318
10297
  * Forfeited players will get 0 points.
10319
- * */
10298
+ */
10320
10299
  manualPairings?: string;
10321
10300
  /**
10322
10301
  * @description Who can read and write in the chat.
@@ -10324,7 +10303,6 @@ export interface operations {
10324
10303
  * - 10 = Only team leaders
10325
10304
  * - 20 = Only team members
10326
10305
  * - 30 = All Lichess players
10327
- *
10328
10306
  * @default 20
10329
10307
  * @enum {integer}
10330
10308
  */
@@ -10377,15 +10355,15 @@ export interface operations {
10377
10355
  * @description Only let players join if they have played their last swiss game.
10378
10356
  * If they failed to show up in a recent swiss event, they won't be able to enter yours.
10379
10357
  * This results in a better swiss experience for the players who actually show up.
10380
- *
10381
10358
  * @default false
10382
10359
  */
10383
10360
  "conditions.playYourGames"?: boolean;
10384
- /** @description Predefined list of usernames that are allowed to join, separated by commas.
10361
+ /**
10362
+ * @description Predefined list of usernames that are allowed to join, separated by commas.
10385
10363
  * If this list is non-empty, then usernames absent from this list will be forbidden to join.
10386
10364
  * Adding `%titled` to the list additionally allows any titled player to join.
10387
10365
  * Example: `thibault,german11,%titled`
10388
- * */
10366
+ */
10389
10367
  "conditions.allowList"?: string;
10390
10368
  };
10391
10369
  };
@@ -10605,29 +10583,39 @@ export interface operations {
10605
10583
  pgnInJson?: boolean;
10606
10584
  /** @description Include the PGN tags. */
10607
10585
  tags?: boolean;
10608
- /** @description Include clock status when available.
10586
+ /**
10587
+ * @description Include clock status when available.
10609
10588
  * Either as PGN comments: `2. exd5 { [%clk 1:01:27] } e5 { [%clk 1:01:28] }`
10610
10589
  * Or in a `clocks` JSON field, as centisecond integers, depending on the response type.
10611
- * */
10590
+ */
10612
10591
  clocks?: boolean;
10613
- /** @description Include analysis evaluations and comments, when available.
10592
+ /**
10593
+ * @description Include analysis evaluations and comments, when available.
10614
10594
  * Either as PGN comments: `12. Bxf6 { [%eval 0.23] } a3 { [%eval -1.09] }`
10615
10595
  * Or in an `analysis` JSON field, depending on the response type.
10616
- * */
10596
+ */
10617
10597
  evals?: boolean;
10618
- /** @description Include [accuracy percent](https://lichess.org/page/accuracy) of each player, when available. Only available in JSON.
10619
- * */
10598
+ /** @description Include [accuracy percent](https://lichess.org/page/accuracy) of each player, when available. Only available in JSON. */
10620
10599
  accuracy?: boolean;
10621
- /** @description Include the opening name.
10600
+ /**
10601
+ * @description Include the opening name.
10622
10602
  * Example: `[Opening "King's Gambit Accepted, King's Knight Gambit"]`
10623
- * */
10603
+ */
10624
10604
  opening?: boolean;
10625
- /** @description Plies which mark the beginning of the middlegame and endgame.
10605
+ /**
10606
+ * @description Plies which mark the beginning of the middlegame and endgame.
10626
10607
  * Only available in JSON
10627
- * */
10608
+ */
10628
10609
  division?: boolean;
10629
10610
  };
10630
- header?: never;
10611
+ header?: {
10612
+ /**
10613
+ * @description Specify the desired response format.
10614
+ * Use `application/x-chess-pgn` to get the games in PGN format.
10615
+ * Use `application/x-ndjson` to get the games in ndjson format. [Read about ndjson here](#description/streaming-with-nd-json) and how you can parse it in Javascript.
10616
+ */
10617
+ Accept?: components["parameters"]["AcceptPgnOrNdjson"];
10618
+ };
10631
10619
  path: {
10632
10620
  /** @description The tournament ID. */
10633
10621
  id: string;
@@ -10690,14 +10678,11 @@ export interface operations {
10690
10678
  query?: {
10691
10679
  /** @description How many tournaments to download. */
10692
10680
  max?: number;
10693
- /** @description [Filter] Only swiss tournaments in this current state.
10694
- * */
10695
- status?: components["schemas"]["SwissStatus"] & unknown;
10696
- /** @description [Filter] Only swiss tournaments created by a given user.
10697
- * */
10681
+ /** @description [Filter] Only swiss tournaments in this current state. */
10682
+ status?: components["schemas"]["SwissStatus"];
10683
+ /** @description [Filter] Only swiss tournaments created by a given user. */
10698
10684
  createdBy?: string;
10699
- /** @description [Filter] Only swiss tournaments with a given name.
10700
- * */
10685
+ /** @description [Filter] Only swiss tournaments with a given name. */
10701
10686
  name?: string;
10702
10687
  };
10703
10688
  header?: never;
@@ -10724,21 +10709,25 @@ export interface operations {
10724
10709
  studyChapterPgn: {
10725
10710
  parameters: {
10726
10711
  query?: {
10727
- /** @description Include clock comments in the PGN moves, when available.
10712
+ /**
10713
+ * @description Include clock comments in the PGN moves, when available.
10728
10714
  * Example: `2. exd5 { [%clk 1:01:27] } e5 { [%clk 1:01:28] }`
10729
- * */
10715
+ */
10730
10716
  clocks?: boolean;
10731
- /** @description Include analysis and annotator comments in the PGN moves, when available.
10717
+ /**
10718
+ * @description Include analysis and annotator comments in the PGN moves, when available.
10732
10719
  * Example: `12. Bxf6 { [%eval 0.23] } a3 { White is in a pickle. }`
10733
- * */
10720
+ */
10734
10721
  comments?: boolean;
10735
- /** @description Include non-mainline moves, when available.
10722
+ /**
10723
+ * @description Include non-mainline moves, when available.
10736
10724
  * Example: `4. d4 Bb4+ (4... Nc6 5. Nf3 Bb4+ 6. Bd2 (6. Nbd2 O-O 7. O-O) 6... Bd6) 5. Nd2`
10737
- * */
10725
+ */
10738
10726
  variations?: boolean;
10739
- /** @description Add a `Orientation` PGN tag with the chapter predefined orientation.
10727
+ /**
10728
+ * @description Add a `Orientation` PGN tag with the chapter predefined orientation.
10740
10729
  * Example: `[Orientation "white"]`
10741
- * */
10730
+ */
10742
10731
  orientation?: boolean;
10743
10732
  };
10744
10733
  header?: never;
@@ -10766,21 +10755,25 @@ export interface operations {
10766
10755
  studyAllChaptersPgn: {
10767
10756
  parameters: {
10768
10757
  query?: {
10769
- /** @description Include clock comments in the PGN moves, when available.
10758
+ /**
10759
+ * @description Include clock comments in the PGN moves, when available.
10770
10760
  * Example: `2. exd5 { [%clk 1:01:27] } e5 { [%clk 1:01:28] }`
10771
- * */
10761
+ */
10772
10762
  clocks?: boolean;
10773
- /** @description Include analysis and annotator comments in the PGN moves, when available.
10763
+ /**
10764
+ * @description Include analysis and annotator comments in the PGN moves, when available.
10774
10765
  * Example: `12. Bxf6 { [%eval 0.23] } a3 { White is in a pickle. }`
10775
- * */
10766
+ */
10776
10767
  comments?: boolean;
10777
- /** @description Include non-mainline moves, when available.
10768
+ /**
10769
+ * @description Include non-mainline moves, when available.
10778
10770
  * Example: `4. d4 Bb4+ (4... Nc6 5. Nf3 Bb4+ 6. Bd2 (6. Nbd2 O-O 7. O-O) 6... Bd6) 5. Nd2`
10779
- * */
10771
+ */
10780
10772
  variations?: boolean;
10781
- /** @description Add a `Orientation` PGN tag with the chapter predefined orientation.
10773
+ /**
10774
+ * @description Add a `Orientation` PGN tag with the chapter predefined orientation.
10782
10775
  * Example: `[Orientation "white"]`
10783
- * */
10776
+ */
10784
10777
  orientation?: boolean;
10785
10778
  };
10786
10779
  header?: never;
@@ -10842,12 +10835,12 @@ export interface operations {
10842
10835
  requestBody: {
10843
10836
  content: {
10844
10837
  "application/x-www-form-urlencoded": {
10845
- /** @description PGN to import. Can contain multiple games separated by 2 or more newlines.
10846
- * */
10838
+ /** @description PGN to import. Can contain multiple games separated by 2 or more newlines. */
10847
10839
  pgn: string;
10848
- /** @description Name of the new chapter.
10840
+ /**
10841
+ * @description Name of the new chapter.
10849
10842
  * If not specified, or if multiple chapters are created, the names will be inferred from the PGN tags.
10850
- * */
10843
+ */
10851
10844
  name?: string;
10852
10845
  /**
10853
10846
  * @description Default board orientation.
@@ -10896,8 +10889,7 @@ export interface operations {
10896
10889
  requestBody: {
10897
10890
  content: {
10898
10891
  "application/x-www-form-urlencoded": {
10899
- /** @description PGN text containing the tags. Only the tags are used. Moves are just ignored.
10900
- * */
10892
+ /** @description PGN text containing the tags. Only the tags are used. Moves are just ignored. */
10901
10893
  pgn: string;
10902
10894
  };
10903
10895
  };
@@ -10925,21 +10917,25 @@ export interface operations {
10925
10917
  studyExportAllPgn: {
10926
10918
  parameters: {
10927
10919
  query?: {
10928
- /** @description Include clock comments in the PGN moves, when available.
10920
+ /**
10921
+ * @description Include clock comments in the PGN moves, when available.
10929
10922
  * Example: `2. exd5 { [%clk 1:01:27] } e5 { [%clk 1:01:28] }`
10930
- * */
10923
+ */
10931
10924
  clocks?: boolean;
10932
- /** @description Include analysis and annotator comments in the PGN moves, when available.
10925
+ /**
10926
+ * @description Include analysis and annotator comments in the PGN moves, when available.
10933
10927
  * Example: `12. Bxf6 { [%eval 0.23] } a3 { White is in a pickle. }`
10934
- * */
10928
+ */
10935
10929
  comments?: boolean;
10936
- /** @description Include non-mainline moves, when available.
10930
+ /**
10931
+ * @description Include non-mainline moves, when available.
10937
10932
  * Example: `4. d4 Bb4+ (4... Nc6 5. Nf3 Bb4+ 6. Bd2 (6. Nbd2 O-O 7. O-O) 6... Bd6) 5. Nd2`
10938
- * */
10933
+ */
10939
10934
  variations?: boolean;
10940
- /** @description Add a `Orientation` PGN tag with the chapter predefined orientation.
10935
+ /**
10936
+ * @description Add a `Orientation` PGN tag with the chapter predefined orientation.
10941
10937
  * Example: `[Orientation "white"]`
10942
- * */
10938
+ */
10943
10939
  orientation?: boolean;
10944
10940
  };
10945
10941
  header?: never;
@@ -11231,9 +11227,10 @@ export interface operations {
11231
11227
  path: {
11232
11228
  /** @description The broadcast tournament ID */
11233
11229
  broadcastTournamentId: string;
11234
- /** @description The unique player ID within the broadcast. This is usually their fideId.
11230
+ /**
11231
+ * @description The unique player ID within the broadcast. This is usually their fideId.
11235
11232
  * If the player does not have a fideId, it is their name. Consult the [list of players for the broadcast](#tag/Broadcasts/operation/broadcastPlayersGet) for which ID to use.
11236
- * */
11233
+ */
11237
11234
  playerId: string;
11238
11235
  };
11239
11236
  cookie?: never;
@@ -11733,9 +11730,10 @@ export interface operations {
11733
11730
  teamIdUsers: {
11734
11731
  parameters: {
11735
11732
  query?: {
11736
- /** @description Full user documents with performance ratings.
11733
+ /**
11734
+ * @description Full user documents with performance ratings.
11737
11735
  * This limits the response to 1,000 users.
11738
- * */
11736
+ */
11739
11737
  full?: boolean;
11740
11738
  };
11741
11739
  header?: never;
@@ -11775,14 +11773,11 @@ export interface operations {
11775
11773
  query?: {
11776
11774
  /** @description How many tournaments to download. */
11777
11775
  max?: number;
11778
- /** @description [Filter] Only arena tournaments in this current state.
11779
- * */
11780
- status?: components["schemas"]["ArenaStatusName"] & unknown;
11781
- /** @description [Filter] Only arena tournaments created by a given user.
11782
- * */
11776
+ /** @description [Filter] Only arena tournaments in this current state. */
11777
+ status?: components["schemas"]["ArenaStatusName"];
11778
+ /** @description [Filter] Only arena tournaments created by a given user. */
11783
11779
  createdBy?: string;
11784
- /** @description [Filter] Only arena tournaments with a given name.
11785
- * */
11780
+ /** @description [Filter] Only arena tournaments with a given name. */
11786
11781
  name?: string;
11787
11782
  };
11788
11783
  header?: never;
@@ -12064,29 +12059,37 @@ export interface operations {
12064
12059
  query: {
12065
12060
  /** @description The beginning of a username */
12066
12061
  term: string;
12067
- /** @description - `false` returns an array of usernames
12062
+ /** @description If `true`, only checks if the user exists. */
12063
+ exists?: boolean;
12064
+ /**
12065
+ * @description - `false` returns an array of usernames
12068
12066
  * - `true` returns an object with matching users
12069
- * */
12067
+ */
12070
12068
  object?: boolean;
12071
- /** @description - `false` returns an array of usernames
12069
+ /**
12070
+ * @description - `false` returns an array of usernames
12072
12071
  * - `true` returns an array of usernames with preferred casing
12073
- * */
12072
+ */
12074
12073
  names?: boolean;
12075
- /** @description Returns followed players matching `term` if any, else returns other players.
12074
+ /**
12075
+ * @description Returns followed players matching `term` if any, else returns other players.
12076
12076
  * Requires [OAuth](#tag/OAuth).
12077
- * */
12077
+ */
12078
12078
  friend?: boolean;
12079
- /** @description Search within a team.
12079
+ /**
12080
+ * @description Search within a team.
12080
12081
  * Use team ID/slug.
12081
- * */
12082
+ */
12082
12083
  team?: string;
12083
- /** @description Search within a arena tournament.
12084
+ /**
12085
+ * @description Search within a arena tournament.
12084
12086
  * Use tournament ID.
12085
- * */
12087
+ */
12086
12088
  tour?: string;
12087
- /** @description Search within a Swiss tournament.
12088
- * */
12089
+ /** @description Search within a Swiss tournament. */
12089
12090
  swiss?: string;
12091
+ /** @description Only search for players who also have a teacher role. */
12092
+ teacher?: boolean;
12090
12093
  };
12091
12094
  header?: never;
12092
12095
  path?: never;
@@ -12315,9 +12318,10 @@ export interface operations {
12315
12318
  */
12316
12319
  rated?: boolean;
12317
12320
  variant?: components["schemas"]["VariantKey"];
12318
- /** @description The rating range of potential opponents. Better left empty.
12321
+ /**
12322
+ * @description The rating range of potential opponents. Better left empty.
12319
12323
  * Example: 1500-1800
12320
- * */
12324
+ */
12321
12325
  ratingRange?: string;
12322
12326
  } & (
12323
12327
  | {
@@ -13189,17 +13193,17 @@ export interface operations {
13189
13193
  color?: components["schemas"]["ChallengeColor"];
13190
13194
  variant?: components["schemas"]["VariantKey"];
13191
13195
  fen?: components["schemas"]["FromPositionFEN"];
13192
- /** @description If set, the response is streamed as [ndjson](#section/Introduction/Streaming-with-ND-JSON).
13196
+ /**
13197
+ * @description If set, the response is streamed as [ndjson](#description/streaming-with-nd-json).
13193
13198
  * The challenge is kept alive until the connection is closed by the client.
13194
13199
  * When the challenge is accepted, declined or canceled, a message of the form `{"done":"accepted"}` is sent,
13195
13200
  * then the connection is closed by the server.
13196
13201
  * If not set, the response is not streamed, and the challenge expires after 20s if not accepted.
13197
- * */
13202
+ */
13198
13203
  keepAliveStream?: boolean;
13199
13204
  /**
13200
13205
  * @description Extra game rules separated by commas.
13201
13206
  * Example: `noAbort,noRematch`
13202
- *
13203
13207
  * @enum {string}
13204
13208
  */
13205
13209
  rules?:
@@ -13494,7 +13498,6 @@ export interface operations {
13494
13498
  * @description Extra game rules separated by commas.
13495
13499
  * Example: `noRematch,noGiveTime`
13496
13500
  * The `noAbort` rule is available for Lichess admins only
13497
- *
13498
13501
  * @enum {string}
13499
13502
  */
13500
13503
  rules?:
@@ -13503,11 +13506,12 @@ export interface operations {
13503
13506
  | "noClaimWin"
13504
13507
  | "noEarlyDraw"
13505
13508
  | "noAbort";
13506
- /** @description Optional pair of usernames, separated by a comma.
13509
+ /**
13510
+ * @description Optional pair of usernames, separated by a comma.
13507
13511
  * If set, only these users will be allowed to join the game.
13508
13512
  * The first username gets the white pieces.
13509
13513
  * Example: `Username1,Username2`
13510
- * */
13514
+ */
13511
13515
  users?: string;
13512
13516
  /**
13513
13517
  * Format: int64
@@ -13599,18 +13603,17 @@ export interface operations {
13599
13603
  requestBody: {
13600
13604
  content: {
13601
13605
  "application/x-www-form-urlencoded": {
13602
- /** @description OAuth tokens of all the players to pair, with the syntax `tokenOfWhitePlayerInGame1:tokenOfBlackPlayerInGame1,tokenOfWhitePlayerInGame2:tokenOfBlackPlayerInGame2,...`.
13606
+ /**
13607
+ * @description OAuth tokens of all the players to pair, with the syntax `tokenOfWhitePlayerInGame1:tokenOfBlackPlayerInGame1,tokenOfWhitePlayerInGame2:tokenOfBlackPlayerInGame2,...`.
13603
13608
  * The 2 tokens of the players of a game are separated with `:`. The first token gets the white pieces. Games are separated with `,`.
13604
13609
  * Up to 1000 tokens can be sent, for a max of 500 games.
13605
13610
  * Each token must be included at most once.
13606
13611
  * Example: `token1:token2,token3:token4,token5:token6`
13607
- * */
13612
+ */
13608
13613
  players?: string;
13609
- /** @description Clock initial time in seconds. Example: `600`
13610
- * */
13614
+ /** @description Clock initial time in seconds. Example: `600` */
13611
13615
  "clock.limit"?: number;
13612
- /** @description Clock increment in seconds. Example: `2`
13613
- * */
13616
+ /** @description Clock increment in seconds. Example: `2` */
13614
13617
  "clock.increment"?: number;
13615
13618
  /**
13616
13619
  * @description Days per turn. For correspondence games only.
@@ -13623,7 +13626,6 @@ export interface operations {
13623
13626
  * Up to 7 days in the future.
13624
13627
  * Omit, or set to current date and time, to start the games immediately.
13625
13628
  * Example: `1612289869919`
13626
- *
13627
13629
  */
13628
13630
  pairAt?: number;
13629
13631
  /**
@@ -13633,7 +13635,6 @@ export interface operations {
13633
13635
  * Note that the clocks can start earlier than specified, if players start making moves in the game.
13634
13636
  * If omitted, the clocks will not start automatically.
13635
13637
  * Example: `1612289869919`
13636
- *
13637
13638
  */
13638
13639
  startClocksAt?: number;
13639
13640
  /**
@@ -13648,14 +13649,12 @@ export interface operations {
13648
13649
  * `{opponent}` and `{game}` are placeholders that will be replaced with the opponent and the game URLs.
13649
13650
  * You can omit this field to send the default message,
13650
13651
  * but if you set your own message, it must at least contain the `{game}` placeholder.
13651
- *
13652
13652
  * @default Your game with {opponent} is ready: {game}.
13653
13653
  */
13654
13654
  message?: string;
13655
13655
  /**
13656
13656
  * @description Extra game rules separated by commas.
13657
13657
  * Example: `noAbort,noRematch`
13658
- *
13659
13658
  * @enum {string}
13660
13659
  */
13661
13660
  rules?:
@@ -13794,33 +13793,44 @@ export interface operations {
13794
13793
  pgnInJson?: boolean;
13795
13794
  /** @description Include the PGN tags. */
13796
13795
  tags?: boolean;
13797
- /** @description Include clock status when available.
13796
+ /**
13797
+ * @description Include clock status when available.
13798
13798
  * Either as PGN comments: `2. exd5 { [%clk 1:01:27] } e5 { [%clk 1:01:28] }`
13799
13799
  * Or in a `clocks` JSON field, as centisecond integers, depending on the response type.
13800
- * */
13800
+ */
13801
13801
  clocks?: boolean;
13802
- /** @description Include analysis evaluations and comments, when available.
13802
+ /**
13803
+ * @description Include analysis evaluations and comments, when available.
13803
13804
  * Either as PGN comments: `12. Bxf6 { [%eval 0.23] } a3 { [%eval -1.09] }`
13804
13805
  * Or in an `analysis` JSON field, depending on the response type.
13805
- * */
13806
+ */
13806
13807
  evals?: boolean;
13807
- /** @description Include [accuracy percent](https://lichess.org/page/accuracy) of each player, when available. Only available in JSON.
13808
- * */
13808
+ /** @description Include [accuracy percent](https://lichess.org/page/accuracy) of each player, when available. Only available in JSON. */
13809
13809
  accuracy?: boolean;
13810
- /** @description Include the opening name.
13810
+ /**
13811
+ * @description Include the opening name.
13811
13812
  * Example: `[Opening "King's Gambit Accepted, King's Knight Gambit"]`
13812
- * */
13813
+ */
13813
13814
  opening?: boolean;
13814
- /** @description Plies which mark the beginning of the middlegame and endgame.
13815
+ /**
13816
+ * @description Plies which mark the beginning of the middlegame and endgame.
13815
13817
  * Only available in JSON
13816
- * */
13818
+ */
13817
13819
  division?: boolean;
13818
- /** @description Insert textual annotations in the PGN about the opening, analysis variations, mistakes, and game termination.
13820
+ /**
13821
+ * @description Insert textual annotations in the PGN about the opening, analysis variations, mistakes, and game termination.
13819
13822
  * Example: `5... g4? { (-0.98 → 0.60) Mistake. Best move was h6. } (5... h6 6. d4 Ne7 7. g3 d5 8. exd5 fxg3 9. hxg3 c6 10. dxc6)`
13820
- * */
13823
+ */
13821
13824
  literate?: boolean;
13822
13825
  };
13823
- header?: never;
13826
+ header?: {
13827
+ /**
13828
+ * @description Specify the desired response format.
13829
+ * Use `application/x-chess-pgn` to get the games in PGN format.
13830
+ * Use `application/x-ndjson` to get the games in ndjson format. [Read about ndjson here](#description/streaming-with-nd-json) and how you can parse it in Javascript.
13831
+ */
13832
+ Accept?: components["parameters"]["AcceptPgnOrNdjson"];
13833
+ };
13824
13834
  path: {
13825
13835
  id: string;
13826
13836
  };
@@ -14420,7 +14430,6 @@ export interface operations {
14420
14430
  * Play additional moves starting from `fen`.
14421
14431
  * Required to find an opening name, if `fen` is not an exact match
14422
14432
  * for a named position.
14423
- *
14424
14433
  * @example d2d4,d7d5,c2c4,c7c6,c4d5
14425
14434
  */
14426
14435
  play?: string;
@@ -14466,17 +14475,17 @@ export interface operations {
14466
14475
  * Play additional moves starting from `fen`.
14467
14476
  * Required to find an opening name, if `fen` is not an exact match
14468
14477
  * for a named position.
14469
- *
14470
14478
  * @example d2d4,d7d5,c2c4,c7c6,c4d5
14471
14479
  */
14472
14480
  play?: string;
14473
14481
  /** @description Comma separated list of game speeds to filter by */
14474
14482
  speeds?: components["schemas"]["Speed"][];
14475
- /** @description Comma separated list of ratings groups to filter by.
14483
+ /**
14484
+ * @description Comma separated list of ratings groups to filter by.
14476
14485
  * Each group ranges from its value to the next higher
14477
14486
  * group in the enum (`0` from 0 to 999, `1000` from 1000 to 1199,
14478
14487
  * ..., `2500` from 2500 to any rating above).
14479
- * */
14488
+ */
14480
14489
  ratings?: (0 | 1000 | 1200 | 1400 | 1600 | 1800 | 2000 | 2200 | 2500)[];
14481
14490
  /** @description Include only games from this month or later */
14482
14491
  since?: string;
@@ -14484,17 +14493,19 @@ export interface operations {
14484
14493
  until?: string;
14485
14494
  /** @description Number of most common moves to display */
14486
14495
  moves?: number;
14487
- /** @description Maximum number of top games to display.
14496
+ /**
14497
+ * @description Maximum number of top games to display.
14488
14498
  *
14489
14499
  * Due to the way banned users are handled internally, the response may
14490
14500
  * contain fewer games than expected.
14491
- * */
14501
+ */
14492
14502
  topGames?: number;
14493
- /** @description Maximum number of recent games to display.
14503
+ /**
14504
+ * @description Maximum number of recent games to display.
14494
14505
  *
14495
14506
  * Due to the way banned users are handled internally, the response may
14496
14507
  * contain fewer games than expected.
14497
- * */
14508
+ */
14498
14509
  recentGames?: number;
14499
14510
  /** @description Optionally retrieve history */
14500
14511
  history?: boolean;
@@ -14542,7 +14553,6 @@ export interface operations {
14542
14553
  * Play additional moves starting from `fen`.
14543
14554
  * Required to find an opening name, if `fen` is not an exact match
14544
14555
  * for a named position.
14545
- *
14546
14556
  * @example d2d4,d7d5
14547
14557
  */
14548
14558
  play?: string;
@@ -14605,10 +14615,11 @@ export interface operations {
14605
14615
  query: {
14606
14616
  /** @description X-FEN of the position. Underscores allowed. */
14607
14617
  fen: string;
14608
- /** @description When to query the tablebase for `dtc` values. The current default
14618
+ /**
14619
+ * @description When to query the tablebase for `dtc` values. The current default
14609
14620
  * is `never`. It is eventually going to be `auxiliary`, i.e., only when
14610
14621
  * the position is not covered by one of the other tablebases.
14611
- * */
14622
+ */
14612
14623
  dtc?: "never" | "auxiliary" | "always";
14613
14624
  };
14614
14625
  header?: never;