### GET /episodes/{id} Source: https://thetvdb.github.io/v4-api/swagger Fetches a specific episode base record by its unique identifier. Use this to get detailed information about a single episode. ```APIDOC ## GET /episodes/{id} ### Description Returns an episode base record. ### Method GET ### Endpoint /episodes/{id} ### Parameters #### Path Parameters - **id** (number) - Required - The unique identifier of the episode. ### Response #### Success Response (200) - **data** (object) - An EpisodeBaseRecord object containing details of the episode. - **status** (string) - The status of the response. #### Response Example ```json { "data": { "id": 1, "name": "Pilot", "season": 1, "episodeNumber": 1 }, "status": "success" } ``` ``` -------------------------------- ### GET /genres Source: https://thetvdb.github.io/v4-api/swagger Retrieves a list of all available genre records. ```APIDOC ## GET /genres ### Description Returns a list of genre records. This endpoint provides a comprehensive list of all defined genres within the system. ### Method GET ### Endpoint /genres ### Parameters None ### Request Example ```json { "example": "GET /genres" } ``` ### Response #### Success Response (200) - **data** (array) - An array of genre objects. - **status** (string) - The status of the response. #### Response Example ```json { "example": { "data": [ { "id": 1, "name": "Action" }, { "id": 2, "name": "Comedy" } ], "status": "success" } } ``` ### Error Handling - **401**: Unauthorized ``` -------------------------------- ### GET /sources/types Source: https://thetvdb.github.io/v4-api/swagger Retrieves a list of all available source type records. ```APIDOC ## GET /sources/types ### Description Retrieves a list of all available source type records. ### Method GET ### Endpoint /sources/types ### Response #### Success Response (200) - **data** (array) - An array of SourceType objects. - **status** (string) - The status of the response. #### Response Example ```json { "data": [ { "id": 1, "name": "API" }, { "id": 2, "name": "Website" } ], "status": "ok" } ``` #### Error Response (401) Unauthorized. ``` -------------------------------- ### GET /inspiration/types Source: https://thetvdb.github.io/v4-api/swagger Retrieves a list of all available inspiration type records. ```APIDOC ## GET /inspiration/types ### Description Returns a list of inspiration types records. This endpoint provides a comprehensive list of all defined inspiration types within the system. ### Method GET ### Endpoint /inspiration/types ### Parameters None ### Request Example ```json { "example": "GET /inspiration/types" } ``` ### Response #### Success Response (200) - **data** (array) - An array of inspiration type objects. - **status** (string) - The status of the response. #### Response Example ```json { "example": { "data": [ { "id": 1, "name": "Quote" }, { "id": 2, "name": "Fact" } ], "status": "success" } } ``` ### Error Handling - **401**: Unauthorized ``` -------------------------------- ### GET /companies/{id} Source: https://thetvdb.github.io/v4-api/swagger Retrieves a specific company record by its unique identifier. Use this to get detailed information about a single company. ```APIDOC ## GET /companies/{id} ### Description Returns a specific company record by its ID. ### Method GET ### Endpoint /companies/{id} ### Parameters #### Path Parameters - **id** (number) - Required - The unique identifier of the company. ### Response #### Success Response (200) - **data** (object) - A Company object containing details of the company. - **status** (string) - The status of the response. #### Response Example ```json { "data": { "id": 1, "name": "Example Company", "slug": "example-company" }, "status": "success" } ``` ``` -------------------------------- ### GET /people/types Source: https://thetvdb.github.io/v4-api/swagger Retrieves a list of all available people types. ```APIDOC ## GET /people/types ### Description Retrieves a list of all available people types. ### Method GET ### Endpoint /people/types ### Parameters None ### Response #### Success Response (200) - **data** (array of PeopleType) - An array of people type objects. - **status** (string) - The status of the response. #### Response Example ```json { "data": [ { ... PeopleType object ... }, { ... PeopleType object ... } ], "status": "success" } ``` ``` -------------------------------- ### GET /movies/statuses Source: https://thetvdb.github.io/v4-api/swagger Returns a list of all available movie status records. ```APIDOC ## GET /movies/statuses ### Description Returns a list of all available movie status records. ### Method GET ### Endpoint /movies/statuses ### Response #### Success Response (200) - **data** (array of Status) - A list of status records. - **status** (string) - The status of the response. #### Response Example ```json { "data": [ { ... }, { ... } ], "status": "success" } ``` #### Error Responses - **401**: Unauthorized ``` -------------------------------- ### GET /lists Source: https://thetvdb.github.io/v4-api/swagger Retrieves a list of base records for all lists. Supports pagination. ```APIDOC ## GET /lists ### Description Returns a list of base records for all available lists. This endpoint supports pagination via the `page` query parameter. ### Method GET ### Endpoint /lists ### Parameters #### Query Parameters - **page** (number) - Optional - The page number to retrieve. ### Response #### Success Response (200) - **data** (array) - An array of `ListBaseRecord` objects. - **status** (string) - The status of the response. - **links** (`Links`) - Pagination links. #### Response Example ```json { "data": [ { "id": 1, "name": "Example List", "slug": "example-list" } ], "status": "success", "links": { "next": "/lists?page=2" } } ``` ``` -------------------------------- ### GET /movies Source: https://thetvdb.github.io/v4-api/swagger Retrieves a list of base records for all movies. Supports pagination. ```APIDOC ## GET /movies ### Description Returns a list of base records for all movies. This endpoint supports pagination via the `page` query parameter. ### Method GET ### Endpoint /movies ### Parameters #### Query Parameters - **page** (number) - Optional - The page number to retrieve. ### Response #### Success Response (200) - **data** (array) - An array of movie base records. - **status** (string) - The status of the response. #### Response Example ```json { "data": [ { "id": 123, "name": "Example Movie", "externalIds": { "imdb_id": "tt0111161" } } ], "status": "success" } ``` ``` -------------------------------- ### GET /series Source: https://thetvdb.github.io/v4-api/swagger Retrieves a list of series base records. Supports pagination. ```APIDOC ## GET /series ### Description Returns a list of series base records. Supports pagination. ### Method GET ### Endpoint /series ### Parameters #### Query Parameters - **page** (number) - Optional - The page number for pagination. ### Response #### Success Response (200) - **data** (array) - An array of SeriesBaseRecord objects. - **status** (string) - The status of the response. - **links** (object) - Pagination links. #### Response Example ```json { "data": [ { "id": 123, "name": "Example Series" } ], "status": "success", "links": { "next": "/series?page=2" } } ``` ``` -------------------------------- ### GET /genders Source: https://thetvdb.github.io/v4-api/swagger Retrieves a list of all available gender records. ```APIDOC ## GET /genders ### Description Returns a list of gender records. This endpoint provides a comprehensive list of all defined genders within the system. ### Method GET ### Endpoint /genders ### Parameters None ### Request Example ```json { "example": "GET /genders" } ``` ### Response #### Success Response (200) - **data** (array) - An array of gender objects. - **status** (string) - The status of the response. #### Response Example ```json { "example": { "data": [ { "id": 1, "name": "Male" }, { "id": 2, "name": "Female" } ], "status": "success" } } ``` ``` -------------------------------- ### GET /genres/{id} Source: https://thetvdb.github.io/v4-api/swagger Retrieves a specific genre record by its ID. ```APIDOC ## GET /genres/{id} ### Description Returns a genre record by its ID. This endpoint allows fetching details for a specific genre. ### Method GET ### Endpoint /genres/{id} ### Parameters #### Path Parameters - **id** (number) - Required - The unique identifier of the genre. ### Request Example ```json { "example": "GET /genres/1" } ``` ### Response #### Success Response (200) - **data** (object) - Contains the genre record. - **status** (string) - The status of the response. #### Response Example ```json { "example": { "data": { "id": 1, "name": "Action" }, "status": "success" } } ``` ### Error Handling - **400**: Invalid genre id - **401**: Unauthorized - **404**: Genre not found ``` -------------------------------- ### GET /movies/{slug} Source: https://thetvdb.github.io/v4-api/swagger Retrieves a movie base record using its slug. ```APIDOC ## GET /movies/{slug} ### Description Retrieves a movie base record using its slug. ### Method GET ### Endpoint /movies/{slug} ### Parameters #### Path Parameters - **slug** (string) - Required - The slug of the movie. ### Response #### Success Response (200) - **data** (MovieBaseRecord) - The movie base record. - **status** (string) - The status of the response. #### Response Example ```json { "data": { ... }, "status": "success" } ``` #### Error Responses - **400**: Invalid movie slug - **401**: Unauthorized - **404**: Movie not found ``` -------------------------------- ### GET /languages Source: https://thetvdb.github.io/v4-api/swagger Retrieves a list of all available language records. ```APIDOC ## GET /languages ### Description Returns a list of language records. This endpoint provides a comprehensive list of all supported languages within the system. ### Method GET ### Endpoint /languages ### Parameters None ### Request Example ```json { "example": "GET /languages" } ``` ### Response #### Success Response (200) - **data** (array) - An array of language objects. - **status** (string) - The status of the response. #### Response Example ```json { "example": { "data": [ { "id": 1, "name": "English", "code": "en" }, { "id": 2, "name": "Spanish", "code": "es" } ], "status": "success" } } ``` ``` -------------------------------- ### GET /movies Source: https://thetvdb.github.io/v4-api/swagger Retrieves a list of movies. The response includes movie data, status, and pagination links. ```APIDOC ## GET /movies ### Description Retrieves a list of movies. The response includes movie data, status, and pagination links. ### Method GET ### Endpoint /movies ### Parameters #### Query Parameters - **page** (number) - Optional - The page number for pagination. ### Response #### Success Response (200) - **data** (array) - An array of MovieBaseRecord objects. - **status** (string) - The status of the response. - **links** (object) - Pagination links. #### Response Example ```json { "data": [ { "id": 123, "name": "Example Movie", "overview": "This is an example movie.", "firstAired": "2023-01-01", "airsDays": "Monday", "airsTime": "20:00", "averageRating": 8.5, "rating": "TV-MA", "genres": ["Action", "Sci-Fi"], "status": "Continuing", "originalCountry": "USA", "originalLanguage": "eng", "company": {"id": 1, "name": "Example Studio"}, "network": {"id": 1, "name": "Example Network"}, "tvdbId": 45678, "slug": "example-movie", "added": "2023-01-01T10:00:00Z", "lastUpdated": "2023-01-01T10:00:00Z" } ], "status": "success", "links": { "self": "/movies?page=1", "next": "/movies?page=2" } } ``` ``` -------------------------------- ### GET /people Source: https://thetvdb.github.io/v4-api/swagger Returns a paginated list of people base records with basic attributes. ```APIDOC ## GET /people ### Description Returns a paginated list of people base records with basic attributes. ### Method GET ### Endpoint /people ### Parameters #### Query Parameters - **page** (number) - Optional - The page number to retrieve. ### Response #### Success Response (200) - **data** (array of PeopleBaseRecord) - A list of people base records. - **status** (string) - The status of the response. - **links** (Links) - Pagination links. #### Response Example ```json { "data": [ { ... }, { ... } ], "status": "success", "links": { ... } } ``` #### Error Responses - **401**: Unauthorized ``` -------------------------------- ### GET /series/statuses Source: https://thetvdb.github.io/v4-api/swagger Retrieves a list of all available series status records. ```APIDOC ## GET /series/statuses ### Description Retrieves a list of all available series status records. ### Method GET ### Endpoint /series/statuses ### Response #### Success Response (200) - **data** (array) - An array of Status objects. - **status** (string) - The status of the response. #### Response Example ```json { "data": [ { "id": 1, "name": "Continuing" }, { "id": 2, "name": "Ended" }, { "id": 3, "name": "Upcoming" } ], "status": "ok" } ``` #### Error Response (401) Unauthorized. ``` -------------------------------- ### GET /seasons Source: https://thetvdb.github.io/v4-api/swagger Retrieves a list of base records for all seasons. Supports pagination. ```APIDOC ## GET /seasons ### Description Returns a list of base records for seasons. Supports pagination. ### Method GET ### Endpoint /seasons ### Parameters #### Query Parameters - **page** (number) - Optional - The page number for pagination. ### Response #### Success Response (200) - **data** (array) - An array of season base records, each referencing a `SeasonBaseRecord` schema. - **status** (string) - The status of the response. #### Response Example ```json { "data": [ { "id": 1, "number": 1, "name": "Season 1" } ], "status": "success" } ``` #### Error Response (401) - **description**: Unauthorized ``` -------------------------------- ### GET /episodes/{id}/translations/{language} Source: https://thetvdb.github.io/v4-api/swagger Retrieves translation data for a specific episode in a given language. ```APIDOC ## GET /episodes/{id}/translations/{language} ### Description Returns episode translation record. This endpoint fetches translated details for a specific episode based on the provided language code. ### Method GET ### Endpoint /episodes/{id}/translations/{language} ### Parameters #### Path Parameters - **id** (number) - Required - The unique identifier of the episode. - **language** (string) - Required - The language code for the translation (e.g., 'en' for English). ### Request Example ```json { "example": "GET /episodes/12345/translations/en" } ``` ### Response #### Success Response (200) - **data** (object) - Contains the translation record for the episode. - **status** (string) - The status of the response. #### Response Example ```json { "example": { "data": { "name": "Pilot Episode", "overview": "The first episode of the series." }, "status": "success" } } ``` ### Error Handling - **400**: Invalid episode id. Invalid language. - **401**: Unauthorized - **404**: Episode not found ``` -------------------------------- ### GET /episodes Source: https://thetvdb.github.io/v4-api/swagger Retrieves a list of all episodes with basic attributes. This endpoint returns all episodes, including those not part of a series' default season order. ```APIDOC ## GET /episodes ### Description Returns a list of episodes base records with the basic attributes. Note that all episodes are returned, even those that may not be included in a series' default season order. ### Method GET ### Endpoint /episodes ### Parameters #### Query Parameters - **page** (number) - Optional - The page number for pagination. ### Response #### Success Response (200) - **data** (array) - An array of EpisodeBaseRecord objects. - **status** (string) - The status of the response. - **links** (object) - Links for pagination. #### Response Example ```json { "data": [ { "id": 1, "name": "Pilot", "season": 1, "episodeNumber": 1 } ], "status": "success", "links": { "next": "/episodes?page=2" } } ``` ``` -------------------------------- ### GET /people/{id}/{language} Source: https://thetvdb.github.io/v4-api/swagger Retrieves detailed information about a specific person, including their translations in a given language. ```APIDOC ## GET /people/{id}/{language} ### Description Retrieves detailed information about a specific person, including their translations in a given language. ### Method GET ### Endpoint /people/{id}/{language} ### Parameters #### Path Parameters - **id** (number) - Required - The unique identifier for the person. - **language** (string) - Required - The ISO 639-1 language code for the translation (e.g., 'en'). ### Response #### Success Response (200) - **data** (Translation) - Object containing the translated person data. - **status** (string) - The status of the response. #### Response Example ```json { "data": { ... Translation object ... }, "status": "success" } ``` #### Error Responses - **400**: Invalid people id, invalid language. - **401**: Unauthorized - **404**: People not found ``` -------------------------------- ### GET /companies/types Source: https://thetvdb.github.io/v4-api/swagger Fetches a list of all available company types. This endpoint helps in categorizing companies based on their role or type. ```APIDOC ## GET /companies/types ### Description Returns a list of all company type records. ### Method GET ### Endpoint /companies/types ### Response #### Success Response (200) - **data** (array) - An array of CompanyType objects. - **status** (string) - The status of the response. #### Response Example ```json { "data": [ { "id": 1, "name": "Production", "slug": "production" } ], "status": "success" } ``` ``` -------------------------------- ### GET /episodes/{id}/extended Source: https://thetvdb.github.io/v4-api/swagger Retrieves extended information for a specific episode, including optional translations. ```APIDOC ## GET /episodes/{id}/extended ### Description Returns episode extended record. This endpoint allows fetching detailed information about an episode, with an option to include translations. ### Method GET ### Endpoint /episodes/{id}/extended ### Parameters #### Path Parameters - **id** (number) - Required - The unique identifier of the episode. #### Query Parameters - **meta** (string) - Optional - Specifies additional data to include, such as 'translations'. - Enum: [ translations ] - Example: translations ### Request Example ```json { "example": "GET /episodes/12345/extended?meta=translations" } ``` ### Response #### Success Response (200) - **data** (object) - Contains the episode extended record. - **status** (string) - The status of the response. #### Response Example ```json { "example": { "data": { "id": 12345, "name": "Pilot Episode", "overview": "The first episode of the series.", "airedEpisodeNumber": 1, "airedSeasonNumber": 1, "isMovie": 0, "releaseDate": "2023-01-01", "lastUpdated": "2023-01-10T10:00:00Z", "seriesId": 67890, "seasonId": 11223, "episodeName": "Pilot", "runtime": 60, "rating": "TV-PG", "ratingLabel": "Parental Guidance Suggested", "seasonNumber": 1, "episodeNumber": 1, "translations": { "en": { "name": "Pilot Episode", "overview": "The first episode of the series." } } }, "status": "success" } } ``` ### Error Handling - **400**: Invalid episode id - **401**: Unauthorized - **404**: Episode not found ``` -------------------------------- ### GET /series/{id}/artworks Source: https://thetvdb.github.io/v4-api/swagger Retrieves artworks for a specific series, filterable by language and type. ```APIDOC ## GET /series/{id}/artworks ### Description Returns series artworks based on language and type. Artwork type is an ID that can be found using the /artwork/types endpoint. ### Method GET ### Endpoint /series/{id}/artworks ### Parameters #### Path Parameters - **id** (number) - Required - The unique identifier of the series. #### Query Parameters - **lang** (string) - Optional - Comma-separated list of language codes (e.g., 'eng,spa'). - **type** (integer) - Optional - Comma-separated list of artwork type IDs (e.g., '1,2,3'). ### Response #### Success Response (200) - **data** (object) - The SeriesExtendedRecord containing artworks. - **status** (string) - The status of the response. #### Response Example ```json { "data": { "artworks": [ { "id": 456, "type": "poster", "language": "eng" } ] }, "status": "success" } ``` ``` -------------------------------- ### GET /content/ratings Source: https://thetvdb.github.io/v4-api/swagger Fetches a list of all content rating records. This is useful for understanding the rating systems applied to various content. ```APIDOC ## GET /content/ratings ### Description Returns a list of content rating records. ### Method GET ### Endpoint /content/ratings ### Response #### Success Response (200) - **data** (array) - An array of ContentRating objects. - **status** (string) - The status of the response. #### Response Example ```json { "data": [ { "id": 1, "name": "G", "country": "US" } ], "status": "success" } ``` ``` -------------------------------- ### GET /lists/slug/{slug} Source: https://thetvdb.github.io/v4-api/swagger Retrieves a specific list base record by its slug. ```APIDOC ## GET /lists/slug/{slug} ### Description Retrieves a specific list base record by its unique slug. ### Method GET ### Endpoint /lists/slug/{slug} ### Parameters #### Path Parameters - **slug** (string) - Required - The unique slug of the list. ### Response #### Success Response (200) - **data** (`ListBaseRecord`) - The list base record object. - **status** (string) - The status of the response. #### Response Example ```json { "data": { "id": 1, "name": "Example List", "slug": "example-list" }, "status": "success" } ``` ``` -------------------------------- ### GET /search Source: https://thetvdb.github.io/v4-api/swagger Performs a search across series, movies, people, and companies. The search is limited to a maximum of 5,000 results. ```APIDOC ## GET /search ### Description Performs a search across series, movies, people, and companies. The search is limited to a maximum of 5,000 results. ### Method GET ### Endpoint /search ### Parameters #### Query Parameters - **query** (string) - Required - The primary search string, which can include the main title for a record including all translations and aliases. - **q** (string) - Optional - Alias of the "query" parameter. Recommend using query instead as this field will eventually be deprecated. - **type** (string) - Optional - Restrict results to a specific entity type. Can be movie, series, person, or company. - **year** (number) - Optional - Restrict results to a specific year. Currently only used for series and movies. - **company** (string) - Optional - Restrict results to a specific company (original network, production company, studio, etc). As an example, "The Walking Dead" would have companies of "AMC", "AMC+", and "Disney+". - **country** (string) - Optional - Restrict results to a specific country of origin. Should contain a 3 character country code. Currently only used for series and movies. - **director** (string) - Optional - Restrict results to a specific director. Generally only used for movies. Should include the full name of the director, such as "Steven Spielberg". - **language** (string) - Optional - Restrict results to a specific primary language. Should include the 3 character language code. Currently only used for series and movies. - **primaryType** (string) - Optional - Restrict results to a specific type of company. Should include the full name of the type of company, such as "Production Company". Only used for companies. - **network** (string) - Optional - Restrict results to a specific network. Used for TV and TV movies, and functions the same as the company parameter with more specificity. - **remote_id** (string) - Optional - Search for a specific remote id. Allows searching for an IMDB or EIDR id, for example. - **offset** (number) - Optional - Offset results. - **limit** (number) - Optional - Limit results. ### Response #### Success Response (200) - **data** (array of SearchResult) - An array of search result objects. - **status** (string) - The status of the response. - **links** (Links) - Object containing pagination links. #### Response Example ```json { "data": [ { ... SearchResult object ... }, { ... SearchResult object ... } ], "status": "success", "links": { ... Links object ... } } ``` #### Error Responses - **401**: Unauthorized - **400**: Bad Request ``` -------------------------------- ### GET /movies/{id}/translations/{language} Source: https://thetvdb.github.io/v4-api/swagger Retrieves a movie translation record for a specific movie and language. ```APIDOC ## GET /movies/{id}/translations/{language} ### Description Retrieves a movie translation record for a specific movie and language. ### Method GET ### Endpoint /movies/{id}/translations/{language} ### Parameters #### Path Parameters - **id** (number) - Required - The ID of the movie. - **language** (string) - Required - The language code for the translation. ### Response #### Success Response (200) - **data** (Translation) - The movie translation record. - **status** (string) - The status of the response. #### Response Example ```json { "data": { ... }, "status": "success" } ``` #### Error Responses - **400**: Invalid movie id, invalid language. - **401**: Unauthorized - **404**: Movie not found ``` -------------------------------- ### GET /entities Source: https://thetvdb.github.io/v4-api/swagger Fetches the active entity types available in the system. This helps in identifying the different types of entities the API manages. ```APIDOC ## GET /entities ### Description Returns the active entity types. ### Method GET ### Endpoint /entities ### Response #### Success Response (200) - **data** (array) - An array of EntityType objects. - **status** (string) - The status of the response. #### Response Example ```json { "data": [ { "id": 1, "name": "Movie", "slug": "movie" } ], "status": "success" } ``` ``` -------------------------------- ### GET /updates Source: https://thetvdb.github.io/v4-api/swagger Retrieves a list of updated entities based on the 'since' parameter. Optional 'type', 'action', and 'page' parameters can be used to filter the results. ```APIDOC ## GET /updates ### Description Retrieves a list of updated entities. Requires a 'since' parameter and optionally accepts 'type', 'action', and 'page' for filtering. ### Method GET ### Endpoint /updates ### Parameters #### Query Parameters - **since** (number) - Required - The timestamp to fetch updates since. - **type** (string) - Optional - The type of entity to filter updates by (e.g., 'movies', 'series'). - **action** (string) - Optional - The action to filter updates by (e.g., 'delete', 'update'). - **page** (number) - Optional - The page number for pagination. ### Response #### Success Response (200) - **data** (array) - An array of updated entity records. - **status** (string) - The status of the response. - **links** (object) - Links for pagination. #### Response Example ```json { "data": [ { "id": 123, "name": "Example Series", "type": "series" } ], "status": "success", "links": { "next": "/updates?page=2" } } ``` #### Error Response (400) - Description: Invalid 'since' or 'type' parameter. #### Error Response (401) - Description: Unauthorized. ``` -------------------------------- ### GET /companies Source: https://thetvdb.github.io/v4-api/swagger Returns a paginated list of company records. This endpoint allows you to retrieve company information in a paginated format. ```APIDOC ## GET /companies ### Description Returns a paginated list of company records. This endpoint allows you to retrieve company information in a paginated format. ### Method GET ### Endpoint /companies ### Parameters #### Query Parameters - **page** (number) - Optional - The page number for pagination. ### Response #### Success Response (200) - **data** (array) - An array of company records. - **status** (string) - The status of the response. #### Response Example ```json { "data": [ { "id": 1, "name": "Example Company" } ], "status": "success" } ``` ``` -------------------------------- ### GET /movies/slug/{slug} Source: https://thetvdb.github.io/v4-api/swagger Retrieves a movie's base record by its slug. This endpoint allows for searching movies using their unique URL-friendly identifiers. ```APIDOC ## GET /movies/slug/{slug} ### Description Retrieves a movie's base record by its slug. This endpoint allows for searching movies using their unique URL-friendly identifiers. ### Method GET ### Endpoint /movies/slug/{slug} ### Parameters #### Path Parameters - **slug** (string) - Required - The unique slug of the movie. ### Response #### Success Response (200) - **data** (object) - The MovieBaseRecord object containing movie details. - **status** (string) - The status of the response. #### Response Example ```json { "data": { "id": 123, "name": "Example Movie", "overview": "This is an example movie.", "firstAired": "2023-01-01", "airsDays": "Monday", "airsTime": "20:00", "averageRating": 8.5, "rating": "TV-MA", "genres": ["Action", "Sci-Fi"], "status": "Continuing", "originalCountry": "USA", "originalLanguage": "eng", "company": {"id": 1, "name": "Example Studio"}, "network": {"id": 1, "name": "Example Network"}, "tvdbId": 45678, "slug": "example-movie", "added": "2023-01-01T10:00:00Z", "lastUpdated": "2023-01-01T10:00:00Z" }, "status": "success" } ``` ``` -------------------------------- ### GET /characters/{id} Source: https://thetvdb.github.io/v4-api/swagger Retrieves a character base record by its ID. This endpoint is used to fetch basic details of a character. ```APIDOC ## GET /characters/{id} ### Description Retrieves a character base record by its ID. This endpoint is used to fetch basic details of a character. ### Method GET ### Endpoint /characters/{id} ### Parameters #### Path Parameters - **id** (number) - Required - The unique identifier of the character. ### Response #### Success Response (200) - **data** (object) - A Character object representing the character. - **status** (string) - The status of the response. #### Error Response - **400**: Invalid character id - **401**: Unauthorized - **404**: Character not found #### Response Example ```json { "data": { "id": 1, "name": "John Doe", "image": "/path/to/image.jpg" }, "status": "success" } ``` ``` -------------------------------- ### GET /companies Source: https://thetvdb.github.io/v4-api/swagger Retrieves a list of all company records. This endpoint is useful for fetching a comprehensive list of companies associated with content. ```APIDOC ## GET /companies ### Description Retrieves a list of all company records. ### Method GET ### Endpoint /companies ### Parameters #### Query Parameters - **page** (number) - Optional - The page number for pagination. ### Response #### Success Response (200) - **data** (array) - An array of Company objects. - **status** (string) - The status of the response. - **links** (object) - Links for pagination. #### Response Example ```json { "data": [ { "id": 1, "name": "Example Company", "slug": "example-company" } ], "status": "success", "links": { "next": "/companies?page=2" } } ``` ``` -------------------------------- ### Authentication API Source: https://thetvdb.github.io/v4-api/swagger Handles user authentication by creating an auth token valid for one month. Requires an API key and optionally a PIN for user-supported keys. ```APIDOC ## POST /login ### Description Creates an authentication token that is valid for one month. Requires an API key and optionally a PIN. ### Method POST ### Endpoint /login ### Parameters #### Request Body - **apikey** (string) - Required - Your API key. - **pin** (string) - Optional - Your subscriber PIN if applicable. ### Request Example ```json { "apikey": "YOUR_API_KEY", "pin": "YOUR_PIN" } ``` ### Response #### Success Response (200) - **data** (object) - Contains the authentication token. - **token** (string) - The generated bearer token. - **status** (string) - The status of the request (e.g., "success"). #### Response Example ```json { "data": { "token": "YOUR_BEARER_TOKEN" }, "status": "success" } ``` #### Error Response (401) - Description: Invalid credentials. ``` -------------------------------- ### GET /movies/{id} Source: https://thetvdb.github.io/v4-api/swagger Retrieves a specific movie's base record by its ID. Includes details like name, overview, and release information. ```APIDOC ## GET /movies/{id} ### Description Retrieves a specific movie's base record by its ID. Includes details like name, overview, and release information. ### Method GET ### Endpoint /movies/{id} ### Parameters #### Path Parameters - **id** (number) - Required - The unique identifier of the movie. ### Response #### Success Response (200) - **data** (object) - The MovieBaseRecord object containing movie details. - **status** (string) - The status of the response. #### Response Example ```json { "data": { "id": 123, "name": "Example Movie", "overview": "This is an example movie.", "firstAired": "2023-01-01", "airsDays": "Monday", "airsTime": "20:00", "averageRating": 8.5, "rating": "TV-MA", "genres": ["Action", "Sci-Fi"], "status": "Continuing", "originalCountry": "USA", "originalLanguage": "eng", "company": {"id": 1, "name": "Example Studio"}, "network": {"id": 1, "name": "Example Network"}, "tvdbId": 45678, "slug": "example-movie", "added": "2023-01-01T10:00:00Z", "lastUpdated": "2023-01-01T10:00:00Z" }, "status": "success" } ``` ``` -------------------------------- ### GET /series/filter Source: https://thetvdb.github.io/v4-api/swagger Searches for series based on various filter parameters. ```APIDOC ## GET /series/filter ### Description Search series based on filter parameters. ### Method GET ### Endpoint `/series/filter` ### Parameters #### Query Parameters - **company** (number) - Optional - Filter by production company ID. Example: `1`. - **contentRating** (number) - Optional - Filter by content rating ID based on a country. Example: `245`. - **country** (string) - Required - Filter by country of origin. Example: `usa`. - **genre** (number) - Optional - Filter by genre ID. This ID can be found using the `/genres` endpoint. ### Request Example ```json { "example": "GET /series/filter?country=usa&genre=10" } ``` ### Response *(Response structure for this endpoint is not fully detailed in the provided text, but typically would include a list of series matching the filters.)* #### Success Response (200) *(Details not provided in the input text.)* #### Response Example ```json { "example": "(Response structure not detailed in input)" } ``` #### Error Responses *(Error responses for this endpoint are not detailed in the provided text.)* ``` -------------------------------- ### GET /seasons/types Source: https://thetvdb.github.io/v4-api/swagger Retrieves a list of available season type records. ```APIDOC ## GET /seasons/types ### Description Returns a list of season type records. ### Method GET ### Endpoint /seasons/types ### Response #### Success Response (200) - **data** (array) - An array of season type records, each referencing a `SeasonType` schema. - **status** (string) - The status of the response. #### Response Example ```json { "data": [ { "id": 1, "name": "Standard" } ], "status": "success" } ``` #### Error Response (401) - **description**: Unauthorized ``` -------------------------------- ### GET /series/{id} Source: https://thetvdb.github.io/v4-api/swagger Retrieves a specific series base record by its ID. ```APIDOC ## GET /series/{id} ### Description Returns a specific series base record by its ID. ### Method GET ### Endpoint /series/{id} ### Parameters #### Path Parameters - **id** (number) - Required - The unique identifier of the series. ### Response #### Success Response (200) - **data** (object) - The SeriesBaseRecord object for the specified series. - **status** (string) - The status of the response. #### Response Example ```json { "data": { "id": 123, "name": "Example Series" }, "status": "success" } ``` ``` -------------------------------- ### Authentication API Source: https://thetvdb.github.io/v4-api/index Handles user authentication by creating an auth token. The token is valid for one month. ```APIDOC ## POST /login ### Description Create an authentication token. The token has a one-month validation length. ### Method POST ### Endpoint /login ### Parameters #### Request Body - **apikey** (string) - Required - Your API key. - **pin** (string) - Optional - Your subscriber PIN. Remove if not applicable. ### Request Example ```json { "apikey": "YOUR_API_KEY", "pin": "YOUR_PIN" } ``` ### Response #### Success Response (200) - **token** (string) - The bearer token for authentication. #### Response Example ```json { "token": "YOUR_BEARER_TOKEN" } ``` ``` -------------------------------- ### GET /seasons/{id} Source: https://thetvdb.github.io/v4-api/swagger Retrieves the base record for a specific season by its ID. ```APIDOC ## GET /seasons/{id} ### Description Returns the base record for a specific season by its ID. ### Method GET ### Endpoint /seasons/{id} ### Parameters #### Path Parameters - **id** (number) - Required - The ID of the season. ### Response #### Success Response (200) - **data** (`SeasonBaseRecord`) - The base record for the requested season. - **status** (string) - The status of the response. #### Response Example ```json { "data": { "id": 1, "number": 1, "name": "Season 1" }, "status": "success" } ``` #### Error Responses - **400**: Invalid season id - **401**: Unauthorized - **404**: Season not found ``` -------------------------------- ### GET /people/{id} Source: https://thetvdb.github.io/v4-api/swagger Retrieves a specific people base record by its ID. ```APIDOC ## GET /people/{id} ### Description Retrieves a specific people base record by its ID. ### Method GET ### Endpoint /people/{id} ### Parameters #### Path Parameters - **id** (number) - Required - The ID of the person. ### Response #### Success Response (200) - **data** (PeopleBaseRecord) - The people base record. - **status** (string) - The status of the response. #### Response Example ```json { "data": { ... }, "status": "success" } ``` #### Error Responses - **400**: Invalid people id - **401**: Unauthorized - **404**: People not found ``` -------------------------------- ### GET /lists/{id} Source: https://thetvdb.github.io/v4-api/swagger Retrieves a specific list base record by its ID. ```APIDOC ## GET /lists/{id} ### Description Retrieves a specific list base record identified by its unique ID. ### Method GET ### Endpoint /lists/{id} ### Parameters #### Path Parameters - **id** (number) - Required - The unique identifier of the list. ### Response #### Success Response (200) - **data** (`ListBaseRecord`) - The list base record object. - **status** (string) - The status of the response. #### Response Example ```json { "data": { "id": 1, "name": "Example List", "slug": "example-list" }, "status": "success" } ``` ```