{"openapi":"3.1.0","info":{"title":"Manifold Markets (BYOK) API","version":"0.1.0","description":"Manifold Markets (BYOK) lets an AI assistant read your own Manifold Markets data through the Manifold Markets API with a key you supply (Manifold API key). Read-only: 10 tools (search_markets, list_markets, get_market, get_market_by_slug, get_market_probability, list_topics, get_topic, list_comments, list_bets, get_user_lite). The BYOK key travels with each request, is used for that one call only...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-manifold.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-manifold/docs"},"termsOfService":"https://connectorbay.com/byok-manifold/terms"},"servers":[{"url":"https://byok-manifold.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-manifold/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_markets":{"post":{"operationId":"search_markets","summary":"Search prediction markets by text, topic, creator, status and type, sorted by popularity, newest, liquidity, volume or c","description":"Search prediction markets by text, topic, creator, status and type, sorted by popularity, newest, liquidity, volume or close date. Use for \"Find open Manifold markets about the US election\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Search text (may be empty).","title":"Term"},"sort":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Order: most-popular (default), newest, score, daily-score, freshness-score, 24-hour-vol, liquidity, subsidy, last-updated, close-date.","title":"Sort"},"filter":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Status filter: all (default), open, closed, resolved, closing-week, closing-month, closing-day.","title":"Filter"},"contract_type":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"ALL (default), BINARY, MULTIPLE_CHOICE, DEPENDENT_MULTIPLE_CHOICE, INDEPENDENT_MULTIPLE_CHOICE, NUMBER, PSEUDO_NUMERIC, POLL.","title":"Contract Type"},"topic_slug":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only markets tagged with the topic having this slug.","title":"Topic Slug"},"creator_id":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only markets created by the user with this ID.","title":"Creator Id"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Number of results to return (1 to 100, default 20).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Number of results to skip (up to 1000).","title":"Offset"}},"title":"search_marketsArguments","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_markets":{"post":{"operationId":"list_markets","summary":"List markets ordered by creation (or update, bet, comment) time, with cursor pagination by market ID. Use for \"List the ","description":"List markets ordered by creation (or update, bet, comment) time, with cursor pagination by market ID. Use for \"List the 10 newest Manifold markets\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Number of results to return (1 to 1000, default 20).","title":"Limit"},"sort":{"anyOf":[{"enum":["created-time","updated-time","last-bet-time","last-comment-time"],"type":"string"},{"type":"null"}],"default":null,"description":"created-time (default), updated-time, last-bet-time or last-comment-time.","title":"Sort"},"order":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"asc or desc (default).","title":"Order"},"before":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Market ID to start after, for paging.","title":"Before"},"user_id":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only markets created by this user ID.","title":"User Id"},"group_id":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only markets tagged with this topic ID.","title":"Group Id"}},"title":"list_marketsArguments","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_market":{"post":{"operationId":"get_market","summary":"Get one market by ID with its probability, volume, resolution, answers (for multiple choice) and plain-text description.","description":"Get one market by ID with its probability, volume, resolution, answers (for multiple choice) and plain-text description. Use for \"Show the details of market EvIhzcJXwhL0HavaszD7\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"market_id":{"description":"Market ID.","maxLength":200,"title":"Market Id","type":"string"}},"required":["market_id"],"title":"get_marketArguments","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_market_by_slug":{"post":{"operationId":"get_market_by_slug","summary":"Get one market by its URL slug with probability, volume, resolution, answers and plain-text description. Use for \"Show t","description":"Get one market by its URL slug with probability, volume, resolution, answers and plain-text description. Use for \"Show the market will-i-write-a-new-blog-post-today\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"market_slug":{"description":"Market slug (the last part of the market URL).","maxLength":200,"title":"Market Slug","type":"string"}},"required":["market_slug"],"title":"get_market_by_slugArguments","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_market_probability":{"post":{"operationId":"get_market_probability","summary":"Get the current probability of a market (or per-answer probabilities for multiple choice), cached at most 1 second. Use ","description":"Get the current probability of a market (or per-answer probabilities for multiple choice), cached at most 1 second. Use for \"What is the current probability on market 9t61v9e7x4\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"market_id":{"description":"Market ID.","maxLength":200,"title":"Market Id","type":"string"}},"required":["market_id"],"title":"get_market_probabilityArguments","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_topics":{"post":{"operationId":"list_topics","summary":"List public topics (market tags) newest first, 500 at a time, with member counts and importance score. Use for \"List the","description":"List public topics (market tags) newest first, 500 at a time, with member counts and importance score. Use for \"List the Manifold topics\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"before_time":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only topics created before this millisecond timestamp.","title":"Before Time"}},"title":"list_topicsArguments","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_topic":{"post":{"operationId":"get_topic","summary":"Get one topic by slug: name, description, member count and importance. Use for \"Tell me about the politics topic\".","description":"Get one topic by slug: name, description, member count and importance. Use for \"Tell me about the politics topic\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"slug":{"description":"Topic slug.","maxLength":200,"title":"Slug","type":"string"}},"required":["slug"],"title":"get_topicArguments","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_comments":{"post":{"operationId":"list_comments","summary":"List public comments on a market (by ID or slug) or by a user, newest first by default. Use for \"Show the latest comment","description":"List public comments on a market (by ID or slug) or by a user, newest first by default. Use for \"Show the latest comments on market EvIhzcJXwhL0HavaszD7\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"contract_id":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Market ID, for example 'EvIhzcJXwhL0HavaszD7' (the id field of a market).","title":"Contract Id"},"contract_slug":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Market slug: the part of the market URL after the creator's username.","title":"Contract Slug"},"user_id":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only comments by this user ID.","title":"User Id"},"order":{"anyOf":[{"enum":["likes","newest","oldest"],"type":"string"},{"type":"null"}],"default":null,"description":"likes, newest or oldest.","title":"Order"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Number of results to return (1 to 1000, default 50).","title":"Limit"},"page":{"anyOf":[{"maximum":1000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Page number for use with limit.","title":"Page"}},"title":"list_commentsArguments","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_bets":{"post":{"operationId":"list_bets","summary":"List public bets, newest first, filtered by market (ID or slug) and/or bettor, with probability before and after each be","description":"List public bets, newest first, filtered by market (ID or slug) and/or bettor, with probability before and after each bet. Use for \"Show the latest bets on market EvIhzcJXwhL0HavaszD7\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"contract_id":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Market ID, for example 'EvIhzcJXwhL0HavaszD7' (the id field of a market).","title":"Contract Id"},"contract_slug":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Market slug: the part of the market URL after the creator's username.","title":"Contract Slug"},"user_id":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only bets by this user ID.","title":"User Id"},"username":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only bets by this username.","title":"Username"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Number of results to return (1 to 1000, default 50).","title":"Limit"},"before_time":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only bets before this millisecond timestamp.","title":"Before Time"},"after_time":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only bets after this millisecond timestamp.","title":"After Time"},"order":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"asc or desc (default).","title":"Order"}},"title":"list_betsArguments","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_user_lite":{"post":{"operationId":"get_user_lite","summary":"Get basic public display info of a user (id, name, username, avatar) by username. Use for \"Who is the Manifold user Aust","description":"Get basic public display info of a user (id, name, username, avatar) by username. Use for \"Who is the Manifold user Austin\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"username":{"description":"Manifold username.","maxLength":200,"title":"Username","type":"string"}},"required":["username"],"title":"get_user_liteArguments","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}}}}