{"openapi":"3.1.0","info":{"title":"Telnyx Voice Config (BYOK) API","version":"0.1.0","description":"Telnyx Voice Config (BYOK) lets an AI assistant read your own Telnyx Voice Config data through the Telnyx Voice Config API with a key you supply (API key (V2)). Read-only: 10 tools (list_credential_connections, list_fqdn_connections, list_ip_connections, list_fqdns, list_ips, list_texml_applications, list_fax_applications, list_queues, get_queue, count_connections). The BYOK key travels with each...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-telnyx-voice-config.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-telnyx-voice-config/docs"},"termsOfService":"https://connectorbay.com/byok-telnyx-voice-config/terms"},"servers":[{"url":"https://byok-telnyx-voice-config.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-telnyx-voice-config/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_credential_connections":{"post":{"operationId":"list_credential_connections","summary":"List SIP credential connections with active flag, webhook version, inbound and outbound channel limits and routing metho","description":"List SIP credential connections with active flag, webhook version, inbound and outbound channel limits and routing method. SIP usernames and passwords are not returned. Use for \"Which SIP credential connections 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"},"sort":{"anyOf":[{"enum":["created_at","connection_name","active"],"type":"string"},{"type":"null"}],"default":"created_at","description":"Sort order: created_at, connection_name, active.","title":"Sort"}},"title":"list_credential_connectionsArguments","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_fqdn_connections":{"post":{"operationId":"list_fqdn_connections","summary":"List FQDN SIP connections with transport protocol, inbound region and subdomain, default routing method, channel limits ","description":"List FQDN SIP connections with transport protocol, inbound region and subdomain, default routing method, channel limits and outbound voice profile. Use for \"Which Telnyx FQDN connections route my inbound calls\".","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"},"sort":{"anyOf":[{"enum":["created_at","connection_name","active"],"type":"string"},{"type":"null"}],"default":"created_at","description":"Sort order: created_at, connection_name, active.","title":"Sort"}},"title":"list_fqdn_connectionsArguments","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_ip_connections":{"post":{"operationId":"list_ip_connections","summary":"List IP-authenticated SIP connections with transport protocol, inbound region, default routing method and channel limits","description":"List IP-authenticated SIP connections with transport protocol, inbound region, default routing method and channel limits. Use for \"Which IP connections 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"},"sort":{"anyOf":[{"enum":["created_at","connection_name","active"],"type":"string"},{"type":"null"}],"default":"created_at","description":"Sort order: created_at, connection_name, active.","title":"Sort"}},"title":"list_ip_connectionsArguments","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_fqdns":{"post":{"operationId":"list_fqdns","summary":"List the FQDN routing targets (hostname and port) attached to FQDN connections. Use for \"Which FQDNs are configured for ","description":"List the FQDN routing targets (hostname and port) attached to FQDN connections. Use for \"Which FQDNs are configured for my Telnyx connections\".","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_fqdnsArguments","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_ips":{"post":{"operationId":"list_ips","summary":"List the IP address routing targets attached to IP connections, with port. Use for \"Which IP addresses are configured on","description":"List the IP address routing targets attached to IP connections, with port. Use for \"Which IP addresses are configured on my Telnyx IP connections\".","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_ipsArguments","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_texml_applications":{"post":{"operationId":"list_texml_applications","summary":"List TeXML applications with active flag, voice and status webhook URLs and methods, inbound and outbound channel limits","description":"List TeXML applications with active flag, voice and status webhook URLs and methods, inbound and outbound channel limits. Use for \"Which TeXML applications exist on my Telnyx account\".","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"},"sort":{"anyOf":[{"enum":["created_at","friendly_name","active"],"type":"string"},{"type":"null"}],"default":"created_at","description":"Sort order: created_at, friendly_name, active.","title":"Sort"}},"title":"list_texml_applicationsArguments","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_fax_applications":{"post":{"operationId":"list_fax_applications","summary":"List programmable fax applications with active flag, webhook URL and channel limits. Use for \"Which fax applications are","description":"List programmable fax applications with active flag, webhook URL and channel limits. Use for \"Which fax applications are configured 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"},"sort":{"anyOf":[{"enum":["created_at","application_name","active"],"type":"string"},{"type":"null"}],"default":"created_at","description":"Sort order: created_at, application_name, active.","title":"Sort"}},"title":"list_fax_applicationsArguments","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_queues":{"post":{"operationId":"list_queues","summary":"List call queues with the current number of waiting calls, maximum size and average wait time in seconds. Use for \"How m","description":"List call queues with the current number of waiting calls, maximum size and average wait time in seconds. Use for \"How many calls are waiting in my Telnyx call queues\".","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_queuesArguments","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_queue":{"post":{"operationId":"get_queue","summary":"Get one call queue by name: current size, maximum size, average wait time and timestamps. Use for \"What is the average w","description":"Get one call queue by name: current size, maximum size, average wait time and timestamps. Use for \"What is the average wait time in the Telnyx queue named support\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"queue_name":{"description":"Name of the call queue, for example 'support'.","maxLength":100,"title":"Queue Name","type":"string"}},"required":["queue_name"],"title":"get_queueArguments","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/count_connections":{"post":{"operationId":"count_connections","summary":"Count connections by type (IP, credential, FQDN, TeXML, call control, fax and others) and show the account's connection ","description":"Count connections by type (IP, credential, FQDN, TeXML, call control, fax and others) and show the account's connection limits. Use for \"How many connections of each type do I have on Telnyx and what are my limits\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"count_connectionsArguments","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}}}}