### Get Movie Changes List (Rust) Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/MoviesApi.md Fetches changes for a movie, optionally filtered by start and end dates. Supports pagination. Requires an API key. ```rust fn get_movie_changes_list(movie_id: String, start_date: String, end_date: String, page: i32) -> crate::models::ChangeDetails ``` -------------------------------- ### Get Movie Keywords List - Rust Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/MoviesApi.md Fetches keywords associated with a movie. Requires the movie ID and an API key for authentication. ```rust pub fn get_movie_keywords_list(movie_id: i32, api_key: String) -> Result ``` -------------------------------- ### Get Latest Movie Details - Rust Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/MoviesApi.md Retrieves details for the most recently created movie. This is a live response and can be filtered by language. ```rust pub fn get_movie_latest_details(language: Option) -> Result ``` -------------------------------- ### Certifications API: Get Movie Certifications Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves a list of all movie certifications available on TMDB. ```rust use tmdb_client_rs::apis::certifications_api; // Example usage: // let movie_certifications = certifications_api::get_movie_certifications_list(None, None, None, None); ``` -------------------------------- ### TV API: Get Keywords Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves the keywords associated with a TV show. Keywords are tags that describe the content of the show. ```rust pub fn get_tv_keywords_list(&self, tv_id: i32) -> Result ``` -------------------------------- ### Certifications API: Get TV Certifications Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves a list of all TV show certifications available on TMDB. ```rust use tmdb_client_rs::apis::certifications_api; // Example usage: // let tv_certifications = certifications_api::get_tv_certifications_list(None, None, None, None); ``` -------------------------------- ### Get Movie Videos List (Rust) Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/MoviesApi.md Retrieves a list of videos associated with a movie. Requires the movie ID, API key, and optionally a language. ```rust use tmdb_client::models::VideosList; fn get_movie_videos_list(movie_id: String, api_key: String, language: Option) -> VideosList { // Implementation details... unimplemented!() } ``` -------------------------------- ### Get TV Season Episode Images Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/TVEpisodesApi.md Fetches the images associated with a specific TV episode. This includes posters and stills. ```rust fn get_tv_season_episode_images(tv_id: i32, season_number: i32, episode_number: i32) -> crate::models::TvEpisodeImages ``` -------------------------------- ### Get Keyword Details Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Fetches details about a specific keyword. This can be used to retrieve information associated with a particular keyword. ```Rust use tmdb_api::client::Client; #[tokio::main] async fn main() -> Result<(), Box> { let client = Client::new("YOUR_API_KEY"); let keyword_id = 123; // Example keyword ID let keyword_details = client.keywords().get_keyword_details(keyword_id).await?; println!("{:#?}", keyword_details); Ok(()) } ``` -------------------------------- ### Account API: Get Created Lists Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves a paginated list of lists created by the authenticated account. Requires authentication. ```rust use tmdb_client_rs::apis::account_api; // Example usage: // let account_id = 12345; // let created_lists = account_api::get_current_account_lists_paginated(account_id, None, None, None, None, None, None, None, None); ``` -------------------------------- ### TV API: Get Details Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves the detailed information for a specific TV show. This includes overview, genres, network, and more. ```rust pub fn get_tv_details(&self, tv_id: i32) -> Result ``` -------------------------------- ### TV API: Get Videos Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Fetches the videos associated with a TV show, such as trailers, teasers, and featurettes. Videos can be filtered by language. ```rust pub fn get_tv_videos_list(&self, tv_id: i32, language: Option<&str>) -> Result ``` -------------------------------- ### Get TV Season Episode Videos List Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/TVEpisodesApi.md Fetches the videos (trailers, clips) associated with a specific TV episode. This function provides multimedia content. ```rust fn get_tv_season_episode_videos_list(tv_id: i32, season_number: i32, episode_number: i32) -> crate::models::Videos ``` -------------------------------- ### Get TV Season Videos Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/TVSeasonsApi.md Retrieves the videos (trailers, clips) for a TV season. Requires TV ID, season number, and optionally language. ```rust /// Get Videos /// /// Get the videos for a TV season. /// /// # Arguments /// /// * `tv_id` - The ID of the TV show. /// * `season_number` - The number of the season. /// * `language` - Pass a ISO 639-1 value to display translated data for the fields that support it. /// /// # Returns /// /// Returns a `Result` containing a `Videos` object on success, or an error. pub fn get_tv_season_videos(tv_id: i32, season_number: i32, language: Option) -> Result> { // Implementation details would go here unimplemented!("get_tv_season_videos not implemented") } ``` -------------------------------- ### Get Movie Details Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves the full details of a specific movie, including its title, overview, release date, ratings, and more. ```Rust use tmdb_api::client::Client; #[tokio::main] async fn main() -> Result<(), Box> { let client = Client::new("YOUR_API_KEY"); let movie_id = 123; // Example movie ID let movie_details = client.movies().get_movie_details(movie_id).await?; println!("{:#?}", movie_details); Ok(()) } ``` -------------------------------- ### Get Movie Alternative Titles List (Rust) Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/MoviesApi.md Retrieves all alternative titles for a given movie ID. Requires an API key for authorization. ```rust fn get_movie_alternative_titles_list(movie_id: i32, country: String) -> crate::models::AlternativeTitlesList ``` -------------------------------- ### Generate and Open Rust Crate Documentation Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md This command generates the documentation for the Rust crate and automatically opens it in the default web browser. It's a convenient way to explore the project's API and structure. ```bash cargo doc --open ``` -------------------------------- ### Get TV Season Episode Translations List Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/TVEpisodesApi.md Retrieves a list of translations for a specific TV episode's data. This allows access to localized content. ```rust fn get_tv_season_episode_translations_list(tv_id: i32, season_number: i32, episode_number: i32) -> crate::models::TvEpisodeTranslationsList ``` -------------------------------- ### Get Keyword Details Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/KeywordsApi.md Retrieves detailed information for a specific keyword using its ID. This function requires the keyword ID as input and returns a Keyword model. ```rust pub fn get_keyword_details(keyword_id: i32) -> crate::models::Keyword { // Implementation details for fetching keyword details } ``` -------------------------------- ### Search Movie using TMDB Rust Client Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Demonstrates how to initialize the TMDB API client with an API key and search for a movie by its title. This example shows the basic usage pattern for interacting with the TMDB API through the generated Rust client. ```rust use tmdb_client::apis::Error; use tmdb_client::apis::client::APIClient; use tmdb_client::models::MoviePaginated; fn search_movie() -> Result { let client = APIClient::new_with_api_key("###TMDB_API_KEY###"); // Parameters: title, year, primary_release_year, language, page, include_adult, region client.search_api().get_search_movie_paginated("Movie title", None, None, None, None, None, None) } ``` -------------------------------- ### Get TV Episode Changes Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/TVEpisodesApi.md Retrieves the change history for a TV episode. Supports filtering by start and end dates (up to 14 days) and pagination. Returns ChangeDetails. ```rust fn get_tv_episode_changes(episode_id: i32, start_date: Option, end_date: Option, page: Option) -> crate::models::ChangeDetails ``` -------------------------------- ### Get TV Season Changes Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/TVSeasonsApi.md Fetches the changes made to a TV season. Supports filtering by start and end dates, and pagination. Defaults to the last 24 hours if no dates are provided. ```rust /// Get Changes /// /// Get the changes for a TV season. By default only the last 24 hours are returned. You can query up to 14 days in a single query by using the `start_date` and `end_date` query parameters. /// /// # Arguments /// /// * `season_id` - The ID of the TV season. /// * `start_date` - Filter the results with a start date. /// * `end_date` - Filter the results with an end date. /// * `page` - Specify which page to query. /// /// # Returns /// /// Returns a `Result` containing a `ChangeDetails` on success, or an error. pub fn get_tv_season_changes(season_id: i32, start_date: Option, end_date: Option, page: Option) -> Result> { // Implementation details would go here unimplemented!("get_tv_season_changes not implemented") } ``` -------------------------------- ### Create TMDb Guest Session Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/AuthenticationApi.md Creates a new guest session for users who do not have a TMDb account. This allows rating movies and TV shows. A single guest session should be generated per user/device. Returns a guest session response. ```rust crate::models::GuestSessionResponse get_new_authentication_guest_session() ``` -------------------------------- ### Get List Details Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves the details of a specific list, including its items. This is useful for viewing the content of a user-created list. ```Rust use tmdb_api::client::Client; #[tokio::main] async fn main() -> Result<(), Box> { let client = Client::new("YOUR_API_KEY"); let list_id = 123; // Example list ID let list_details = client.lists().get_list_details(list_id).await?; println!("{:#?}", list_details); Ok(()) } ``` -------------------------------- ### Get TV Similar Paginated Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/TVApi.md Fetches a paginated list of similar TV shows based on keywords and genres. Supports language and page number parameters. Requires a TV ID and API key. ```rust /// Get Similar TV Shows /// /// Get a list of similar TV shows. These items are assembled by looking at keywords and genres. /// /// # Arguments /// /// * `tv_id` - The ID of the TV show. /// * `language` - ISO 639-1 value for translated data (optional, defaults to system language). /// * `page` - Specify which page to query (optional, defaults to 1). /// /// # Returns /// /// A `Result` containing a `TvPaginated` on success, or an error on failure. pub fn get_tv_similar_paginated(tv_id: i32, language: Option, page: Option) -> Result> { // Implementation details would go here unimplemented!("get_tv_similar_paginated not implemented yet") } ``` -------------------------------- ### Get Paginated Person Changes Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/ChangesApi.md Retrieves a paginated list of person IDs that have been changed in the past 24 hours. Supports filtering by start and end dates and pagination. ```rust /// Get Person Change List /// /// Get a list of all of the person ids that have been changed in the past 24 hours. You can query it for up to 14 days worth of changed IDs at a time with the `start_date` and `end_date` query parameters. 100 items are returned per page. /// /// # Arguments /// /// * `start_date` - Filter the results with a start date. /// * `end_date` - Filter the results with a end date. /// * `page` - Specify which page to query. [default to 1] /// /// # Returns /// /// Returns a `ChangesPaginated` struct containing the person changes. /// /// # Authorization /// /// Requires an API key. /// /// # Example /// /// ```rust /// // Assuming you have an API client initialized and configured /// // let mut client = TmdbClient::new("YOUR_API_KEY"); /// // let changes = client.changes.get_person_changes_paginated("2023-01-01".to_string(), "2023-01-07".to_string()).await; /// ``` pub async fn get_person_changes_paginated(start_date: String, end_date: String) -> Result> { // Implementation details for fetching person changes from the API unimplemented!() } ``` -------------------------------- ### TV API: Get Recommendations Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves a paginated list of recommended TV shows based on a given TV show. This helps users discover similar content. ```rust pub fn get_tv_recommendations_paginated(&self, tv_id: i32, page: Option) -> Result ``` -------------------------------- ### Get Paginated Movie Changes Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/ChangesApi.md Retrieves a paginated list of movie IDs that have been changed in the past 24 hours. Supports filtering by start and end dates and pagination. ```rust /// Get Movie Change List /// /// Get a list of all of the movie ids that have been changed in the past 24 hours. You can query it for up to 14 days worth of changed IDs at a time with the `start_date` and `end_date` query parameters. 100 items are returned per page. /// /// # Arguments /// /// * `start_date` - Filter the results with a start date. /// * `end_date` - Filter the results with a end date. /// * `page` - Specify which page to query. [default to 1] /// /// # Returns /// /// Returns a `ChangesPaginated` struct containing the movie changes. /// /// # Authorization /// /// Requires an API key. /// /// # Example /// /// ```rust /// // Assuming you have an API client initialized and configured /// // let mut client = TmdbClient::new("YOUR_API_KEY"); /// // let changes = client.changes.get_movie_changes_paginated("2023-01-01".to_string(), "2023-01-07".to_string()).await; /// ``` pub async fn get_movie_changes_paginated(start_date: String, end_date: String) -> Result> { // Implementation details for fetching movie changes from the API unimplemented!() } ``` -------------------------------- ### Authentication API: Create Guest Session Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Creates a new guest session for unauthenticated users. This allows tracking of anonymous activity. ```rust use tmdb_client_rs::apis::authentication_api; // Example usage: // let guest_session = authentication_api::get_new_authentication_guest_session(None, None, None, None); ``` -------------------------------- ### Get Paginated TV Show Changes Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/ChangesApi.md Retrieves a paginated list of TV show IDs that have been changed in the past 24 hours. Supports filtering by start and end dates and pagination. ```rust /// Get TV Change List /// /// Get a list of all of the TV show ids that have been changed in the past 24 hours. You can query it for up to 14 days worth of changed IDs at a time with the `start_date` and `end_date` query parameters. 100 items are returned per page. /// /// # Arguments /// /// * `start_date` - Filter the results with a start date. /// * `end_date` - Filter the results with a end date. /// * `page` - Specify which page to query. [default to 1] /// /// # Returns /// /// Returns a `ChangesPaginated` struct containing the TV show changes. /// /// # Authorization /// /// Requires an API key. /// /// # Example /// /// ```rust /// // Assuming you have an API client initialized and configured /// // let mut client = TmdbClient::new("YOUR_API_KEY"); /// // let changes = client.changes.get_tv_changes_paginated("2023-01-01".to_string(), "2023-01-07".to_string()).await; /// ``` pub async fn get_tv_changes_paginated(start_date: String, end_date: String) -> Result> { // Implementation details for fetching TV show changes from the API unimplemented!() } ``` -------------------------------- ### Authentication API: Create Session (v4) Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Creates a new session using a v4 access token. This is an alternative authentication method. ```rust use tmdb_client_rs::apis::authentication_api; use tmdb_client_rs::models::convert_session_request; // Example usage: // let request_body = convert_session_request::ConvertSessionRequest { // access_token: "your_v4_access_token".to_string(), // }; // let session_result = authentication_api::post_authentication_session_convert4(Some(request_body), None, None, None, None); ``` -------------------------------- ### Get Account Rated Movies Paginated HTTP Request Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/AccountApi.md HTTP GET request to fetch a paginated list of rated movies for a given account. ```http GET /account/{account_id}/rated/movies ``` -------------------------------- ### Get Upcoming Movies Paginated (Rust) Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/MoviesApi.md Fetches a paginated list of upcoming movies in theaters. Allows filtering by language and region. Requires an API key. ```rust use tmdb_client::models::MoviePaginated; fn get_movie_upcoming_paginated(language: Option, page: Option, region: Option) -> MoviePaginated { // Implementation details... unimplemented!() } ``` -------------------------------- ### Get Movie Keywords List Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Fetches a list of keywords associated with a specific movie. Keywords help categorize and describe the movie's themes or content. ```Rust use tmdb_api::client::Client; #[tokio::main] async fn main() -> Result<(), Box> { let client = Client::new("YOUR_API_KEY"); let movie_id = 123; // Example movie ID let keywords = client.movies().get_movie_keywords_list(movie_id).await?; println!("{:#?}", keywords); Ok(()) } ``` -------------------------------- ### Get Account Favorite Movies Paginated HTTP Request Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/AccountApi.md HTTP GET request to fetch a paginated list of favorite movies for a given account. ```http GET /account/{account_id}/favorite/movies ``` -------------------------------- ### Get Account Favorite TV Paginated HTTP Request Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/AccountApi.md HTTP GET request to fetch a paginated list of favorite TV shows for a given account. ```http GET /account/{account_id}/favorite/tv ``` -------------------------------- ### Get Movie Details (Rust) Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/MoviesApi.md Fetches the primary details for a movie, with options to include image languages, specify display language, and append related data. Requires an API key. ```rust fn get_movie_details(movie_id: i32, include_image_language: String, language: String, append_to_response: String) -> crate::models::MovieDetails ``` -------------------------------- ### Get Credit Details Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves the details of a specific credit using its ID. This is useful for getting information about cast or crew members involved in a production. ```Rust use tmdb_api::client::Client; #[tokio::main] async fn main() -> Result<(), Box> { let client = Client::new("YOUR_API_KEY"); let credit_id = "601f279178039a0040277c7a"; // Example credit ID let credit_details = client.credits().get_credit_details(credit_id).await?; println!("{:#?}", credit_details); Ok(()) } ``` -------------------------------- ### Install TMDB Rust Client Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Add the TMDB client library to your project's Cargo.toml file to include it as a dependency. This allows you to use the generated API client in your Rust application. ```toml tmdb_client = "1.6.0" ``` -------------------------------- ### Authentication API: Create Session Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Creates a user session using a request token obtained from 'Create Request Token'. Requires a valid request token. ```rust use tmdb_client_rs::apis::authentication_api; use tmdb_client_rs::models::create_session_request; // Example usage: // let request_body = create_session_request::CreateSessionRequest { // request_token: "your_request_token".to_string(), // }; // let session = authentication_api::get_new_authentication_session(Some(request_body), None, None, None, None); ``` -------------------------------- ### Get Current Account Details Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/AccountApi.md Retrieves the details of the currently authenticated account. Requires a session ID. ```rust crate::models::AccountDetails get_current_account_details(session_id: String) ``` -------------------------------- ### Companies API: Get Company Details Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves the details of a specific company by its ID. ```rust use tmdb_client_rs::apis::companies_api; // Example usage: // let company_id = 1; // let company_details = companies_api::get_company_details(company_id, None, None, None, None); ``` -------------------------------- ### Create List Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Creates a new list. This operation requires authentication and allows users to create custom lists of movies or TV shows. ```Rust use tmdb_api::client::Client; use tmdb_api::lists::PostListParams; #[tokio::main] async fn main() -> Result<(), Box> { let client = Client::new("YOUR_API_KEY"); let params = PostListParams { name: "My Favorite Movies".to_string(), description: Some("A list of my favorite movies.".to_string()), language: Some("en".to_string()), }; // Authentication is required for this operation let created_list = client.lists().post_list(params).await?; println!("List created: {:#?}", created_list); Ok(()) } ``` -------------------------------- ### Authentication API: Create Request Token Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Creates a request token, which is the first step in the authentication process for users. ```rust use tmdb_client_rs::apis::authentication_api; // Example usage: // let token_data = authentication_api::get_new_authentication_token(None, None, None, None); ``` -------------------------------- ### Get API Configuration (Rust) Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/ConfigurationApi.md Retrieves the system-wide configuration information for the TMDb API. This data is essential for building image URLs and understanding change keys. It's recommended to cache this data and check for updates periodically. ```Rust fn get_configuration(api_key: String) -> crate::models::Configuration; ``` -------------------------------- ### Get Review Details Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves the details of a specific review. This endpoint requires a review ID. ```rust use tmdb_client_rs::apis::reviews_api; // Example usage: // let review_id = "abc"; // let review_details = reviews_api::get_review_details(review_id).await; ``` -------------------------------- ### Companies API: Get Company Images Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves all images associated with a specific company by its ID. ```rust use tmdb_client_rs::apis::companies_api; // Example usage: // let company_id = 1; // let company_images = companies_api::get_company_images(company_id, None, None, None, None); ``` -------------------------------- ### Collections API: Get Collection Details Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves the details of a specific movie collection by its ID. ```rust use tmdb_client_rs::apis::collections_api; // Example usage: // let collection_id = 1; // let collection_details = collections_api::get_collection_details(collection_id, None, None, None, None); ``` -------------------------------- ### Discover TV Shows Paginated Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/DiscoverApi.md Fetches paginated results for discovering TV shows based on various criteria. Supports filtering by sort order, air dates, genres, networks, runtime, original language, and more. Requires an API key for authorization. ```rust use tmdb_client_rs::models::TvPaginated; fn get_discover_tv_paginated( sort_by: Option, air_date_gte: Option, air_date_lte: Option, first_air_date_gte: Option, first_air_date_lte: Option, first_air_date_year: Option, language: Option, page: Option, timezone: Option, vote_average_gte: Option, vote_count_gte: Option, with_genres: Option, with_networks: Option, without_genres: Option, with_runtime_gte: Option, with_runtime_lte: Option, include_null_first_air_dates: Option, with_original_language: Option, without_keywords: Option ) -> TvPaginated { // Implementation details for fetching paginated TV discover results unimplemented!("This function is a placeholder and needs implementation.") } ``` -------------------------------- ### Get TV Show Keywords Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/TVApi.md Retrieves keywords associated with a specific TV show. Requires a TV show ID. ```rust /// Get Keywords /// /// Get the keywords that have been added to a TV show. /// /// # Arguments /// /// * `tv_id` - The ID of the TV show. /// /// # Returns /// /// A `KeywordsList` containing the keywords for the TV show. fn get_tv_keywords_list(tv_id: i32) -> crate::models::KeywordsList; ``` -------------------------------- ### Get TV Videos List Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/TVApi.md Retrieves a list of videos associated with a TV show. Requires the TV show's ID and an optional language parameter. API key authentication is necessary. ```rust /// Get Videos /// /// Get the videos that have been added to a TV show. /// /// # Arguments /// /// * `tv_id` - The ID of the TV show. /// * `language` - ISO 639-1 value for translated data (optional, defaults to system language). /// /// # Returns /// /// A `Result` containing a `VideosList` on success, or an error on failure. pub fn get_tv_videos_list(tv_id: i32, language: Option) -> Result> { // Implementation details would go here unimplemented!("get_tv_videos_list not implemented yet") } ``` -------------------------------- ### Create List - Rust Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/ListsApi.md Creates a new list via the TMDB API. Requires content type, session ID, and list details in the request body. Returns the status of the list creation. ```Rust pub fn post_list(content_type: &str, session_id: &str, body: &models::ListBody) -> Result { // Implementation details for creating a list unimplemented!("post_list not implemented yet") } ``` -------------------------------- ### Get TV Credits Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/TVApi.md Retrieves the cast and crew credits for a given TV show ID. The results can be filtered by language. ```rust /// Get Credits /// /// Get the credits (cast and crew) that have been added to a TV show. /// /// # Arguments /// /// * `tv_id` - The ID of the TV show. /// * `language` - Pass a ISO 639-1 value to display translated data for the fields that support it. /// /// # Returns /// /// [**crate::models::Credits**](Credits.md) /// /// # Authorization /// /// [api_key](../README.md#api_key) /// /// # HTTP request headers /// /// - **Content-Type**: Not defined /// - **Accept**: application/json fn get_tv_credits(tv_id: i32, language: String) -> crate::models::Credits; ``` -------------------------------- ### Get Movie Translations List (Rust) Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/MoviesApi.md Retrieves a list of translations for a specific movie. Requires the movie ID and API key. ```rust use tmdb_client::models::TranslationsList; fn get_movie_translations_list(movie_id: i32, api_key: String) -> TranslationsList { // Implementation details... unimplemented!() } ``` -------------------------------- ### Get TV Show Recommendations Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/TVApi.md Retrieves a paginated list of recommended TV shows based on a given TV show ID. Supports language and page number filtering. ```rust /// Get Recommendations /// /// Get the list of TV show recommendations for this item. /// /// # Arguments /// /// * `tv_id` - The ID of the TV show to get recommendations for. /// * `language` - An optional ISO 639-1 value for translated data. /// * `page` - The page number to query (defaults to 1). /// /// # Returns /// /// A `TvPaginated` object containing a list of recommended TV shows. fn get_tv_recommendations_paginated(tv_id: i32, language: Option, page: Option) -> crate::models::TvPaginated; ``` -------------------------------- ### Get Movie Credits (Rust) Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/MoviesApi.md Retrieves the cast and crew information for a specific movie ID. Requires an API key for authentication. ```rust fn get_movie_credits(movie_id: i32) -> crate::models::Credits ``` -------------------------------- ### Get TV Season Episode Credits Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/TVEpisodesApi.md Retrieves the cast and crew credits for a specific TV episode. This function is part of the TVEpisodesApi. ```rust fn get_tv_season_episode_credits(tv_id: i32, season_number: i32, episode_number: i32) -> crate::models::TvSeasonCredits ``` -------------------------------- ### Get Person Changes Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/PeopleApi.md Fetches changes made to a person's record. Allows filtering by date range and pagination. ```rust use tmdb_api::apis::people_api; // Assuming you have a client and person_id // let client = Client::new(); // let person_id = 12345; // let language = "en".to_string(); // let start_date = "2023-01-01".to_string(); // let end_date = "2023-01-31".to_string(); // let page = 1; // let result = people_api::get_person_changes(client, person_id, Some(language), Some(start_date), Some(end_date), Some(page), None); ``` -------------------------------- ### Get Timezones List (Rust) Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/ConfigurationApi.md Fetches the list of supported timezones on TMDb. This endpoint does not require any parameters. ```Rust fn get_timezones_list() -> Vec; ``` -------------------------------- ### Generate Rust TMDB Client with OpenAPI Generator Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/adr/20190620_init.adoc This command uses OpenAPI Generator to create a Rust client for the TMDB API. It fetches the OpenAPI specification from a given URL, skips validation, specifies Rust as the target language with the 'reqwest' library, and outputs the generated client code to the 'tmdb-rust-client' directory. ```bash java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate \ -i https://api.stoplight.io/v1/versions/9WaNJfGpnnQ76opqe/export/oas.json \ --skip-validate-spec \ -g rust \ --library reqwest \ -o tmdb-rust-client ``` -------------------------------- ### Get Person Changes Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves the change history for a specific person. This endpoint requires a person ID. ```rust use tmdb_client_rs::apis::people_api; // Example usage: // let person_id = 789; // let changes = people_api::get_person_changes(person_id).await; ``` -------------------------------- ### Get Network Images Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves images associated with a specific network. This endpoint requires a network ID. ```rust use tmdb_client_rs::apis::networks_api; // Example usage: // let network_id = 456; // let network_images = networks_api::get_network_images(network_id).await; ``` -------------------------------- ### Get Network Details Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves detailed information about a specific network. This endpoint requires a network ID. ```rust use tmdb_client_rs::apis::networks_api; // Example usage: // let network_id = 456; // let network_details = networks_api::get_network_details(network_id).await; ``` -------------------------------- ### Get TV Translations List Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/TVApi.md Fetches a list of available translations for a specific TV show. Requires the TV show's ID and an optional language parameter. An API key is needed for authentication. ```rust /// Get Translations /// /// Get a list of the translations that exist for a TV show. /// /// # Arguments /// /// * `tv_id` - The ID of the TV show. /// * `language` - ISO 639-1 value for translated data (optional, defaults to system language). /// /// # Returns /// /// A `Result` containing a `TranslationsList` on success, or an error on failure. pub fn get_tv_translations_list(tv_id: i32, language: Option) -> Result> { // Implementation details would go here unimplemented!("get_tv_translations_list not implemented yet") } ``` -------------------------------- ### Get Movie Lists Paginated Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves paginated lists of movies. This endpoint requires a movie ID. ```rust use tmdb_client_rs::apis::movies_api; // Example usage: // let movie_id = 123; // let lists = movies_api::get_movie_lists_paginated(movie_id).await; ``` -------------------------------- ### TV API: Get Popular Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Fetches a paginated list of popular TV shows. Popularity is determined by user activity and engagement. ```rust pub fn get_tv_popular_paginated(&self, page: Option) -> Result ``` -------------------------------- ### Collections API: Get Collection Translations Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves all translations for the overview of a specific movie collection by its ID. ```rust use tmdb_client_rs::apis::collections_api; // Example usage: // let collection_id = 1; // let collection_translations = collections_api::get_collection_translations_list(collection_id, None, None, None, None); ``` -------------------------------- ### Get Movies by Keyword (Paginated) Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/KeywordsApi.md Fetches a paginated list of movies associated with a given keyword ID. It supports optional language and adult content filtering. Note: The 'movie discover' endpoint is recommended for more flexibility. ```rust pub fn get_movies_by_keyword_paginated(keyword_id: i32, language: Option, include_adult: Option) -> crate::models::MoviePaginated { // Implementation details for fetching paginated movies by keyword } ``` -------------------------------- ### Collections API: Get Collection Images Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves all images associated with a specific movie collection by its ID. ```rust use tmdb_client_rs::apis::collections_api; // Example usage: // let collection_id = 1; // let collection_images = collections_api::get_collection_images_list(collection_id, None, None, None, None); ``` -------------------------------- ### Changes API: Get Person Changes Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves a list of all person changes that have occurred. Supports pagination. ```rust use tmdb_client_rs::apis::changes_api; // Example usage: // let person_changes = changes_api::get_person_changes_paginated(None, None, None, None, None, None, None, None); ``` -------------------------------- ### Get Popular TV Shows Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/TVApi.md Fetches a paginated list of currently popular TV shows, updated daily. Allows filtering by language and page number. ```rust /// Get Popular /// /// Get a list of the current popular TV shows on TMDb. This list updates daily. /// /// # Arguments /// /// * `language` - An optional ISO 639-1 value for translated data. /// * `page` - The page number to query (defaults to 1). /// /// # Returns /// /// A `TvPaginated` object containing a list of popular TV shows. fn get_tv_popular_paginated(language: Option, page: Option) -> crate::models::TvPaginated; ``` -------------------------------- ### Changes API: Get Movie Changes Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Retrieves a list of all movie changes that have occurred. Supports pagination. ```rust use tmdb_client_rs::apis::changes_api; // Example usage: // let movie_changes = changes_api::get_movie_changes_paginated(None, None, None, None, None, None, None, None); ``` -------------------------------- ### Get TV Season Episode Account States Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/TVEpisodesApi.md Fetches the account states (user ratings) for a specific TV episode. Requires session or guest session ID. Returns an EpisodeRatingList. ```rust fn get_tv_season_episode_account_states(tv_id: i32, season_number: i32, episode_number: i32, guest_session_id: Option, session_id: Option) -> crate::models::EpisodeRatingList ``` -------------------------------- ### Get Now Playing Movies Paginated - Rust Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/MoviesApi.md Fetches a paginated list of movies currently in theatres. Supports filtering by language, page, and region. ```rust pub fn get_movie_now_playing_paginated(language: Option, page: Option, region: Option) -> Result ``` -------------------------------- ### Get Guest Session Rated TV Episodes Paginated Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/README.md Fetches a paginated list of TV episodes rated by a specific guest session. This allows for tracking user ratings on an episode level. ```Rust use tmdb_api::client::Client; use tmdb_api::guest_sessions::GetGuestSessionRatedTvEpisodesParams; #[tokio::main] async fn main() -> Result<(), Box> { let client = Client::new("YOUR_API_KEY"); let guest_session_id = "YOUR_GUEST_SESSION_ID"; let params = GetGuestSessionRatedTvEpisodesParams::default(); // Customize parameters as needed let rated_episodes = client.guest_sessions().get_guest_session_rated_tv_episodes_paginated(guest_session_id, params).await?; println!("{:#?}", rated_episodes); Ok(()) } ``` -------------------------------- ### Get TV Season Episode Details Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/TVEpisodesApi.md Fetches the detailed information for a specific TV episode. This is a core function for retrieving episode-specific data. ```rust fn get_tv_season_episode_details(tv_id: i32, season_number: i32, episode_number: i32) -> crate::models::TvEpisode ``` -------------------------------- ### Get Person Combined Credits Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/PeopleApi.md Retrieves both movie and TV credits for a person in a single API call. Supports language filtering. ```rust use tmdb_api::apis::people_api; // Assuming you have a client and person_id // let client = Client::new(); // let person_id = 12345; // let language = "en".to_string(); // let result = people_api::get_person_combined_credits(client, person_id, Some(language), None); ``` -------------------------------- ### Add Account Media to Watchlist (Rust) Source: https://github.com/bcourtine/tmdb-client-rs/blob/master/docs/AccountApi.md Adds a movie or TV show to the user's watchlist. Requires account ID, session ID, content type, and a request body specifying the media to add. ```rust /// Add to Watchlist /// /// Add a movie or TV show to your watchlist. /// /// # Arguments /// /// * `account_id` - The ID of the account. /// * `content_type` - The content type of the request, defaults to 'application/json;charset=utf-8'. /// * `session_id` - The session ID for authentication. /// * `body` - The request body containing media details to add to the watchlist. /// /// # Returns /// /// A `StatusCodeMessage` struct indicating the result of the operation. pub fn post_account_watchlist(account_id: i32, content_type: String, session_id: String, body: crate::models::MediaWatchlistBody) -> crate::models::StatusCodeMessage { // Implementation details would go here unimplemented!("post_account_watchlist not implemented") } ```