{"openapi":"3.1.0","info":{"title":"Telnyx Messaging Setup (BYOK) API","version":"0.1.0","description":"Telnyx Messaging Setup (BYOK) lets an AI assistant read your own Telnyx Messaging Setup data through the Telnyx Messaging Setup API with a key you supply (API key (V2)). Read-only: 10 tools (get_messaging_profile, list_profile_numbers, get_profile_metrics, list_tollfree_verifications, get_tollfree_verification, list_alphanumeric_sender_ids, list_short_codes, get_short_code, list_url_domains,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-telnyx-messaging-setup.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-telnyx-messaging-setup/docs"},"termsOfService":"https://connectorbay.com/byok-telnyx-messaging-setup/terms"},"servers":[{"url":"https://byok-telnyx-messaging-setup.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-telnyx-messaging-setup/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_messaging_profile":{"post":{"operationId":"get_messaging_profile","summary":"Get one messaging profile: enabled flag, webhook URLs and API version, number pool settings, URL shortener, daily spend ","description":"Get one messaging profile: enabled flag, webhook URLs and API version, number pool settings, URL shortener, daily spend limit and redaction settings. The profile secret is not returned. Use for \"How is my Telnyx messaging profile configured\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"profile_id":{"description":"Messaging profile ID (UUID) from the messaging profile list.","maxLength":64,"title":"Profile Id","type":"string"}},"required":["profile_id"],"title":"get_messaging_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_profile_numbers":{"post":{"operationId":"list_profile_numbers","summary":"List the phone numbers attached to a messaging profile with type (long code, toll free, short code), traffic type and he","description":"List the phone numbers attached to a messaging profile with type (long code, toll free, short code), traffic type and health ratios (message count, success ratio, spam ratio). Use for \"How healthy are the numbers on my Telnyx messaging profile\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"profile_id":{"description":"Messaging profile ID (UUID) from the messaging profile list.","maxLength":64,"title":"Profile 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":["profile_id"],"title":"list_profile_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_profile_metrics":{"post":{"operationId":"get_profile_metrics","summary":"Get aggregate messaging metrics (the provider's metrics object, returned as is) for one messaging profile over a recent ","description":"Get aggregate messaging metrics (the provider's metrics object, returned as is) for one messaging profile over a recent time frame. Use for \"What were the messaging metrics for my Telnyx profile over the last 7 days\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"profile_id":{"description":"Messaging profile ID (UUID) from the messaging profile list.","maxLength":64,"title":"Profile Id","type":"string"},"time_frame":{"anyOf":[{"enum":["1h","3h","24h","3d","7d","30d"],"type":"string"},{"type":"null"}],"default":"24h","description":"Time frame: 1h, 3h, 24h, 3d, 7d or 30d.","title":"Time Frame"}},"required":["profile_id"],"title":"get_profile_metricsArguments","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_tollfree_verifications":{"post":{"operationId":"list_tollfree_verifications","summary":"List toll-free messaging verification requests with business name, use case, message volume, numbers, verification statu","description":"List toll-free messaging verification requests with business name, use case, message volume, numbers, verification status and rejection reason. Contact details are not returned. Use for \"What is the status of my Telnyx toll-free verification requests\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"description":"Page number, starting at 1.","maximum":10000,"minimum":1,"title":"Page","type":"integer"},"page_size":{"description":"Requests per page (1 to 250).","maximum":250,"minimum":1,"title":"Page Size","type":"integer"},"status":{"anyOf":[{"enum":["Verified","Rejected","Waiting For Vendor","Waiting For Customer","Waiting For Telnyx","In Progress"],"type":"string"},{"type":"null"}],"default":null,"description":"Only requests with this verification status.","title":"Status"},"business_name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only requests whose business name matches this text.","title":"Business Name"}},"required":["page","page_size"],"title":"list_tollfree_verificationsArguments","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_tollfree_verification":{"post":{"operationId":"get_tollfree_verification","summary":"Get one toll-free verification request: business name, use case summary, opt-in workflow, numbers, verification status a","description":"Get one toll-free verification request: business name, use case summary, opt-in workflow, numbers, verification status and the reason given when rejected. Contact details are not returned. Use for \"Why was my Telnyx toll-free verification rejected\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"request_id":{"description":"Verification request ID (UUID) from the list.","maxLength":64,"title":"Request Id","type":"string"}},"required":["request_id"],"title":"get_tollfree_verificationArguments","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_alphanumeric_sender_ids":{"post":{"operationId":"list_alphanumeric_sender_ids","summary":"List alphanumeric sender IDs with the messaging profile each belongs to and the US long-code fallback. Use for \"Which al","description":"List alphanumeric sender IDs with the messaging profile each belongs to and the US long-code fallback. Use for \"Which alphanumeric sender IDs are set up on Telnyx\".","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"},"messaging_profile_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only sender IDs of this messaging profile (UUID).","title":"Messaging Profile Id"}},"title":"list_alphanumeric_sender_idsArguments","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_short_codes":{"post":{"operationId":"list_short_codes","summary":"List the short codes on the account with country and the messaging profile each is attached to. Use for \"Which short cod","description":"List the short codes on the account with country and the messaging profile each is attached to. Use for \"Which short codes do I have on Telnyx\".","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_short_codesArguments","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_short_code":{"post":{"operationId":"get_short_code","summary":"Get one short code by ID: country, messaging profile and tags. Use for \"Which messaging profile is my Telnyx short code ","description":"Get one short code by ID: country, messaging profile and tags. Use for \"Which messaging profile is my Telnyx short code attached to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"short_code_id":{"description":"Short code record ID (UUID) from the short code list.","maxLength":64,"title":"Short Code Id","type":"string"}},"required":["short_code_id"],"title":"get_short_codeArguments","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_url_domains":{"post":{"operationId":"list_url_domains","summary":"List the URL domains approved for messaging links with their use case. Use for \"Which URL domains are approved for messa","description":"List the URL domains approved for messaging links with their use case. Use for \"Which URL domains are approved for messaging on Telnyx\".","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_url_domainsArguments","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_autoresponse_settings":{"post":{"operationId":"list_autoresponse_settings","summary":"List the keyword auto-reply rules of a messaging profile (start, stop or info keywords, reply text and country). Use for","description":"List the keyword auto-reply rules of a messaging profile (start, stop or info keywords, reply text and country). Use for \"What are the opt-out keywords and replies on my Telnyx messaging profile\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"profile_id":{"description":"Messaging profile ID (UUID) from the messaging profile list.","maxLength":64,"title":"Profile Id","type":"string"},"country_code":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Only rules for this ISO country code, for example US.","title":"Country Code"}},"required":["profile_id"],"title":"list_autoresponse_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}}}}