@ord-api/ord-api-types 1.0.2

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 (3) hide show
  1. package/README.md +459 -0
  2. package/package.json +24 -0
  3. package/types.ts +3950 -0
package/types.ts ADDED
@@ -0,0 +1,3950 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+
6
+ export interface paths {
7
+ "/api/v1/words/": {
8
+ parameters: {
9
+ query?: never;
10
+ header?: never;
11
+ path?: never;
12
+ cookie?: never;
13
+ };
14
+ get?: never;
15
+ put?: never;
16
+ /**
17
+ * Create a new word
18
+ * @description Add a new vocabulary word to the user's collection
19
+ */
20
+ post: operations["createWord"];
21
+ delete?: never;
22
+ options?: never;
23
+ head?: never;
24
+ patch?: never;
25
+ trace?: never;
26
+ };
27
+ "/api/v1/words/{wordId}/details": {
28
+ parameters: {
29
+ query?: never;
30
+ header?: never;
31
+ path?: never;
32
+ cookie?: never;
33
+ };
34
+ get?: never;
35
+ put?: never;
36
+ /**
37
+ * Create word details
38
+ * @description Add detailed information to a word such as examples and usage notes
39
+ */
40
+ post: operations["createWordDetails"];
41
+ delete?: never;
42
+ options?: never;
43
+ head?: never;
44
+ /**
45
+ * Update word details
46
+ * @description Update detailed information for an existing word
47
+ */
48
+ patch: operations["updateWordDetails"];
49
+ trace?: never;
50
+ };
51
+ "/api/v1/words/{id}/toggle-property": {
52
+ parameters: {
53
+ query?: never;
54
+ header?: never;
55
+ path?: never;
56
+ cookie?: never;
57
+ };
58
+ get?: never;
59
+ put?: never;
60
+ /**
61
+ * Toggle word property
62
+ * @description Toggle a boolean property for a single word (e.g., favorite, learned)
63
+ */
64
+ post: operations["togglePropertyForOneWord"];
65
+ delete?: never;
66
+ options?: never;
67
+ head?: never;
68
+ patch?: never;
69
+ trace?: never;
70
+ };
71
+ "/api/v1/words/{id}/change-bank": {
72
+ parameters: {
73
+ query?: never;
74
+ header?: never;
75
+ path?: never;
76
+ cookie?: never;
77
+ };
78
+ get?: never;
79
+ put?: never;
80
+ /**
81
+ * Change word bank
82
+ * @description Move a word to a different learning bank
83
+ */
84
+ post: operations["changeWordBank"];
85
+ delete?: never;
86
+ options?: never;
87
+ head?: never;
88
+ patch?: never;
89
+ trace?: never;
90
+ };
91
+ "/api/v1/words/toggle-property-for-multiple-words": {
92
+ parameters: {
93
+ query?: never;
94
+ header?: never;
95
+ path?: never;
96
+ cookie?: never;
97
+ };
98
+ get?: never;
99
+ put?: never;
100
+ /**
101
+ * Toggle property for multiple words
102
+ * @description Toggle a boolean property for multiple words in a single operation
103
+ */
104
+ post: operations["togglePropertyForManyWords"];
105
+ delete?: never;
106
+ options?: never;
107
+ head?: never;
108
+ patch?: never;
109
+ trace?: never;
110
+ };
111
+ "/api/v1/words/get-many-words": {
112
+ parameters: {
113
+ query?: never;
114
+ header?: never;
115
+ path?: never;
116
+ cookie?: never;
117
+ };
118
+ get?: never;
119
+ put?: never;
120
+ /**
121
+ * Get words with advanced filtering
122
+ * @description Retrieve paginated list of words with filtering by language, bank, type, and search query
123
+ */
124
+ post: operations["getAllWords"];
125
+ delete?: never;
126
+ options?: never;
127
+ head?: never;
128
+ patch?: never;
129
+ trace?: never;
130
+ };
131
+ "/api/v1/words/change-bank-for-multiple-words": {
132
+ parameters: {
133
+ query?: never;
134
+ header?: never;
135
+ path?: never;
136
+ cookie?: never;
137
+ };
138
+ get?: never;
139
+ put?: never;
140
+ /**
141
+ * Change bank for multiple words
142
+ * @description Move multiple words to a different learning bank in a single operation
143
+ */
144
+ post: operations["changeBankForMultipleWords"];
145
+ delete?: never;
146
+ options?: never;
147
+ head?: never;
148
+ patch?: never;
149
+ trace?: never;
150
+ };
151
+ "/api/v1/words/ai/generate-manual": {
152
+ parameters: {
153
+ query?: never;
154
+ header?: never;
155
+ path?: never;
156
+ cookie?: never;
157
+ };
158
+ get?: never;
159
+ put?: never;
160
+ /**
161
+ * Generate AI word manual
162
+ * @description Generate comprehensive AI-powered manual for a word including definitions, examples, and usage
163
+ */
164
+ post: operations["generateAIManual"];
165
+ delete?: never;
166
+ options?: never;
167
+ head?: never;
168
+ patch?: never;
169
+ trace?: never;
170
+ };
171
+ "/api/v1/users/init-account": {
172
+ parameters: {
173
+ query?: never;
174
+ header?: never;
175
+ path?: never;
176
+ cookie?: never;
177
+ };
178
+ get?: never;
179
+ put?: never;
180
+ /**
181
+ * Initialize user account
182
+ * @description Sets up the user's account with initial language proficiencies. This is typically done after first login.
183
+ */
184
+ post: operations["initUserAccount"];
185
+ delete?: never;
186
+ options?: never;
187
+ head?: never;
188
+ patch?: never;
189
+ trace?: never;
190
+ };
191
+ "/api/v1/quickly-added-words/": {
192
+ parameters: {
193
+ query?: never;
194
+ header?: never;
195
+ path?: never;
196
+ cookie?: never;
197
+ };
198
+ /**
199
+ * Get quickly added words with pagination
200
+ * @description Retrieves a paginated list of quickly added words for the authenticated user.
201
+ */
202
+ get: operations["getManyQAWs"];
203
+ put?: never;
204
+ /**
205
+ * Create a quickly added word
206
+ * @description Rapidly adds a new word with minimal details for later processing.
207
+ */
208
+ post: operations["createOne"];
209
+ delete?: never;
210
+ options?: never;
211
+ head?: never;
212
+ patch?: never;
213
+ trace?: never;
214
+ };
215
+ "/api/v1/quickly-added-words/bulk-delete": {
216
+ parameters: {
217
+ query?: never;
218
+ header?: never;
219
+ path?: never;
220
+ cookie?: never;
221
+ };
222
+ get?: never;
223
+ put?: never;
224
+ /**
225
+ * Bulk delete quickly added words
226
+ * @description Deletes multiple words at once using a list of word IDs.
227
+ */
228
+ post: operations["bulkDelete"];
229
+ delete?: never;
230
+ options?: never;
231
+ head?: never;
232
+ patch?: never;
233
+ trace?: never;
234
+ };
235
+ "/api/v1/quickly-added-words/bulk-create": {
236
+ parameters: {
237
+ query?: never;
238
+ header?: never;
239
+ path?: never;
240
+ cookie?: never;
241
+ };
242
+ get?: never;
243
+ put?: never;
244
+ /**
245
+ * Bulk create quickly added words
246
+ * @description Creates multiple words at once for rapid vocabulary collection.
247
+ */
248
+ post: operations["bulkCreate"];
249
+ delete?: never;
250
+ options?: never;
251
+ head?: never;
252
+ patch?: never;
253
+ trace?: never;
254
+ };
255
+ "/api/v1/public/quickly-added-words/bulk-create": {
256
+ parameters: {
257
+ query?: never;
258
+ header?: never;
259
+ path?: never;
260
+ cookie?: never;
261
+ };
262
+ get?: never;
263
+ put?: never;
264
+ /**
265
+ * Bulk create words (public)
266
+ * @description Rapidly add multiple words to the database without authentication using a shared secret key
267
+ */
268
+ post: operations["publicBulkCreate"];
269
+ delete?: never;
270
+ options?: never;
271
+ head?: never;
272
+ patch?: never;
273
+ trace?: never;
274
+ };
275
+ "/api/v1/language-proficiencies": {
276
+ parameters: {
277
+ query?: never;
278
+ header?: never;
279
+ path?: never;
280
+ cookie?: never;
281
+ };
282
+ /**
283
+ * Get all language proficiencies
284
+ * @description Returns a map of all languages and proficiency levels for the authenticated user.
285
+ */
286
+ get: operations["getLanguagesForUser"];
287
+ put?: never;
288
+ /**
289
+ * Create language proficiency
290
+ * @description Adds a new language proficiency entry for the authenticated user.
291
+ */
292
+ post: operations["createLanguageProficiency"];
293
+ delete?: never;
294
+ options?: never;
295
+ head?: never;
296
+ /**
297
+ * Update language proficiency
298
+ * @description Updates an existing language proficiency level for the authenticated user.
299
+ */
300
+ patch: operations["updateLanguageProficiency"];
301
+ trace?: never;
302
+ };
303
+ "/api/v1/games/words-typing/start": {
304
+ parameters: {
305
+ query?: never;
306
+ header?: never;
307
+ path?: never;
308
+ cookie?: never;
309
+ };
310
+ get?: never;
311
+ put?: never;
312
+ /**
313
+ * Start a words typing game
314
+ * @description Initiate a new word typing game session to practice quick recall and accurate typing
315
+ */
316
+ post: operations["startWordsTypingGame"];
317
+ delete?: never;
318
+ options?: never;
319
+ head?: never;
320
+ patch?: never;
321
+ trace?: never;
322
+ };
323
+ "/api/v1/games/words-typing/finish": {
324
+ parameters: {
325
+ query?: never;
326
+ header?: never;
327
+ path?: never;
328
+ cookie?: never;
329
+ };
330
+ get?: never;
331
+ put?: never;
332
+ /**
333
+ * Finish a words typing game
334
+ * @description Submit typed words and complete the game session to receive results including speed and accuracy metrics
335
+ */
336
+ post: operations["finishWordsTypingGame"];
337
+ delete?: never;
338
+ options?: never;
339
+ head?: never;
340
+ patch?: never;
341
+ trace?: never;
342
+ };
343
+ "/api/v1/games/sentences-writing/start": {
344
+ parameters: {
345
+ query?: never;
346
+ header?: never;
347
+ path?: never;
348
+ cookie?: never;
349
+ };
350
+ get?: never;
351
+ put?: never;
352
+ /**
353
+ * Start a sentences writing game
354
+ * @description Initiate a new sentence writing game session where users create sentences using target words
355
+ */
356
+ post: operations["startWordsTypingGame_1"];
357
+ delete?: never;
358
+ options?: never;
359
+ head?: never;
360
+ patch?: never;
361
+ trace?: never;
362
+ };
363
+ "/api/v1/games/sentences-writing/finish": {
364
+ parameters: {
365
+ query?: never;
366
+ header?: never;
367
+ path?: never;
368
+ cookie?: never;
369
+ };
370
+ get?: never;
371
+ put?: never;
372
+ /**
373
+ * Finish a sentences writing game
374
+ * @description Submit written sentences and complete the game session to receive AI-powered feedback and evaluation
375
+ */
376
+ post: operations["finishWordsTypingGame_1"];
377
+ delete?: never;
378
+ options?: never;
379
+ head?: never;
380
+ patch?: never;
381
+ trace?: never;
382
+ };
383
+ "/api/v1/games/crossword/start": {
384
+ parameters: {
385
+ query?: never;
386
+ header?: never;
387
+ path?: never;
388
+ cookie?: never;
389
+ };
390
+ get?: never;
391
+ put?: never;
392
+ /**
393
+ * Start a crossword game
394
+ * @description Initiate a new crossword puzzle game session with selected difficulty and language
395
+ */
396
+ post: operations["startCrosswordGame"];
397
+ delete?: never;
398
+ options?: never;
399
+ head?: never;
400
+ patch?: never;
401
+ trace?: never;
402
+ };
403
+ "/api/v1/games/crossword/finish": {
404
+ parameters: {
405
+ query?: never;
406
+ header?: never;
407
+ path?: never;
408
+ cookie?: never;
409
+ };
410
+ get?: never;
411
+ put?: never;
412
+ /**
413
+ * Finish a crossword game
414
+ * @description Submit answers and complete a crossword game session to receive results and statistics
415
+ */
416
+ post: operations["finishCrosswordGame"];
417
+ delete?: never;
418
+ options?: never;
419
+ head?: never;
420
+ patch?: never;
421
+ trace?: never;
422
+ };
423
+ "/api/v1/games/cancel/{gameId}": {
424
+ parameters: {
425
+ query?: never;
426
+ header?: never;
427
+ path?: never;
428
+ cookie?: never;
429
+ };
430
+ get?: never;
431
+ put?: never;
432
+ /**
433
+ * Cancel an ongoing game
434
+ * @description Cancel an active game session before completion
435
+ */
436
+ post: operations["cancelGame"];
437
+ delete?: never;
438
+ options?: never;
439
+ head?: never;
440
+ patch?: never;
441
+ trace?: never;
442
+ };
443
+ "/api/v1/conversations/": {
444
+ parameters: {
445
+ query?: never;
446
+ header?: never;
447
+ path?: never;
448
+ cookie?: never;
449
+ };
450
+ /**
451
+ * Get all conversations
452
+ * @description Retrieve all conversation sessions for the authenticated user
453
+ */
454
+ get: operations["getConversations"];
455
+ put?: never;
456
+ /**
457
+ * Create a conversation
458
+ * @description Create a new conversation session with a topic, language, and AI interlocutor
459
+ */
460
+ post: operations["createConversation"];
461
+ delete?: never;
462
+ options?: never;
463
+ head?: never;
464
+ patch?: never;
465
+ trace?: never;
466
+ };
467
+ "/api/v1/conversations/suggest-topics": {
468
+ parameters: {
469
+ query?: never;
470
+ header?: never;
471
+ path?: never;
472
+ cookie?: never;
473
+ };
474
+ get?: never;
475
+ put?: never;
476
+ /**
477
+ * Suggest conversation topics
478
+ * @description Get AI-generated conversation topic suggestions based on language and user preferences (streaming response)
479
+ */
480
+ post: operations["suggestTopic"];
481
+ delete?: never;
482
+ options?: never;
483
+ head?: never;
484
+ patch?: never;
485
+ trace?: never;
486
+ };
487
+ "/api/v1/conversations/suggest-ai-interlocutor": {
488
+ parameters: {
489
+ query?: never;
490
+ header?: never;
491
+ path?: never;
492
+ cookie?: never;
493
+ };
494
+ get?: never;
495
+ put?: never;
496
+ /**
497
+ * Generate AI interlocutor profile
498
+ * @description Generate a detailed AI interlocutor profile with personality, background, and conversation style
499
+ */
500
+ post: operations["generateAIInterlocutorData"];
501
+ delete?: never;
502
+ options?: never;
503
+ head?: never;
504
+ patch?: never;
505
+ trace?: never;
506
+ };
507
+ "/api/v1/conversations/ongoing/request-ai-message": {
508
+ parameters: {
509
+ query?: never;
510
+ header?: never;
511
+ path?: never;
512
+ cookie?: never;
513
+ };
514
+ get?: never;
515
+ put?: never;
516
+ /**
517
+ * Request AI response
518
+ * @description Request an AI-generated response in an ongoing conversation (streaming response)
519
+ */
520
+ post: operations["requestAIMessage"];
521
+ delete?: never;
522
+ options?: never;
523
+ head?: never;
524
+ patch?: never;
525
+ trace?: never;
526
+ };
527
+ "/api/v1/conversations/ongoing/initialize-by-ai": {
528
+ parameters: {
529
+ query?: never;
530
+ header?: never;
531
+ path?: never;
532
+ cookie?: never;
533
+ };
534
+ get?: never;
535
+ put?: never;
536
+ /**
537
+ * Initialize conversation with AI
538
+ * @description Start a conversation with an AI-generated opening message (streaming response)
539
+ */
540
+ post: operations["initializeConversationByAI"];
541
+ delete?: never;
542
+ options?: never;
543
+ head?: never;
544
+ patch?: never;
545
+ trace?: never;
546
+ };
547
+ "/api/v1/conversations/ongoing/handle-user-message": {
548
+ parameters: {
549
+ query?: never;
550
+ header?: never;
551
+ path?: never;
552
+ cookie?: never;
553
+ };
554
+ get?: never;
555
+ put?: never;
556
+ /**
557
+ * Submit user message
558
+ * @description Submit a user message and receive AI-powered grammar and language feedback
559
+ */
560
+ post: operations["handleUserMessage"];
561
+ delete?: never;
562
+ options?: never;
563
+ head?: never;
564
+ patch?: never;
565
+ trace?: never;
566
+ };
567
+ "/api/v1/auth/otp-verify": {
568
+ parameters: {
569
+ query?: never;
570
+ header?: never;
571
+ path?: never;
572
+ cookie?: never;
573
+ };
574
+ get?: never;
575
+ put?: never;
576
+ /**
577
+ * Verify OTP code and login
578
+ * @description Verifies the OTP code and returns a JWT token in the response cookie (AUTH-TOKEN) along with user details.
579
+ */
580
+ post: operations["verifyOtp"];
581
+ delete?: never;
582
+ options?: never;
583
+ head?: never;
584
+ patch?: never;
585
+ trace?: never;
586
+ };
587
+ "/api/v1/auth/otp-request": {
588
+ parameters: {
589
+ query?: never;
590
+ header?: never;
591
+ path?: never;
592
+ cookie?: never;
593
+ };
594
+ get?: never;
595
+ put?: never;
596
+ /**
597
+ * Request OTP code
598
+ * @description Sends a one-time password (OTP) to the provided email address. The OTP is valid for 10 minutes.
599
+ */
600
+ post: operations["requestOtp"];
601
+ delete?: never;
602
+ options?: never;
603
+ head?: never;
604
+ patch?: never;
605
+ trace?: never;
606
+ };
607
+ "/api/v1/words/{id}": {
608
+ parameters: {
609
+ query?: never;
610
+ header?: never;
611
+ path?: never;
612
+ cookie?: never;
613
+ };
614
+ /**
615
+ * Get word by ID
616
+ * @description Retrieve detailed information about a specific word
617
+ */
618
+ get: operations["getWord"];
619
+ put?: never;
620
+ post?: never;
621
+ /**
622
+ * Delete a word
623
+ * @description Permanently delete a word from the user's collection
624
+ */
625
+ delete: operations["deleteWord"];
626
+ options?: never;
627
+ head?: never;
628
+ /**
629
+ * Update a word
630
+ * @description Update an existing word's information
631
+ */
632
+ patch: operations["updateWord"];
633
+ trace?: never;
634
+ };
635
+ "/api/v1/quickly-added-words/{id}": {
636
+ parameters: {
637
+ query?: never;
638
+ header?: never;
639
+ path?: never;
640
+ cookie?: never;
641
+ };
642
+ get?: never;
643
+ put?: never;
644
+ post?: never;
645
+ /**
646
+ * Delete a quickly added word
647
+ * @description Permanently removes a quickly added word from the user's collection.
648
+ */
649
+ delete: operations["deleteOne"];
650
+ options?: never;
651
+ head?: never;
652
+ /**
653
+ * Update a quickly added word
654
+ * @description Updates the content of a specific quickly added word.
655
+ */
656
+ patch: operations["updateOne"];
657
+ trace?: never;
658
+ };
659
+ "/api/v1/quickly-added-words/bulk-update": {
660
+ parameters: {
661
+ query?: never;
662
+ header?: never;
663
+ path?: never;
664
+ cookie?: never;
665
+ };
666
+ get?: never;
667
+ put?: never;
668
+ post?: never;
669
+ delete?: never;
670
+ options?: never;
671
+ head?: never;
672
+ /**
673
+ * Bulk update quickly added words
674
+ * @description Updates multiple words at once using a map of word IDs to new word values.
675
+ */
676
+ patch: operations["bulkUpdate"];
677
+ trace?: never;
678
+ };
679
+ "/api/v1/quickly-added-words/approve-many": {
680
+ parameters: {
681
+ query?: never;
682
+ header?: never;
683
+ path?: never;
684
+ cookie?: never;
685
+ };
686
+ get?: never;
687
+ put?: never;
688
+ post?: never;
689
+ delete?: never;
690
+ options?: never;
691
+ head?: never;
692
+ /**
693
+ * Approve multiple quickly added words
694
+ * @description Marks multiple words as approved, promoting them from quickly added status.
695
+ */
696
+ patch: operations["approveMany"];
697
+ trace?: never;
698
+ };
699
+ "/api/v1/users/me": {
700
+ parameters: {
701
+ query?: never;
702
+ header?: never;
703
+ path?: never;
704
+ cookie?: never;
705
+ };
706
+ /**
707
+ * Get current user profile
708
+ * @description Returns the profile information of the currently authenticated user.
709
+ */
710
+ get: operations["me"];
711
+ put?: never;
712
+ post?: never;
713
+ delete?: never;
714
+ options?: never;
715
+ head?: never;
716
+ patch?: never;
717
+ trace?: never;
718
+ };
719
+ "/api/v1/health-check": {
720
+ parameters: {
721
+ query?: never;
722
+ header?: never;
723
+ path?: never;
724
+ cookie?: never;
725
+ };
726
+ /**
727
+ * Check application health
728
+ * @description Returns the health status of the application and database connection. No authentication required.
729
+ */
730
+ get: operations["healthCheck"];
731
+ put?: never;
732
+ post?: never;
733
+ delete?: never;
734
+ options?: never;
735
+ head?: never;
736
+ patch?: never;
737
+ trace?: never;
738
+ };
739
+ "/api/v1/conversations/{conversationId}": {
740
+ parameters: {
741
+ query?: never;
742
+ header?: never;
743
+ path?: never;
744
+ cookie?: never;
745
+ };
746
+ /**
747
+ * Get conversation by ID
748
+ * @description Retrieve detailed information about a specific conversation
749
+ */
750
+ get: operations["getConversationById"];
751
+ put?: never;
752
+ post?: never;
753
+ /**
754
+ * Delete a conversation
755
+ * @description Permanently delete a conversation and all its messages
756
+ */
757
+ delete: operations["deleteConversation"];
758
+ options?: never;
759
+ head?: never;
760
+ patch?: never;
761
+ trace?: never;
762
+ };
763
+ "/api/demo/stream-string": {
764
+ parameters: {
765
+ query?: never;
766
+ header?: never;
767
+ path?: never;
768
+ cookie?: never;
769
+ };
770
+ /**
771
+ * Demo: Stream string response
772
+ * @description Demonstrate AI string streaming with a sample prompt generating ice breaker questions
773
+ */
774
+ get: operations["streamStringResponse"];
775
+ put?: never;
776
+ post?: never;
777
+ delete?: never;
778
+ options?: never;
779
+ head?: never;
780
+ patch?: never;
781
+ trace?: never;
782
+ };
783
+ "/api/demo/stream-array": {
784
+ parameters: {
785
+ query?: never;
786
+ header?: never;
787
+ path?: never;
788
+ cookie?: never;
789
+ };
790
+ /**
791
+ * Demo: Stream structured array response
792
+ * @description Demonstrate AI structured array streaming with JSON objects separated by delimiters
793
+ */
794
+ get: operations["streamArrayResponse"];
795
+ put?: never;
796
+ post?: never;
797
+ delete?: never;
798
+ options?: never;
799
+ head?: never;
800
+ patch?: never;
801
+ trace?: never;
802
+ };
803
+ "/api/v1/language-proficiencies/{language}": {
804
+ parameters: {
805
+ query?: never;
806
+ header?: never;
807
+ path?: never;
808
+ cookie?: never;
809
+ };
810
+ get?: never;
811
+ put?: never;
812
+ post?: never;
813
+ /**
814
+ * Delete language proficiency
815
+ * @description Removes a language proficiency entry for the authenticated user.
816
+ */
817
+ delete: operations["deleteLanguageProficiency"];
818
+ options?: never;
819
+ head?: never;
820
+ patch?: never;
821
+ trace?: never;
822
+ };
823
+ "/api/v1/auth/logout": {
824
+ parameters: {
825
+ query?: never;
826
+ header?: never;
827
+ path?: never;
828
+ cookie?: never;
829
+ };
830
+ get?: never;
831
+ put?: never;
832
+ post?: never;
833
+ /**
834
+ * Logout user
835
+ * @description Logs out the authenticated user by clearing the JWT token cookie.
836
+ */
837
+ delete: operations["logout"];
838
+ options?: never;
839
+ head?: never;
840
+ patch?: never;
841
+ trace?: never;
842
+ };
843
+ }
844
+ export type webhooks = Record<string, never>;
845
+ export interface components {
846
+ schemas: {
847
+ BadRequestResponse: {
848
+ /** Format: int32 */
849
+ status: number;
850
+ message: string;
851
+ errors: components["schemas"]["FieldError"][];
852
+ };
853
+ FieldError: {
854
+ field: string;
855
+ errorMessage: string;
856
+ };
857
+ CreateBankRequest: {
858
+ name: string;
859
+ description: string;
860
+ /** Format: uuid */
861
+ groupId?: string;
862
+ };
863
+ CreateWordRequest: {
864
+ /**
865
+ * @description Type of word or expression
866
+ * @enum {string}
867
+ */
868
+ type: "NOUN" | "VERB" | "ADJECTIVE" | "ADVERB" | "IDIOM" | "PHRASE";
869
+ origin: string;
870
+ translation: string;
871
+ definition: string;
872
+ /**
873
+ * @description Extra marks or tags for word classification by register or domain
874
+ * @enum {string}
875
+ */
876
+ extraMark?: "OFFENSIVE" | "SLANG" | "FORMAL" | "INFORMAL" | "SCIENTIFIC" | "TECHNICAL" | "LEGAL" | "MEDICAL" | "COLLOQUIAL" | "POETIC";
877
+ /**
878
+ * @description Supported languages in the platform
879
+ * @enum {string}
880
+ */
881
+ translatedFrom: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
882
+ /**
883
+ * @description Supported languages in the platform
884
+ * @enum {string}
885
+ */
886
+ translatedTo?: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
887
+ /** Format: uuid */
888
+ bankId?: string;
889
+ bankToCreate?: components["schemas"]["CreateBankRequest"];
890
+ };
891
+ BankDTO: {
892
+ /** Format: uuid */
893
+ id: string;
894
+ name: string;
895
+ description: string;
896
+ /** Format: uuid */
897
+ userId: string;
898
+ group?: components["schemas"]["BankGroupDTO"];
899
+ /** Format: uuid */
900
+ groupId?: string;
901
+ /** Format: date-time */
902
+ createdAt: string;
903
+ /** Format: date-time */
904
+ updatedAt: string;
905
+ };
906
+ BankGroupDTO: {
907
+ /** Format: uuid */
908
+ id: string;
909
+ name: string;
910
+ color: string;
911
+ /** Format: uuid */
912
+ userId: string;
913
+ /** Format: date-time */
914
+ createdAt: string;
915
+ /** Format: date-time */
916
+ updatedAt: string;
917
+ };
918
+ WordDTO: {
919
+ /** Format: uuid */
920
+ id: string;
921
+ /**
922
+ * @description Type of word or expression
923
+ * @enum {string}
924
+ */
925
+ type: "NOUN" | "VERB" | "ADJECTIVE" | "ADVERB" | "IDIOM" | "PHRASE";
926
+ origin: string;
927
+ translation: string;
928
+ definition: string;
929
+ /**
930
+ * @description Extra marks or tags for word classification by register or domain
931
+ * @enum {string}
932
+ */
933
+ extraMark?: "OFFENSIVE" | "SLANG" | "FORMAL" | "INFORMAL" | "SCIENTIFIC" | "TECHNICAL" | "LEGAL" | "MEDICAL" | "COLLOQUIAL" | "POETIC";
934
+ /**
935
+ * @description Supported languages in the platform
936
+ * @enum {string}
937
+ */
938
+ translatedFrom: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
939
+ /**
940
+ * @description Supported languages in the platform
941
+ * @enum {string}
942
+ */
943
+ translatedTo: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
944
+ isCompleted: boolean;
945
+ isBookmarked: boolean;
946
+ /** Format: int32 */
947
+ points: number;
948
+ /** Format: uuid */
949
+ userId: string;
950
+ bank?: components["schemas"]["BankDTO"];
951
+ /** Format: uuid */
952
+ bankId?: string;
953
+ /** Format: uuid */
954
+ bankGroupId?: string;
955
+ /** Format: date-time */
956
+ completedAt?: string;
957
+ /** Format: date-time */
958
+ createdAt: string;
959
+ /** Format: date-time */
960
+ updatedAt: string;
961
+ };
962
+ CreateWordDetailsRequest: {
963
+ useCases: string[];
964
+ synonyms: string[];
965
+ antonyms: string[];
966
+ commonMistakes: string[];
967
+ exampleSentences: components["schemas"]["ExampleSentence"][];
968
+ collocations: components["schemas"]["WordCollocation"][];
969
+ pronunciation?: components["schemas"]["WordPronunciation"];
970
+ grammar?: components["schemas"]["WordGrammar"];
971
+ culturalNotes?: string;
972
+ learningTips?: string;
973
+ };
974
+ ExampleSentence: {
975
+ context?: string;
976
+ sentence: string;
977
+ translation: string;
978
+ };
979
+ WordCollocation: {
980
+ phrase: string;
981
+ translation: string;
982
+ /** @enum {string} */
983
+ frequency: "VERY_COMMON" | "COMMON" | "OCCASIONAL";
984
+ };
985
+ WordConjugation: {
986
+ tense: string;
987
+ forms: {
988
+ [key: string]: string;
989
+ };
990
+ };
991
+ WordGrammar: {
992
+ /** @enum {string} */
993
+ gender?: "MASCULINE" | "FEMININE" | "NEUTER";
994
+ definiteArticle?: string;
995
+ pluralForm?: string;
996
+ comparativeForm?: string;
997
+ superlativeForm?: string;
998
+ irregularForms?: {
999
+ [key: string]: string;
1000
+ };
1001
+ conjugations?: components["schemas"]["WordConjugation"][];
1002
+ };
1003
+ WordPronunciation: {
1004
+ ipa: string;
1005
+ syllables?: string;
1006
+ /** Format: int32 */
1007
+ stress?: number;
1008
+ };
1009
+ WordDetailsCompactDTO: {
1010
+ useCases: string[];
1011
+ synonyms: string[];
1012
+ antonyms: string[];
1013
+ commonMistakes: string[];
1014
+ exampleSentences: components["schemas"]["ExampleSentence"][];
1015
+ collocations: components["schemas"]["WordCollocation"][];
1016
+ pronunciation?: components["schemas"]["WordPronunciation"];
1017
+ grammar?: components["schemas"]["WordGrammar"];
1018
+ culturalNotes?: string;
1019
+ learningTips?: string;
1020
+ };
1021
+ Unit: Record<string, never>;
1022
+ ChangeBankForSingleWordRequest: {
1023
+ /** Format: uuid */
1024
+ bankId?: string;
1025
+ bankToCreate?: components["schemas"]["CreateBankRequest"];
1026
+ };
1027
+ WordBulkActionRequest: {
1028
+ ids: string[];
1029
+ };
1030
+ GetManyWordsRequest: {
1031
+ /**
1032
+ * @description Supported languages in the platform
1033
+ * @enum {string}
1034
+ */
1035
+ language: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1036
+ /** Format: int32 */
1037
+ page?: number;
1038
+ /** Format: int32 */
1039
+ perPage?: number;
1040
+ searchingPhrase?: string;
1041
+ /**
1042
+ * @description Type of word or expression
1043
+ * @enum {string}
1044
+ */
1045
+ wordType?: "NOUN" | "VERB" | "ADJECTIVE" | "ADVERB" | "IDIOM" | "PHRASE";
1046
+ /**
1047
+ * @description Extra marks or tags for word classification by register or domain
1048
+ * @enum {string}
1049
+ */
1050
+ wordExtraMark?: "OFFENSIVE" | "SLANG" | "FORMAL" | "INFORMAL" | "SCIENTIFIC" | "TECHNICAL" | "LEGAL" | "MEDICAL" | "COLLOQUIAL" | "POETIC";
1051
+ bookmarked?: boolean;
1052
+ completed?: boolean;
1053
+ banksIds?: string[];
1054
+ bankGroupsIds?: string[];
1055
+ /** @enum {string} */
1056
+ sortDirection?: "ASC" | "DESC";
1057
+ /** @enum {string} */
1058
+ sortBy?: "CREATED_AT" | "ORIGIN";
1059
+ };
1060
+ BankCompact: {
1061
+ name: string;
1062
+ bankGroup?: components["schemas"]["BankGroupCompact"];
1063
+ };
1064
+ BankGroupCompact: {
1065
+ name: string;
1066
+ color: string;
1067
+ };
1068
+ /** @description Generic paginated response wrapper for list endpoints */
1069
+ PaginatedDataResponseWordListItem: {
1070
+ pagination: components["schemas"]["PaginationData"];
1071
+ /** @description Array of results for the current page */
1072
+ data: components["schemas"]["WordListItem"][];
1073
+ };
1074
+ /** @description Pagination metadata for paginated responses */
1075
+ PaginationData: {
1076
+ /**
1077
+ * Format: int32
1078
+ * @description Current page number (0-indexed)
1079
+ * @example 0
1080
+ */
1081
+ page: number;
1082
+ /**
1083
+ * Format: int32
1084
+ * @description Number of items per page
1085
+ * @example 20
1086
+ */
1087
+ perPage: number;
1088
+ /**
1089
+ * Format: int64
1090
+ * @description Total number of results across all pages
1091
+ * @example 150
1092
+ */
1093
+ totalResults: number;
1094
+ /**
1095
+ * Format: int32
1096
+ * @description Number of results on the current page
1097
+ * @example 20
1098
+ */
1099
+ resultsOnCurrentPage: number;
1100
+ /**
1101
+ * Format: int32
1102
+ * @description Total number of pages
1103
+ * @example 8
1104
+ */
1105
+ totalPages: number;
1106
+ };
1107
+ /** @description Array of results for the current page */
1108
+ WordListItem: {
1109
+ /** Format: uuid */
1110
+ id: string;
1111
+ /** Format: int32 */
1112
+ points: number;
1113
+ origin: string;
1114
+ translation: string;
1115
+ isCompleted: boolean;
1116
+ isBookmarked: boolean;
1117
+ /**
1118
+ * @description Type of word or expression
1119
+ * @enum {string}
1120
+ */
1121
+ type: "NOUN" | "VERB" | "ADJECTIVE" | "ADVERB" | "IDIOM" | "PHRASE";
1122
+ /**
1123
+ * @description Extra marks or tags for word classification by register or domain
1124
+ * @enum {string}
1125
+ */
1126
+ extraMark?: "OFFENSIVE" | "SLANG" | "FORMAL" | "INFORMAL" | "SCIENTIFIC" | "TECHNICAL" | "LEGAL" | "MEDICAL" | "COLLOQUIAL" | "POETIC";
1127
+ /**
1128
+ * @description Supported languages in the platform
1129
+ * @enum {string}
1130
+ */
1131
+ translatedFrom: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1132
+ /**
1133
+ * @description Supported languages in the platform
1134
+ * @enum {string}
1135
+ */
1136
+ translatedTo: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1137
+ bank?: components["schemas"]["BankCompact"];
1138
+ };
1139
+ ChangeBankForMultipleWordsRequest: {
1140
+ /** Format: uuid */
1141
+ bankId?: string;
1142
+ wordIds: string[];
1143
+ bankToCreate?: components["schemas"]["CreateBankRequest"];
1144
+ };
1145
+ GenerateWordManualRequest: {
1146
+ word: string;
1147
+ /**
1148
+ * @description Supported languages in the platform
1149
+ * @enum {string}
1150
+ */
1151
+ language: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1152
+ /**
1153
+ * @description Supported languages in the platform
1154
+ * @enum {string}
1155
+ */
1156
+ targetLanguage?: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1157
+ /** @enum {string} */
1158
+ proficiencyLevel?: "A1" | "A2" | "B1" | "B2" | "C1" | "C2";
1159
+ };
1160
+ AIGeneratedWordManual: {
1161
+ originalWord: string;
1162
+ translation: string;
1163
+ definition: string;
1164
+ /**
1165
+ * @description Type of word or expression
1166
+ * @enum {string}
1167
+ */
1168
+ type: "NOUN" | "VERB" | "ADJECTIVE" | "ADVERB" | "IDIOM" | "PHRASE";
1169
+ /**
1170
+ * @description Extra marks or tags for word classification by register or domain
1171
+ * @enum {string}
1172
+ */
1173
+ extraMark?: "OFFENSIVE" | "SLANG" | "FORMAL" | "INFORMAL" | "SCIENTIFIC" | "TECHNICAL" | "LEGAL" | "MEDICAL" | "COLLOQUIAL" | "POETIC";
1174
+ useCases: string[];
1175
+ exampleSentences: components["schemas"]["ExampleSentence"][];
1176
+ collocations: components["schemas"]["WordCollocation"][];
1177
+ pronunciation?: components["schemas"]["WordPronunciation"];
1178
+ grammar?: components["schemas"]["WordGrammar"];
1179
+ synonyms: string[];
1180
+ antonyms: string[];
1181
+ commonMistakes: string[];
1182
+ culturalNotes?: string;
1183
+ learningTips?: string;
1184
+ };
1185
+ InitUserAccountRequest: {
1186
+ name: string;
1187
+ /**
1188
+ * @description Supported languages in the platform
1189
+ * @enum {string}
1190
+ */
1191
+ nativeLanguage: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1192
+ /**
1193
+ * @description Supported languages in the platform
1194
+ * @enum {string}
1195
+ */
1196
+ selectedLearningLanguage: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1197
+ languageProficiencies: components["schemas"]["LanguageProficiencyCompactDTO"][];
1198
+ };
1199
+ LanguageProficiencyCompactDTO: {
1200
+ /**
1201
+ * @description Supported languages in the platform
1202
+ * @enum {string}
1203
+ */
1204
+ language: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1205
+ /** @enum {string} */
1206
+ level: "A1" | "A2" | "B1" | "B2" | "C1" | "C2";
1207
+ /**
1208
+ * @description Supported languages in the platform
1209
+ * @enum {string}
1210
+ */
1211
+ generativeContentLanguage: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1212
+ };
1213
+ /** @description User profile information */
1214
+ UserDTO: {
1215
+ /**
1216
+ * Format: uuid
1217
+ * @description Unique user identifier
1218
+ * @example 550e8400-e29b-41d4-a716-446655440000
1219
+ */
1220
+ id: string;
1221
+ /**
1222
+ * @description User's display name
1223
+ * @example John Doe
1224
+ */
1225
+ name: string;
1226
+ /**
1227
+ * @description User's email address
1228
+ * @example john.doe@example.com
1229
+ */
1230
+ email: string;
1231
+ /**
1232
+ * @description Supported languages in the platform
1233
+ * @example ENGLISH
1234
+ * @enum {string|null}
1235
+ */
1236
+ nativeLanguage?: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN" | null;
1237
+ /**
1238
+ * @description Supported languages in the platform
1239
+ * @example SPANISH
1240
+ * @enum {string|null}
1241
+ */
1242
+ selectedLearningLanguage?: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN" | null;
1243
+ /**
1244
+ * @description Whether the user has completed account initialization
1245
+ * @example true
1246
+ */
1247
+ isAccountInitialized: boolean;
1248
+ /**
1249
+ * Format: date-time
1250
+ * @description Timestamp when the user account was created
1251
+ * @example 2024-01-15T10:30:00Z
1252
+ */
1253
+ createdAt: string;
1254
+ /**
1255
+ * Format: date-time
1256
+ * @description Timestamp when the user account was last updated
1257
+ * @example 2024-01-20T15:45:00Z
1258
+ */
1259
+ updatedAt: string;
1260
+ };
1261
+ /** @description Request to create a new quickly added word */
1262
+ CreateQAWRequest: {
1263
+ /**
1264
+ * @description The word or phrase to add
1265
+ * @example comprehensive
1266
+ */
1267
+ word: string;
1268
+ /**
1269
+ * @description Supported languages in the platform
1270
+ * @example ENGLISH
1271
+ * @enum {string}
1272
+ */
1273
+ language: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1274
+ /**
1275
+ * @description Optional definition or notes about the word
1276
+ * @example Complete; including all or nearly all elements or aspects
1277
+ */
1278
+ definition?: string | null;
1279
+ /**
1280
+ * @description Extra marks or tags for word classification by register or domain
1281
+ * @example SLANG
1282
+ * @enum {string|null}
1283
+ */
1284
+ extraMark?: "OFFENSIVE" | "SLANG" | "FORMAL" | "INFORMAL" | "SCIENTIFIC" | "TECHNICAL" | "LEGAL" | "MEDICAL" | "COLLOQUIAL" | "POETIC" | null;
1285
+ /**
1286
+ * @description Type of word or expression
1287
+ * @example ADJECTIVE
1288
+ * @enum {string|null}
1289
+ */
1290
+ type?: "NOUN" | "VERB" | "ADJECTIVE" | "ADVERB" | "IDIOM" | "PHRASE" | null;
1291
+ };
1292
+ /** @description Quickly added word with all details */
1293
+ QuicklyAddedWordDTO: {
1294
+ /**
1295
+ * Format: uuid
1296
+ * @description Unique word identifier
1297
+ * @example 650e8400-e29b-41d4-a716-446655440000
1298
+ */
1299
+ id: string;
1300
+ /**
1301
+ * @description The word or phrase
1302
+ * @example comprehensive
1303
+ */
1304
+ word: string;
1305
+ /**
1306
+ * @description Supported languages in the platform
1307
+ * @example ENGLISH
1308
+ * @enum {string}
1309
+ */
1310
+ language: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1311
+ /**
1312
+ * @description Definition or notes about the word
1313
+ * @example Complete; including all elements
1314
+ */
1315
+ definition?: string | null;
1316
+ /**
1317
+ * @description Extra marks or tags for word classification by register or domain
1318
+ * @example SLANG
1319
+ * @enum {string|null}
1320
+ */
1321
+ extraMark?: "OFFENSIVE" | "SLANG" | "FORMAL" | "INFORMAL" | "SCIENTIFIC" | "TECHNICAL" | "LEGAL" | "MEDICAL" | "COLLOQUIAL" | "POETIC" | null;
1322
+ /**
1323
+ * @description Type of word or expression
1324
+ * @example ADJECTIVE
1325
+ * @enum {string|null}
1326
+ */
1327
+ type?: "NOUN" | "VERB" | "ADJECTIVE" | "ADVERB" | "IDIOM" | "PHRASE" | null;
1328
+ /**
1329
+ * @description Whether the word has been approved for full word status
1330
+ * @example false
1331
+ */
1332
+ isApproved: boolean;
1333
+ /**
1334
+ * Format: uuid
1335
+ * @description ID of the user who added this word
1336
+ * @example 550e8400-e29b-41d4-a716-446655440000
1337
+ */
1338
+ userId: string;
1339
+ /**
1340
+ * Format: date-time
1341
+ * @description Timestamp when the word was added
1342
+ * @example 2024-01-15T10:30:00Z
1343
+ */
1344
+ createdAt: string;
1345
+ };
1346
+ PublicQAWBulkCreateRequest: {
1347
+ userEmail: string;
1348
+ words: components["schemas"]["PublicQAWWordItem"][];
1349
+ /**
1350
+ * @description Supported languages in the platform
1351
+ * @enum {string}
1352
+ */
1353
+ language: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1354
+ };
1355
+ PublicQAWWordItem: {
1356
+ word: string;
1357
+ definition?: string;
1358
+ /**
1359
+ * @description Extra marks or tags for word classification by register or domain
1360
+ * @enum {string}
1361
+ */
1362
+ extraMark?: "OFFENSIVE" | "SLANG" | "FORMAL" | "INFORMAL" | "SCIENTIFIC" | "TECHNICAL" | "LEGAL" | "MEDICAL" | "COLLOQUIAL" | "POETIC";
1363
+ /**
1364
+ * @description Type of word or expression
1365
+ * @enum {string}
1366
+ */
1367
+ type?: "NOUN" | "VERB" | "ADJECTIVE" | "ADVERB" | "IDIOM" | "PHRASE";
1368
+ };
1369
+ QuicklyAddedWordEntity: {
1370
+ /** Format: uuid */
1371
+ id?: string;
1372
+ word: string;
1373
+ /**
1374
+ * @description Supported languages in the platform
1375
+ * @enum {string}
1376
+ */
1377
+ language: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1378
+ definition?: string;
1379
+ /**
1380
+ * @description Extra marks or tags for word classification by register or domain
1381
+ * @enum {string}
1382
+ */
1383
+ extraMark?: "OFFENSIVE" | "SLANG" | "FORMAL" | "INFORMAL" | "SCIENTIFIC" | "TECHNICAL" | "LEGAL" | "MEDICAL" | "COLLOQUIAL" | "POETIC";
1384
+ /**
1385
+ * @description Type of word or expression
1386
+ * @enum {string}
1387
+ */
1388
+ type?: "NOUN" | "VERB" | "ADJECTIVE" | "ADVERB" | "IDIOM" | "PHRASE";
1389
+ isApproved: boolean;
1390
+ /** Format: date-time */
1391
+ createdAt: string;
1392
+ /** Format: uuid */
1393
+ userId: string;
1394
+ };
1395
+ CreateLanguageProficiencyRequest: {
1396
+ /**
1397
+ * @description Supported languages in the platform
1398
+ * @enum {string}
1399
+ */
1400
+ language: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1401
+ /** @enum {string} */
1402
+ level: "A1" | "A2" | "B1" | "B2" | "C1" | "C2";
1403
+ /**
1404
+ * @description Supported languages in the platform
1405
+ * @enum {string}
1406
+ */
1407
+ generativeContentLanguage?: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1408
+ };
1409
+ LanguageProficiencyDTO: {
1410
+ /** Format: uuid */
1411
+ id: string;
1412
+ /**
1413
+ * @description Supported languages in the platform
1414
+ * @enum {string}
1415
+ */
1416
+ language: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1417
+ /** @enum {string} */
1418
+ level: "A1" | "A2" | "B1" | "B2" | "C1" | "C2";
1419
+ /**
1420
+ * @description Supported languages in the platform
1421
+ * @enum {string}
1422
+ */
1423
+ generativeContentLanguage: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1424
+ /** Format: uuid */
1425
+ userId: string;
1426
+ /** Format: date-time */
1427
+ createdAt: string;
1428
+ };
1429
+ StartGameRequest: {
1430
+ /** @enum {string} */
1431
+ difficulty: "EASY" | "MEDIUM" | "HARD";
1432
+ /**
1433
+ * @description Supported languages in the platform
1434
+ * @enum {string}
1435
+ */
1436
+ language: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1437
+ };
1438
+ StartedWordsTypingGameResponse: {
1439
+ /** Format: uuid */
1440
+ gameId: string;
1441
+ instruction: components["schemas"]["WordsTypingQuestion"][];
1442
+ properAnswers: {
1443
+ [key: string]: string;
1444
+ };
1445
+ };
1446
+ WordsTypingQuestion: {
1447
+ /** Format: uuid */
1448
+ id: string;
1449
+ word: string;
1450
+ clue: string;
1451
+ };
1452
+ FinishWordsTypingGameRequest: {
1453
+ /** Format: uuid */
1454
+ gameId: string;
1455
+ duration: string;
1456
+ answers: components["schemas"]["WordUserAnswer"][];
1457
+ };
1458
+ WordUserAnswer: {
1459
+ /** Format: uuid */
1460
+ id: string;
1461
+ answer: string;
1462
+ };
1463
+ FinishedGameResponseSetIdentifiableReviewedWordAnswer: {
1464
+ /** Format: int32 */
1465
+ score: number;
1466
+ /** Format: int32 */
1467
+ maxScore: number;
1468
+ reviewedAnswers: components["schemas"]["IdentifiableReviewedWordAnswer"][];
1469
+ accuracy: string;
1470
+ /** @enum {string} */
1471
+ grade: "S" | "A" | "B" | "C" | "D" | "NA";
1472
+ };
1473
+ IdentifiableReviewedWordAnswer: {
1474
+ /** Format: uuid */
1475
+ id: string;
1476
+ expectedAnswer: string;
1477
+ userAnswer?: string;
1478
+ /** @enum {string} */
1479
+ score: "CORRECT" | "HALF_CORRECT" | "INCORRECT";
1480
+ };
1481
+ SentencesWritingSingleTopicProperAnswer: {
1482
+ /** Format: uuid */
1483
+ id: string;
1484
+ word: string;
1485
+ topic: string;
1486
+ };
1487
+ SentencesWritingTopic: {
1488
+ /** Format: uuid */
1489
+ id: string;
1490
+ word: string;
1491
+ topic: string;
1492
+ };
1493
+ StartedSentencesWritingGameResponse: {
1494
+ /** Format: uuid */
1495
+ gameId: string;
1496
+ instruction: components["schemas"]["SentencesWritingTopic"][];
1497
+ properAnswers: components["schemas"]["SentencesWritingSingleTopicProperAnswer"][];
1498
+ };
1499
+ FinishSentencesWritingGameRequest: {
1500
+ /** Format: uuid */
1501
+ gameId: string;
1502
+ duration: string;
1503
+ answers: {
1504
+ [key: string]: string;
1505
+ };
1506
+ };
1507
+ FinishedGameResponseSetReviewedSentencesWritingSingleTopic: {
1508
+ /** Format: int32 */
1509
+ score: number;
1510
+ /** Format: int32 */
1511
+ maxScore: number;
1512
+ reviewedAnswers: components["schemas"]["ReviewedSentencesWritingSingleTopic"][];
1513
+ accuracy: string;
1514
+ /** @enum {string} */
1515
+ grade: "S" | "A" | "B" | "C" | "D" | "NA";
1516
+ };
1517
+ ReviewedSentencesWritingSingleTopic: {
1518
+ /** Format: uuid */
1519
+ id: string;
1520
+ word: string;
1521
+ topic: string;
1522
+ /** Format: int32 */
1523
+ score: number;
1524
+ /** Format: int32 */
1525
+ maxScore: number;
1526
+ suggestedCorrectAnswer?: string;
1527
+ evaluationCriteria: components["schemas"]["SentencesWritingEvaluationCriteria"];
1528
+ };
1529
+ ScoringCriteria: {
1530
+ /** Format: int32 */
1531
+ score: number;
1532
+ comment?: string;
1533
+ };
1534
+ SentencesWritingEvaluationCriteria: {
1535
+ fitsTopic: boolean;
1536
+ vocabulary: components["schemas"]["ScoringCriteria"];
1537
+ answerLength: components["schemas"]["ScoringCriteria"];
1538
+ correctWordUsage: components["schemas"]["ScoringCriteria"];
1539
+ };
1540
+ Coordinates: {
1541
+ /** Format: int32 */
1542
+ x: number;
1543
+ /** Format: int32 */
1544
+ y: number;
1545
+ };
1546
+ CrosswordInstruction: {
1547
+ answerExplanation: string;
1548
+ answer: string;
1549
+ questions: components["schemas"]["CrosswordQuestion"][];
1550
+ board: string[][];
1551
+ };
1552
+ CrosswordProperAnswers: {
1553
+ finalWord: string;
1554
+ questions: {
1555
+ [key: string]: string;
1556
+ };
1557
+ };
1558
+ CrosswordQuestion: {
1559
+ /** Format: uuid */
1560
+ id: string;
1561
+ word: string;
1562
+ clue: string;
1563
+ lettersInAnswer?: components["schemas"]["LetterInCrosswordAnswer"][];
1564
+ position?: components["schemas"]["QuestionBoardPosition"];
1565
+ };
1566
+ LetterInCrosswordAnswer: {
1567
+ /** Format: int32 */
1568
+ indexInWord: number;
1569
+ /** Format: int32 */
1570
+ indexInPassword: number;
1571
+ };
1572
+ QuestionBoardPosition: {
1573
+ coordinates: components["schemas"]["WordPlacementRange"];
1574
+ /** @enum {string} */
1575
+ direction: "HORIZONTAL" | "VERTICAL";
1576
+ };
1577
+ StartedCrosswordGameResponse: {
1578
+ /** Format: uuid */
1579
+ gameId: string;
1580
+ instruction: components["schemas"]["CrosswordInstruction"];
1581
+ properAnswers: components["schemas"]["CrosswordProperAnswers"];
1582
+ };
1583
+ WordPlacementRange: {
1584
+ start: components["schemas"]["Coordinates"];
1585
+ end: components["schemas"]["Coordinates"];
1586
+ };
1587
+ CrosswordUserAnswers: {
1588
+ finalWord: string;
1589
+ questions: components["schemas"]["WordUserAnswer"][];
1590
+ };
1591
+ FinishCrosswordGameRequest: {
1592
+ /** Format: uuid */
1593
+ gameId: string;
1594
+ duration: string;
1595
+ answers: components["schemas"]["CrosswordUserAnswers"];
1596
+ };
1597
+ CrosswordReviewedAnswers: {
1598
+ finalWord: components["schemas"]["ReviewedWordAnswer"];
1599
+ questions: components["schemas"]["IdentifiableReviewedWordAnswer"][];
1600
+ };
1601
+ FinishedGameResponseCrosswordReviewedAnswers: {
1602
+ /** Format: int32 */
1603
+ score: number;
1604
+ /** Format: int32 */
1605
+ maxScore: number;
1606
+ reviewedAnswers: components["schemas"]["CrosswordReviewedAnswers"];
1607
+ accuracy: string;
1608
+ /** @enum {string} */
1609
+ grade: "S" | "A" | "B" | "C" | "D" | "NA";
1610
+ };
1611
+ ReviewedWordAnswer: {
1612
+ expectedAnswer: string;
1613
+ userAnswer?: string;
1614
+ /** @enum {string} */
1615
+ score: "CORRECT" | "HALF_CORRECT" | "INCORRECT";
1616
+ };
1617
+ CancelGameRequest: {
1618
+ duration: string;
1619
+ };
1620
+ CreateConversationRequest: {
1621
+ topic: string;
1622
+ additionalContext?: string;
1623
+ /**
1624
+ * @description Supported languages in the platform
1625
+ * @enum {string}
1626
+ */
1627
+ language: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1628
+ /** @enum {string} */
1629
+ tone: "FRIENDLY" | "FORMAL" | "HUMOROUS" | "NEUTRAL" | "ENCOURAGING" | "CHALLENGING";
1630
+ /** @enum {string} */
1631
+ type: "SMALL_TALK" | "SCENARIO_ROLEPLAY" | "EXAM_PRACTICE" | "TOPIC_EXPLORATION" | "OXFORD_DEBATE";
1632
+ aiInterlocutorName?: string;
1633
+ aiInterlocutorAvatarId?: string;
1634
+ };
1635
+ ConversationDTO: {
1636
+ /** Format: uuid */
1637
+ id: string;
1638
+ topic: string;
1639
+ /**
1640
+ * @description Supported languages in the platform
1641
+ * @enum {string}
1642
+ */
1643
+ language: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1644
+ /** @enum {string} */
1645
+ proficiencyLevel: "A1" | "A2" | "B1" | "B2" | "C1" | "C2";
1646
+ /** @enum {string} */
1647
+ type: "SMALL_TALK" | "SCENARIO_ROLEPLAY" | "EXAM_PRACTICE" | "TOPIC_EXPLORATION" | "OXFORD_DEBATE";
1648
+ /** @enum {string} */
1649
+ aiTone: "FRIENDLY" | "FORMAL" | "HUMOROUS" | "NEUTRAL" | "ENCOURAGING" | "CHALLENGING";
1650
+ aiInterlocutorName?: string;
1651
+ aiInterlocutorAvatarId?: string;
1652
+ additionalContext?: string;
1653
+ messages: components["schemas"]["ConversationMessageDTO"][];
1654
+ /** Format: date-time */
1655
+ createdAt: string;
1656
+ /** Format: date-time */
1657
+ updatedAt: string;
1658
+ };
1659
+ ConversationMessageDTO: {
1660
+ /** Format: uuid */
1661
+ id: string;
1662
+ /** Format: int32 */
1663
+ messageOrder: number;
1664
+ /** @enum {string} */
1665
+ sender: "USER" | "AI";
1666
+ content: string;
1667
+ feedback?: components["schemas"]["ConversationUserMessageFeedbackDTO"];
1668
+ /** Format: date-time */
1669
+ createdAt: string;
1670
+ };
1671
+ ConversationUserMessageFeedbackDTO: {
1672
+ /** Format: uuid */
1673
+ id: string;
1674
+ /** Format: int32 */
1675
+ grammar: number;
1676
+ /** Format: int32 */
1677
+ vocabulary: number;
1678
+ /** Format: int32 */
1679
+ answerLength: number;
1680
+ comment?: string;
1681
+ suggestedAnswer?: string;
1682
+ /** Format: uuid */
1683
+ messageId: string;
1684
+ };
1685
+ SuggestConversationTopicRequest: {
1686
+ clueFromUser?: string;
1687
+ /** @enum {string} */
1688
+ conversationType: "SMALL_TALK" | "SCENARIO_ROLEPLAY" | "EXAM_PRACTICE" | "TOPIC_EXPLORATION" | "OXFORD_DEBATE";
1689
+ /**
1690
+ * @description Supported languages in the platform
1691
+ * @enum {string}
1692
+ */
1693
+ language: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1694
+ };
1695
+ GenerateAIInterlocutorDataRequest: {
1696
+ topic: string;
1697
+ additionalContext?: string;
1698
+ /** @enum {string} */
1699
+ conversationType: "SMALL_TALK" | "SCENARIO_ROLEPLAY" | "EXAM_PRACTICE" | "TOPIC_EXPLORATION" | "OXFORD_DEBATE";
1700
+ /**
1701
+ * @description Supported languages in the platform
1702
+ * @enum {string}
1703
+ */
1704
+ language: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1705
+ };
1706
+ GeneratedAIInterlocutorData: {
1707
+ name: string;
1708
+ /** @enum {string} */
1709
+ avatarId: "AVATAR_ALPHA" | "AVATAR_BETA" | "AVATAR_GAMMA" | "AVATAR_DELTA" | "AVATAR_EPSILON" | "AVATAR_ZETA" | "AVATAR_ETA" | "AVATAR_THETA";
1710
+ };
1711
+ CreateAIConversationMessageRequest: {
1712
+ /** Format: uuid */
1713
+ conversationId: string;
1714
+ /** Format: int32 */
1715
+ messageOrder: number;
1716
+ latestUserMessage: string;
1717
+ };
1718
+ ReviewUserConversationMessageRequest: {
1719
+ /** Format: uuid */
1720
+ conversationId: string;
1721
+ message: string;
1722
+ /** Format: int32 */
1723
+ messageOrder: number;
1724
+ latestAIMessage?: string;
1725
+ };
1726
+ ReviewedUserConversationMessage: {
1727
+ sabotage?: string;
1728
+ /** Format: int32 */
1729
+ grammar: number;
1730
+ /** Format: int32 */
1731
+ vocabulary: number;
1732
+ /** Format: int32 */
1733
+ answerLength: number;
1734
+ comment?: string;
1735
+ suggestedAnswer?: string;
1736
+ };
1737
+ /** @description Request to verify OTP code and authenticate user */
1738
+ OtpVerifyDto: {
1739
+ /**
1740
+ * @description Email address associated with the OTP code
1741
+ * @example user@example.com
1742
+ */
1743
+ email: string;
1744
+ /**
1745
+ * @description 6-digit OTP code sent to the email address
1746
+ * @example 123456
1747
+ */
1748
+ code: string;
1749
+ };
1750
+ /** @description Request to send OTP code to email address */
1751
+ OtpRequestDto: {
1752
+ /**
1753
+ * @description Email address to send OTP code to
1754
+ * @example user@example.com
1755
+ */
1756
+ email: string;
1757
+ };
1758
+ JsonNullableSetExampleSentence: {
1759
+ present?: boolean;
1760
+ };
1761
+ JsonNullableSetString: {
1762
+ present?: boolean;
1763
+ };
1764
+ JsonNullableSetWordCollocation: {
1765
+ present?: boolean;
1766
+ };
1767
+ JsonNullableString: {
1768
+ present?: boolean;
1769
+ };
1770
+ JsonNullableWordGrammar: {
1771
+ present?: boolean;
1772
+ };
1773
+ JsonNullableWordPronunciation: {
1774
+ present?: boolean;
1775
+ };
1776
+ UpdateWordDetailsRequest: {
1777
+ useCases: components["schemas"]["JsonNullableSetString"];
1778
+ synonyms: components["schemas"]["JsonNullableSetString"];
1779
+ antonyms: components["schemas"]["JsonNullableSetString"];
1780
+ commonMistakes: components["schemas"]["JsonNullableSetString"];
1781
+ exampleSentences: components["schemas"]["JsonNullableSetExampleSentence"];
1782
+ collocations: components["schemas"]["JsonNullableSetWordCollocation"];
1783
+ pronunciation: components["schemas"]["JsonNullableWordPronunciation"];
1784
+ grammar: components["schemas"]["JsonNullableWordGrammar"];
1785
+ culturalNotes: components["schemas"]["JsonNullableString"];
1786
+ learningTips: components["schemas"]["JsonNullableString"];
1787
+ };
1788
+ UpdateWordRequest: {
1789
+ /**
1790
+ * @description Type of word or expression
1791
+ * @enum {string}
1792
+ */
1793
+ type?: "NOUN" | "VERB" | "ADJECTIVE" | "ADVERB" | "IDIOM" | "PHRASE";
1794
+ origin?: string;
1795
+ translation?: string;
1796
+ definition?: string;
1797
+ /**
1798
+ * @description Extra marks or tags for word classification by register or domain
1799
+ * @enum {string}
1800
+ */
1801
+ extraMark?: "OFFENSIVE" | "SLANG" | "FORMAL" | "INFORMAL" | "SCIENTIFIC" | "TECHNICAL" | "LEGAL" | "MEDICAL" | "COLLOQUIAL" | "POETIC";
1802
+ /**
1803
+ * @description Supported languages in the platform
1804
+ * @enum {string}
1805
+ */
1806
+ translatedFrom?: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1807
+ /**
1808
+ * @description Supported languages in the platform
1809
+ * @enum {string}
1810
+ */
1811
+ translatedTo?: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1812
+ /** Format: uuid */
1813
+ bankId?: string;
1814
+ bankToCreate?: components["schemas"]["CreateBankRequest"];
1815
+ };
1816
+ UpdateQAWRequest: {
1817
+ updatedWord?: string;
1818
+ definition?: string;
1819
+ /**
1820
+ * @description Extra marks or tags for word classification by register or domain
1821
+ * @enum {string}
1822
+ */
1823
+ extraMark?: "OFFENSIVE" | "SLANG" | "FORMAL" | "INFORMAL" | "SCIENTIFIC" | "TECHNICAL" | "LEGAL" | "MEDICAL" | "COLLOQUIAL" | "POETIC";
1824
+ /**
1825
+ * @description Type of word or expression
1826
+ * @enum {string}
1827
+ */
1828
+ type?: "NOUN" | "VERB" | "ADJECTIVE" | "ADVERB" | "IDIOM" | "PHRASE";
1829
+ };
1830
+ ApproveManyQAWRequest: {
1831
+ ids: string[];
1832
+ };
1833
+ UpdateLanguageProficiencyRequest: {
1834
+ /**
1835
+ * @description Supported languages in the platform
1836
+ * @enum {string}
1837
+ */
1838
+ language: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1839
+ /** @enum {string} */
1840
+ level?: "A1" | "A2" | "B1" | "B2" | "C1" | "C2";
1841
+ /**
1842
+ * @description Supported languages in the platform
1843
+ * @enum {string}
1844
+ */
1845
+ generativeContentLanguage?: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1846
+ };
1847
+ SingleWordResponse: {
1848
+ /** Format: uuid */
1849
+ id: string;
1850
+ /**
1851
+ * @description Type of word or expression
1852
+ * @enum {string}
1853
+ */
1854
+ type: "NOUN" | "VERB" | "ADJECTIVE" | "ADVERB" | "IDIOM" | "PHRASE";
1855
+ origin: string;
1856
+ translation: string;
1857
+ definition: string;
1858
+ /**
1859
+ * @description Extra marks or tags for word classification by register or domain
1860
+ * @enum {string}
1861
+ */
1862
+ extraMark?: "OFFENSIVE" | "SLANG" | "FORMAL" | "INFORMAL" | "SCIENTIFIC" | "TECHNICAL" | "LEGAL" | "MEDICAL" | "COLLOQUIAL" | "POETIC";
1863
+ /**
1864
+ * @description Supported languages in the platform
1865
+ * @enum {string}
1866
+ */
1867
+ translatedFrom: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1868
+ /**
1869
+ * @description Supported languages in the platform
1870
+ * @enum {string}
1871
+ */
1872
+ translatedTo: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
1873
+ isCompleted: boolean;
1874
+ isBookmarked: boolean;
1875
+ /** Format: int32 */
1876
+ points: number;
1877
+ bank?: components["schemas"]["BankCompact"];
1878
+ /** Format: date-time */
1879
+ createdAt: string;
1880
+ /** Format: date-time */
1881
+ updatedAt: string;
1882
+ details?: components["schemas"]["WordDetailsCompactDTO"];
1883
+ };
1884
+ };
1885
+ responses: never;
1886
+ parameters: never;
1887
+ requestBodies: never;
1888
+ headers: never;
1889
+ pathItems: never;
1890
+ }
1891
+ export type $defs = Record<string, never>;
1892
+ export interface operations {
1893
+ createWord: {
1894
+ parameters: {
1895
+ query?: never;
1896
+ header?: never;
1897
+ path?: never;
1898
+ cookie?: never;
1899
+ };
1900
+ requestBody: {
1901
+ content: {
1902
+ "application/json": components["schemas"]["CreateWordRequest"];
1903
+ };
1904
+ };
1905
+ responses: {
1906
+ /** @description Word created successfully */
1907
+ 200: {
1908
+ headers: {
1909
+ [name: string]: unknown;
1910
+ };
1911
+ content: {
1912
+ "*/*": components["schemas"]["WordDTO"];
1913
+ };
1914
+ };
1915
+ /** @description Invalid request data */
1916
+ 400: {
1917
+ headers: {
1918
+ [name: string]: unknown;
1919
+ };
1920
+ content?: never;
1921
+ };
1922
+ /** @description Unauthorized */
1923
+ 401: {
1924
+ headers: {
1925
+ [name: string]: unknown;
1926
+ };
1927
+ content?: never;
1928
+ };
1929
+ };
1930
+ };
1931
+ createWordDetails: {
1932
+ parameters: {
1933
+ query?: never;
1934
+ header?: never;
1935
+ path: {
1936
+ /**
1937
+ * @description Word ID
1938
+ * @example 650e8400-e29b-41d4-a716-446655440000
1939
+ */
1940
+ wordId: string;
1941
+ };
1942
+ cookie?: never;
1943
+ };
1944
+ requestBody: {
1945
+ content: {
1946
+ "application/json": components["schemas"]["CreateWordDetailsRequest"];
1947
+ };
1948
+ };
1949
+ responses: {
1950
+ /** @description Word details created successfully */
1951
+ 200: {
1952
+ headers: {
1953
+ [name: string]: unknown;
1954
+ };
1955
+ content: {
1956
+ "*/*": components["schemas"]["WordDetailsCompactDTO"];
1957
+ };
1958
+ };
1959
+ /** @description Invalid request data */
1960
+ 400: {
1961
+ headers: {
1962
+ [name: string]: unknown;
1963
+ };
1964
+ content?: never;
1965
+ };
1966
+ /** @description Unauthorized */
1967
+ 401: {
1968
+ headers: {
1969
+ [name: string]: unknown;
1970
+ };
1971
+ content?: never;
1972
+ };
1973
+ /** @description Word not found */
1974
+ 404: {
1975
+ headers: {
1976
+ [name: string]: unknown;
1977
+ };
1978
+ content?: never;
1979
+ };
1980
+ };
1981
+ };
1982
+ updateWordDetails: {
1983
+ parameters: {
1984
+ query?: never;
1985
+ header?: never;
1986
+ path: {
1987
+ /**
1988
+ * @description Word ID
1989
+ * @example 650e8400-e29b-41d4-a716-446655440000
1990
+ */
1991
+ wordId: string;
1992
+ };
1993
+ cookie?: never;
1994
+ };
1995
+ requestBody: {
1996
+ content: {
1997
+ "application/json": components["schemas"]["UpdateWordDetailsRequest"];
1998
+ };
1999
+ };
2000
+ responses: {
2001
+ /** @description Word details updated successfully */
2002
+ 200: {
2003
+ headers: {
2004
+ [name: string]: unknown;
2005
+ };
2006
+ content: {
2007
+ "*/*": components["schemas"]["WordDetailsCompactDTO"];
2008
+ };
2009
+ };
2010
+ /** @description Invalid request data */
2011
+ 400: {
2012
+ headers: {
2013
+ [name: string]: unknown;
2014
+ };
2015
+ content?: never;
2016
+ };
2017
+ /** @description Unauthorized */
2018
+ 401: {
2019
+ headers: {
2020
+ [name: string]: unknown;
2021
+ };
2022
+ content?: never;
2023
+ };
2024
+ /** @description Word or details not found */
2025
+ 404: {
2026
+ headers: {
2027
+ [name: string]: unknown;
2028
+ };
2029
+ content?: never;
2030
+ };
2031
+ };
2032
+ };
2033
+ togglePropertyForOneWord: {
2034
+ parameters: {
2035
+ query: {
2036
+ /**
2037
+ * @description Property to toggle
2038
+ * @example FAVORITE
2039
+ */
2040
+ property: "IS_BOOKMARKED";
2041
+ };
2042
+ header?: never;
2043
+ path: {
2044
+ /**
2045
+ * @description Word ID
2046
+ * @example 650e8400-e29b-41d4-a716-446655440000
2047
+ */
2048
+ id: string;
2049
+ };
2050
+ cookie?: never;
2051
+ };
2052
+ requestBody?: never;
2053
+ responses: {
2054
+ /** @description Property toggled successfully */
2055
+ 200: {
2056
+ headers: {
2057
+ [name: string]: unknown;
2058
+ };
2059
+ content: {
2060
+ "*/*": components["schemas"]["Unit"];
2061
+ };
2062
+ };
2063
+ /** @description Bad Request */
2064
+ 400: {
2065
+ headers: {
2066
+ [name: string]: unknown;
2067
+ };
2068
+ content: {
2069
+ "*/*": components["schemas"]["BadRequestResponse"];
2070
+ };
2071
+ };
2072
+ /** @description Unauthorized */
2073
+ 401: {
2074
+ headers: {
2075
+ [name: string]: unknown;
2076
+ };
2077
+ content?: never;
2078
+ };
2079
+ /** @description Word not found */
2080
+ 404: {
2081
+ headers: {
2082
+ [name: string]: unknown;
2083
+ };
2084
+ content?: never;
2085
+ };
2086
+ };
2087
+ };
2088
+ changeWordBank: {
2089
+ parameters: {
2090
+ query?: never;
2091
+ header?: never;
2092
+ path: {
2093
+ /**
2094
+ * @description Word ID
2095
+ * @example 650e8400-e29b-41d4-a716-446655440000
2096
+ */
2097
+ id: string;
2098
+ };
2099
+ cookie?: never;
2100
+ };
2101
+ requestBody: {
2102
+ content: {
2103
+ "application/json": components["schemas"]["ChangeBankForSingleWordRequest"];
2104
+ };
2105
+ };
2106
+ responses: {
2107
+ /** @description Word bank changed successfully */
2108
+ 200: {
2109
+ headers: {
2110
+ [name: string]: unknown;
2111
+ };
2112
+ content: {
2113
+ "*/*": components["schemas"]["Unit"];
2114
+ };
2115
+ };
2116
+ /** @description Bad Request */
2117
+ 400: {
2118
+ headers: {
2119
+ [name: string]: unknown;
2120
+ };
2121
+ content: {
2122
+ "*/*": components["schemas"]["BadRequestResponse"];
2123
+ };
2124
+ };
2125
+ /** @description Unauthorized */
2126
+ 401: {
2127
+ headers: {
2128
+ [name: string]: unknown;
2129
+ };
2130
+ content?: never;
2131
+ };
2132
+ /** @description Word not found */
2133
+ 404: {
2134
+ headers: {
2135
+ [name: string]: unknown;
2136
+ };
2137
+ content?: never;
2138
+ };
2139
+ };
2140
+ };
2141
+ togglePropertyForManyWords: {
2142
+ parameters: {
2143
+ query: {
2144
+ /**
2145
+ * @description Property to toggle
2146
+ * @example FAVORITE
2147
+ */
2148
+ property: "IS_BOOKMARKED";
2149
+ };
2150
+ header?: never;
2151
+ path?: never;
2152
+ cookie?: never;
2153
+ };
2154
+ requestBody: {
2155
+ content: {
2156
+ "application/json": components["schemas"]["WordBulkActionRequest"];
2157
+ };
2158
+ };
2159
+ responses: {
2160
+ /** @description Property toggled successfully for all words */
2161
+ 200: {
2162
+ headers: {
2163
+ [name: string]: unknown;
2164
+ };
2165
+ content: {
2166
+ "*/*": components["schemas"]["Unit"];
2167
+ };
2168
+ };
2169
+ /** @description Bad Request */
2170
+ 400: {
2171
+ headers: {
2172
+ [name: string]: unknown;
2173
+ };
2174
+ content: {
2175
+ "*/*": components["schemas"]["BadRequestResponse"];
2176
+ };
2177
+ };
2178
+ /** @description Unauthorized */
2179
+ 401: {
2180
+ headers: {
2181
+ [name: string]: unknown;
2182
+ };
2183
+ content?: never;
2184
+ };
2185
+ };
2186
+ };
2187
+ getAllWords: {
2188
+ parameters: {
2189
+ query?: never;
2190
+ header?: never;
2191
+ path?: never;
2192
+ cookie?: never;
2193
+ };
2194
+ requestBody: {
2195
+ content: {
2196
+ "application/json": components["schemas"]["GetManyWordsRequest"];
2197
+ };
2198
+ };
2199
+ responses: {
2200
+ /** @description Words retrieved successfully */
2201
+ 200: {
2202
+ headers: {
2203
+ [name: string]: unknown;
2204
+ };
2205
+ content: {
2206
+ "*/*": components["schemas"]["PaginatedDataResponseWordListItem"];
2207
+ };
2208
+ };
2209
+ /** @description Bad Request */
2210
+ 400: {
2211
+ headers: {
2212
+ [name: string]: unknown;
2213
+ };
2214
+ content: {
2215
+ "*/*": components["schemas"]["BadRequestResponse"];
2216
+ };
2217
+ };
2218
+ /** @description Unauthorized */
2219
+ 401: {
2220
+ headers: {
2221
+ [name: string]: unknown;
2222
+ };
2223
+ content?: never;
2224
+ };
2225
+ };
2226
+ };
2227
+ changeBankForMultipleWords: {
2228
+ parameters: {
2229
+ query?: never;
2230
+ header?: never;
2231
+ path?: never;
2232
+ cookie?: never;
2233
+ };
2234
+ requestBody: {
2235
+ content: {
2236
+ "application/json": components["schemas"]["ChangeBankForMultipleWordsRequest"];
2237
+ };
2238
+ };
2239
+ responses: {
2240
+ /** @description Words bank changed successfully */
2241
+ 200: {
2242
+ headers: {
2243
+ [name: string]: unknown;
2244
+ };
2245
+ content: {
2246
+ "*/*": components["schemas"]["Unit"];
2247
+ };
2248
+ };
2249
+ /** @description Bad Request */
2250
+ 400: {
2251
+ headers: {
2252
+ [name: string]: unknown;
2253
+ };
2254
+ content: {
2255
+ "*/*": components["schemas"]["BadRequestResponse"];
2256
+ };
2257
+ };
2258
+ /** @description Unauthorized */
2259
+ 401: {
2260
+ headers: {
2261
+ [name: string]: unknown;
2262
+ };
2263
+ content?: never;
2264
+ };
2265
+ };
2266
+ };
2267
+ generateAIManual: {
2268
+ parameters: {
2269
+ query?: never;
2270
+ header?: never;
2271
+ path?: never;
2272
+ cookie?: never;
2273
+ };
2274
+ requestBody: {
2275
+ content: {
2276
+ "application/json": components["schemas"]["GenerateWordManualRequest"];
2277
+ };
2278
+ };
2279
+ responses: {
2280
+ /** @description Word manual generated successfully */
2281
+ 200: {
2282
+ headers: {
2283
+ [name: string]: unknown;
2284
+ };
2285
+ content: {
2286
+ "*/*": components["schemas"]["AIGeneratedWordManual"];
2287
+ };
2288
+ };
2289
+ /** @description Invalid request data */
2290
+ 400: {
2291
+ headers: {
2292
+ [name: string]: unknown;
2293
+ };
2294
+ content?: never;
2295
+ };
2296
+ /** @description Unauthorized */
2297
+ 401: {
2298
+ headers: {
2299
+ [name: string]: unknown;
2300
+ };
2301
+ content?: never;
2302
+ };
2303
+ };
2304
+ };
2305
+ initUserAccount: {
2306
+ parameters: {
2307
+ query?: never;
2308
+ header?: never;
2309
+ path?: never;
2310
+ cookie?: never;
2311
+ };
2312
+ requestBody: {
2313
+ content: {
2314
+ "application/json": components["schemas"]["InitUserAccountRequest"];
2315
+ };
2316
+ };
2317
+ responses: {
2318
+ /** @description Account initialized successfully */
2319
+ 200: {
2320
+ headers: {
2321
+ [name: string]: unknown;
2322
+ };
2323
+ content: {
2324
+ "application/json": components["schemas"]["UserDTO"];
2325
+ };
2326
+ };
2327
+ /** @description Invalid request data */
2328
+ 400: {
2329
+ headers: {
2330
+ [name: string]: unknown;
2331
+ };
2332
+ content?: never;
2333
+ };
2334
+ /** @description Not authenticated */
2335
+ 401: {
2336
+ headers: {
2337
+ [name: string]: unknown;
2338
+ };
2339
+ content?: never;
2340
+ };
2341
+ };
2342
+ };
2343
+ getManyQAWs: {
2344
+ parameters: {
2345
+ query?: {
2346
+ /**
2347
+ * @description Page number (0-indexed)
2348
+ * @example 0
2349
+ */
2350
+ page?: number;
2351
+ /**
2352
+ * @description Number of items per page
2353
+ * @example 20
2354
+ */
2355
+ perPage?: number;
2356
+ };
2357
+ header?: never;
2358
+ path?: never;
2359
+ cookie?: never;
2360
+ };
2361
+ requestBody?: never;
2362
+ responses: {
2363
+ /** @description Words retrieved successfully */
2364
+ 200: {
2365
+ headers: {
2366
+ [name: string]: unknown;
2367
+ };
2368
+ content: {
2369
+ "application/json": unknown;
2370
+ };
2371
+ };
2372
+ /** @description Bad Request */
2373
+ 400: {
2374
+ headers: {
2375
+ [name: string]: unknown;
2376
+ };
2377
+ content: {
2378
+ "*/*": components["schemas"]["BadRequestResponse"];
2379
+ };
2380
+ };
2381
+ /** @description Not authenticated */
2382
+ 401: {
2383
+ headers: {
2384
+ [name: string]: unknown;
2385
+ };
2386
+ content?: never;
2387
+ };
2388
+ };
2389
+ };
2390
+ createOne: {
2391
+ parameters: {
2392
+ query?: never;
2393
+ header?: never;
2394
+ path?: never;
2395
+ cookie?: never;
2396
+ };
2397
+ requestBody: {
2398
+ content: {
2399
+ "application/json": components["schemas"]["CreateQAWRequest"];
2400
+ };
2401
+ };
2402
+ responses: {
2403
+ /** @description Word created successfully */
2404
+ 201: {
2405
+ headers: {
2406
+ [name: string]: unknown;
2407
+ };
2408
+ content: {
2409
+ "application/json": components["schemas"]["QuicklyAddedWordDTO"];
2410
+ };
2411
+ };
2412
+ /** @description Invalid word data */
2413
+ 400: {
2414
+ headers: {
2415
+ [name: string]: unknown;
2416
+ };
2417
+ content?: never;
2418
+ };
2419
+ /** @description Not authenticated */
2420
+ 401: {
2421
+ headers: {
2422
+ [name: string]: unknown;
2423
+ };
2424
+ content?: never;
2425
+ };
2426
+ };
2427
+ };
2428
+ bulkDelete: {
2429
+ parameters: {
2430
+ query?: never;
2431
+ header?: never;
2432
+ path?: never;
2433
+ cookie?: never;
2434
+ };
2435
+ requestBody: {
2436
+ content: {
2437
+ "application/json": string[];
2438
+ };
2439
+ };
2440
+ responses: {
2441
+ /** @description Words deleted successfully */
2442
+ 204: {
2443
+ headers: {
2444
+ [name: string]: unknown;
2445
+ };
2446
+ content: {
2447
+ "*/*": components["schemas"]["Unit"];
2448
+ };
2449
+ };
2450
+ /** @description Invalid delete data */
2451
+ 400: {
2452
+ headers: {
2453
+ [name: string]: unknown;
2454
+ };
2455
+ content?: never;
2456
+ };
2457
+ /** @description Not authenticated */
2458
+ 401: {
2459
+ headers: {
2460
+ [name: string]: unknown;
2461
+ };
2462
+ content?: never;
2463
+ };
2464
+ };
2465
+ };
2466
+ bulkCreate: {
2467
+ parameters: {
2468
+ query?: never;
2469
+ header?: never;
2470
+ path?: never;
2471
+ cookie?: never;
2472
+ };
2473
+ requestBody: {
2474
+ content: {
2475
+ "application/json": components["schemas"]["CreateQAWRequest"][];
2476
+ };
2477
+ };
2478
+ responses: {
2479
+ /** @description Words created successfully */
2480
+ 201: {
2481
+ headers: {
2482
+ [name: string]: unknown;
2483
+ };
2484
+ content: {
2485
+ "application/json": unknown;
2486
+ };
2487
+ };
2488
+ /** @description Invalid word data */
2489
+ 400: {
2490
+ headers: {
2491
+ [name: string]: unknown;
2492
+ };
2493
+ content?: never;
2494
+ };
2495
+ /** @description Not authenticated */
2496
+ 401: {
2497
+ headers: {
2498
+ [name: string]: unknown;
2499
+ };
2500
+ content?: never;
2501
+ };
2502
+ };
2503
+ };
2504
+ publicBulkCreate: {
2505
+ parameters: {
2506
+ query?: never;
2507
+ header?: never;
2508
+ path?: never;
2509
+ cookie?: never;
2510
+ };
2511
+ requestBody: {
2512
+ content: {
2513
+ "application/json": components["schemas"]["PublicQAWBulkCreateRequest"];
2514
+ };
2515
+ };
2516
+ responses: {
2517
+ /** @description Words created successfully */
2518
+ 200: {
2519
+ headers: {
2520
+ [name: string]: unknown;
2521
+ };
2522
+ content: {
2523
+ "*/*": components["schemas"]["QuicklyAddedWordEntity"][];
2524
+ };
2525
+ };
2526
+ /** @description Invalid request data or authentication failed */
2527
+ 400: {
2528
+ headers: {
2529
+ [name: string]: unknown;
2530
+ };
2531
+ content?: never;
2532
+ };
2533
+ };
2534
+ };
2535
+ getLanguagesForUser: {
2536
+ parameters: {
2537
+ query?: never;
2538
+ header?: never;
2539
+ path?: never;
2540
+ cookie?: never;
2541
+ };
2542
+ requestBody?: never;
2543
+ responses: {
2544
+ /** @description Language proficiencies retrieved successfully */
2545
+ 200: {
2546
+ headers: {
2547
+ [name: string]: unknown;
2548
+ };
2549
+ content: {
2550
+ "*/*": {
2551
+ [key: string]: "A1" | "A2" | "B1" | "B2" | "C1" | "C2";
2552
+ };
2553
+ };
2554
+ };
2555
+ /** @description Bad Request */
2556
+ 400: {
2557
+ headers: {
2558
+ [name: string]: unknown;
2559
+ };
2560
+ content: {
2561
+ "*/*": components["schemas"]["BadRequestResponse"];
2562
+ };
2563
+ };
2564
+ /** @description Not authenticated */
2565
+ 401: {
2566
+ headers: {
2567
+ [name: string]: unknown;
2568
+ };
2569
+ content?: never;
2570
+ };
2571
+ };
2572
+ };
2573
+ createLanguageProficiency: {
2574
+ parameters: {
2575
+ query?: never;
2576
+ header?: never;
2577
+ path?: never;
2578
+ cookie?: never;
2579
+ };
2580
+ requestBody: {
2581
+ content: {
2582
+ "application/json": components["schemas"]["CreateLanguageProficiencyRequest"];
2583
+ };
2584
+ };
2585
+ responses: {
2586
+ /** @description Language proficiency created successfully */
2587
+ 201: {
2588
+ headers: {
2589
+ [name: string]: unknown;
2590
+ };
2591
+ content: {
2592
+ "application/json": components["schemas"]["LanguageProficiencyDTO"];
2593
+ };
2594
+ };
2595
+ /** @description Invalid request data or language already exists */
2596
+ 400: {
2597
+ headers: {
2598
+ [name: string]: unknown;
2599
+ };
2600
+ content?: never;
2601
+ };
2602
+ /** @description Not authenticated */
2603
+ 401: {
2604
+ headers: {
2605
+ [name: string]: unknown;
2606
+ };
2607
+ content?: never;
2608
+ };
2609
+ };
2610
+ };
2611
+ updateLanguageProficiency: {
2612
+ parameters: {
2613
+ query?: never;
2614
+ header?: never;
2615
+ path?: never;
2616
+ cookie?: never;
2617
+ };
2618
+ requestBody: {
2619
+ content: {
2620
+ "application/json": components["schemas"]["UpdateLanguageProficiencyRequest"];
2621
+ };
2622
+ };
2623
+ responses: {
2624
+ /** @description Language proficiency updated successfully */
2625
+ 200: {
2626
+ headers: {
2627
+ [name: string]: unknown;
2628
+ };
2629
+ content: {
2630
+ "application/json": components["schemas"]["LanguageProficiencyDTO"];
2631
+ };
2632
+ };
2633
+ /** @description Invalid request data */
2634
+ 400: {
2635
+ headers: {
2636
+ [name: string]: unknown;
2637
+ };
2638
+ content?: never;
2639
+ };
2640
+ /** @description Not authenticated */
2641
+ 401: {
2642
+ headers: {
2643
+ [name: string]: unknown;
2644
+ };
2645
+ content?: never;
2646
+ };
2647
+ /** @description Language proficiency not found */
2648
+ 404: {
2649
+ headers: {
2650
+ [name: string]: unknown;
2651
+ };
2652
+ content?: never;
2653
+ };
2654
+ };
2655
+ };
2656
+ startWordsTypingGame: {
2657
+ parameters: {
2658
+ query?: never;
2659
+ header?: never;
2660
+ path?: never;
2661
+ cookie?: never;
2662
+ };
2663
+ requestBody: {
2664
+ content: {
2665
+ "application/json": components["schemas"]["StartGameRequest"];
2666
+ };
2667
+ };
2668
+ responses: {
2669
+ /** @description Words typing game started successfully */
2670
+ 200: {
2671
+ headers: {
2672
+ [name: string]: unknown;
2673
+ };
2674
+ content: {
2675
+ "*/*": components["schemas"]["StartedWordsTypingGameResponse"];
2676
+ };
2677
+ };
2678
+ /** @description Invalid request data or insufficient words for game */
2679
+ 400: {
2680
+ headers: {
2681
+ [name: string]: unknown;
2682
+ };
2683
+ content?: never;
2684
+ };
2685
+ /** @description Unauthorized */
2686
+ 401: {
2687
+ headers: {
2688
+ [name: string]: unknown;
2689
+ };
2690
+ content?: never;
2691
+ };
2692
+ };
2693
+ };
2694
+ finishWordsTypingGame: {
2695
+ parameters: {
2696
+ query?: never;
2697
+ header?: never;
2698
+ path?: never;
2699
+ cookie?: never;
2700
+ };
2701
+ requestBody: {
2702
+ content: {
2703
+ "application/json": components["schemas"]["FinishWordsTypingGameRequest"];
2704
+ };
2705
+ };
2706
+ responses: {
2707
+ /** @description Words typing game finished successfully */
2708
+ 200: {
2709
+ headers: {
2710
+ [name: string]: unknown;
2711
+ };
2712
+ content: {
2713
+ "*/*": components["schemas"]["FinishedGameResponseSetIdentifiableReviewedWordAnswer"];
2714
+ };
2715
+ };
2716
+ /** @description Invalid request data */
2717
+ 400: {
2718
+ headers: {
2719
+ [name: string]: unknown;
2720
+ };
2721
+ content?: never;
2722
+ };
2723
+ /** @description Unauthorized */
2724
+ 401: {
2725
+ headers: {
2726
+ [name: string]: unknown;
2727
+ };
2728
+ content?: never;
2729
+ };
2730
+ /** @description Game not found */
2731
+ 404: {
2732
+ headers: {
2733
+ [name: string]: unknown;
2734
+ };
2735
+ content?: never;
2736
+ };
2737
+ };
2738
+ };
2739
+ startWordsTypingGame_1: {
2740
+ parameters: {
2741
+ query?: never;
2742
+ header?: never;
2743
+ path?: never;
2744
+ cookie?: never;
2745
+ };
2746
+ requestBody: {
2747
+ content: {
2748
+ "application/json": components["schemas"]["StartGameRequest"];
2749
+ };
2750
+ };
2751
+ responses: {
2752
+ /** @description Sentences writing game started successfully */
2753
+ 200: {
2754
+ headers: {
2755
+ [name: string]: unknown;
2756
+ };
2757
+ content: {
2758
+ "*/*": components["schemas"]["StartedSentencesWritingGameResponse"];
2759
+ };
2760
+ };
2761
+ /** @description Invalid request data or insufficient words for game */
2762
+ 400: {
2763
+ headers: {
2764
+ [name: string]: unknown;
2765
+ };
2766
+ content?: never;
2767
+ };
2768
+ /** @description Unauthorized */
2769
+ 401: {
2770
+ headers: {
2771
+ [name: string]: unknown;
2772
+ };
2773
+ content?: never;
2774
+ };
2775
+ };
2776
+ };
2777
+ finishWordsTypingGame_1: {
2778
+ parameters: {
2779
+ query?: never;
2780
+ header?: never;
2781
+ path?: never;
2782
+ cookie?: never;
2783
+ };
2784
+ requestBody: {
2785
+ content: {
2786
+ "application/json": components["schemas"]["FinishSentencesWritingGameRequest"];
2787
+ };
2788
+ };
2789
+ responses: {
2790
+ /** @description Sentences writing game finished successfully */
2791
+ 200: {
2792
+ headers: {
2793
+ [name: string]: unknown;
2794
+ };
2795
+ content: {
2796
+ "*/*": components["schemas"]["FinishedGameResponseSetReviewedSentencesWritingSingleTopic"];
2797
+ };
2798
+ };
2799
+ /** @description Invalid request data or sentence exceeds 1024 characters */
2800
+ 400: {
2801
+ headers: {
2802
+ [name: string]: unknown;
2803
+ };
2804
+ content?: never;
2805
+ };
2806
+ /** @description Unauthorized */
2807
+ 401: {
2808
+ headers: {
2809
+ [name: string]: unknown;
2810
+ };
2811
+ content?: never;
2812
+ };
2813
+ /** @description Game not found */
2814
+ 404: {
2815
+ headers: {
2816
+ [name: string]: unknown;
2817
+ };
2818
+ content?: never;
2819
+ };
2820
+ };
2821
+ };
2822
+ startCrosswordGame: {
2823
+ parameters: {
2824
+ query?: never;
2825
+ header?: never;
2826
+ path?: never;
2827
+ cookie?: never;
2828
+ };
2829
+ requestBody: {
2830
+ content: {
2831
+ "application/json": components["schemas"]["StartGameRequest"];
2832
+ };
2833
+ };
2834
+ responses: {
2835
+ /** @description Crossword game started successfully */
2836
+ 200: {
2837
+ headers: {
2838
+ [name: string]: unknown;
2839
+ };
2840
+ content: {
2841
+ "*/*": components["schemas"]["StartedCrosswordGameResponse"];
2842
+ };
2843
+ };
2844
+ /** @description Invalid request data or insufficient words for game */
2845
+ 400: {
2846
+ headers: {
2847
+ [name: string]: unknown;
2848
+ };
2849
+ content?: never;
2850
+ };
2851
+ /** @description Unauthorized */
2852
+ 401: {
2853
+ headers: {
2854
+ [name: string]: unknown;
2855
+ };
2856
+ content?: never;
2857
+ };
2858
+ };
2859
+ };
2860
+ finishCrosswordGame: {
2861
+ parameters: {
2862
+ query?: never;
2863
+ header?: never;
2864
+ path?: never;
2865
+ cookie?: never;
2866
+ };
2867
+ requestBody: {
2868
+ content: {
2869
+ "application/json": components["schemas"]["FinishCrosswordGameRequest"];
2870
+ };
2871
+ };
2872
+ responses: {
2873
+ /** @description Crossword game finished successfully */
2874
+ 200: {
2875
+ headers: {
2876
+ [name: string]: unknown;
2877
+ };
2878
+ content: {
2879
+ "*/*": components["schemas"]["FinishedGameResponseCrosswordReviewedAnswers"];
2880
+ };
2881
+ };
2882
+ /** @description Invalid request data */
2883
+ 400: {
2884
+ headers: {
2885
+ [name: string]: unknown;
2886
+ };
2887
+ content?: never;
2888
+ };
2889
+ /** @description Unauthorized */
2890
+ 401: {
2891
+ headers: {
2892
+ [name: string]: unknown;
2893
+ };
2894
+ content?: never;
2895
+ };
2896
+ /** @description Game not found */
2897
+ 404: {
2898
+ headers: {
2899
+ [name: string]: unknown;
2900
+ };
2901
+ content?: never;
2902
+ };
2903
+ };
2904
+ };
2905
+ cancelGame: {
2906
+ parameters: {
2907
+ query?: never;
2908
+ header?: never;
2909
+ path: {
2910
+ /**
2911
+ * @description Ongoing game ID
2912
+ * @example 650e8400-e29b-41d4-a716-446655440000
2913
+ */
2914
+ gameId: string;
2915
+ };
2916
+ cookie?: never;
2917
+ };
2918
+ requestBody: {
2919
+ content: {
2920
+ "application/json": components["schemas"]["CancelGameRequest"];
2921
+ };
2922
+ };
2923
+ responses: {
2924
+ /** @description Game cancelled successfully */
2925
+ 204: {
2926
+ headers: {
2927
+ [name: string]: unknown;
2928
+ };
2929
+ content?: never;
2930
+ };
2931
+ /** @description Bad Request */
2932
+ 400: {
2933
+ headers: {
2934
+ [name: string]: unknown;
2935
+ };
2936
+ content: {
2937
+ "*/*": components["schemas"]["BadRequestResponse"];
2938
+ };
2939
+ };
2940
+ /** @description Unauthorized */
2941
+ 401: {
2942
+ headers: {
2943
+ [name: string]: unknown;
2944
+ };
2945
+ content?: never;
2946
+ };
2947
+ /** @description Game not found */
2948
+ 404: {
2949
+ headers: {
2950
+ [name: string]: unknown;
2951
+ };
2952
+ content?: never;
2953
+ };
2954
+ };
2955
+ };
2956
+ getConversations: {
2957
+ parameters: {
2958
+ query?: never;
2959
+ header?: never;
2960
+ path?: never;
2961
+ cookie?: never;
2962
+ };
2963
+ requestBody?: never;
2964
+ responses: {
2965
+ /** @description Conversations retrieved successfully */
2966
+ 200: {
2967
+ headers: {
2968
+ [name: string]: unknown;
2969
+ };
2970
+ content: {
2971
+ "*/*": components["schemas"]["ConversationDTO"][];
2972
+ };
2973
+ };
2974
+ /** @description Bad Request */
2975
+ 400: {
2976
+ headers: {
2977
+ [name: string]: unknown;
2978
+ };
2979
+ content: {
2980
+ "*/*": components["schemas"]["BadRequestResponse"];
2981
+ };
2982
+ };
2983
+ /** @description Unauthorized */
2984
+ 401: {
2985
+ headers: {
2986
+ [name: string]: unknown;
2987
+ };
2988
+ content?: never;
2989
+ };
2990
+ };
2991
+ };
2992
+ createConversation: {
2993
+ parameters: {
2994
+ query?: never;
2995
+ header?: never;
2996
+ path?: never;
2997
+ cookie?: never;
2998
+ };
2999
+ requestBody: {
3000
+ content: {
3001
+ "application/json": components["schemas"]["CreateConversationRequest"];
3002
+ };
3003
+ };
3004
+ responses: {
3005
+ /** @description Conversation created successfully */
3006
+ 200: {
3007
+ headers: {
3008
+ [name: string]: unknown;
3009
+ };
3010
+ content: {
3011
+ "*/*": components["schemas"]["ConversationDTO"];
3012
+ };
3013
+ };
3014
+ /** @description Invalid request data */
3015
+ 400: {
3016
+ headers: {
3017
+ [name: string]: unknown;
3018
+ };
3019
+ content?: never;
3020
+ };
3021
+ /** @description Unauthorized */
3022
+ 401: {
3023
+ headers: {
3024
+ [name: string]: unknown;
3025
+ };
3026
+ content?: never;
3027
+ };
3028
+ };
3029
+ };
3030
+ suggestTopic: {
3031
+ parameters: {
3032
+ query?: never;
3033
+ header?: never;
3034
+ path?: never;
3035
+ cookie?: never;
3036
+ };
3037
+ requestBody: {
3038
+ content: {
3039
+ "application/json": components["schemas"]["SuggestConversationTopicRequest"];
3040
+ };
3041
+ };
3042
+ responses: {
3043
+ /** @description Topic suggestions stream started successfully */
3044
+ 200: {
3045
+ headers: {
3046
+ [name: string]: unknown;
3047
+ };
3048
+ content: {
3049
+ "text/event-stream": string[];
3050
+ };
3051
+ };
3052
+ /** @description Invalid request data */
3053
+ 400: {
3054
+ headers: {
3055
+ [name: string]: unknown;
3056
+ };
3057
+ content?: never;
3058
+ };
3059
+ /** @description Unauthorized */
3060
+ 401: {
3061
+ headers: {
3062
+ [name: string]: unknown;
3063
+ };
3064
+ content?: never;
3065
+ };
3066
+ };
3067
+ };
3068
+ generateAIInterlocutorData: {
3069
+ parameters: {
3070
+ query?: never;
3071
+ header?: never;
3072
+ path?: never;
3073
+ cookie?: never;
3074
+ };
3075
+ requestBody: {
3076
+ content: {
3077
+ "application/json": components["schemas"]["GenerateAIInterlocutorDataRequest"];
3078
+ };
3079
+ };
3080
+ responses: {
3081
+ /** @description AI interlocutor generated successfully */
3082
+ 200: {
3083
+ headers: {
3084
+ [name: string]: unknown;
3085
+ };
3086
+ content: {
3087
+ "*/*": components["schemas"]["GeneratedAIInterlocutorData"];
3088
+ };
3089
+ };
3090
+ /** @description Invalid request data */
3091
+ 400: {
3092
+ headers: {
3093
+ [name: string]: unknown;
3094
+ };
3095
+ content?: never;
3096
+ };
3097
+ /** @description Unauthorized */
3098
+ 401: {
3099
+ headers: {
3100
+ [name: string]: unknown;
3101
+ };
3102
+ content?: never;
3103
+ };
3104
+ };
3105
+ };
3106
+ requestAIMessage: {
3107
+ parameters: {
3108
+ query?: never;
3109
+ header?: never;
3110
+ path?: never;
3111
+ cookie?: never;
3112
+ };
3113
+ requestBody: {
3114
+ content: {
3115
+ "application/json": components["schemas"]["CreateAIConversationMessageRequest"];
3116
+ };
3117
+ };
3118
+ responses: {
3119
+ /** @description AI message stream started successfully */
3120
+ 200: {
3121
+ headers: {
3122
+ [name: string]: unknown;
3123
+ };
3124
+ content: {
3125
+ "text/event-stream": string[];
3126
+ };
3127
+ };
3128
+ /** @description Invalid request data */
3129
+ 400: {
3130
+ headers: {
3131
+ [name: string]: unknown;
3132
+ };
3133
+ content?: never;
3134
+ };
3135
+ /** @description Unauthorized */
3136
+ 401: {
3137
+ headers: {
3138
+ [name: string]: unknown;
3139
+ };
3140
+ content?: never;
3141
+ };
3142
+ /** @description Conversation not found */
3143
+ 404: {
3144
+ headers: {
3145
+ [name: string]: unknown;
3146
+ };
3147
+ content?: never;
3148
+ };
3149
+ };
3150
+ };
3151
+ initializeConversationByAI: {
3152
+ parameters: {
3153
+ query: {
3154
+ /**
3155
+ * @description Conversation ID
3156
+ * @example 650e8400-e29b-41d4-a716-446655440000
3157
+ */
3158
+ conversationId: string;
3159
+ };
3160
+ header?: never;
3161
+ path?: never;
3162
+ cookie?: never;
3163
+ };
3164
+ requestBody?: never;
3165
+ responses: {
3166
+ /** @description Conversation initialization stream started successfully */
3167
+ 200: {
3168
+ headers: {
3169
+ [name: string]: unknown;
3170
+ };
3171
+ content: {
3172
+ "text/event-stream": string[];
3173
+ };
3174
+ };
3175
+ /** @description Bad Request */
3176
+ 400: {
3177
+ headers: {
3178
+ [name: string]: unknown;
3179
+ };
3180
+ content: {
3181
+ "*/*": components["schemas"]["BadRequestResponse"];
3182
+ };
3183
+ };
3184
+ /** @description Unauthorized */
3185
+ 401: {
3186
+ headers: {
3187
+ [name: string]: unknown;
3188
+ };
3189
+ content?: never;
3190
+ };
3191
+ /** @description Conversation not found */
3192
+ 404: {
3193
+ headers: {
3194
+ [name: string]: unknown;
3195
+ };
3196
+ content?: never;
3197
+ };
3198
+ };
3199
+ };
3200
+ handleUserMessage: {
3201
+ parameters: {
3202
+ query?: never;
3203
+ header?: never;
3204
+ path?: never;
3205
+ cookie?: never;
3206
+ };
3207
+ requestBody: {
3208
+ content: {
3209
+ "application/json": components["schemas"]["ReviewUserConversationMessageRequest"];
3210
+ };
3211
+ };
3212
+ responses: {
3213
+ /** @description User message processed and feedback generated */
3214
+ 200: {
3215
+ headers: {
3216
+ [name: string]: unknown;
3217
+ };
3218
+ content: {
3219
+ "*/*": components["schemas"]["ReviewedUserConversationMessage"];
3220
+ };
3221
+ };
3222
+ /** @description Invalid request data */
3223
+ 400: {
3224
+ headers: {
3225
+ [name: string]: unknown;
3226
+ };
3227
+ content?: never;
3228
+ };
3229
+ /** @description Unauthorized */
3230
+ 401: {
3231
+ headers: {
3232
+ [name: string]: unknown;
3233
+ };
3234
+ content?: never;
3235
+ };
3236
+ /** @description Conversation not found */
3237
+ 404: {
3238
+ headers: {
3239
+ [name: string]: unknown;
3240
+ };
3241
+ content?: never;
3242
+ };
3243
+ };
3244
+ };
3245
+ verifyOtp: {
3246
+ parameters: {
3247
+ query?: never;
3248
+ header?: never;
3249
+ path?: never;
3250
+ cookie?: never;
3251
+ };
3252
+ requestBody: {
3253
+ content: {
3254
+ "application/json": components["schemas"]["OtpVerifyDto"];
3255
+ };
3256
+ };
3257
+ responses: {
3258
+ /** @description OTP verified successfully, user authenticated */
3259
+ 200: {
3260
+ headers: {
3261
+ [name: string]: unknown;
3262
+ };
3263
+ content: {
3264
+ "application/json": components["schemas"]["UserDTO"];
3265
+ };
3266
+ };
3267
+ /** @description Invalid OTP code */
3268
+ 400: {
3269
+ headers: {
3270
+ [name: string]: unknown;
3271
+ };
3272
+ content?: never;
3273
+ };
3274
+ /** @description OTP expired or invalid */
3275
+ 401: {
3276
+ headers: {
3277
+ [name: string]: unknown;
3278
+ };
3279
+ content?: never;
3280
+ };
3281
+ };
3282
+ };
3283
+ requestOtp: {
3284
+ parameters: {
3285
+ query?: never;
3286
+ header?: never;
3287
+ path?: never;
3288
+ cookie?: never;
3289
+ };
3290
+ requestBody: {
3291
+ content: {
3292
+ "application/json": components["schemas"]["OtpRequestDto"];
3293
+ };
3294
+ };
3295
+ responses: {
3296
+ /** @description OTP sent successfully */
3297
+ 200: {
3298
+ headers: {
3299
+ [name: string]: unknown;
3300
+ };
3301
+ content?: never;
3302
+ };
3303
+ /** @description Invalid email format */
3304
+ 400: {
3305
+ headers: {
3306
+ [name: string]: unknown;
3307
+ };
3308
+ content?: never;
3309
+ };
3310
+ /** @description Too many requests */
3311
+ 429: {
3312
+ headers: {
3313
+ [name: string]: unknown;
3314
+ };
3315
+ content?: never;
3316
+ };
3317
+ };
3318
+ };
3319
+ getWord: {
3320
+ parameters: {
3321
+ query?: never;
3322
+ header?: never;
3323
+ path: {
3324
+ /**
3325
+ * @description Word ID
3326
+ * @example 650e8400-e29b-41d4-a716-446655440000
3327
+ */
3328
+ id: string;
3329
+ };
3330
+ cookie?: never;
3331
+ };
3332
+ requestBody?: never;
3333
+ responses: {
3334
+ /** @description Word retrieved successfully */
3335
+ 200: {
3336
+ headers: {
3337
+ [name: string]: unknown;
3338
+ };
3339
+ content: {
3340
+ "*/*": components["schemas"]["SingleWordResponse"];
3341
+ };
3342
+ };
3343
+ /** @description Bad Request */
3344
+ 400: {
3345
+ headers: {
3346
+ [name: string]: unknown;
3347
+ };
3348
+ content: {
3349
+ "*/*": components["schemas"]["BadRequestResponse"];
3350
+ };
3351
+ };
3352
+ /** @description Unauthorized */
3353
+ 401: {
3354
+ headers: {
3355
+ [name: string]: unknown;
3356
+ };
3357
+ content?: never;
3358
+ };
3359
+ /** @description Word not found */
3360
+ 404: {
3361
+ headers: {
3362
+ [name: string]: unknown;
3363
+ };
3364
+ content?: never;
3365
+ };
3366
+ };
3367
+ };
3368
+ deleteWord: {
3369
+ parameters: {
3370
+ query?: never;
3371
+ header?: never;
3372
+ path: {
3373
+ /**
3374
+ * @description Word ID
3375
+ * @example 650e8400-e29b-41d4-a716-446655440000
3376
+ */
3377
+ id: string;
3378
+ };
3379
+ cookie?: never;
3380
+ };
3381
+ requestBody?: never;
3382
+ responses: {
3383
+ /** @description Word deleted successfully */
3384
+ 200: {
3385
+ headers: {
3386
+ [name: string]: unknown;
3387
+ };
3388
+ content: {
3389
+ "*/*": components["schemas"]["Unit"];
3390
+ };
3391
+ };
3392
+ /** @description Bad Request */
3393
+ 400: {
3394
+ headers: {
3395
+ [name: string]: unknown;
3396
+ };
3397
+ content: {
3398
+ "*/*": components["schemas"]["BadRequestResponse"];
3399
+ };
3400
+ };
3401
+ /** @description Unauthorized */
3402
+ 401: {
3403
+ headers: {
3404
+ [name: string]: unknown;
3405
+ };
3406
+ content?: never;
3407
+ };
3408
+ /** @description Word not found */
3409
+ 404: {
3410
+ headers: {
3411
+ [name: string]: unknown;
3412
+ };
3413
+ content?: never;
3414
+ };
3415
+ };
3416
+ };
3417
+ updateWord: {
3418
+ parameters: {
3419
+ query?: never;
3420
+ header?: never;
3421
+ path: {
3422
+ /**
3423
+ * @description Word ID
3424
+ * @example 650e8400-e29b-41d4-a716-446655440000
3425
+ */
3426
+ id: string;
3427
+ };
3428
+ cookie?: never;
3429
+ };
3430
+ requestBody: {
3431
+ content: {
3432
+ "application/json": components["schemas"]["UpdateWordRequest"];
3433
+ };
3434
+ };
3435
+ responses: {
3436
+ /** @description Word updated successfully */
3437
+ 200: {
3438
+ headers: {
3439
+ [name: string]: unknown;
3440
+ };
3441
+ content: {
3442
+ "*/*": components["schemas"]["WordDTO"];
3443
+ };
3444
+ };
3445
+ /** @description Invalid request data */
3446
+ 400: {
3447
+ headers: {
3448
+ [name: string]: unknown;
3449
+ };
3450
+ content?: never;
3451
+ };
3452
+ /** @description Unauthorized */
3453
+ 401: {
3454
+ headers: {
3455
+ [name: string]: unknown;
3456
+ };
3457
+ content?: never;
3458
+ };
3459
+ /** @description Word not found */
3460
+ 404: {
3461
+ headers: {
3462
+ [name: string]: unknown;
3463
+ };
3464
+ content?: never;
3465
+ };
3466
+ };
3467
+ };
3468
+ deleteOne: {
3469
+ parameters: {
3470
+ query?: never;
3471
+ header?: never;
3472
+ path: {
3473
+ /** @description Word ID to delete */
3474
+ id: string;
3475
+ };
3476
+ cookie?: never;
3477
+ };
3478
+ requestBody?: never;
3479
+ responses: {
3480
+ /** @description Word deleted successfully */
3481
+ 204: {
3482
+ headers: {
3483
+ [name: string]: unknown;
3484
+ };
3485
+ content: {
3486
+ "*/*": components["schemas"]["Unit"];
3487
+ };
3488
+ };
3489
+ /** @description Bad Request */
3490
+ 400: {
3491
+ headers: {
3492
+ [name: string]: unknown;
3493
+ };
3494
+ content: {
3495
+ "*/*": components["schemas"]["BadRequestResponse"];
3496
+ };
3497
+ };
3498
+ /** @description Not authenticated */
3499
+ 401: {
3500
+ headers: {
3501
+ [name: string]: unknown;
3502
+ };
3503
+ content?: never;
3504
+ };
3505
+ /** @description Word not found */
3506
+ 404: {
3507
+ headers: {
3508
+ [name: string]: unknown;
3509
+ };
3510
+ content?: never;
3511
+ };
3512
+ };
3513
+ };
3514
+ updateOne: {
3515
+ parameters: {
3516
+ query?: never;
3517
+ header?: never;
3518
+ path: {
3519
+ /** @description Word ID to update */
3520
+ id: string;
3521
+ };
3522
+ cookie?: never;
3523
+ };
3524
+ requestBody: {
3525
+ content: {
3526
+ "application/json": components["schemas"]["UpdateQAWRequest"];
3527
+ };
3528
+ };
3529
+ responses: {
3530
+ /** @description Word updated successfully */
3531
+ 200: {
3532
+ headers: {
3533
+ [name: string]: unknown;
3534
+ };
3535
+ content: {
3536
+ "application/json": components["schemas"]["QuicklyAddedWordDTO"];
3537
+ };
3538
+ };
3539
+ /** @description Invalid update data */
3540
+ 400: {
3541
+ headers: {
3542
+ [name: string]: unknown;
3543
+ };
3544
+ content?: never;
3545
+ };
3546
+ /** @description Not authenticated */
3547
+ 401: {
3548
+ headers: {
3549
+ [name: string]: unknown;
3550
+ };
3551
+ content?: never;
3552
+ };
3553
+ /** @description Word not found */
3554
+ 404: {
3555
+ headers: {
3556
+ [name: string]: unknown;
3557
+ };
3558
+ content?: never;
3559
+ };
3560
+ };
3561
+ };
3562
+ bulkUpdate: {
3563
+ parameters: {
3564
+ query?: never;
3565
+ header?: never;
3566
+ path?: never;
3567
+ cookie?: never;
3568
+ };
3569
+ requestBody: {
3570
+ content: {
3571
+ "application/json": {
3572
+ [key: string]: string;
3573
+ };
3574
+ };
3575
+ };
3576
+ responses: {
3577
+ /** @description Words updated successfully */
3578
+ 200: {
3579
+ headers: {
3580
+ [name: string]: unknown;
3581
+ };
3582
+ content: {
3583
+ "application/json": unknown;
3584
+ };
3585
+ };
3586
+ /** @description Invalid update data */
3587
+ 400: {
3588
+ headers: {
3589
+ [name: string]: unknown;
3590
+ };
3591
+ content?: never;
3592
+ };
3593
+ /** @description Not authenticated */
3594
+ 401: {
3595
+ headers: {
3596
+ [name: string]: unknown;
3597
+ };
3598
+ content?: never;
3599
+ };
3600
+ };
3601
+ };
3602
+ approveMany: {
3603
+ parameters: {
3604
+ query?: never;
3605
+ header?: never;
3606
+ path?: never;
3607
+ cookie?: never;
3608
+ };
3609
+ requestBody: {
3610
+ content: {
3611
+ "application/json": components["schemas"]["ApproveManyQAWRequest"];
3612
+ };
3613
+ };
3614
+ responses: {
3615
+ /** @description Words approved successfully */
3616
+ 200: {
3617
+ headers: {
3618
+ [name: string]: unknown;
3619
+ };
3620
+ content: {
3621
+ "*/*": components["schemas"]["Unit"];
3622
+ };
3623
+ };
3624
+ /** @description Invalid approval data */
3625
+ 400: {
3626
+ headers: {
3627
+ [name: string]: unknown;
3628
+ };
3629
+ content?: never;
3630
+ };
3631
+ /** @description Not authenticated */
3632
+ 401: {
3633
+ headers: {
3634
+ [name: string]: unknown;
3635
+ };
3636
+ content?: never;
3637
+ };
3638
+ };
3639
+ };
3640
+ me: {
3641
+ parameters: {
3642
+ query?: never;
3643
+ header?: never;
3644
+ path?: never;
3645
+ cookie?: never;
3646
+ };
3647
+ requestBody?: never;
3648
+ responses: {
3649
+ /** @description User profile retrieved successfully */
3650
+ 200: {
3651
+ headers: {
3652
+ [name: string]: unknown;
3653
+ };
3654
+ content: {
3655
+ "application/json": components["schemas"]["UserDTO"];
3656
+ };
3657
+ };
3658
+ /** @description Bad Request */
3659
+ 400: {
3660
+ headers: {
3661
+ [name: string]: unknown;
3662
+ };
3663
+ content: {
3664
+ "*/*": components["schemas"]["BadRequestResponse"];
3665
+ };
3666
+ };
3667
+ /** @description Not authenticated */
3668
+ 401: {
3669
+ headers: {
3670
+ [name: string]: unknown;
3671
+ };
3672
+ content?: never;
3673
+ };
3674
+ };
3675
+ };
3676
+ healthCheck: {
3677
+ parameters: {
3678
+ query?: never;
3679
+ header?: never;
3680
+ path?: never;
3681
+ cookie?: never;
3682
+ };
3683
+ requestBody?: never;
3684
+ responses: {
3685
+ /** @description Health status retrieved successfully */
3686
+ 200: {
3687
+ headers: {
3688
+ [name: string]: unknown;
3689
+ };
3690
+ content: {
3691
+ /**
3692
+ * @example {
3693
+ * "application": "UP",
3694
+ * "database": "UP"
3695
+ * }
3696
+ */
3697
+ "application/json": unknown;
3698
+ };
3699
+ };
3700
+ /** @description Bad Request */
3701
+ 400: {
3702
+ headers: {
3703
+ [name: string]: unknown;
3704
+ };
3705
+ content: {
3706
+ "*/*": components["schemas"]["BadRequestResponse"];
3707
+ };
3708
+ };
3709
+ };
3710
+ };
3711
+ getConversationById: {
3712
+ parameters: {
3713
+ query?: never;
3714
+ header?: never;
3715
+ path: {
3716
+ /**
3717
+ * @description Conversation ID
3718
+ * @example 650e8400-e29b-41d4-a716-446655440000
3719
+ */
3720
+ conversationId: string;
3721
+ };
3722
+ cookie?: never;
3723
+ };
3724
+ requestBody?: never;
3725
+ responses: {
3726
+ /** @description Conversation retrieved successfully */
3727
+ 200: {
3728
+ headers: {
3729
+ [name: string]: unknown;
3730
+ };
3731
+ content: {
3732
+ "*/*": components["schemas"]["ConversationDTO"];
3733
+ };
3734
+ };
3735
+ /** @description Bad Request */
3736
+ 400: {
3737
+ headers: {
3738
+ [name: string]: unknown;
3739
+ };
3740
+ content: {
3741
+ "*/*": components["schemas"]["BadRequestResponse"];
3742
+ };
3743
+ };
3744
+ /** @description Unauthorized */
3745
+ 401: {
3746
+ headers: {
3747
+ [name: string]: unknown;
3748
+ };
3749
+ content?: never;
3750
+ };
3751
+ /** @description Conversation not found */
3752
+ 404: {
3753
+ headers: {
3754
+ [name: string]: unknown;
3755
+ };
3756
+ content?: never;
3757
+ };
3758
+ };
3759
+ };
3760
+ deleteConversation: {
3761
+ parameters: {
3762
+ query?: never;
3763
+ header?: never;
3764
+ path: {
3765
+ /**
3766
+ * @description Conversation ID
3767
+ * @example 650e8400-e29b-41d4-a716-446655440000
3768
+ */
3769
+ conversationId: string;
3770
+ };
3771
+ cookie?: never;
3772
+ };
3773
+ requestBody?: never;
3774
+ responses: {
3775
+ /** @description Conversation deleted successfully */
3776
+ 200: {
3777
+ headers: {
3778
+ [name: string]: unknown;
3779
+ };
3780
+ content: {
3781
+ "*/*": components["schemas"]["Unit"];
3782
+ };
3783
+ };
3784
+ /** @description Bad Request */
3785
+ 400: {
3786
+ headers: {
3787
+ [name: string]: unknown;
3788
+ };
3789
+ content: {
3790
+ "*/*": components["schemas"]["BadRequestResponse"];
3791
+ };
3792
+ };
3793
+ /** @description Unauthorized */
3794
+ 401: {
3795
+ headers: {
3796
+ [name: string]: unknown;
3797
+ };
3798
+ content?: never;
3799
+ };
3800
+ /** @description Conversation not found */
3801
+ 404: {
3802
+ headers: {
3803
+ [name: string]: unknown;
3804
+ };
3805
+ content?: never;
3806
+ };
3807
+ };
3808
+ };
3809
+ streamStringResponse: {
3810
+ parameters: {
3811
+ query?: never;
3812
+ header?: never;
3813
+ path?: never;
3814
+ cookie?: never;
3815
+ };
3816
+ requestBody?: never;
3817
+ responses: {
3818
+ /** @description Streaming response started successfully */
3819
+ 200: {
3820
+ headers: {
3821
+ [name: string]: unknown;
3822
+ };
3823
+ content: {
3824
+ "text/event-stream": string[];
3825
+ };
3826
+ };
3827
+ /** @description Bad Request */
3828
+ 400: {
3829
+ headers: {
3830
+ [name: string]: unknown;
3831
+ };
3832
+ content: {
3833
+ "*/*": components["schemas"]["BadRequestResponse"];
3834
+ };
3835
+ };
3836
+ };
3837
+ };
3838
+ streamArrayResponse: {
3839
+ parameters: {
3840
+ query?: never;
3841
+ header?: never;
3842
+ path?: never;
3843
+ cookie?: never;
3844
+ };
3845
+ requestBody?: never;
3846
+ responses: {
3847
+ /** @description Streaming array response started successfully */
3848
+ 200: {
3849
+ headers: {
3850
+ [name: string]: unknown;
3851
+ };
3852
+ content: {
3853
+ "text/event-stream": string[];
3854
+ };
3855
+ };
3856
+ /** @description Bad Request */
3857
+ 400: {
3858
+ headers: {
3859
+ [name: string]: unknown;
3860
+ };
3861
+ content: {
3862
+ "*/*": components["schemas"]["BadRequestResponse"];
3863
+ };
3864
+ };
3865
+ };
3866
+ };
3867
+ deleteLanguageProficiency: {
3868
+ parameters: {
3869
+ query?: never;
3870
+ header?: never;
3871
+ path: {
3872
+ /**
3873
+ * @description Language name to delete
3874
+ * @example ENGLISH
3875
+ */
3876
+ language: "POLISH" | "ENGLISH" | "GERMAN" | "FRENCH" | "SPANISH" | "ITALIAN" | "NORWEGIAN" | "RUSSIAN" | "SLOVENIAN";
3877
+ };
3878
+ cookie?: never;
3879
+ };
3880
+ requestBody?: never;
3881
+ responses: {
3882
+ /** @description Language proficiency deleted successfully */
3883
+ 204: {
3884
+ headers: {
3885
+ [name: string]: unknown;
3886
+ };
3887
+ content: {
3888
+ "*/*": components["schemas"]["Unit"];
3889
+ };
3890
+ };
3891
+ /** @description Bad Request */
3892
+ 400: {
3893
+ headers: {
3894
+ [name: string]: unknown;
3895
+ };
3896
+ content: {
3897
+ "*/*": components["schemas"]["BadRequestResponse"];
3898
+ };
3899
+ };
3900
+ /** @description Not authenticated */
3901
+ 401: {
3902
+ headers: {
3903
+ [name: string]: unknown;
3904
+ };
3905
+ content?: never;
3906
+ };
3907
+ /** @description Language proficiency not found */
3908
+ 404: {
3909
+ headers: {
3910
+ [name: string]: unknown;
3911
+ };
3912
+ content?: never;
3913
+ };
3914
+ };
3915
+ };
3916
+ logout: {
3917
+ parameters: {
3918
+ query?: never;
3919
+ header?: never;
3920
+ path?: never;
3921
+ cookie?: never;
3922
+ };
3923
+ requestBody?: never;
3924
+ responses: {
3925
+ /** @description Logged out successfully */
3926
+ 200: {
3927
+ headers: {
3928
+ [name: string]: unknown;
3929
+ };
3930
+ content?: never;
3931
+ };
3932
+ /** @description Bad Request */
3933
+ 400: {
3934
+ headers: {
3935
+ [name: string]: unknown;
3936
+ };
3937
+ content: {
3938
+ "*/*": components["schemas"]["BadRequestResponse"];
3939
+ };
3940
+ };
3941
+ /** @description Not authenticated */
3942
+ 401: {
3943
+ headers: {
3944
+ [name: string]: unknown;
3945
+ };
3946
+ content?: never;
3947
+ };
3948
+ };
3949
+ };
3950
+ }