{"openapi":"3.1.0","info":{"title":"Zixflow AI (BYOK) API","version":"0.1.0","description":"Zixflow AI (BYOK) lets an AI assistant read your own Zixflow AI data through the Zixflow AI API with a key you supply (Zixflow AI API key (Messaging permission)). Read-only: 6 tools (list_whatsapp_accounts, list_whatsapp_templates, get_whatsapp_template_variables, get_rcs_template_variables, get_message_reports_summary, get_sendflow_reports_summary). The BYOK key travels with each request, is...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-zixflow-ai.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-zixflow-ai/docs"},"termsOfService":"https://connectorbay.com/byok-zixflow-ai/terms"},"servers":[{"url":"https://byok-zixflow-ai.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-zixflow-ai/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_whatsapp_accounts":{"post":{"operationId":"list_whatsapp_accounts","summary":"List the WhatsApp Business accounts of the workspace with phone ID, WABA id, display number, verified name, quality rati","description":"List the WhatsApp Business accounts of the workspace with phone ID, WABA id, display number, verified name, quality rating and daily messaging limit. Use for \"What is the quality rating and daily limit of my WhatsApp numbers on Zixflow\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_whatsapp_accountsArguments","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_whatsapp_templates":{"post":{"operationId":"list_whatsapp_templates","summary":"List the WhatsApp templates of one phone ID with name, language, category, approval status and components, with paging. ","description":"List the WhatsApp templates of one phone ID with name, language, category, approval status and components, with paging. Use for \"Which WhatsApp templates are approved on my Zixflow number\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"phone_id":{"description":"WhatsApp Phone ID (not the phone number; from list_whatsapp_accounts).","maxLength":40,"title":"Phone Id","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Templates per page.","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many templates to skip.","title":"Offset"}},"required":["phone_id"],"title":"list_whatsapp_templatesArguments","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_whatsapp_template_variables":{"post":{"operationId":"get_whatsapp_template_variables","summary":"Get the variable keys, labels and types (text, image URL, OTP and more) a WhatsApp template needs. Use for \"Which variab","description":"Get the variable keys, labels and types (text, image URL, OTP and more) a WhatsApp template needs. Use for \"Which variables does my WhatsApp template order_confirmation need on Zixflow\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"phone_id":{"description":"WhatsApp Phone ID (not the phone number; from list_whatsapp_accounts).","maxLength":40,"title":"Phone Id","type":"string"},"template_name":{"description":"Template name.","maxLength":120,"title":"Template Name","type":"string"},"language":{"description":"Template language code, for example en or en_US.","maxLength":12,"title":"Language","type":"string"}},"required":["phone_id","template_name","language"],"title":"get_whatsapp_template_variablesArguments","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_rcs_template_variables":{"post":{"operationId":"get_rcs_template_variables","summary":"Get the variable keys and types an RCS template needs. Use for \"Which variables does my RCS template need on Zixflow\".","description":"Get the variable keys and types an RCS template needs. Use for \"Which variables does my RCS template need on Zixflow\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"bot_id":{"description":"RCS bot id.","maxLength":80,"title":"Bot Id","type":"string"},"template_name":{"description":"RCS template name.","maxLength":120,"title":"Template Name","type":"string"}},"required":["bot_id","template_name"],"title":"get_rcs_template_variablesArguments","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_message_reports_summary":{"post":{"operationId":"get_message_reports_summary","summary":"Get daily counts of messages submitted, sent, delivered, failed, read, clicked and cost for one channel over a date rang","description":"Get daily counts of messages submitted, sent, delivered, failed, read, clicked and cost for one channel over a date range. Recipients are not returned. Use for \"How many Zixflow WhatsApp messages were delivered and read last week and what did they cost\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"start_date":{"description":"Start of the range, RFC3339, for example 2026-10-01T00:00:00Z.","maxLength":25,"title":"Start Date","type":"string"},"end_date":{"description":"End of the range, RFC3339.","maxLength":25,"title":"End Date","type":"string"},"channel":{"description":"Channel to report on.","enum":["sms","whatsapp","rcs","email","push"],"title":"Channel","type":"string"},"type":{"anyOf":[{"enum":["campaign","api","flow"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this delivery type.","title":"Type"}},"required":["start_date","end_date","channel"],"title":"get_message_reports_summaryArguments","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_sendflow_reports_summary":{"post":{"operationId":"get_sendflow_reports_summary","summary":"Get aggregated metrics of one Sendflow: requests, submitted, sent, delivered, acknowledged, failed and cost, optionally ","description":"Get aggregated metrics of one Sendflow: requests, submitted, sent, delivered, acknowledged, failed and cost, optionally by date, channel and country. Use for \"How did my Zixflow Sendflow perform last month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"flow_id":{"description":"Sendflow id.","maxLength":60,"title":"Flow Id","type":"string"},"start_date":{"anyOf":[{"maxLength":25,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the range, RFC3339 or YYYY-MM-DD.","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":25,"type":"string"},{"type":"null"}],"default":null,"description":"End of the range, RFC3339 or YYYY-MM-DD.","title":"End Date"},"channels":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated channels: sms, email, whatsapp, rcs.","title":"Channels"},"countries":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated ISO country codes, for example US,IN.","title":"Countries"}},"required":["flow_id"],"title":"get_sendflow_reports_summaryArguments","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}}}}