{"openapi":"3.1.0","info":{"title":"TMDB Catalog (BYOK) API","version":"0.1.0","description":"TMDB Catalog (BYOK) lets an AI assistant read your own TMDB Catalog data through the TMDB Catalog API with a key you supply (API read access token). Read-only: 11 tools (search_collections, get_collection, search_companies, get_company, get_network, search_keywords, list_keyword_movies, list_countries, list_languages, list_watch_provider_regions, list_jobs). The BYOK key travels with each...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-tmdb-catalog.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-tmdb-catalog/docs"},"termsOfService":"https://connectorbay.com/byok-tmdb-catalog/terms"},"servers":[{"url":"https://byok-tmdb-catalog.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-tmdb-catalog/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_collections":{"post":{"operationId":"search_collections","summary":"Search movie collections (franchises such as a trilogy) by name; 20 per page. Use the id with get_collection. Use for \"F","description":"Search movie collections (franchises such as a trilogy) by name; 20 per page. Use the id with get_collection. Use for \"Find the Star Wars collection on TMDB\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Collection name or part of it, for example 'Star Wars'.","maxLength":200,"title":"Query","type":"string"},"include_adult":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include adult titles.","title":"Include Adult"},"language":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":"en-US","description":"Language of text as an ISO 639-1 code with optional region, for example 'en-US' or 'de-DE'.","title":"Language"},"page":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1 (20 results per page).","title":"Page"}},"required":["query"],"title":"search_collectionsArguments","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_collection":{"post":{"operationId":"get_collection","summary":"Get a movie collection: name, overview and its movies (parts) with release date and rating. Use for \"Which movies are in","description":"Get a movie collection: name, overview and its movies (parts) with release date and rating. Use for \"Which movies are in TMDB collection 10\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"collection_id":{"description":"Numeric TMDB collection id from search_collections, for example 10.","minimum":1,"title":"Collection Id","type":"integer"},"language":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":"en-US","description":"Language of text as an ISO 639-1 code with optional region, for example 'en-US' or 'de-DE'.","title":"Language"}},"required":["collection_id"],"title":"get_collectionArguments","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/search_companies":{"post":{"operationId":"search_companies","summary":"Search production companies by name; 20 per page. Use for \"Find the company Pixar on TMDB\".","description":"Search production companies by name; 20 per page. Use for \"Find the company Pixar on TMDB\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Company name or part of it, for example 'Pixar'.","maxLength":200,"title":"Query","type":"string"},"page":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1 (20 results per page).","title":"Page"}},"required":["query"],"title":"search_companiesArguments","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_company":{"post":{"operationId":"get_company","summary":"Get a production company: description, headquarters, homepage, origin country and parent company. Use for \"Where is TMDB","description":"Get a production company: description, headquarters, homepage, origin country and parent company. Use for \"Where is TMDB company 3 headquartered\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"company_id":{"description":"Numeric TMDB company id, for example 3 for Pixar.","minimum":1,"title":"Company Id","type":"integer"}},"required":["company_id"],"title":"get_companyArguments","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_network":{"post":{"operationId":"get_network","summary":"Get a TV network: headquarters, homepage and origin country. Use for \"Where is TMDB network 49 (HBO) based\".","description":"Get a TV network: headquarters, homepage and origin country. Use for \"Where is TMDB network 49 (HBO) based\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"network_id":{"description":"Numeric TMDB network id, for example 49 for HBO.","minimum":1,"title":"Network Id","type":"integer"}},"required":["network_id"],"title":"get_networkArguments","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/search_keywords":{"post":{"operationId":"search_keywords","summary":"Search TMDB keywords by name; 20 per page. Use the id with list_keyword_movies. Use for \"Find the TMDB keyword 'time tra","description":"Search TMDB keywords by name; 20 per page. Use the id with list_keyword_movies. Use for \"Find the TMDB keyword 'time travel'\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Keyword name or part of it, for example 'time travel'.","maxLength":200,"title":"Query","type":"string"},"page":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1 (20 results per page).","title":"Page"}},"required":["query"],"title":"search_keywordsArguments","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_keyword_movies":{"post":{"operationId":"list_keyword_movies","summary":"List movies tagged with one keyword, 20 per page. Use for \"Which movies have the keyword 4379 (time travel)\".","description":"List movies tagged with one keyword, 20 per page. Use for \"Which movies have the keyword 4379 (time travel)\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"keyword_id":{"description":"Numeric TMDB keyword id from search_keywords, for example 4379.","minimum":1,"title":"Keyword Id","type":"integer"},"include_adult":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include adult titles.","title":"Include Adult"},"language":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":"en-US","description":"Language of text as an ISO 639-1 code with optional region, for example 'en-US' or 'de-DE'.","title":"Language"},"page":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1 (20 results per page).","title":"Page"}},"required":["keyword_id"],"title":"list_keyword_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/list_countries":{"post":{"operationId":"list_countries","summary":"List the countries (ISO 3166-1 codes) TMDB uses, with English and native names. Use for \"What country codes does TMDB us","description":"List the countries (ISO 3166-1 codes) TMDB uses, with English and native names. Use for \"What country codes does TMDB use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"language":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":"en-US","description":"Language of text as an ISO 639-1 code with optional region, for example 'en-US' or 'de-DE'.","title":"Language"}},"title":"list_countriesArguments","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_languages":{"post":{"operationId":"list_languages","summary":"List the languages (ISO 639-1 codes) TMDB uses, with English and native names. Use for \"What language codes does TMDB us","description":"List the languages (ISO 639-1 codes) TMDB uses, with English and native names. Use for \"What language codes does TMDB use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_languagesArguments","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_watch_provider_regions":{"post":{"operationId":"list_watch_provider_regions","summary":"List the countries for which TMDB has streaming-provider (where to watch) data. Use for \"In which countries does TMDB kn","description":"List the countries for which TMDB has streaming-provider (where to watch) data. Use for \"In which countries does TMDB know streaming providers\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"language":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":"en-US","description":"Language of text as an ISO 639-1 code with optional region, for example 'en-US' or 'de-DE'.","title":"Language"}},"title":"list_watch_provider_regionsArguments","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_jobs":{"post":{"operationId":"list_jobs","summary":"List the crew departments and the job titles TMDB uses in each (Directing, Writing, Sound ...). Use for \"What crew jobs ","description":"List the crew departments and the job titles TMDB uses in each (Directing, Writing, Sound ...). Use for \"What crew jobs does TMDB list for each department\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_jobsArguments","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}}}}