{"openapi":"3.1.0","info":{"title":"FastAPI","description":"Inspired REST and GraphQL API based on TV show Futurama. [Go back home](https://futuramaapi.com/).","version":"1.13.4"},"paths":{"/api/callbacks/characters/{character_id}":{"post":{"tags":["callbacks"],"summary":"Character Callback","description":"Create a request to get a character by ID.\n\nKeep in mind for now there are no retries.\n\n* Send the character ID you want to request via callback.\n* Receive a delay after which the callback will be sent.\n* Receive a notification back to the API, as a callback.","operationId":"character_callback_api_callbacks_characters__character_id__post","parameters":[{"name":"character_id","in":"path","required":true,"schema":{"type":"integer","maximum":2147483647,"title":"Character Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallbackRequest"}}}},"callbacks":{"character_callback":{"{$callback_url}":{"post":{"summary":"Character Callback","description":"Request to the provided callback URL.","operationId":"character_callback__callback_url__post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCharacterCallbackResponse"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallbackResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/callbacks/episodes/{episode_id}":{"post":{"tags":["callbacks"],"summary":"Episode Callback","description":"Create a request to get an episode by ID.\n\nKeep in mind for now there are no retries.\n\n* Send the episode ID you want to request via callback.\n* Receive a delay after which the callback will be sent.\n* Receive a notification back to the API, as a callback.","operationId":"episode_callback_api_callbacks_episodes__episode_id__post","parameters":[{"name":"episode_id","in":"path","required":true,"schema":{"type":"integer","maximum":2147483647,"title":"Episode Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallbackRequest"}}}},"callbacks":{"episodes_callback":{"{$callback_url}":{"post":{"summary":"Episodes Callback","description":"Request to the provided callback URL.","operationId":"episodes_callback__callback_url__post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetEpisodeCallbackResponse"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallbackResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/callbacks/seasons/{season_id}":{"post":{"tags":["callbacks"],"summary":"Season Callback","description":"Create a request to get a season by ID.\n\nKeep in mind for now there are no retries.\n\n* Send the season ID you want to request via callback.\n* Receive a delay after which the callback will be sent.\n* Receive a notification back to the API, as a callback.","operationId":"season_callback_api_callbacks_seasons__season_id__post","parameters":[{"name":"season_id","in":"path","required":true,"schema":{"type":"integer","maximum":2147483647,"title":"Season Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallbackRequest"}}}},"callbacks":{"seasons_callback":{"{$callback_url}":{"post":{"summary":"Seasons Callback","description":"Request to the provided callback URL.","operationId":"seasons_callback__callback_url__post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetSeasonCallbackResponse"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallbackResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/random/character":{"get":{"tags":["random"],"summary":"Random Character","description":"Retrieve random character.\n\nThis endpoint allows users to retrieve detailed information about a randomly selected Futurama character.\nThe response includes essential details such as the character's name, status, gender, species, image,\nand other relevant attributes.\n\nCan be used to discover and explore random characters from the Futurama universe,\noffering a fun and engaging way to learn about different personalities in the series.","operationId":"random_character_api_random_character_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetRandomCharacterResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}},"/api/random/episode":{"get":{"tags":["random"],"summary":"Random Episode","description":"Retrieve random episode.\n\nThis endpoint allows users to retrieve detailed information about a randomly selected Futurama episode.\nThe response includes essential details such as the episode's title, season, episode number, air date, synopsis,\nand other relevant information.\n\nPerfect for when you're not sure which Futurama episode to watch - use this endpoint to get a randomly\nselected episode and dive right in.","operationId":"random_episode_api_random_episode_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetRandomEpisodeResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}},"/api/random/season":{"get":{"tags":["random"],"summary":"Random Season","description":"Retrieve random season.\n\nThis endpoint allows users to retrieve information about a randomly selected season from the Futurama series.\nThe response includes key details such as the season number, list of episodes, and other relevant metadata.\n\nGreat for when you can't decide where to start—use this endpoint to randomly pick a season and enjoy a\nfresh batch of Futurama episodes.","operationId":"random_season_api_random_season_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetRandomSeasonResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}},"/api/characters/{character_id}":{"get":{"tags":["characters"],"summary":"Character","description":"Retrieve specific character.\n\nThis endpoint enables users to retrieve detailed information about a specific Futurama character by providing\ntheir unique ID. The response will include essential details such as the character's name, status,\ngender, species, image, and other relevant details.\n\nCan be used to utilize this endpoint to obtain in-depth insights\ninto a particular character from the Futurama universe.","operationId":"character_api_characters__character_id__get","parameters":[{"name":"character_id","in":"path","required":true,"schema":{"type":"integer","maximum":2147483647,"title":"Character Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCharacterResponse"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/characters":{"get":{"tags":["characters"],"summary":"Characters","description":"Retrieve characters.\n\nExplore advanced filtering options in our API documentation by checking out the variety of query parameters\navailable.\n\nAlso, you can include filtering in requests.\nUse the \"!\" symbol for logical negation in filtering. For example, If you want to retrieve all aliens with\nknown gender and known status, your request would be\n`/api/characters/?gender=!unknown&status=!unknown&species=alien`.\nCheck query Parameters to more info.","operationId":"characters_api_characters_get","parameters":[{"name":"gender","in":"query","required":false,"schema":{"anyOf":[{"enum":["male","!male","female","!female","unknown","!unknown"],"type":"string"},{"type":"null"}],"title":"Gender"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["alive","!alive","dead","!dead","unknown","!unknown"],"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"species","in":"query","required":false,"schema":{"anyOf":[{"enum":["human","!human","robot","!robot","head","!head","alien","!alien","mutant","!mutant","monster","!monster","unknown","!unknown"],"type":"string"},{"type":"null"}],"title":"Species"}},{"name":"orderBy","in":"query","required":false,"schema":{"const":"id","type":"string","default":"id","title":"Orderby"}},{"name":"orderByDirection","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"asc","title":"Orderbydirection"}},{"name":"query","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"description":"Name search query.","title":"Query"},"description":"Name search query."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"},"description":"Page size"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_ListCharactersResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/crypto/secret_message":{"post":{"tags":["crypto"],"summary":"Create Secret Message","description":"Create Secret message.","operationId":"create_secret_message_api_crypto_secret_message_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSecretMessageRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSecretMessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/crypto/secret_message/{url}":{"get":{"tags":["crypto"],"summary":"Get Secret Message","description":"Get Secret message.\n\nMessage will be shown only once. No excuses.\nAfter it's shown we delete the message itself and fill the message with random data,\nso it can't be decrypted or hacked or whatever. It's absolutely safe.\n\nIf someone sent you a link, you follow the link, and you see ``visitCounter`` more than 1 - bad news.\nThe URL has 128 length, which means there are 36 in power of 128 possibilities, it's more than stars in the\nuniverse, no chances anyone can ever accidentally access URL that was provided for you.\n\nOne more time: If a person wants to send you a hidden message that is only for you, you follow the link, and\nit shows you some random data and ``visitCounter`` more than 1 it means someone already read the message,\nbe aware!\n\nFrom our side we store the message in encrypted way, I won't be saying we can't read the message, BUT\nwe respect privacy and don't reveal any private date, moreover after 1st successful shown the secret message\nwe change the secret message with some random data, so no one, absolutely no one can recover/hack/whatever\nyour secret data.","operationId":"get_secret_message_api_crypto_secret_message__url__get","parameters":[{"name":"url","in":"path","required":true,"schema":{"type":"string","title":"Url"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetSecretMessageResponse"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/episodes/{episode_id}":{"get":{"tags":["episodes"],"summary":"Episode","description":"Retrieve specific episode.\n\nThis endpoint allows you to retrieve detailed information about a specific Futurama episode by providing its\nunique ID. The response will include essential details such as the episode name, air date, duration, season,\nproduction ID, broadcast ID, and other relevant information.\n\nCan be used to get in-depth information about a particular\nepisode of Futurama.","operationId":"episode_api_episodes__episode_id__get","parameters":[{"name":"episode_id","in":"path","required":true,"schema":{"type":"integer","maximum":2147483647,"title":"Episode Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetEpisodeResponse"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/episodes":{"get":{"tags":["episodes"],"summary":"Episodes","description":"Retrieve episodes.\n\nThis endpoint provides a paginated list of Futurama episodes, offering a comprehensive overview\nof the entire series.\n\nCan be used to access a collection of episode names, air dates, seasons, durations,\nand other relevant details. It's particularly useful for those who want to explore the entire catalog of Futurama\nepisodes or implement features such as episode browsing on your site.","operationId":"episodes_api_episodes_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"},"description":"Page size"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_ListEpisodesResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/notifications/sse/characters/{character_id}":{"get":{"tags":["notifications"],"summary":"Character Sse","description":"Retrieve character path.\n\nServer-Sent Events (SSE) Endpoint for Character Paths:\n\nThis SSE endpoint is designed for retrieving characters paths by passing the character ID.\nIt facilitates real-time updates on character path.\nExercise caution when using this endpoint to ensure responsible and accurate data retrieval.","operationId":"character_sse_api_notifications_sse_characters__character_id__get","parameters":[{"name":"character_id","in":"path","required":true,"schema":{"type":"integer","maximum":2147483647,"title":"Character Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CharacterNotificationResponse"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/seasons/{season_id}":{"get":{"tags":["seasons"],"summary":"Season","description":"Retrieve specific season.\n\nUtilize this endpoint to retrieve detailed information about a specific Futurama season by providing its unique ID.\nThe response includes details such as the list of seasons, season ID, and more.\n\nCan be used to gain in-depth insights into a particular season of Futurama.","operationId":"season_api_seasons__season_id__get","parameters":[{"name":"season_id","in":"path","required":true,"schema":{"type":"integer","maximum":2147483647,"title":"Season Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetSeasonResponse"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/seasons":{"get":{"tags":["seasons"],"summary":"Seasons","description":"Retrieve specific seasons.\n\nAccess a comprehensive list of all Futurama seasons using this endpoint,\nproviding users with a complete overview of the series chronological progression.\nThe response includes details such as the list of episodes, season ID, and other.\n\nThis endpoint is valuable for those interested in exploring the entirety of Futurama's seasons or implementing\nfeatures like season browsing on your site.","operationId":"seasons_api_seasons_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"},"description":"Page size"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_ListSeasonsResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/tokens/users/auth":{"post":{"tags":["tokens"],"summary":"Get User Auth Token","description":"Authenticate user.\n\nJSON Web Token (JWT) authentication is a popular method for securing web applications and APIs.\nIt enables the exchange of digitally signed tokens between a client (user) and a server,\nto authenticate and authorize users.\n\nUse a token in a response to get secured stored data of your user.","operationId":"get_user_auth_token_api_tokens_users_auth_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_get_user_auth_token_api_tokens_users_auth_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAuthUserTokenResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/tokens/users/refresh":{"post":{"tags":["tokens"],"summary":"Get Refreshed User Auth Token","description":"Refresh JWT.\n\nThe Refresh JWT Token endpoint extends the lifespan of JSON Web Tokens (JWTs) without requiring user\nreauthentication. This API feature ensures uninterrupted access to secured resources.","operationId":"get_refreshed_user_auth_token_api_tokens_users_refresh_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetRefreshedAuthUserTokenRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetRefreshedAuthUserTokenResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/users":{"post":{"tags":["users"],"summary":"Create User","description":"Create User.\n\nThe user add endpoint is an API function allowing the creation of new user accounts.\nIt receives user details via HTTP requests, validates the information,\nand stores it in the system's database.\nThis endpoint is essential for user registration and onboarding.\n\nPlease note that currently endpoint is not protected.\nHowever, if there are a lot of spam requests, the endpoint will be blocked or limited.","operationId":"create_user_api_users_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserResponse"}}}},"403":{"description":"User registration is currently disabled."},"409":{"description":"User already exists."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["users"],"summary":"List Users","description":"List users.\n\nRetrieve users. Search by username.","operationId":"list_users_api_users_get","parameters":[{"name":"query","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":128},{"type":"null"}],"description":"Search by username.","title":"Query"},"description":"Search by username."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"},"description":"Page size"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_ListUsersResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["users"],"summary":"Update User","description":"Update user details.\n\nThis endpoint is crucial for users to manage and maintain accurate profile information,\noften including authentication and authorization checks for security.","operationId":"update_user_api_users_put","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserResponse"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}},"description":"Unauthorized"},"422":{"description":"No data to update."}}}},"/api/users/me":{"get":{"tags":["users"],"summary":"User Me","description":"Get user details.\n\nRetrieve authenticated user profile information, including username, email, and account details.\nPersonalize user experiences within the application using the JSON response containing user-specific data.","operationId":"user_me_api_users_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetUserMeResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/users/ddd":{"post":{"tags":["users"],"summary":"Request User Deletion","operationId":"request_user_deletion_api_users_ddd_post","responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"User deletion is currently disabled."}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/users/confirmations/resend":{"post":{"tags":["users"],"summary":"Resend User Confirmation","description":"Resend user confirmation.\n\nIf the confirmation message is not delivered or got lost, user can request another message.","operationId":"resend_user_confirmation_api_users_confirmations_resend_post","responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"409":{"description":"User already activated."},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/users/passwords/request-change":{"post":{"tags":["users"],"summary":"Request Change User Password","description":"Request password change.","operationId":"request_change_user_password_api_users_passwords_request_change_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestChangeUserPasswordRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/links":{"post":{"tags":["Links"],"summary":"Create Link","description":"Generate shortened URL.","operationId":"create_link_api_links_post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLinkRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Links"],"summary":"List Links","description":"Retrieve user links.","operationId":"list_links_api_links_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"},"description":"Page size"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_ListLinksResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/links/{link_id}":{"get":{"tags":["Links"],"summary":"Get Link","operationId":"get_link_api_links__link_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"link_id","in":"path","required":true,"schema":{"type":"integer","maximum":2147483647,"title":"Link Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/favorites/characters/{character_id}":{"post":{"tags":["Favorite Characters"],"summary":"Create Favorite Character","description":"Add character to favorites.\n\nAdds the specified character to the authenticated user's favorites list.\n\nIf the character is already present in favorites, the request will fail\nwith a conflict error.\n\nThis endpoint requires authentication.","operationId":"create_favorite_character_api_favorites_characters__character_id__post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"character_id","in":"path","required":true,"schema":{"type":"integer","title":"Character Id"}}],"responses":{"204":{"description":"Successful Response"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}},"description":"Not Found"},"409":{"example":"Character is already in favorites","description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Favorite Characters"],"summary":"Delete Favorite Character","description":"Remove character from favorites.\n\nRemoves the specified character from the authenticated user's favorites list.\n\nIf the character does not exist or is not present in the user's favorites,\nthe request will fail with a not found error.\n\nThis endpoint requires authentication and performs a destructive operation\nwithout returning a response body.","operationId":"delete_favorite_character_api_favorites_characters__character_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"character_id","in":"path","required":true,"schema":{"type":"integer","title":"Character Id"}}],"responses":{"204":{"description":"Successful Response"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}},"description":"Not Found"},"409":{"example":"Character is already in favorites","description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/favorites/characters":{"get":{"tags":["Favorite Characters"],"summary":"List Favorite Characters","description":"Retrieve favorite characters.\n\nReturns a paginated list of characters added to the current user's favorites.\n\nYou can use standard pagination parameters to control the size and order of the response.\nThis endpoint requires authentication and returns only the favorites of the authorized user.\n\nCheck the query parameters section for available pagination options.","operationId":"list_favorite_characters_api_favorites_characters_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"},"description":"Page size"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_ListFavoriteCharactersResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_get_user_auth_token_api_tokens_users_auth_post":{"properties":{"grant_type":{"anyOf":[{"type":"string","pattern":"^password$"},{"type":"null"}],"title":"Grant Type"},"username":{"type":"string","title":"Username"},"password":{"type":"string","format":"password","title":"Password"},"scope":{"type":"string","title":"Scope","default":""},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Id"},"client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"format":"password","title":"Client Secret"}},"type":"object","required":["username","password"],"title":"Body_get_user_auth_token_api_tokens_users_auth_post"},"CallbackRequest":{"properties":{"callbackUrl":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Callbackurl"}},"type":"object","required":["callbackUrl"],"title":"CallbackRequest"},"CallbackResponse":{"properties":{"delay":{"type":"integer","maximum":10.0,"minimum":5.0,"title":"Delay","description":"Delay after which the callback will be sent."}},"type":"object","title":"CallbackResponse"},"CharacterGender":{"type":"string","enum":["MALE","FEMALE","UNKNOWN"],"title":"CharacterGender"},"CharacterItem":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"gender":{"$ref":"#/components/schemas/CharacterGender"},"status":{"$ref":"#/components/schemas/CharacterStatus"},"species":{"$ref":"#/components/schemas/CharacterSpecies"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"image":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Image"}},"type":"object","required":["id","name","gender","status","species","createdAt"],"title":"CharacterItem"},"CharacterNotificationResponse":{"properties":{"item":{"$ref":"#/components/schemas/GetCharacterResponse"},"notification":{"$ref":"#/components/schemas/Notification"}},"type":"object","required":["item","notification"],"title":"CharacterNotificationResponse"},"CharacterSpecies":{"type":"string","enum":["HUMAN","ROBOT","HEAD","ALIEN","MUTANT","MONSTER","UNKNOWN"],"title":"CharacterSpecies"},"CharacterStatus":{"type":"string","enum":["ALIVE","DEAD","UNKNOWN"],"title":"CharacterStatus"},"CreateLinkRequest":{"properties":{"url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Url"}},"type":"object","required":["url"],"title":"CreateLinkRequest"},"CreateLinkResponse":{"properties":{"url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Url","examples":["https://example.com"]},"shortened":{"type":"string","title":"Shortened","examples":["LWlWthH"]},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"counter":{"type":"integer","title":"Counter"},"shortenedUrl":{"type":"string","title":"Shortenedurl","readOnly":true,"examples":["https://futuramaapi.com/s/LWlWthH"]}},"type":"object","required":["url","shortened","createdAt","counter","shortenedUrl"],"title":"CreateLinkResponse"},"CreateSecretMessageRequest":{"properties":{"text":{"type":"string","maxLength":8192,"minLength":1,"title":"Text"}},"type":"object","required":["text"],"title":"CreateSecretMessageRequest"},"CreateSecretMessageResponse":{"properties":{"url":{"type":"string","title":"Url"},"messageLink":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Messagelink","readOnly":true}},"type":"object","required":["url","messageLink"],"title":"CreateSecretMessageResponse"},"CreateUserRequest":{"properties":{"name":{"type":"string","maxLength":64,"minLength":1,"title":"Name"},"surname":{"type":"string","maxLength":64,"minLength":1,"title":"Surname"},"middleName":{"anyOf":[{"type":"string","maxLength":64,"minLength":1},{"type":"null"}],"title":"Middlename"},"email":{"type":"string","format":"email","title":"Email"},"username":{"type":"string","maxLength":64,"minLength":5,"title":"Username"},"password":{"type":"string","maxLength":128,"minLength":8,"format":"password","title":"Password","writeOnly":true},"isSubscribed":{"type":"boolean","title":"Issubscribed","default":true}},"type":"object","required":["name","surname","email","username","password"],"title":"CreateUserRequest"},"CreateUserResponse":{"properties":{"id":{"type":"integer","title":"Id"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"name":{"type":"string","maxLength":64,"minLength":1,"title":"Name"},"surname":{"type":"string","maxLength":64,"minLength":1,"title":"Surname"},"middleName":{"anyOf":[{"type":"string","maxLength":64,"minLength":1},{"type":"null"}],"title":"Middlename"},"email":{"type":"string","format":"email","title":"Email"},"username":{"type":"string","maxLength":64,"minLength":5,"title":"Username"},"password":{"type":"string","maxLength":128,"minLength":8,"format":"password","title":"Password","writeOnly":true},"isSubscribed":{"type":"boolean","title":"Issubscribed"},"isConfirmed":{"type":"boolean","title":"Isconfirmed"}},"type":"object","required":["id","createdAt","name","surname","email","username","password","isSubscribed","isConfirmed"],"title":"CreateUserResponse"},"DoesNotExistCallbackResponse":{"properties":{"id":{"type":"integer","title":"Id","description":"Requested Object ID."},"detail":{"type":"string","title":"Detail","default":"Not found","examples":["Not found"]}},"type":"object","required":["id"],"title":"DoesNotExistCallbackResponse"},"Episode":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"number":{"type":"integer","title":"Number"},"productionCode":{"type":"string","title":"Productioncode","examples":["1ACV01"]}},"type":"object","required":["id","name","number","productionCode"],"title":"Episode"},"EpisodeItem":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"number":{"type":"integer","title":"Number"},"productionCode":{"type":"string","title":"Productioncode","examples":["1ACV01"]},"airDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Airdate"},"duration":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"season":{"$ref":"#/components/schemas/Season"}},"type":"object","required":["id","name","number","productionCode","airDate","duration","createdAt","season"],"title":"EpisodeItem"},"GetAuthUserTokenResponse":{"properties":{"access_token":{"type":"string","title":"Access Token","description":"Keep in mind, that the field is not in a camel case. That's the standard."},"refresh_token":{"type":"string","title":"Refresh Token","description":"Keep in mind, that the field is not in a camel case. That's the standard."}},"type":"object","required":["access_token","refresh_token"],"title":"GetAuthUserTokenResponse"},"GetCharacterCallbackResponse":{"properties":{"type":{"type":"string","const":"Character","title":"Type","description":"Requested Object type.","default":"Character"},"item":{"anyOf":[{"$ref":"#/components/schemas/CharacterItem"},{"$ref":"#/components/schemas/DoesNotExistCallbackResponse"}],"title":"Item"}},"type":"object","required":["item"],"title":"GetCharacterCallbackResponse"},"GetCharacterResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"gender":{"$ref":"#/components/schemas/CharacterGender"},"status":{"$ref":"#/components/schemas/CharacterStatus"},"species":{"$ref":"#/components/schemas/CharacterSpecies"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"image":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Image"}},"type":"object","required":["id","name","gender","status","species","createdAt"],"title":"GetCharacterResponse"},"GetEpisodeCallbackResponse":{"properties":{"type":{"type":"string","const":"Episode","title":"Type","description":"Requested Object type.","default":"Episode"},"item":{"anyOf":[{"$ref":"#/components/schemas/EpisodeItem"},{"$ref":"#/components/schemas/DoesNotExistCallbackResponse"}],"title":"Item"}},"type":"object","required":["item"],"title":"GetEpisodeCallbackResponse"},"GetEpisodeResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"number":{"type":"integer","title":"Number"},"productionCode":{"type":"string","title":"Productioncode","examples":["1ACV01"]},"airDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Airdate"},"duration":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"season":{"$ref":"#/components/schemas/Season"},"broadcastCode":{"type":"string","title":"Broadcastcode","readOnly":true,"examples":["S01E01"]}},"type":"object","required":["id","name","number","productionCode","airDate","duration","createdAt","season","broadcastCode"],"title":"GetEpisodeResponse"},"GetLinkResponse":{"properties":{"url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Url","examples":["https://example.com"]},"shortened":{"type":"string","title":"Shortened","examples":["LWlWthH"]},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"counter":{"type":"integer","title":"Counter"},"shortenedUrl":{"type":"string","title":"Shortenedurl","readOnly":true,"examples":["https://futuramaapi.com/s/LWlWthH"]}},"type":"object","required":["url","shortened","createdAt","counter","shortenedUrl"],"title":"GetLinkResponse"},"GetRandomCharacterResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"gender":{"$ref":"#/components/schemas/CharacterGender"},"status":{"$ref":"#/components/schemas/CharacterStatus"},"species":{"$ref":"#/components/schemas/CharacterSpecies"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"image":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Image"}},"type":"object","required":["id","name","gender","status","species","createdAt"],"title":"GetRandomCharacterResponse"},"GetRandomEpisodeResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"number":{"type":"integer","title":"Number"},"productionCode":{"type":"string","title":"Productioncode","examples":["1ACV01"]},"airDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Airdate"},"duration":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"season":{"$ref":"#/components/schemas/Season"},"broadcastCode":{"type":"string","title":"Broadcastcode","readOnly":true,"examples":["S01E01"]}},"type":"object","required":["id","name","number","productionCode","airDate","duration","createdAt","season","broadcastCode"],"title":"GetRandomEpisodeResponse"},"GetRandomSeasonResponse":{"properties":{"id":{"type":"integer","title":"Id"},"episodes":{"items":{"$ref":"#/components/schemas/Episode"},"type":"array","title":"Episodes"}},"type":"object","required":["id","episodes"],"title":"GetRandomSeasonResponse"},"GetRefreshedAuthUserTokenRequest":{"properties":{"refresh_token":{"type":"string","title":"Refresh Token"}},"type":"object","required":["refresh_token"],"title":"GetRefreshedAuthUserTokenRequest"},"GetRefreshedAuthUserTokenResponse":{"properties":{"access_token":{"type":"string","title":"Access Token","description":"Keep in mind, that the field is not in a camel case. That's the standard."},"refresh_token":{"type":"string","title":"Refresh Token","description":"Keep in mind, that the field is not in a camel case. That's the standard."}},"type":"object","required":["access_token","refresh_token"],"title":"GetRefreshedAuthUserTokenResponse"},"GetSeasonCallbackResponse":{"properties":{"type":{"type":"string","const":"Season","title":"Type","description":"Requested Object type.","default":"Season"},"item":{"anyOf":[{"$ref":"#/components/schemas/SeasonItem"},{"$ref":"#/components/schemas/DoesNotExistCallbackResponse"}],"title":"Item"}},"type":"object","required":["item"],"title":"GetSeasonCallbackResponse"},"GetSeasonResponse":{"properties":{"id":{"type":"integer","title":"Id"},"episodes":{"items":{"$ref":"#/components/schemas/Episode"},"type":"array","title":"Episodes"}},"type":"object","required":["id","episodes"],"title":"GetSeasonResponse"},"GetSecretMessageResponse":{"properties":{"id":{"type":"integer","title":"Id"},"visitCounter":{"type":"integer","title":"Visitcounter"},"ipAddress":{"type":"string","title":"Ipaddress"},"url":{"type":"string","title":"Url"},"text":{"type":"string","title":"Text"}},"type":"object","required":["id","visitCounter","ipAddress","url","text"],"title":"GetSecretMessageResponse"},"GetUserMeResponse":{"properties":{"id":{"type":"integer","title":"Id"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"name":{"type":"string","maxLength":64,"minLength":1,"title":"Name"},"surname":{"type":"string","maxLength":64,"minLength":1,"title":"Surname"},"middleName":{"anyOf":[{"type":"string","maxLength":64,"minLength":1},{"type":"null"}],"title":"Middlename"},"email":{"type":"string","format":"email","title":"Email"},"username":{"type":"string","maxLength":64,"minLength":5,"title":"Username"},"password":{"type":"string","maxLength":128,"minLength":8,"format":"password","title":"Password","writeOnly":true},"isSubscribed":{"type":"boolean","title":"Issubscribed"},"isConfirmed":{"type":"boolean","title":"Isconfirmed"}},"type":"object","required":["id","createdAt","name","surname","email","username","password","isSubscribed","isConfirmed"],"title":"GetUserMeResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ListCharactersResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"gender":{"$ref":"#/components/schemas/CharacterGender"},"status":{"$ref":"#/components/schemas/CharacterStatus"},"species":{"$ref":"#/components/schemas/CharacterSpecies"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"image":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Image"}},"type":"object","required":["id","name","gender","status","species","createdAt"],"title":"ListCharactersResponse"},"ListEpisodesResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"number":{"type":"integer","title":"Number"},"productionCode":{"type":"string","title":"Productioncode","examples":["1ACV01"]},"airDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Airdate"},"duration":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"season":{"$ref":"#/components/schemas/Season"},"broadcastCode":{"type":"string","title":"Broadcastcode","readOnly":true,"examples":["S01E01"]}},"type":"object","required":["id","name","number","productionCode","airDate","duration","createdAt","season","broadcastCode"],"title":"ListEpisodesResponse"},"ListFavoriteCharactersResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"gender":{"$ref":"#/components/schemas/CharacterGender"},"status":{"$ref":"#/components/schemas/CharacterStatus"},"species":{"$ref":"#/components/schemas/CharacterSpecies"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"image":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Image"}},"type":"object","required":["id","name","gender","status","species","createdAt"],"title":"ListFavoriteCharactersResponse"},"ListLinksResponse":{"properties":{"url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Url","examples":["https://example.com"]},"shortened":{"type":"string","title":"Shortened","examples":["LWlWthH"]},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"counter":{"type":"integer","title":"Counter"},"shortenedUrl":{"type":"string","title":"Shortenedurl","readOnly":true,"examples":["https://futuramaapi.com/s/LWlWthH"]}},"type":"object","required":["url","shortened","createdAt","counter","shortenedUrl"],"title":"ListLinksResponse"},"ListSeasonsResponse":{"properties":{"id":{"type":"integer","title":"Id"},"episodes":{"items":{"$ref":"#/components/schemas/Episode"},"type":"array","title":"Episodes"}},"type":"object","required":["id","episodes"],"title":"ListSeasonsResponse"},"ListUsersResponse":{"properties":{"id":{"type":"integer","title":"Id"},"isConfirmed":{"type":"boolean","title":"Isconfirmed"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"username":{"type":"string","maxLength":64,"minLength":5,"title":"Username"},"name":{"anyOf":[{"type":"string","maxLength":64,"minLength":1},{"type":"null"}],"title":"Name"},"surname":{"anyOf":[{"type":"string","maxLength":64,"minLength":1},{"type":"null"}],"title":"Surname"}},"type":"object","required":["id","isConfirmed","createdAt","username"],"title":"ListUsersResponse"},"NotFoundResponse":{"properties":{"detail":{"type":"string","title":"Detail","default":"Not Found"}},"type":"object","title":"NotFoundResponse"},"Notification":{"properties":{"time":{"type":"string","format":"date-time","title":"Time"},"x":{"type":"integer","maximum":64.0,"minimum":0.0,"title":"X","description":"Character X coordinate"},"y":{"type":"integer","maximum":64.0,"minimum":0.0,"title":"Y","description":"Character Y coordinate"}},"type":"object","required":["x","y"],"title":"Notification"},"Page_ListCharactersResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ListCharactersResponse"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[ListCharactersResponse]"},"Page_ListEpisodesResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ListEpisodesResponse"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[ListEpisodesResponse]"},"Page_ListFavoriteCharactersResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ListFavoriteCharactersResponse"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[ListFavoriteCharactersResponse]"},"Page_ListLinksResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ListLinksResponse"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[ListLinksResponse]"},"Page_ListSeasonsResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ListSeasonsResponse"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[ListSeasonsResponse]"},"Page_ListUsersResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ListUsersResponse"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[ListUsersResponse]"},"RequestChangeUserPasswordRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"RequestChangeUserPasswordRequest"},"Season":{"properties":{"id":{"type":"integer","title":"Id"}},"type":"object","required":["id"],"title":"Season"},"SeasonItem":{"properties":{"id":{"type":"integer","title":"Id"},"episodes":{"items":{"$ref":"#/components/schemas/Episode"},"type":"array","title":"Episodes"}},"type":"object","required":["id","episodes"],"title":"SeasonItem"},"UnauthorizedResponse":{"properties":{"detail":{"type":"string","title":"Detail","default":"Unauthorized"}},"type":"object","title":"UnauthorizedResponse"},"UpdateUserRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":64,"minLength":1},{"type":"null"}],"title":"Name"},"surname":{"anyOf":[{"type":"string","maxLength":64,"minLength":1},{"type":"null"}],"title":"Surname"},"middleName":{"anyOf":[{"type":"string","maxLength":64,"minLength":1},{"type":"null"}],"title":"Middlename"},"password":{"anyOf":[{"type":"string","maxLength":128,"minLength":8,"format":"password","writeOnly":true},{"type":"null"}],"title":"Password"},"isSubscribed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Issubscribed"}},"type":"object","title":"UpdateUserRequest"},"UpdateUserResponse":{"properties":{"id":{"type":"integer","title":"Id"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"name":{"type":"string","maxLength":64,"minLength":1,"title":"Name"},"surname":{"type":"string","maxLength":64,"minLength":1,"title":"Surname"},"middleName":{"anyOf":[{"type":"string","maxLength":64,"minLength":1},{"type":"null"}],"title":"Middlename"},"email":{"type":"string","format":"email","title":"Email"},"username":{"type":"string","maxLength":64,"minLength":5,"title":"Username"},"password":{"type":"string","maxLength":128,"minLength":8,"format":"password","title":"Password","writeOnly":true},"isSubscribed":{"type":"boolean","title":"Issubscribed"},"isConfirmed":{"type":"boolean","title":"Isconfirmed"}},"type":"object","required":["id","createdAt","name","surname","email","username","password","isSubscribed","isConfirmed"],"title":"UpdateUserResponse"},"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"}},"securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"/api/tokens/users/auth"}}}}}}