{"openapi":"3.1.0","info":{"title":"Twilio Voice Intelligence (BYOK) API","version":"0.1.0","description":"Twilio Voice Intelligence (BYOK) lets an AI assistant read your own Twilio Voice Intelligence data through the Twilio Voice Intelligence API with a key you supply (Account SID or API key SID (use a restricted API key, SID starts with SK, rather than the main Auth Token where possible)). Read-only: 10 tools (list_services, get_service, list_transcripts, get_transcript, list_operators,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-twilio-voice-intelligence.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-twilio-voice-intelligence/docs"},"termsOfService":"https://connectorbay.com/byok-twilio-voice-intelligence/terms"},"servers":[{"url":"https://byok-twilio-voice-intelligence.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-twilio-voice-intelligence/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_services":{"post":{"operationId":"list_services","summary":"List Voice Intelligence services with language, auto-transcribe and redaction settings and version. Use for \"Which Voice","description":"List Voice Intelligence services with language, auto-transcribe and redaction settings and version. Use for \"Which Voice Intelligence services do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 1000).","title":"Page Size"},"page_token":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: the PageToken value inside meta.next_page_url from the previous answer (leave empty for the first page).","title":"Page Token"}},"title":"list_servicesArguments","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_service":{"post":{"operationId":"get_service","summary":"Get one Voice Intelligence service: language, auto-transcription, redaction, data logging and webhook settings. Use for ","description":"Get one Voice Intelligence service: language, auto-transcription, redaction, data logging and webhook settings. Use for \"Is auto redaction on for Voice Intelligence service GA\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"sid":{"description":"The SID of the Intelligence Service: 'GA' followed by 32 hex characters.","maxLength":34,"title":"Sid","type":"string"}},"required":["sid"],"title":"get_serviceArguments","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_transcripts":{"post":{"operationId":"list_transcripts","summary":"List transcript records (metadata only, no spoken text) with status, language, duration and start time. Filter by servic","description":"List transcript records (metadata only, no spoken text) with status, language, duration and start time. Filter by service, status, language or date. Use for \"Which Voice Intelligence transcripts failed this week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"service_sid":{"anyOf":[{"maxLength":34,"type":"string"},{"type":"null"}],"default":null,"description":"Only transcripts of this Intelligence Service (GA followed by 32 hex characters).","title":"Service Sid"},"status":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Only transcripts with this status: queued, in-progress, completed, failed or canceled.","title":"Status"},"language_code":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Only transcripts in this language, for example en-US.","title":"Language Code"},"after_date_created":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only transcripts created after this ISO 8601 time.","title":"After Date Created"},"before_date_created":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only transcripts created before this ISO 8601 time.","title":"Before Date Created"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 1000).","title":"Page Size"},"page_token":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: the PageToken value inside meta.next_page_url from the previous answer (leave empty for the first page).","title":"Page Token"}},"title":"list_transcriptsArguments","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_transcript":{"post":{"operationId":"get_transcript","summary":"Get one transcript's metadata: status, language, duration, redaction flag and start time. The text is not returned. Use ","description":"Get one transcript's metadata: status, language, duration, redaction flag and start time. The text is not returned. Use for \"How long was transcript GT\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"sid":{"description":"The SID of the transcript: 'GT' followed by 32 hex characters.","maxLength":34,"title":"Sid","type":"string"}},"required":["sid"],"title":"get_transcriptArguments","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_operators":{"post":{"operationId":"list_operators","summary":"List all language operators (prebuilt and custom) with type, author, version and availability. Use for \"Which Voice Inte","description":"List all language operators (prebuilt and custom) with type, author, version and availability. Use for \"Which Voice Intelligence operators exist\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"availability":{"anyOf":[{"enum":["internal","beta","public","deprecated","general-availability","retired"],"type":"string"},{"type":"null"}],"default":null,"description":"Only operators with this availability.","title":"Availability"},"language_code":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Only operators that support this language, for example en-US.","title":"Language Code"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 1000).","title":"Page Size"},"page_token":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: the PageToken value inside meta.next_page_url from the previous answer (leave empty for the first page).","title":"Page Token"}},"title":"list_operatorsArguments","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_operator":{"post":{"operationId":"get_operator","summary":"Get one language operator: type, author, version, availability and configuration. Use for \"What does operator GY... dete","description":"Get one language operator: type, author, version, availability and configuration. Use for \"What does operator GY... detect\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"sid":{"description":"The SID of the operator: 'GY' followed by 32 hex characters.","maxLength":34,"title":"Sid","type":"string"}},"required":["sid"],"title":"get_operatorArguments","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_prebuilt_operators":{"post":{"operationId":"list_prebuilt_operators","summary":"List the prebuilt operators provided by Twilio. Use for \"Which prebuilt Voice Intelligence operators does Twilio provide","description":"List the prebuilt operators provided by Twilio. Use for \"Which prebuilt Voice Intelligence operators does Twilio provide\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"availability":{"anyOf":[{"enum":["internal","beta","public","deprecated","general-availability","retired"],"type":"string"},{"type":"null"}],"default":null,"description":"Only operators with this availability.","title":"Availability"},"language_code":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Only operators that support this language, for example en-US.","title":"Language Code"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 1000).","title":"Page Size"},"page_token":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: the PageToken value inside meta.next_page_url from the previous answer (leave empty for the first page).","title":"Page Token"}},"title":"list_prebuilt_operatorsArguments","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_custom_operators":{"post":{"operationId":"list_custom_operators","summary":"List the custom operators created in the account. Use for \"Which custom Voice Intelligence operators did we create\".","description":"List the custom operators created in the account. Use for \"Which custom Voice Intelligence operators did we create\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"availability":{"anyOf":[{"enum":["internal","beta","public","deprecated","general-availability","retired"],"type":"string"},{"type":"null"}],"default":null,"description":"Only operators with this availability.","title":"Availability"},"language_code":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Only operators that support this language, for example en-US.","title":"Language Code"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 1000).","title":"Page Size"},"page_token":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: the PageToken value inside meta.next_page_url from the previous answer (leave empty for the first page).","title":"Page Token"}},"title":"list_custom_operatorsArguments","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_operator_types":{"post":{"operationId":"list_operator_types","summary":"List operator types (the kinds of analysis available) with output type, supported languages and whether they are configu","description":"List operator types (the kinds of analysis available) with output type, supported languages and whether they are configurable. Use for \"What operator types does Voice Intelligence support\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"language_code":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Only operators that support this language, for example en-US.","title":"Language Code"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 1000).","title":"Page Size"},"page_token":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: the PageToken value inside meta.next_page_url from the previous answer (leave empty for the first page).","title":"Page Token"}},"title":"list_operator_typesArguments","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_service_operators":{"post":{"operationId":"get_service_operators","summary":"List the SIDs of operators attached to one Intelligence Service. Use for \"Which operators are attached to Voice Intellig","description":"List the SIDs of operators attached to one Intelligence Service. Use for \"Which operators are attached to Voice Intelligence service GA\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"service_sid":{"description":"The SID of the Intelligence Service: 'GA' followed by 32 hex characters.","maxLength":34,"title":"Service Sid","type":"string"}},"required":["service_sid"],"title":"get_service_operatorsArguments","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}}}}