{"openapi":"3.1.0","info":{"title":"Telnyx WhatsApp (BYOK) API","version":"0.1.0","description":"Telnyx WhatsApp (BYOK) lets an AI assistant read your own Telnyx WhatsApp data through the Telnyx WhatsApp API with a key you supply (API key (V2)). Read-only: 10 tools (list_whatsapp_accounts, get_whatsapp_account, get_whatsapp_account_settings, list_account_phone_numbers, list_whatsapp_phone_numbers, get_whatsapp_phone_number, get_whatsapp_calling_settings, get_whatsapp_business_profile,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-telnyx-whatsapp.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-telnyx-whatsapp/docs"},"termsOfService":"https://connectorbay.com/byok-telnyx-whatsapp/terms"},"servers":[{"url":"https://byok-telnyx-whatsapp.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-telnyx-whatsapp/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 WhatsApp Business Accounts with status, business verification status, account review status, country and number of ","description":"List WhatsApp Business Accounts with status, business verification status, account review status, country and number of registered phone numbers. Use for \"Which WhatsApp Business accounts do I have on Telnyx and are they verified\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page_size":{"anyOf":[{"maximum":250,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many items per page (1 to 250, default 20).","title":"Page Size"},"page_number":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page Number"}},"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/get_whatsapp_account":{"post":{"operationId":"get_whatsapp_account","summary":"Get one WhatsApp Business Account: status, business verification status, account review status, country and number count","description":"Get one WhatsApp Business Account: status, business verification status, account review status, country and number count. Use for \"What is the review status of my Telnyx WhatsApp Business account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"waba_record_id":{"description":"WhatsApp Business Account record ID (UUID) from the account list (not the Meta WABA ID).","maxLength":64,"title":"Waba Record Id","type":"string"}},"required":["waba_record_id"],"title":"get_whatsapp_accountArguments","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_account_settings":{"post":{"operationId":"get_whatsapp_account_settings","summary":"Get the settings of a WhatsApp Business Account: time zone, webhook URLs, whether the webhook is enabled and which event","description":"Get the settings of a WhatsApp Business Account: time zone, webhook URLs, whether the webhook is enabled and which events it receives. Use for \"Where does my Telnyx WhatsApp account send webhooks\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"waba_record_id":{"description":"WhatsApp Business Account record ID (UUID) from the account list (not the Meta WABA ID).","maxLength":64,"title":"Waba Record Id","type":"string"}},"required":["waba_record_id"],"title":"get_whatsapp_account_settingsArguments","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_account_phone_numbers":{"post":{"operationId":"list_account_phone_numbers","summary":"List the phone numbers registered on one WhatsApp Business Account with display name, quality rating, status and calling","description":"List the phone numbers registered on one WhatsApp Business Account with display name, quality rating, status and calling flag. Use for \"What is the quality rating of the numbers on my Telnyx WhatsApp account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"waba_record_id":{"description":"WhatsApp Business Account record ID (UUID) from the account list (not the Meta WABA ID).","maxLength":64,"title":"Waba Record Id","type":"string"},"page_size":{"anyOf":[{"maximum":250,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many items per page (1 to 250, default 20).","title":"Page Size"},"page_number":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page Number"}},"required":["waba_record_id"],"title":"list_account_phone_numbersArguments","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_phone_numbers":{"post":{"operationId":"list_whatsapp_phone_numbers","summary":"List all WhatsApp phone numbers on the Telnyx account with display name, quality rating, status, calling flag and coexis","description":"List all WhatsApp phone numbers on the Telnyx account with display name, quality rating, status, calling flag and coexistence state. Use for \"Which of my Telnyx WhatsApp numbers are enabled\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page_size":{"anyOf":[{"maximum":250,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many items per page (1 to 250, default 20).","title":"Page Size"},"page_number":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page Number"}},"title":"list_whatsapp_phone_numbersArguments","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_phone_number":{"post":{"operationId":"get_whatsapp_phone_number","summary":"Get one WhatsApp phone number: display name, quality rating, status, calling flag and Business App coexistence state. Us","description":"Get one WhatsApp phone number: display name, quality rating, status, calling flag and Business App coexistence state. Use for \"What is the quality rating of my Telnyx WhatsApp number\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"phone_number":{"description":"A WhatsApp phone number registered on the account, in E.164 form, for example +15551234567.","maxLength":20,"title":"Phone Number","type":"string"}},"required":["phone_number"],"title":"get_whatsapp_phone_numberArguments","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_calling_settings":{"post":{"operationId":"get_whatsapp_calling_settings","summary":"Get whether WhatsApp calling is enabled for one registered number. Use for \"Is WhatsApp calling enabled on my Telnyx num","description":"Get whether WhatsApp calling is enabled for one registered number. Use for \"Is WhatsApp calling enabled on my Telnyx number\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"phone_number":{"description":"A WhatsApp phone number registered on the account, in E.164 form, for example +15551234567.","maxLength":20,"title":"Phone Number","type":"string"}},"required":["phone_number"],"title":"get_whatsapp_calling_settingsArguments","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_business_profile":{"post":{"operationId":"get_whatsapp_business_profile","summary":"Get the public WhatsApp business profile of a registered number: display name, category, about text, description, websit","description":"Get the public WhatsApp business profile of a registered number: display name, category, about text, description, website and address. Use for \"What does the WhatsApp business profile of my Telnyx number say\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"phone_number":{"description":"A WhatsApp phone number registered on the account, in E.164 form, for example +15551234567.","maxLength":20,"title":"Phone Number","type":"string"}},"required":["phone_number"],"title":"get_whatsapp_business_profileArguments","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 WhatsApp message templates with category (marketing, utility, authentication), language, approval status and reject","description":"List WhatsApp message templates with category (marketing, utility, authentication), language, approval status and rejection reason. Use for \"Which of my WhatsApp templates on Telnyx were rejected\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page_size":{"anyOf":[{"maximum":250,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many items per page (1 to 250, default 20).","title":"Page Size"},"page_number":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page Number"},"waba_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only templates of this WhatsApp Business Account ID.","title":"Waba Id"},"category":{"anyOf":[{"enum":["MARKETING","UTILITY","AUTHENTICATION"],"type":"string"},{"type":"null"}],"default":null,"description":"Only templates of this category.","title":"Category"},"status":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only templates with this approval status, for example APPROVED, PENDING or REJECTED.","title":"Status"},"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only templates whose name matches this text.","title":"Search"}},"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":{"post":{"operationId":"get_whatsapp_template","summary":"Get one WhatsApp message template with its components (header, body, footer, buttons), approval status and rejection rea","description":"Get one WhatsApp message template with its components (header, body, footer, buttons), approval status and rejection reason. Use for \"What does my approved WhatsApp template on Telnyx contain\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"template_record_id":{"description":"Template record ID (UUID) from the template list.","maxLength":64,"title":"Template Record Id","type":"string"}},"required":["template_record_id"],"title":"get_whatsapp_templateArguments","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}}}}