openapi: 3.0.0 info: description: 'Access token should be sent along with every request to SITE_NAME API in authorization header: `Authorization: Bearer <Token>` <br> This token can either be acquired via `auth/login` endpoint or from account settings page on [SITE_NAME website](SITE_URL/account/settings).' version: '1.0.0' title: SITE_NAME API security: - accessToken: [] tags: - name: Titles - name: Episodes - name: People - name: News - name: Search - name: Lists - name: Users - name: Reviews - name: Auth description: Authenticate requests to the API paths: /titles: get: tags: - Titles summary: Browse movies and series operationId: getAllTitles parameters: - name: perPage in: query description: How many titles to show per page schema: type: integer default: 20 - name: page in: query description: Which page to return schema: type: integer default: 1 - name: order in: query description: What to sorty results by schema: type: string default: popularity:desc enum: - popularity:desc - budget:desc - certification:desc - release_date:desc - revenue:desc - runtime:desc - score:desc - name: type in: query description: Title type to filter results by schema: type: string enum: - movie - series default: null - name: genre in: query description: Comma separated list of genre names to filter results by schema: type: string example: action, comedy default: null - name: released in: query description: Release date range to filter results by. Date should be either year only or full date in YYYY-MM-DD format schema: type: string example: 2019,2021 default: null - name: runtime in: query description: Runtime range to filter results by. schema: type: string example: 120,240 default: null - name: score in: query description: Score range to filter results by. schema: type: string example: 7,10 default: null - name: language in: query description: ISO 639-1 language code to filter results by. schema: type: string example: en default: null - name: certification in: query description: Certification code to filter results by. schema: type: string example: pg-13 default: null - name: country in: query description: Production country code to filter results by. schema: type: string example: us default: null - name: onlyStreamable in: query description: Only show titles that are available to stream on the site schema: type: boolean default: false - name: includeAdult in: query description: Whether adult titles should be shown schema: type: boolean default: false responses: '200': description: Response body contains a paginated list of titles in JSON format. content: application/json: schema: type: object properties: status: type: string example: success pagination: allOf: - $ref: '#/components/schemas/Pagination' - type: object properties: data: type: array items: $ref: '#/components/schemas/PartialTitle' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' /titles/{id}: parameters: - name: id in: path description: ID of the title example: 1 - name: seasonNumber in: query description: Number of season that should be returned along with a series required: false - name: episodeNumber in: query description: Number of episode that should be returned along with a series required: false - name: fullCredits in: query description: Whether to return all credits (15 are returned normally) required: false get: tags: - Titles summary: Get full details about a movie or series operationId: getTitle responses: '200': description: Response body contains title data in JSON format. content: application/json: schema: type: object properties: status: type: string example: success title: $ref: '#/components/schemas/FullTitle' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' /titles/{id}/related: parameters: - name: id in: path description: ID of the title example: 1 get: tags: - Titles summary: Get related titles for specified movie or series operationId: getRelatedTitles responses: '200': description: Response body contains a list of related titles in JSON format. content: application/json: schema: type: object properties: status: type: string example: success titles: type: array items: $ref: '#/components/schemas/PartialTitle' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' /episodes/{id}: parameters: - name: id in: path description: ID of the episode example: 1 get: tags: - Episodes summary: Get full details about an episode operationId: getEpisode responses: '200': description: Response body contains episode data in JSON format. content: application/json: schema: type: object properties: status: type: string example: success episode: $ref: '#/components/schemas/Episode' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' /people: get: tags: - People summary: Browse people operationId: getAllPeople parameters: - name: perPage in: query description: How many people to show per page schema: type: integer default: 20 - name: page in: query description: Which page to return schema: type: integer default: 1 - name: mostPopular in: query description: Only show people that are above certain popularity schema: type: boolean default: false - name: includeAdult in: query description: Whether adult starts should be included schema: type: boolean default: false responses: '200': description: Response body contains a paginated list of people in JSON format. content: application/json: schema: type: object properties: status: type: string example: success pagination: allOf: - $ref: '#/components/schemas/Pagination' - type: object properties: data: type: array items: type: object allOf: - $ref: '#/components/schemas/PartialPerson' - type: object properties: popular_credits: type: array items: $ref: '#/components/schemas/PartialTitle' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' /people/{id}: parameters: - name: id in: path description: ID of the person example: 1 get: tags: - People summary: Get full details about a person operationId: getPerson responses: '200': description: Response body contains person data in JSON format. content: application/json: schema: type: object properties: status: type: string example: success person: $ref: '#/components/schemas/FullPerson' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' /news: get: tags: - News summary: Browse news articles operationId: getAllNews parameters: - name: perPage in: query description: How many articles to show per page schema: type: integer default: 20 - name: page in: query description: Which page to return schema: type: integer default: 1 responses: '200': description: Response body contains a paginated list of articles in JSON format. content: application/json: schema: type: object properties: status: type: string example: success pagination: allOf: - $ref: '#/components/schemas/Pagination' - type: object properties: data: $ref: '#/components/schemas/NewsArticle' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' /news/{id}: parameters: - name: id in: path description: ID of the article example: 1 get: tags: - News summary: Get full details about a news article operationId: getNewsArticle responses: '200': description: Response body contains article data in JSON format. content: application/json: schema: type: object properties: status: type: string example: success article: $ref: '#/components/schemas/NewsArticle' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' '404': $ref: '#/components/schemas/404-Response' /search/{query}: parameters: - name: query in: path description: Search query schema: type: string get: tags: - Search summary: Search for movies, series and people operationId: searchEverything parameters: - name: limit in: query description: How many search results to return schema: type: integer default: 20 responses: '200': description: Response body contains a list of results matching search query in JSON format. content: application/json: schema: type: object properties: status: type: string example: success query: type: string example: batman results: oneOf: - $ref: '#/components/schemas/PartialTitle' - $ref: '#/components/schemas/PartialPerson' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' /lists: post: tags: - Lists summary: Create a new list operationId: createList requestBody: required: true content: application/json: schema: allOf: - $ref: '#/components/schemas/CrupdateListPayload' - type: object nullable: true properties: items: type: array items: type: object properties: id: type: integer example: 1 type: type: string example: title enum: - title - person - episode responses: '200': description: On success, the response body contains the created list object in JSON format content: application/json: schema: type: object properties: status: type: string example: success list: $ref: '#/components/schemas/PartialList' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' '422': $ref: '#/components/schemas/422-Response' /lists/{id}: parameters: - name: id in: path description: ID of the list example: 1 get: tags: - Lists summary: Get the details of a list operationId: getList responses: '200': description: Response body contains list data in JSON format. content: application/json: schema: type: object properties: status: type: string example: success list: $ref: '#/components/schemas/FullList' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' put: tags: - Lists summary: Update specified list details operationId: updateList requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CrupdateListPayload' responses: '200': description: On success, the response body contains the updated list object in JSON format content: application/json: schema: type: object properties: status: type: string example: success list: $ref: '#/components/schemas/PartialList' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' '422': $ref: '#/components/schemas/422-Response' delete: tags: - Lists summary: Delete a list operationId: deleteList responses: '200': description: List has been deleted successfully content: application/json: schema: type: object properties: status: type: string example: success '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' '404': $ref: '#/components/schemas/404-Response' /lists/{id}/add: parameters: - name: id in: path description: ID of the list example: 1 post: tags: - Lists summary: Add an item to a list operationId: addToList requestBody: required: true content: application/json: schema: type: object properties: itemId: type: integer example: 1 description: ID of the item to add to list itemType: type: string example: title enum: - title - person - episode description: Type of the item responses: '200': description: Response body contains list data in JSON format. content: application/json: schema: type: object properties: status: type: string example: success list: $ref: '#/components/schemas/PartialList' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' '404': $ref: '#/components/schemas/404-Response' /lists/{id}/remove: parameters: - name: id in: path description: ID of the list example: 1 post: tags: - Lists summary: Remove an item from a list operationId: removeFromList requestBody: required: true content: application/json: schema: type: object properties: itemId: type: integer example: 1 description: ID of the item to remove from list itemType: type: string example: title enum: - title - person - episode description: Type of the item responses: '200': description: Response body contains list data in JSON format. content: application/json: schema: type: object properties: status: type: string example: success list: $ref: '#/components/schemas/PartialList' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' '404': $ref: '#/components/schemas/404-Response' /user-profile/{id}: parameters: - name: id in: path description: ID of the user or "me" for currently logged in user. example: me get: tags: - Users summary: Get public profile information about a user. operationId: getUser responses: '200': description: Response body contains a user object in JSON format. content: application/json: schema: type: object properties: status: type: string example: success user: $ref: '#/components/schemas/User' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' '404': $ref: '#/components/schemas/404-Response' /user-profile/{id}/lists: parameters: - name: id in: path description: ID of the user or "me" for currently logged in user. example: me get: tags: - Users summary: Lists created by the user operationId: getUserLists parameters: - name: perPage in: query description: How many lists to return per page schema: type: integer default: 20 - name: page in: query description: Which page to return schema: type: integer default: 1 responses: '200': description: Response body contains a paginated list of lists user has created in JSON format. content: application/json: schema: type: object properties: status: type: string example: success pagination: allOf: - $ref: '#/components/schemas/Pagination' - type: object properties: data: type: array items: $ref: '#/components/schemas/PartialList' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' '404': $ref: '#/components/schemas/404-Response' /user-profile/{id}/reviews: parameters: - name: id in: path description: ID of the user or "me" for currently logged in user. example: me get: tags: - Users summary: Reviews created by the user operationId: getUserReviews parameters: - name: perPage in: query description: How many reviews to return per page schema: type: integer default: 20 - name: page in: query description: Which page to return schema: type: integer default: 1 responses: '200': description: Response body contains a paginated list of reviews user has created in JSON format. content: application/json: schema: type: object properties: status: type: string example: success pagination: allOf: - $ref: '#/components/schemas/Pagination' - type: object properties: data: type: array items: $ref: '#/components/schemas/Review' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' '404': $ref: '#/components/schemas/404-Response' /user-profile/{id}/ratings: parameters: - name: id in: path description: ID of the user or "me" for currently logged in user. example: me get: tags: - Users summary: Ratings left by the user operationId: getUserRatings parameters: - name: perPage in: query description: How many ratings to return per page schema: type: integer default: 20 - name: page in: query description: Which page to return schema: type: integer default: 1 responses: '200': description: Response body contains a paginated list of ratings user has created in JSON format. content: application/json: schema: type: object properties: status: type: string example: success pagination: allOf: - $ref: '#/components/schemas/Pagination' - type: object properties: data: type: array items: $ref: '#/components/schemas/Review' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' '404': $ref: '#/components/schemas/404-Response' /user-profile/{id}/comments: parameters: - name: id in: path description: ID of the user or "me" for currently logged in user. example: me get: tags: - Users summary: Comments left by the user operationId: getUserComments parameters: - name: perPage in: query description: How many comments to return per page schema: type: integer default: 20 - name: page in: query description: Which page to return schema: type: integer default: 1 responses: '200': description: Response body contains a paginated list of comments user has created in JSON format. content: application/json: schema: type: object properties: status: type: string example: success pagination: allOf: - $ref: '#/components/schemas/Pagination' - type: object properties: data: type: array items: $ref: '#/components/schemas/Comment' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' '404': $ref: '#/components/schemas/404-Response' /reviews: post: tags: - Reviews summary: Create a new review or rating operationId: createReview requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateReviewPayload' responses: '200': description: On success, the response body contains the created review object in JSON format content: application/json: schema: type: object properties: status: type: string example: success review: $ref: '#/components/schemas/Review' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' '422': $ref: '#/components/schemas/422-Response' /reviews/{id}: parameters: - name: id in: path description: ID of the review example: 1 put: tags: - Reviews summary: Update specified review details operationId: updateReview requestBody: required: true content: application/json: schema: type: object properties: review: type: string description: Review body score: type: integer example: 7 description: Review score responses: '200': description: On success, the response body contains the updated revew object in JSON format content: application/json: schema: type: object properties: status: type: string example: success review: $ref: '#/components/schemas/Review' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' '422': $ref: '#/components/schemas/422-Response' delete: tags: - Reviews summary: Delete a review or rating operationId: deleteReview responses: '200': description: Review has been deleted successfully content: application/json: schema: type: object properties: status: type: string example: success '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' '404': $ref: '#/components/schemas/404-Response' /auth/register: post: security: [] tags: - Auth summary: Register for a new account operationId: register responses: '200': description: User registered content: application/json: schema: type: object properties: status: type: string example: success user: $ref: '#/components/schemas/User' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' '422': description: Invalid data specified content: application/json: schema: $ref: '#/components/schemas/422-Response' requestBody: required: true content: application/json: schema: type: object properties: email: type: string example: '[email protected]' password: type: string example: password token_name: type: string example: 'iphone 12' /auth/login: post: security: [] tags: - Auth summary: Get access token description: 'Logs in specified user and returns user object along with access token. <br><br> Access Token is a string that enables SITE_NAME to verify that a request belongs to an authorized session. This token should be sent along with every request to SITE_NAME API in a authorization header: `Authorization: Bearer <Token>`.' operationId: login responses: '200': description: Operation successful content: application/json: schema: type: object properties: status: type: string example: success user: $ref: '#/components/schemas/User' '401': $ref: '#/components/schemas/401-Response' '403': $ref: '#/components/schemas/403-Response' '422': description: Invalid data specified content: application/json: schema: $ref: '#/components/schemas/422-Response' requestBody: required: true content: application/json: schema: type: object properties: email: type: string example: '[email protected]' password: type: string example: 'password' device_name: type: string example: 'iphone 12' components: schemas: Pagination: type: object properties: current_page: type: integer format: int64 example: 1 from: type: integer format: int64 example: 1 to: type: integer format: int64 example: 100 per_page: type: integer format: int64 example: 25 last_page: type: integer format: int64 example: 156 total: type: integer format: int64 example: 264 PartialTitle: properties: id: type: integer format: int64 example: 1 name: type: string example: The Suicide Squad description: Title's name release_date: type: string example: '2021-07-28T00:00:00.000000Z' description: Title's Release date in ISO format year: type: string example: 2021 description: Year title first released or was aired (if series) tagline: type: string example: They're dying to save the world. description: Title's tagline poster: type: string example: https://image.tmdb.org/t/p/original/iCi4c4FvVdbaU1t8poH1gvzT6xM.jpg description: Title's poster URL backdrop: type: string example: https://image.tmdb.org/t/p/w1280/jlGmlFOcfo8n5tURmhC7YVd4Iyy.jpg description: Title's backdrop URL runtime: type: integer example: 132 description: Title's runtime in minutes budget: type: integer example: 180000000 description: Title's budget in US dollars revenue: type: integer example: 121261711 description: Current title's revenue worldwide popularity: type: integer example: 5659 description: Title's popularity tmdb_id: type: integer example: 436969 description: Title's ID on themoviedatabase site imdb_id: type: string example: tt6334354 description: Title's ID on IMDb site is_series: type: boolean example: false description: Whether title is a series adult: type: boolean example: false description: Whether it's an adult title season_count: type: integer example: 0 description: Number of seasons title has (if it's a series) episode_count: type: integer example: 0 description: Number of episodes title has (if it's a series) series_ended: type: boolean example: false description: Whether series has ended or was cancelled language: type: string example: en description: Title's primary spoken language (ISO 639-1) original_title: type: string example: The Suicide Squad description: Title's original language (if name is not in english) certification: type: string example: r description: Title's certification code rating: type: string example: 8.1 description: Title's user rating vote_count: type: integer example: 2657 description: How many users rated the title FullTitle: allOf: - $ref: '#/components/schemas/PartialTitle' - type: object properties: images: type: array items: $ref: '#/components/schemas/Image' description: List of backdrop and poster images for the title genres: type: array items: $ref: '#/components/schemas/Genre' description: List of genres for the title keywords: type: array items: $ref: '#/components/schemas/Keyword' description: List of keywords for the title credits: type: array items: $ref: '#/components/schemas/TitleCredit' description: List of credits for the title seasons: type: array items: $ref: '#/components/schemas/Season' description: List of title's seasons (if it's a series) season: type: array items: $ref: '#/components/schemas/Season' description: Currently selected season (Specified via "seasonNumber" query parameter) description: type: string description: Title's plot example: Supervillains Harley Quinn, Bloodsport, Peacemaker and a collection of nutty cons at Belle Reve prison join the super-secret, super-shady Task Force X as they are dropped off at the remote, enemy-infused island of Corto Maltese. Image: type: object properties: url: type: string example: https://image.tmdb.org/t/p/original/jlGmlFOcfo8n5tURmhC7YVd4Iyy.jpg description: Image's URL type: type: string example: backdrop description: Image's type source: type: string example: tmdb description: Image's source Genre: type: object properties: name: type: string example: action description: Genre's slug display_name: type: string example: Action description: Genre name visible to user Keyword: type: object properties: name: type: string example: superhero description: Keyword's slug display_name: type: string example: Superhero description: Keyword name visible to user Video: type: object properties: name: type: string example: The Suicide Squad - King Shark description: Video's name thumbnail: type: string example: https://site.com/thumbnail.jpg description: Video's thumbnail URL url: type: string example: https://youtube.com/embed/JD17Usa3588 description: Video's URL type: type: string example: embed description: Video's type quality: type: string example: hd description: Video's quality source: type: string example: tmdb description: Video's source language: type: string example: en description: Video's language category: type: string example: teaser description: Video's category captions: type: array items: $ref: '#/components/schemas/Caption' description: List of captions for the video Caption: type: object properties: name: type: string example: English description: Caption's name language: type: string example: en description: Caption's language code url: type: string example: https://site.com/caption.vtt description: Caption's file URL Season: type: object properties: number: type: integer example: 1 description: Season's number release_date: type: string example: '2021-06-09T00:00:00.000000Z' description: Season's air date episode_count: type: integer example: 8 description: Number of episodes in this season poster: type: string example: https://image.tmdb.org/t/p/original/8uVqe9ThcuYVNdh4O0kuijIWMLL.jpg description: Season's primary poster URL episodes: type: array description: Only available when showing full season details. items: $ref: '#/components/schemas/Episode' Episode: type: object properties: name: type: string example: Glorious Purpose description: Episodes's name descrption: type: string example: Glorious Purpose description: 'After stealing the Tesseract in \"Avengers: Endgame,\" Loki lands before the Time Variance Authority.' poster: type: string example: https://image.tmdb.org/t/p/original/gxh0k3aADsYkt9tgkfm2kGn2qQj.jpg description: Episode's primary poster URL release_date: type: string example: '2021-06-09T00:00:00.000000Z' description: Episode's air date season_number: type: integer example: 1 description: Season number episode_number: type: integer example: 1 description: Episode number year: type: integer example: 2021 description: Episode's air year popularity: type: integer example: 5659 description: Episode's popularity rating: type: string example: 6.6 description: Episode's user rating vote_count: type: integer example: 50 description: How many users rated the episode credits: type: array description: List of credits for the episode. Only available when showing full episode details items: $ref: '#/components/schemas/TitleCredit' TitleCredit: type: object properties: name: type: string example: James Gunn description: Person name poster: type: string example: https://image.tmdb.org/t/p/original/nHr6yzPF15jQz5eBke1SDNWectu.jpg description: Person image pivot: type: object properties: job: type: string example: directing department: type: string example: directing character: type: string example: King Shar PartialPerson: type: object properties: name: type: string example: Margot Robbie description: Person's name description: type: string example: Margot Elise Robbie (born 2 July 1990) is an Australian actress and producer. She has received nominations for two Academy Awards and five BAFTA Awards. In 2017, Time magazine named her one of the 100 most influential people in the world, and in 2019, she was ranked among the world's highest-paid actresses.\n\nRobbie studied drama at Somerset College and began her career in Australian independent films in the late 2000s, before working in the soap opera Neighbours (2008–2011). After moving to Amer... description: Person's biogragphy poster: type: string example: https://image.tmdb.org/t/p/original/euDPyqLnuwaWMHajcU3oZ9uZezR.jpg description: Person's image gender: type: string example: female description: Person's gender birth_date: type: string example: '1990-07-02' description: Person's birth date death_date: type: string example: null description: Person's death date birth_place: type: string example: Dalby, Queensland, Australia description: Person's birth place imdb_id: type: string example: nm3053338 description: Person's ID on IMDb site tmdb_id: type: integer example: 234352 description: Person's ID on themoviedatabase site known_for: type: string example: acting description: Acting, directing, writing etc. adult: type: boolean example: false description: Whether it's an adult star FullPerson: allOf: - $ref: '#/components/schemas/PartialPerson' - type: object properties: credits: type: object properties: cast: type: array items: $ref: '#/components/schemas/PartialTitle' production: type: array items: $ref: '#/components/schemas/PartialTitle' knownFor: type: array items: $ref: '#/components/schemas/PartialTitle' PartialList: type: object properties: name: type: string example: My List description: List's name description: type: string example: This is my list... description: List's description public: type: boolean default: false description: Whether list is set as public created_at: type: string example: '2021-07-12T01:28:52.000000Z' description: Date list was created updated_at: type: string example: '2021-07-12T01:28:52.000000Z' description: Date list was last updated image: type: string example: https://image.tmdb.org/t/p/original/2mtQwJKVKQrZgTz49Dizb25eOQQ.jpg description: Primary image for the list FullList: allOf: - $ref: '#/components/schemas/PartialList' - type: object properties: items: allOf: - $ref: '#/components/schemas/Pagination' - type: object properties: data: type: array items: oneOf: - $ref: '#/components/schemas/PartialTitle' - $ref: '#/components/schemas/PartialPerson' - $ref: '#/components/schemas/Episode' CrupdateListPayload: type: object properties: details: type: object properties: name: type: string example: My list description: type: string nullable: true description: Short description public: type: string nullable: true default: false description: Whether this list will be set as public Review: type: object properties: body: type: string description: Review body created by the user score: type: integer example: 7 description: Review rating created_at: type: string example: '2021-07-12T01:28:52.000000Z' description: Date review was created updated_at: type: string example: '2021-07-12T01:28:52.000000Z' description: Date review was last updated image: type: string example: https://image.tmdb.org/t/p/original/2mtQwJKVKQrZgTz49Dizb25eOQQ.jpg description: Primary image for the list reviewable: oneOf: - $ref: '#/components/schemas/PartialTitle' - $ref: '#/components/schemas/Episode' CreateReviewPayload: type: object properties: mediaId: type: integer example: 1 description: ID of the title or episode mediaType: type: integer example: title enum: - title - episode review: type: string description: Review body score: type: integer example: 7 description: Review score NewsArticle: type: object properties: id: type: integer title: type: string description: Article title body: type: string description: Article body slug: type: string description: Article slug created_at: type: string example: '2021-07-12T01:28:52.000000Z' description: Date article was created updated_at: type: string example: '2021-07-12T01:28:52.000000Z' description: Date article was last updated Comment: type: object properties: id: type: integer content: type: string description: Comment content parent_id: type: integer description: Id of the comment this comment was in reply to deleted: type: boolean description: If deleted is true, comment content will not be available depth: type: integer description: How deep is this comment withtin a thread commentable: oneOf: - $ref: '#/components/schemas/PartialTitle' - $ref: '#/components/schemas/Episode' user: $ref: '#/components/schemas/User' User: type: object properties: id: type: integer format: int64 display_name: type: string avatar: type: string first_name: type: string last_name: type: string gender: type: string Tag: type: object properties: id: type: integer format: int64 example: 1 name: type: string example: favorites 401-Response: description: Unauthenticated. Either access token is not provided or is invalid. 403-Response: description: Unauthorized access. You don't have permissions required to perform this operation. 404-Response: description: Resource not found. Could not find a resource with specified name or ID. 422-Response: type: object properties: status: type: string example: error message: type: string example: 'Reason for the error' errors: type: object properties: some_data_1: type: string example: Error message for data 1 some_data_2: type: string example: Error message for data 2 securitySchemes: accessToken: type: http scheme: bearer