{"openapi":"3.1.0","info":{"title":"Trakt (BYOK) API","version":"0.1.0","description":"Trakt (BYOK) lets an AI assistant read your own Trakt data through the Trakt API with a key you supply (Trakt API client id). Read-only: 11 tools (search, trending_movies, popular_movies, trending_shows, popular_shows, get_movie, get_show, related_movies, next_episode, calendar_shows, list_genres). The BYOK key travels with each request, is used for that one call only and is never stored, logged...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-trakt.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-trakt/docs"},"termsOfService":"https://connectorbay.com/byok-trakt/terms"},"servers":[{"url":"https://byok-trakt.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-trakt/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/search":{"post":{"operationId":"search","summary":"Search Trakt for movies, shows or people by text; returns type, match score, title, year and ids. Use the ids with get_m","description":"Search Trakt for movies, shows or people by text; returns type, match score, title, year and ids. Use the ids with get_movie or get_show. Use for \"Search Trakt for the show Severance\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"type":{"description":"What to search: movie, show or person (one value).","enum":["movie","show","person"],"title":"Type","type":"string"},"query":{"description":"Text to search for, for example 'Severance'.","maxLength":200,"title":"Query","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return (1 to 100).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["type","query"],"title":"searchArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/trending_movies":{"post":{"operationId":"trending_movies","summary":"List movies being watched on Trakt right now, with the current number of watchers, title, year, rating and ids. Use for ","description":"List movies being watched on Trakt right now, with the current number of watchers, title, year, rating and ids. Use for \"What movies are trending on Trakt\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"extended":{"anyOf":[{"enum":["full","images"],"type":"string"},{"type":"null"}],"default":"full","description":"Detail level: 'full' returns overview, rating, runtime and genres; 'images' returns only title, year, ids and image URLs.","title":"Extended"},"years":{"anyOf":[{"maxLength":9,"type":"string"},{"type":"null"}],"default":null,"description":"Only titles from this year or year range, for example '2024' or '2020-2024'.","title":"Years"},"genres":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only titles in these genre slugs, comma separated (OR), for example 'action,comedy'. See list_genres for slugs.","title":"Genres"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return (1 to 100).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"trending_moviesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/popular_movies":{"post":{"operationId":"popular_movies","summary":"List the most popular movies on Trakt (a ranking of ratings and watch activity), with title, year, rating and ids. Use f","description":"List the most popular movies on Trakt (a ranking of ratings and watch activity), with title, year, rating and ids. Use for \"What are the most popular movies on Trakt\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"extended":{"anyOf":[{"enum":["full","images"],"type":"string"},{"type":"null"}],"default":"full","description":"Detail level: 'full' returns overview, rating, runtime and genres; 'images' returns only title, year, ids and image URLs.","title":"Extended"},"years":{"anyOf":[{"maxLength":9,"type":"string"},{"type":"null"}],"default":null,"description":"Only titles from this year or year range, for example '2024' or '2020-2024'.","title":"Years"},"genres":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only titles in these genre slugs, comma separated (OR), for example 'action,comedy'. See list_genres for slugs.","title":"Genres"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return (1 to 100).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"popular_moviesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/trending_shows":{"post":{"operationId":"trending_shows","summary":"List TV shows being watched on Trakt right now, with the current number of watchers, title, year, network, rating and id","description":"List TV shows being watched on Trakt right now, with the current number of watchers, title, year, network, rating and ids. Use for \"What TV shows are trending on Trakt\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"extended":{"anyOf":[{"enum":["full","images"],"type":"string"},{"type":"null"}],"default":"full","description":"Detail level: 'full' returns overview, rating, runtime and genres; 'images' returns only title, year, ids and image URLs.","title":"Extended"},"years":{"anyOf":[{"maxLength":9,"type":"string"},{"type":"null"}],"default":null,"description":"Only titles from this year or year range, for example '2024' or '2020-2024'.","title":"Years"},"genres":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only titles in these genre slugs, comma separated (OR), for example 'action,comedy'. See list_genres for slugs.","title":"Genres"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return (1 to 100).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"trending_showsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/popular_shows":{"post":{"operationId":"popular_shows","summary":"List the most popular TV shows on Trakt, with title, year, network, rating and ids. Use for \"What are the most popular T","description":"List the most popular TV shows on Trakt, with title, year, network, rating and ids. Use for \"What are the most popular TV shows on Trakt\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"extended":{"anyOf":[{"enum":["full","images"],"type":"string"},{"type":"null"}],"default":"full","description":"Detail level: 'full' returns overview, rating, runtime and genres; 'images' returns only title, year, ids and image URLs.","title":"Extended"},"years":{"anyOf":[{"maxLength":9,"type":"string"},{"type":"null"}],"default":null,"description":"Only titles from this year or year range, for example '2024' or '2020-2024'.","title":"Years"},"genres":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only titles in these genre slugs, comma separated (OR), for example 'action,comedy'. See list_genres for slugs.","title":"Genres"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return (1 to 100).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"popular_showsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_movie":{"post":{"operationId":"get_movie","summary":"Get one movie by Trakt id, slug or IMDB id: overview, tagline, release date, runtime, rating, genres and external ids. U","description":"Get one movie by Trakt id, slug or IMDB id: overview, tagline, release date, runtime, rating, genres and external ids. Use for \"Tell me about the movie Tron: Legacy on Trakt\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"movie_id":{"description":"Trakt id, Trakt slug or IMDB id of the movie, for example 'tron-legacy-2010' or 'tt1104001'.","maxLength":80,"title":"Movie Id","type":"string"},"extended":{"anyOf":[{"enum":["full","images"],"type":"string"},{"type":"null"}],"default":"full","description":"Detail level: 'full' returns overview, rating, runtime and genres; 'images' returns only title, year, ids and image URLs.","title":"Extended"}},"required":["movie_id"],"title":"get_movieArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_show":{"post":{"operationId":"get_show","summary":"Get one TV show by Trakt id, slug or IMDB id: overview, network, status, air schedule, episode count, rating, genres and","description":"Get one TV show by Trakt id, slug or IMDB id: overview, network, status, air schedule, episode count, rating, genres and external ids. Use for \"Tell me about Game of Thrones on Trakt\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"show_id":{"description":"Trakt id, Trakt slug or IMDB id of the show, for example 'game-of-thrones'.","maxLength":80,"title":"Show Id","type":"string"},"extended":{"anyOf":[{"enum":["full","images"],"type":"string"},{"type":"null"}],"default":"full","description":"Detail level: 'full' returns overview, rating, runtime and genres; 'images' returns only title, year, ids and image URLs.","title":"Extended"}},"required":["show_id"],"title":"get_showArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/related_movies":{"post":{"operationId":"related_movies","summary":"List movies that Trakt considers related to a given movie, with title, year, rating and ids. Use for \"What movies are re","description":"List movies that Trakt considers related to a given movie, with title, year, rating and ids. Use for \"What movies are related to Tron: Legacy\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"movie_id":{"description":"Trakt id, Trakt slug or IMDB id of the movie, for example 'tron-legacy-2010' or 'tt1104001'.","maxLength":80,"title":"Movie Id","type":"string"},"extended":{"anyOf":[{"enum":["full","images"],"type":"string"},{"type":"null"}],"default":"full","description":"Detail level: 'full' returns overview, rating, runtime and genres; 'images' returns only title, year, ids and image URLs.","title":"Extended"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return (1 to 100).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["movie_id"],"title":"related_moviesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/next_episode":{"post":{"operationId":"next_episode","summary":"Get the next episode of a TV show that has not aired yet: season, number, title and first air time. The answer is empty ","description":"Get the next episode of a TV show that has not aired yet: season, number, title and first air time. The answer is empty (HTTP 204) when none is scheduled. Use for \"When does the next episode of Severance air\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"show_id":{"description":"Trakt id, Trakt slug or IMDB id of the show, for example 'game-of-thrones'.","maxLength":80,"title":"Show Id","type":"string"},"extended":{"anyOf":[{"enum":["full","images"],"type":"string"},{"type":"null"}],"default":"full","description":"Detail level: 'full' returns overview, rating, runtime and genres; 'images' returns only title, year, ids and image URLs.","title":"Extended"}},"required":["show_id"],"title":"next_episodeArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/calendar_shows":{"post":{"operationId":"calendar_shows","summary":"List episodes airing on the global TV calendar (all shows, not just yours) from a start date for a number of days; times","description":"List episodes airing on the global TV calendar (all shows, not just yours) from a start date for a number of days; times are UTC. Use for \"Which TV episodes air this week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"start_date":{"description":"First day of the window as YYYY-MM-DD, for example '2026-10-16'.","maxLength":10,"title":"Start Date","type":"string"},"days":{"description":"Number of days to include (1 to 33).","maximum":33,"minimum":1,"title":"Days","type":"integer"}},"required":["start_date","days"],"title":"calendar_showsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_genres":{"post":{"operationId":"list_genres","summary":"List the genre names and slugs Trakt uses for movies or shows; the slugs are the values for the genres filter of the tre","description":"List the genre names and slugs Trakt uses for movies or shows; the slugs are the values for the genres filter of the trending and popular tools. Use for \"What genres does Trakt have for movies\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"type":{"description":"Which genre list: movies or shows.","enum":["movies","shows"],"title":"Type","type":"string"}},"required":["type"],"title":"list_genresArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}