{"openapi":"3.1.0","info":{"title":"Typebot (BYOK) API","version":"0.1.0","description":"Typebot (BYOK) lets an AI assistant read your own Typebot data through the Typebot API with a key you supply (Typebot API token). Read-only: 8 tools (list_workspaces, get_workspace, list_typebots, get_typebot, list_folders, get_typebot_stats, get_usage, list_invoices). 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...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-typebot.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-typebot/docs"},"termsOfService":"https://connectorbay.com/byok-typebot/terms"},"servers":[{"url":"https://byok-typebot.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-typebot/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/list_workspaces":{"post":{"operationId":"list_workspaces","summary":"List the workspaces your token can access with id, name and plan. Use for \"Which Typebot workspaces do I have and on wha","description":"List the workspaces your token can access with id, name and plan. Use for \"Which Typebot workspaces do I have and on what plan\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_workspacesArguments","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_workspace":{"post":{"operationId":"get_workspace","summary":"Get one workspace by id: name, plan, whether it is suspended, past due or verified, plus your access mode. Billing ids a","description":"Get one workspace by id: name, plan, whether it is suspended, past due or verified, plus your access mode. Billing ids are left out. Use for \"Is Typebot workspace clwx1m2n30000abcd1234efgh past due\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_id":{"description":"Workspace id from list_workspaces.","maxLength":60,"title":"Workspace Id","type":"string"}},"required":["workspace_id"],"title":"get_workspaceArguments","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_typebots":{"post":{"operationId":"list_typebots","summary":"List the chatbots in a workspace (optionally one folder) with id, name, creation date, published bot id and your access ","description":"List the chatbots in a workspace (optionally one folder) with id, name, creation date, published bot id and your access right. Use for \"Which chatbots do we have in Typebot\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_id":{"description":"Workspace id from list_workspaces.","maxLength":60,"title":"Workspace Id","type":"string"},"folder_id":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only bots in this folder id from list_folders.","title":"Folder Id"}},"required":["workspace_id"],"title":"list_typebotsArguments","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_typebot":{"post":{"operationId":"get_typebot","summary":"Get one chatbot's details by id: name, version, public id, custom domain, folder, workspace, creation and update times a","description":"Get one chatbot's details by id: name, version, public id, custom domain, folder, workspace, creation and update times and whether it is archived or closed. The flow itself is left out. Use for \"Is Typebot bot clwx1m2n30001abcd1234efgh closed\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"typebot_id":{"description":"Bot id from list_typebots.","maxLength":60,"title":"Typebot Id","type":"string"}},"required":["typebot_id"],"title":"get_typebotArguments","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_folders":{"post":{"operationId":"list_folders","summary":"List the folders in a workspace (optionally inside a parent folder) with id, name and creation date. Use for \"Which fold","description":"List the folders in a workspace (optionally inside a parent folder) with id, name and creation date. Use for \"Which folders exist in our Typebot workspace\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_id":{"description":"Workspace id from list_workspaces.","maxLength":60,"title":"Workspace Id","type":"string"},"parent_folder_id":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only folders inside this parent folder id.","title":"Parent Folder Id"}},"required":["workspace_id"],"title":"list_foldersArguments","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_typebot_stats":{"post":{"operationId":"get_typebot_stats","summary":"Show a bot's views, starts and completed chats for a time window. Use for \"How many people completed Typebot bot clwx1m2","description":"Show a bot's views, starts and completed chats for a time window. Use for \"How many people completed Typebot bot clwx1m2n30001abcd1234efgh in the last 30 days\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"typebot_id":{"description":"Bot id from list_typebots.","maxLength":60,"title":"Typebot Id","type":"string"},"time_filter":{"anyOf":[{"enum":["today","last7Days","last30Days","monthToDate","lastMonth","yearToDate","allTime"],"type":"string"},{"type":"null"}],"default":null,"description":"Time window; the API default is last7Days.","title":"Time Filter"},"time_zone":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"IANA time zone for the window, for example Europe/Paris.","title":"Time Zone"}},"required":["typebot_id"],"title":"get_typebot_statsArguments","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_usage":{"post":{"operationId":"get_usage","summary":"Show how many chats a workspace has used in the current billing period and when the count resets. Use for \"How many Type","description":"Show how many chats a workspace has used in the current billing period and when the count resets. Use for \"How many Typebot chats have we used this month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_id":{"description":"Workspace id from list_workspaces.","maxLength":60,"title":"Workspace Id","type":"string"}},"required":["workspace_id"],"title":"get_usageArguments","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_invoices":{"post":{"operationId":"list_invoices","summary":"List a workspace's invoices with id, amount, currency and date. Use for \"What have we been invoiced by Typebot\".","description":"List a workspace's invoices with id, amount, currency and date. Use for \"What have we been invoiced by Typebot\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_id":{"description":"Workspace id from list_workspaces.","maxLength":60,"title":"Workspace Id","type":"string"}},"required":["workspace_id"],"title":"list_invoicesArguments","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}}}}