{"openapi":"3.1.0","info":{"title":"Disqus (BYOK) API","version":"0.1.0","description":"Disqus (BYOK) lets an AI assistant read your own Disqus data through the Disqus API with a key you supply (Disqus API secret key). Read-only: 6 tools (get_forum, list_forum_threads, list_forum_categories, get_thread, list_threads, list_trending_threads). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it is only ever sent to...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-disqus.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-disqus/docs"},"termsOfService":"https://connectorbay.com/byok-disqus/terms"},"servers":[{"url":"https://byok-disqus.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-disqus/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/get_forum":{"post":{"operationId":"get_forum","summary":"Get a Disqus forum (site) by its short name: id and display name. Use for \"What is the display name of the Disqus forum ","description":"Get a Disqus forum (site) by its short name: id and display name. Use for \"What is the display name of the Disqus forum bobross\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"forum":{"description":"Forum id (also called the short name), for example 'bobross'.","maxLength":100,"title":"Forum","type":"string"}},"required":["forum"],"title":"get_forumArguments","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_forum_threads":{"post":{"operationId":"list_forum_threads","summary":"List the comment threads of a forum, newest first by default, with title, link, comment count, likes, dislikes and open ","description":"List the comment threads of a forum, newest first by default, with title, link, comment count, likes, dislikes and open or closed state. Use for \"What are the latest discussion threads on forum bobross\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"forum":{"description":"Forum id (also called the short name), for example 'bobross'.","maxLength":100,"title":"Forum","type":"string"},"since":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only threads created after this Unix timestamp or ISO datetime.","title":"Since"},"after":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only threads after this Unix timestamp or ISO datetime.","title":"After"},"include":{"anyOf":[{"enum":["open","closed","killed"],"type":"string"},{"type":"null"}],"default":null,"description":"Thread state to include: open, closed or killed (default open and closed).","title":"Include"},"order":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":"desc","description":"Sort order by creation time: asc or desc.","title":"Order"},"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from cursor.next of the previous page.","title":"Cursor"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many results to return (1 to 100).","title":"Limit"}},"required":["forum"],"title":"list_forum_threadsArguments","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_forum_categories":{"post":{"operationId":"list_forum_categories","summary":"List the categories of a forum with id, title, order and whether each is the default. Use for \"Which categories does the","description":"List the categories of a forum with id, title, order and whether each is the default. Use for \"Which categories does the Disqus forum bobross have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"forum":{"description":"Forum id (also called the short name), for example 'bobross'.","maxLength":100,"title":"Forum","type":"string"},"order":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":"asc","description":"Sort order: asc or desc.","title":"Order"},"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from cursor.next of the previous page.","title":"Cursor"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many results to return (1 to 100).","title":"Limit"}},"required":["forum"],"title":"list_forum_categoriesArguments","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_thread":{"post":{"operationId":"get_thread","summary":"Get one comment thread by thread id, or by your own identifier (with forum) or page URL (with forum). Returns title, lin","description":"Get one comment thread by thread id, or by your own identifier (with forum) or page URL (with forum). Returns title, link, comment count, likes and state. Use for \"How many comments does thread 1 have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"thread":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Thread id (a number). Leave empty when using thread_ident or thread_link.","title":"Thread"},"thread_ident":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Your own thread identifier; also pass forum.","title":"Thread Ident"},"thread_link":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"The page URL the thread belongs to; also pass forum.","title":"Thread Link"},"forum":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Forum id; needed with thread_ident or thread_link.","title":"Forum"}},"title":"get_threadArguments","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_threads":{"post":{"operationId":"list_threads","summary":"List threads across forums or categories, filtered by forum, category or thread id, newest first by default. Use for \"Li","description":"List threads across forums or categories, filtered by forum, category or thread id, newest first by default. Use for \"List threads in category 1 of forum bobross\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"forum":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Forum id to list threads of.","title":"Forum"},"category":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Category id to list threads of.","title":"Category"},"since":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only threads created after this Unix timestamp or ISO datetime.","title":"Since"},"include":{"anyOf":[{"enum":["open","closed","killed"],"type":"string"},{"type":"null"}],"default":null,"description":"Thread state to include: open, closed or killed (default open and closed).","title":"Include"},"order":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":"desc","description":"Sort order by creation time: asc or desc.","title":"Order"},"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from cursor.next of the previous page.","title":"Cursor"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many results to return (1 to 100).","title":"Limit"}},"title":"list_threadsArguments","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_trending_threads":{"post":{"operationId":"list_trending_threads","summary":"List currently trending threads (at most 10), optionally for one forum, with comment count, score and likes. Use for \"Wh","description":"List currently trending threads (at most 10), optionally for one forum, with comment count, score and likes. Use for \"What are the trending Disqus threads on forum bobross\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"forum":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Forum id to restrict trends to.","title":"Forum"},"limit":{"anyOf":[{"maximum":10,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many trending threads to return (1 to 10).","title":"Limit"}},"title":"list_trending_threadsArguments","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}}}}