{"openapi":"3.1.0","info":{"title":"LinguaDaily ADMIN","version":"0.1.0"},"paths":{"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Health Get"}}}}}}},"/item/reading":{"post":{"tags":["Creator"],"summary":"Create Reading","description":"Если указан id, то считаем что это операция update, объект перезапишется целиком. При создании id указывать не нужно! </br>","operationId":"create_reading_item_reading_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadingDTO"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOutItemFeaturesData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/item/grammar":{"post":{"tags":["Creator"],"summary":"Create Grammar","description":"Если указан id, то считаем что это операция update, объект перезапишется целиком. При создании id указывать не нужно! </br>text.options шафлится при сохранении для рандомизации, и соответственно correct_answer_index тоже меняется. Если шафлить не нужно, то отправь is_shuffle=False","operationId":"create_grammar_item_grammar_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrammarDTO"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOutItemFeaturesData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/item/pronunciation":{"post":{"tags":["Creator"],"summary":"Create Pronunciation","description":"Если указан id, то считаем что это операция update, объект перезапишется целиком. При создании id указывать не нужно! </br>","operationId":"create_pronunciation_item_pronunciation_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PronunciationDTO"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOutItemFeaturesData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/item/words":{"post":{"tags":["Creator"],"summary":"Create Words","description":"У слов есть особенность хранения в бд, при формировании id в ключ добавляется суффикс с индексом типа слова (сущ, глагол и тд). Формат айди будет таким: `phone:0` Где 0 это существительное. Вот маппинг: `{'noun': 0, 'pronoun': 1, 'verb': 2, 'adjective': 3, 'adverb': 4, 'preposition': 5, 'conjunction': 6, 'interjection': 7, 'phrase': 8}`. В ответе вернется уже правильно сформированный id, его и нужно указывать везде, например при создании объекта card.","operationId":"create_words_item_words_post","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/WordDTO"},"type":"array","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOutManyItemFeaturesData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/item/card":{"post":{"tags":["Creator"],"summary":"Create Card","operationId":"create_card_item_card_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CardDTO"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOutItemFeaturesData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/item/listening":{"post":{"tags":["Creator"],"summary":"Create Listening","description":"Если указан id, то считаем что это операция update, объект перезапишется целиком. При создании id указывать не нужно! </br>","operationId":"create_listening_item_listening_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListeningDTO"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOutItemFeaturesData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/item/list_cards_per_lvl":{"post":{"tags":["Creator"],"summary":"Create List Cards Per Lvl","description":"Если указан id, то считаем что это операция update, объект перезапишется целиком. При создании id указывать не нужно! </br>","operationId":"create_list_cards_per_lvl_item_list_cards_per_lvl_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCardsPerLvlDTO"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOutItemFeaturesData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/features/item/{item_id}":{"get":{"tags":["Features"],"summary":"Выдает инфу из бд по указанной фиче для любого айтема","operationId":"get_item_features_features_item__item_id__get","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}},{"name":"features","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":[],"title":"Features"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOutItemFeaturesData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Features"],"summary":"Update Item Features","operationId":"update_item_features_features_item__item_id__patch","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/features/user/{user_id}":{"get":{"tags":["Features"],"summary":"Выдает инфу из бд по указанной фиче для юзера","operationId":"get_user_features_features_user__user_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"features","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":[],"title":"Features"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOutUserFeaturesData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/features/user/{user_id}/item/{item_id}":{"get":{"tags":["Features"],"summary":"Выдает инфу из бд по указанной фиче для связи юзера с айтемом","operationId":"get_user_item_features_features_user__user_id__item__item_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}},{"name":"features","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":[],"title":"Features"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOutUserItemFeaturesData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/audio/upload_audio":{"post":{"tags":["Creator"],"summary":"Upload Audio","operationId":"upload_audio_audio_upload_audio_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_audio_audio_upload_audio_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOutItemFeaturesData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/subscribe/tariff":{"post":{"tags":["Subscriptions tariffs"],"summary":"Create Subscription Tariff","operationId":"create_subscription_tariff_subscribe_tariff_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionTariffDTO"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOutItemFeaturesData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/subscribe/list-tariffs":{"post":{"tags":["Subscriptions tariffs"],"summary":"Create List Subscription Tariffs","operationId":"create_list_subscription_tariffs_subscribe_list_tariffs_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSubscriptionTariffsDTO"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOutItemFeaturesData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tts":{"post":{"tags":["Experiment"],"summary":"Text-to-speech","operationId":"generate_tts_tts_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextToSpeechDTO"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/graphql":{"get":{"summary":"Handle Http Get","operationId":"handle_http_get_graphql_get","responses":{"200":{"description":"The GraphiQL integrated development environment.","content":{"application/json":{"schema":{}}}},"404":{"description":"Not found if GraphiQL or query via GET are not enabled."}}},"post":{"summary":"Handle Http Post","operationId":"handle_http_post_graphql_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"Body_upload_audio_audio_upload_audio_post":{"properties":{"audio_file":{"type":"string","format":"binary","title":"Audio File"}},"type":"object","required":["audio_file"],"title":"Body_upload_audio_audio_upload_audio_post"},"CardDTO":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"Для редактирования, при создании не нужен"},"lvl":{"type":"integer","title":"Lvl"},"vocabulary_ids":{"items":{"type":"string"},"type":"array","title":"Vocabulary Ids","description":"Список айди объектов Word"},"pronunciation_ids":{"items":{"type":"string"},"type":"array","title":"Pronunciation Ids","description":"Список айди объектов Audio"},"listening_ids":{"items":{"type":"string"},"type":"array","title":"Listening Ids"},"reading_ids":{"items":{"type":"string"},"type":"array","title":"Reading Ids"},"grammar_ids":{"items":{"type":"string"},"type":"array","title":"Grammar Ids"}},"type":"object","required":["lvl"],"title":"CardDTO"},"GetOutItemFeaturesData":{"properties":{"data":{"$ref":"#/components/schemas/ItemFeatures"}},"type":"object","required":["data"],"title":"GetOutItemFeaturesData"},"GetOutManyItemFeaturesData":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ItemFeatures"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"GetOutManyItemFeaturesData"},"GetOutUserFeaturesData":{"properties":{"data":{"$ref":"#/components/schemas/UserFeatures"}},"type":"object","required":["data"],"title":"GetOutUserFeaturesData"},"GetOutUserItemFeaturesData":{"properties":{"data":{"$ref":"#/components/schemas/UserItemFeatures"}},"type":"object","required":["data"],"title":"GetOutUserItemFeaturesData"},"GrammarDTO":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"Для редактирования, при создании не нужен"},"lvl":{"type":"integer","title":"Lvl"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"weight":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Weight"},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text"},"test":{"items":{"$ref":"#/components/schemas/QuestionAnswerValidateDTO"},"type":"array","title":"Test"},"is_shuffle":{"type":"boolean","title":"Is Shuffle","default":true}},"type":"object","required":["lvl","test"],"title":"GrammarDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ItemFeatures":{"properties":{"id":{"type":"string","title":"Id"},"item_type":{"$ref":"#/components/schemas/ItemType"},"title":{"type":"string","title":"Title"},"storage":{"$ref":"#/components/schemas/Storage"},"relation_id":{"type":"string","title":"Relation Id"},"text":{"type":"string","title":"Text"},"test":{"items":{"$ref":"#/components/schemas/QuestionAnswer"},"type":"array","title":"Test"},"lvl":{"type":"integer","title":"Lvl"},"gaps":{"$ref":"#/components/schemas/ReadingTextSelect"},"vocabulary_ids":{"items":{"type":"string"},"type":"array","title":"Vocabulary Ids"},"pronunciation_ids":{"items":{"type":"string"},"type":"array","title":"Pronunciation Ids"},"listening_ids":{"items":{"type":"string"},"type":"array","title":"Listening Ids"},"reading_ids":{"items":{"type":"string"},"type":"array","title":"Reading Ids"},"grammar_ids":{"items":{"type":"string"},"type":"array","title":"Grammar Ids"},"grammar_themes_ids":{"items":{"type":"string"},"type":"array","title":"Grammar Themes Ids"},"word_type":{"$ref":"#/components/schemas/WordTypeStrEnum"},"transcription":{"type":"string","title":"Transcription"},"translate":{"items":{"type":"string"},"type":"array","title":"Translate"},"examples":{"items":{"type":"string"},"type":"array","title":"Examples"},"description":{"type":"string","title":"Description"},"child_items":{"items":{"type":"string"},"type":"array","title":"Child Items"},"amount":{"type":"string","title":"Amount"},"period":{"type":"integer","title":"Period"},"phoneme":{"type":"string","title":"Phoneme"},"lexicon":{"additionalProperties":{"type":"string"},"type":"object","title":"Lexicon"},"ui_elements":{"additionalProperties":true,"type":"object","title":"Ui Elements"},"next":{"type":"string","title":"Next"},"primary_items":{"items":{"type":"string"},"type":"array","title":"Primary Items","description":"Содержит например проверочные упражнения по теме"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","description":"Теги саб-тем и типов например"},"meta":{"additionalProperties":true,"type":"object","title":"Meta"},"weight":{"type":"integer","title":"Weight"}},"type":"object","required":["id","item_type"],"title":"ItemFeatures"},"ItemType":{"type":"integer","enum":[0,1,2,3,4,5,6,7,8,9,10,11,12,13],"title":"ItemType"},"ListCardsPerLvlDTO":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"Для редактирования, при создании не нужен"},"lvl":{"type":"integer","title":"Lvl"},"child_items":{"items":{"type":"string"},"type":"array","title":"Child Items"}},"type":"object","required":["lvl","child_items"],"title":"ListCardsPerLvlDTO"},"ListSubscriptionTariffsDTO":{"properties":{"version":{"type":"integer","title":"Version","description":"На всякий случай версия, это вместо id обычно ее можно не трогать","default":1},"child_items":{"items":{"type":"string"},"type":"array","title":"Child Items"}},"type":"object","required":["child_items"],"title":"ListSubscriptionTariffsDTO"},"ListeningDTO":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"Для редактирования, при создании не нужен"},"lvl":{"type":"integer","title":"Lvl"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"weight":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Weight"},"relation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Relation Id","description":"Если объект аудио уже создан, вставить его айди"},"text":{"type":"string","title":"Text"},"translate":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Translate"},"test":{"items":{"$ref":"#/components/schemas/QuestionAnswerValidateDTO"},"type":"array","title":"Test"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"is_shuffle":{"type":"boolean","title":"Is Shuffle","default":true}},"type":"object","required":["lvl","text","test"],"title":"ListeningDTO"},"PartOfSpeachValidateDTO":{"properties":{"transcription":{"type":"string","title":"Transcription"},"translate":{"items":{"type":"string"},"type":"array","title":"Translate"},"examples":{"items":{"type":"string"},"type":"array","title":"Examples"},"text":{"type":"string","title":"Text"}},"type":"object","required":["transcription","translate","examples","text"],"title":"PartOfSpeachValidateDTO"},"PronunciationDTO":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"Для редактирования, при создании не нужен"},"lvl":{"type":"integer","title":"Lvl"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"weight":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Weight"},"text":{"type":"string","title":"Text"},"phoneme":{"type":"string","title":"Phoneme"},"lexicon":{"additionalProperties":{"type":"string"},"type":"object","title":"Lexicon"},"relation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Relation Id","description":"Если объект аудио уже создан, вставить его айди"},"translate":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Translate"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["lvl","text","phoneme","lexicon"],"title":"PronunciationDTO"},"QuestionAnswer":{"properties":{"question":{"type":"string","title":"Question"},"options":{"items":{"type":"string"},"type":"array","title":"Options"},"correct_answer_index":{"type":"integer","title":"Correct Answer Index"},"translate":{"type":"string","title":"Translate","default":""},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","default":[]}},"type":"object","required":["question","options","correct_answer_index"],"title":"QuestionAnswer"},"QuestionAnswerValidateDTO":{"properties":{"question":{"type":"string","title":"Question"},"options":{"items":{"type":"string"},"type":"array","title":"Options"},"correct_answer_index":{"type":"integer","title":"Correct Answer Index"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"translate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Translate"}},"type":"object","required":["question","options","correct_answer_index"],"title":"QuestionAnswerValidateDTO"},"ReadingDTO":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"Для редактирования, при создании не нужен"},"lvl":{"type":"integer","title":"Lvl"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"weight":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Weight"},"text":{"type":"string","title":"Text"},"gaps":{"$ref":"#/components/schemas/ReadingValidateTextSelectDTO"},"is_shuffle":{"type":"boolean","title":"Is Shuffle","default":true}},"type":"object","required":["lvl","text","gaps"],"title":"ReadingDTO"},"ReadingTextSelect":{"properties":{"options":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Options"},"correct_indexes":{"additionalProperties":{"type":"integer"},"type":"object","title":"Correct Indexes"}},"type":"object","required":["options","correct_indexes"],"title":"ReadingTextSelect"},"ReadingValidateTextSelectDTO":{"properties":{"options":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Options"},"correct_indexes":{"additionalProperties":{"type":"integer"},"type":"object","title":"Correct Indexes"}},"type":"object","required":["options","correct_indexes"],"title":"ReadingValidateTextSelectDTO"},"Storage":{"type":"integer","enum":[0,1],"title":"Storage"},"SubscriptionTariffDTO":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"Для редактирования, при создании не нужен"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"period":{"type":"integer","title":"Period"},"amount":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Amount"}},"type":"object","required":["title","description","period","amount"],"title":"SubscriptionTariffDTO"},"TextToSpeechDTO":{"properties":{"text":{"type":"string","title":"Text"},"voice":{"type":"string","title":"Voice","description":"Возможные варианты: alloy, coral, echo, sage, shimmer","default":"shimmer"},"speed":{"type":"number","title":"Speed","default":1},"model":{"type":"string","title":"Model","description":"Возможные варианты: `tts-1`, `tts-1-hd`, `tts-openai/gpt-4o-mini-tts`","default":"tts-openai/gpt-4o-mini-tts"}},"type":"object","required":["text"],"title":"TextToSpeechDTO"},"UserFeatures":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"lvl":{"type":"integer","title":"Lvl","default":0},"pinned_words":{"items":{"type":"string"},"type":"array","title":"Pinned Words","default":[]},"is_close_listening_hint":{"type":"boolean","title":"Is Close Listening Hint","default":false},"actual_card_id":{"type":"string","title":"Actual Card Id"},"themes":{"items":{"type":"string"},"type":"array","title":"Themes","default":[]},"phone":{"type":"string","title":"Phone"},"is_phone_verify":{"type":"boolean","title":"Is Phone Verify","default":false},"sms_code":{"type":"string","title":"Sms Code","default":""},"access_token":{"type":"string","title":"Access Token","default":""},"refresh_token":{"type":"string","title":"Refresh Token","default":""},"tariff_id":{"type":"string","title":"Tariff Id"},"is_subscribed":{"type":"boolean","title":"Is Subscribed","default":false},"email":{"type":"string","title":"Email"},"is_email_verify":{"type":"boolean","title":"Is Email Verify","default":false},"email_code":{"type":"string","title":"Email Code","default":""},"avatar_id":{"type":"string","title":"Avatar Id"},"actual_exercise_info":{"additionalProperties":true,"type":"object","title":"Actual Exercise Info"},"priority_tags":{"items":{"type":"string"},"type":"array","title":"Priority Tags","description":"например теги, по которым были допущены ошибки","default":[]},"telegram_id":{"type":"string","title":"Telegram Id"}},"type":"object","required":["id"],"title":"UserFeatures"},"UserItemFeatures":{"properties":{"user_id":{"type":"string","title":"User Id"},"item_id":{"type":"string","title":"Item Id"},"is_view":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is View"},"is_pinned":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Pinned"},"is_completed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Completed"},"execution_info":{"additionalProperties":true,"type":"object","title":"Execution Info"},"card_execution_info":{"additionalProperties":true,"type":"object","title":"Card Execution Info"},"exercises":{"items":{"type":"string"},"type":"array","title":"Exercises","description":"Список упражнений юзера по теме, динамически меняется"},"is_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Available","description":"Доступен"},"is_skipped":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Skipped","description":"Пропущен"}},"type":"object","required":["user_id","item_id"],"title":"UserItemFeatures"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WordDTO":{"properties":{"id":{"type":"string","title":"Id"},"lvl":{"type":"integer","title":"Lvl"},"noun":{"anyOf":[{"$ref":"#/components/schemas/PartOfSpeachValidateDTO"},{"type":"null"}]},"pronoun":{"anyOf":[{"$ref":"#/components/schemas/PartOfSpeachValidateDTO"},{"type":"null"}]},"verb":{"anyOf":[{"$ref":"#/components/schemas/PartOfSpeachValidateDTO"},{"type":"null"}]},"adjective":{"anyOf":[{"$ref":"#/components/schemas/PartOfSpeachValidateDTO"},{"type":"null"}]},"adverb":{"anyOf":[{"$ref":"#/components/schemas/PartOfSpeachValidateDTO"},{"type":"null"}]},"preposition":{"anyOf":[{"$ref":"#/components/schemas/PartOfSpeachValidateDTO"},{"type":"null"}]},"conjunction":{"anyOf":[{"$ref":"#/components/schemas/PartOfSpeachValidateDTO"},{"type":"null"}]},"interjection":{"anyOf":[{"$ref":"#/components/schemas/PartOfSpeachValidateDTO"},{"type":"null"}]}},"type":"object","required":["id","lvl"],"title":"WordDTO"},"WordTypeStrEnum":{"type":"string","enum":["noun","pronoun","verb","adjective","adverb","preposition","conjunction","interjection","phrase"],"title":"WordTypeStrEnum"}}},"tags":[{"name":"Creator"},{"name":"Features","description":"Работает как апи на редисом, можно получить любые фичи"}]}