openapi: 3.2.0 info: title: Twilio Conversational Intelligence Operators API description: The Conversational Intelligence API includes resources to create and manage intelligence configurations, define and run language operators, and retrieve processed conversations and operator results. termsOfService: https://www.twilio.com/legal/tos contact: name: Twilio Support url: https://support.twilio.com email: support@twilio.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html version: v3 x-twilio: apiStandards: v1.0 servers: - url: https://intelligence.twilio.com description: Twilio Intelligence API security: - basic_apikey_or_accountsid: [] tags: - name: Operators description: Define and manage language operators. paths: /v3/ControlPlane/Operators: x-twilio: pathType: list get: tags: - Operators summary: Retrieve a list of Operators description: Retrieve a list of Operators for the account, including those not attached to an Intelligence Configuration. This request returns both Twilio-authored and custom language operators. operationId: ListOperators parameters: - name: pageSize in: query description: The maximum number of resources to return required: false schema: type: integer minimum: 1 maximum: 1000 default: 50 - name: pageToken in: query description: Token for pagination required: false schema: type: string responses: 200: description: List of available Language Operators content: application/json: schema: type: object required: - items - meta properties: items: type: array description: List of available Language Operators items: $ref: '#/components/schemas/LanguageOperator' meta: type: object properties: key: description: A key, sibling to the `meta` object that holds the actual list of resources type: string pageSize: description: The actual number of resources returned in the response type: integer previousToken: type: string nextToken: type: string required: - key - pageSize examples: listOperatorsResponse: $ref: '#/components/examples/ListOperatorsResponseExample' 429: description: Too Many requests (rate limit exceeded for request originating from public API) content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode headers: X-RateLimit-Limit: schema: type: string X-RateLimit-Remaining: schema: type: string X-RateLimit-Reset: schema: type: string 500: description: Internal server error content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode post: tags: - Operators summary: Create an Operator description: Create a custom language operator. You can define a reusable, programmable conversational analysis task tailored to your business needs. operationId: CreateOperator requestBody: description: Create Language Operator request required: true content: application/json: schema: allOf: - $ref: '#/components/schemas/LanguageOperator' - required: - displayName - prompt - outputFormat examples: createOperatorRequest: $ref: '#/components/examples/CreateOrUpdateOperatorRequestExample' responses: 201: description: Language Operator resource created. content: application/json: schema: description: A Language Operator resource. type: object properties: id: $ref: '#/components/schemas/OperatorTtid' displayName: type: string description: Display name of the Language Operator describing its purpose. minLength: 1 maxLength: 128 description: type: string description: Description of the Language Operator further explaining its purpose. version: type: integer readOnly: true description: Numeric Operator version. Automatically incremented with each update on the resource, used to ensure integrity when updating the Operator. author: $ref: '#/components/schemas/OperatorAuthorEnum' prompt: type: string description: 'The natural language instructions used by the operator to analyze the conversation. Within the prompt, users can reference parameters using the `{{parameters.[param_name]}}` syntax. Parameter values are provided to the Operator by the Intelligence Configuration Rule at runtime. **Note**: Prompts will only be exposed for Custom Operators (`author` = `SELF`). Twilio-authored Operators (`author` = `TWILIO`) will have their prompts omitted from the API.' outputFormat: $ref: '#/components/schemas/OperatorOutputFormat' outputSchema: $ref: '#/components/schemas/OperatorOutputSchema' trainingExamples: type: array description: 'An array of example input/output pairs used to illustrate the intended behavior of the Language Operator. These examples help guide the model''s understanding of expected input–output relationships and improve consistency during evaluation and testing. **Note**: Training examples will only be exposed for Custom Operators (`author` = `SELF`). Twilio-authored Operators (`author` = `TWILIO`) will have their training examples omitted from the API.' items: $ref: '#/components/schemas/OperatorTrainingExample' context: $ref: '#/components/schemas/OperatorContext' parameters: $ref: '#/components/schemas/OperatorParameters' examples: createOperatorResponse: $ref: '#/components/examples/LanguageOperatorExample' headers: ETag: description: The version for this resource, used for PUT requests in concert with the IF-MATCH header. schema: type: integer minimum: 1 example: 1 400: description: Bad request content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode 429: description: Too Many requests (rate limit exceeded for request originating from public API) content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode headers: X-RateLimit-Limit: schema: type: string X-RateLimit-Remaining: schema: type: string X-RateLimit-Reset: schema: type: string 500: description: Internal server error content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode /v3/ControlPlane/Operators/{id}: x-twilio: pathType: instance parameters: - name: id in: path required: true description: The unique identifier (TTID) of the Language Operator. schema: type: string readOnly: true pattern: ^intelligence_operator_[0-7][0-9a-z]{25}$ description: The unique identifier for the Language Operator. Assigned by Twilio (TTID). example: intelligence_operator_01k6fc25s7epm9qtk8rszbv3q5 get: tags: - Operators summary: Retrieve an Operator operationId: FetchOperator responses: 200: description: A Language Operator resource. content: application/json: schema: description: A Language Operator resource. type: object properties: id: $ref: '#/components/schemas/OperatorTtid' displayName: type: string description: Display name of the Language Operator describing its purpose. minLength: 1 maxLength: 128 description: type: string description: Description of the Language Operator further explaining its purpose. version: type: integer readOnly: true description: Numeric Operator version. Automatically incremented with each update on the resource, used to ensure integrity when updating the Operator. author: $ref: '#/components/schemas/OperatorAuthorEnum' prompt: type: string description: 'The natural language instructions used by the operator to analyze the conversation. Within the prompt, users can reference parameters using the `{{parameters.[param_name]}}` syntax. Parameter values are provided to the Operator by the Intelligence Configuration Rule at runtime. **Note**: Prompts will only be exposed for Custom Operators (`author` = `SELF`). Twilio-authored Operators (`author` = `TWILIO`) will have their prompts omitted from the API.' outputFormat: $ref: '#/components/schemas/OperatorOutputFormat' outputSchema: $ref: '#/components/schemas/OperatorOutputSchema' trainingExamples: type: array description: 'An array of example input/output pairs used to illustrate the intended behavior of the Language Operator. These examples help guide the model''s understanding of expected input–output relationships and improve consistency during evaluation and testing. **Note**: Training examples will only be exposed for Custom Operators (`author` = `SELF`). Twilio-authored Operators (`author` = `TWILIO`) will have their training examples omitted from the API.' items: $ref: '#/components/schemas/OperatorTrainingExample' context: $ref: '#/components/schemas/OperatorContext' parameters: $ref: '#/components/schemas/OperatorParameters' examples: fetchOperatorResponse: $ref: '#/components/examples/LanguageOperatorExample' headers: ETag: description: The version for this resource, used for PUT requests in concert with the IF-MATCH header. schema: type: integer minimum: 1 example: 1 404: description: Resource not found content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode 429: description: Too Many requests (rate limit exceeded for request originating from public API) content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode headers: X-RateLimit-Limit: schema: type: string X-RateLimit-Remaining: schema: type: string X-RateLimit-Reset: schema: type: string 500: description: Internal server error content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode put: tags: - Operators summary: Update an Operator operationId: UpdateOperator parameters: - name: If-Match in: header required: false description: Current ETag/version required for conditional update schema: type: string requestBody: description: Full replacement of a Language Operator configuration required: true content: application/json: schema: allOf: - $ref: '#/components/schemas/LanguageOperator' - required: - displayName - prompt - outputFormat examples: updateOperatorRequest: $ref: '#/components/examples/CreateOrUpdateOperatorRequestExample' responses: 200: description: Updated Language Operator resource. content: application/json: schema: description: A Language Operator resource. type: object properties: id: $ref: '#/components/schemas/OperatorTtid' displayName: type: string description: Display name of the Language Operator describing its purpose. minLength: 1 maxLength: 128 description: type: string description: Description of the Language Operator further explaining its purpose. version: type: integer readOnly: true description: Numeric Operator version. Automatically incremented with each update on the resource, used to ensure integrity when updating the Operator. author: $ref: '#/components/schemas/OperatorAuthorEnum' prompt: type: string description: 'The natural language instructions used by the operator to analyze the conversation. Within the prompt, users can reference parameters using the `{{parameters.[param_name]}}` syntax. Parameter values are provided to the Operator by the Intelligence Configuration Rule at runtime. **Note**: Prompts will only be exposed for Custom Operators (`author` = `SELF`). Twilio-authored Operators (`author` = `TWILIO`) will have their prompts omitted from the API.' outputFormat: $ref: '#/components/schemas/OperatorOutputFormat' outputSchema: $ref: '#/components/schemas/OperatorOutputSchema' trainingExamples: type: array description: 'An array of example input/output pairs used to illustrate the intended behavior of the Language Operator. These examples help guide the model''s understanding of expected input–output relationships and improve consistency during evaluation and testing. **Note**: Training examples will only be exposed for Custom Operators (`author` = `SELF`). Twilio-authored Operators (`author` = `TWILIO`) will have their training examples omitted from the API.' items: $ref: '#/components/schemas/OperatorTrainingExample' context: $ref: '#/components/schemas/OperatorContext' parameters: $ref: '#/components/schemas/OperatorParameters' examples: updateOperatorResponse: $ref: '#/components/examples/LanguageOperatorExample' headers: ETag: description: The version for this resource, used for PUT requests in concert with the IF-MATCH header. schema: type: integer minimum: 1 example: 1 404: description: Resource not found content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode 412: description: Precondition failed (e.g., ETag mismatch) content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode 429: description: Too Many requests (rate limit exceeded for request originating from public API) content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode headers: X-RateLimit-Limit: schema: type: string X-RateLimit-Remaining: schema: type: string X-RateLimit-Reset: schema: type: string 400: description: Bad request content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode 500: description: Internal server error content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode delete: tags: - Operators summary: Delete an Operator operationId: DeleteOperator responses: 204: description: Language Operator deleted 404: description: Resource not found content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode 429: description: Too Many requests (rate limit exceeded for request originating from public API) content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode headers: X-RateLimit-Limit: schema: type: string X-RateLimit-Remaining: schema: type: string X-RateLimit-Reset: schema: type: string 500: description: Internal server error content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode /v3/ControlPlane/Operators/{id}/Versions: x-twilio: pathType: list parameters: - name: id in: path required: true description: The unique identifier (TTID) of the Language Operator. schema: type: string readOnly: true pattern: ^intelligence_operator_[0-7][0-9a-z]{25}$ description: The unique identifier for the Language Operator. Assigned by Twilio (TTID). example: intelligence_operator_01k6fc25s7epm9qtk8rszbv3q5 get: tags: - Operators summary: Retrieve a list of Operator Versions description: Retrieve a paginated list of all versions for a given Language Operator. operationId: ListOperatorVersions parameters: - name: pageSize in: query description: The maximum number of resources to return required: false schema: type: integer minimum: 1 maximum: 1000 default: 50 - name: pageToken in: query description: Token for pagination required: false schema: type: string responses: 200: description: A paginated list of Operator versions. content: application/json: schema: type: object description: Paginated list of Operator versions. required: - items - meta properties: items: type: array description: List of Operator versions. items: type: object required: - version - status - dateCreated properties: version: type: integer description: The numeric version number. status: $ref: '#/components/schemas/OperatorVersionStatus' dateCreated: type: string format: date-time description: Timestamp of when this version was created. dateDeprecated: type: string format: date-time description: Timestamp of when this version was deprecated. Present when status is `DEPRECATED` or `RETIRED`. retirementDate: type: string format: date-time description: Scheduled retirement date for this version. Present when status is `DEPRECATED`. dateRetired: type: string format: date-time description: Timestamp of when this version was retired. Present when status is `RETIRED`. meta: type: object properties: key: description: A key, sibling to the `meta` object that holds the actual list of resources type: string pageSize: description: The actual number of resources returned in the response type: integer previousToken: type: string nextToken: type: string required: - key - pageSize examples: listOperatorVersionsResponse: $ref: '#/components/examples/ListOperatorVersionsResponseExample' 404: description: Resource not found content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode 429: description: Too Many requests (rate limit exceeded for request originating from public API) content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode headers: X-RateLimit-Limit: schema: type: string X-RateLimit-Remaining: schema: type: string X-RateLimit-Reset: schema: type: string 500: description: Internal server error content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode /v3/ControlPlane/Operators/{id}/Versions/{version}: x-twilio: pathType: instance parameters: - name: id in: path required: true description: The unique identifier (TTID) of the Language Operator. schema: type: string readOnly: true pattern: ^intelligence_operator_[0-7][0-9a-z]{25}$ description: The unique identifier for the Language Operator. Assigned by Twilio (TTID). example: intelligence_operator_01k6fc25s7epm9qtk8rszbv3q5 - name: version in: path required: true description: The numeric version number of the Language Operator. schema: type: integer get: tags: - Operators summary: Retrieve a specific Operator Version operationId: FetchOperatorVersion responses: 200: description: A specific Language Operator version. content: application/json: schema: description: Full detail of a specific Language Operator version. type: object properties: id: $ref: '#/components/schemas/OperatorTtid' displayName: type: string description: Display name of the Language Operator describing its purpose. minLength: 1 maxLength: 128 description: type: string description: Description of the Language Operator further explaining its purpose. version: type: integer readOnly: true description: Numeric Operator version. Automatically incremented with each update on the resource, used to ensure integrity when updating the Operator. author: $ref: '#/components/schemas/OperatorAuthorEnum' prompt: type: string description: 'The natural language instructions used by the operator to analyze the conversation. Within the prompt, users can reference parameters using the `{{parameters.[param_name]}}` syntax. Parameter values are provided to the Operator by the Intelligence Configuration Rule at runtime. **Note**: Prompts will only be exposed for Custom Operators (`author` = `SELF`). Twilio-authored Operators (`author` = `TWILIO`) will have their prompts omitted from the API.' outputFormat: $ref: '#/components/schemas/OperatorOutputFormat' outputSchema: $ref: '#/components/schemas/OperatorOutputSchema' trainingExamples: type: array description: 'An array of example input/output pairs used to illustrate the intended behavior of the Language Operator. These examples help guide the model''s understanding of expected input–output relationships and improve consistency during evaluation and testing. **Note**: Training examples will only be exposed for Custom Operators (`author` = `SELF`). Twilio-authored Operators (`author` = `TWILIO`) will have their training examples omitted from the API.' items: $ref: '#/components/schemas/OperatorTrainingExample' context: $ref: '#/components/schemas/OperatorContext' parameters: $ref: '#/components/schemas/OperatorParameters' status: $ref: '#/components/schemas/OperatorVersionStatus' dateCreated: type: string format: date-time description: Timestamp of when this version was created. required: - dateCreated - status examples: fetchOperatorVersionResponse: $ref: '#/components/examples/LanguageOperatorVersionExample' 404: description: Resource not found content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode 429: description: Too Many requests (rate limit exceeded for request originating from public API) content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode headers: X-RateLimit-Limit: schema: type: string X-RateLimit-Remaining: schema: type: string X-RateLimit-Reset: schema: type: string 500: description: Internal server error content: application/json: schema: type: object properties: code: description: Twilio-specific error code type: integer format: int32 message: description: A human readable error message type: string httpStatusCode: description: HTTP response status code type: integer format: int32 userError: description: Whether the error is a user error (true) or a system error (false) type: boolean params: description: A map of parameters related to the error, for example, a `params.twilioErrorCodeUrl` might hold a URL or link to additional information type: object additionalProperties: type: string required: - code - message - httpStatusCode components: examples: ListOperatorVersionsResponseExample: summary: List Operator Versions Response value: items: - version: 5 status: PREVIEW dateCreated: '2026-02-10T14:00:00Z' - version: 4 status: ACTIVE dateCreated: '2026-01-15T10:45:30Z' - version: 3 status: DEPRECATED dateDeprecated: '2026-01-10T00:00:00Z' retirementDate: '2026-04-10T00:00:00Z' dateCreated: '2025-11-01T08:00:00Z' - version: 2 status: RETIRED dateDeprecated: '2025-09-01T00:00:00Z' dateRetired: '2025-12-01T00:00:00Z' dateCreated: '2025-06-15T12:00:00Z' meta: key: items pageSize: 4 LanguageOperatorExample: summary: Language Operator Response value: id: intelligence_operator_01kcgy1ew0e9x8re6jq542zt8b displayName: Script Adherence description: Measuring whether the agent stuck to the script version: 1 author: SELF prompt: Your job is to determine if a contact center agent sticks to the script. Fetch the script from Knowledge using the Knowledge tool. Rate the interaction from 0-{{parameters.scale}}. outputFormat: JSON outputSchema: type: object properties: score: type: integer explanation: type: string required: - score - explanation additionalProperties: false trainingExamples: - input: This is an example sentence which qualifies the lead as HOT. output: '{"score": 5, "explanation": "The agent followed the script closely and addressed all key points effectively."}' context: memory: enabled: true knowledge: enabled: true parameters: scale: type: INTEGER default: 5 required: true description: Maximum score for evaluating script adherence. LanguageOperatorVersionExample: summary: Language Operator Version Response value: id: intelligence_operator_01aaaaaaaaaaaaaaaaaaaaaaaa version: '4' status: ACTIVE displayName: Sentiment Analysis description: Analyzes conversation sentiment author: TWILIO outputFormat: JSON outputSchema: {} context: {} parameters: {} trainingExamples: [] dateCreated: '2026-01-15T10:45:30Z' CreateOrUpdateOperatorRequestExample: summary: Create or Update Operator Request value: displayName: Script Adherence description: Measuring whether the agent stuck to the script prompt: Your job is to determine if a contact center agent sticks to the script. Fetch the script from Knowledge using the Knowledge tool. Rate the interaction from 0-{{parameters.scale}}. outputFormat: JSON outputSchema: type: object properties: score: type: integer explanation: type: string required: - score - explanation additionalProperties: false trainingExamples: - input: This is an example sentence which qualifies the lead as HOT. output: '{"score": 5, "explanation": "The agent followed the script closely and addressed all key points effectively."}' context: memory: enabled: true knowledge: enabled: true parameters: scale: type: INTEGER default: 5 required: true description: Maximum score for evaluating script adherence. ListOperatorsResponseExample: summary: List Operators Response value: items: - id: intelligence_operator_01kcgy1ew0e9x8re6jq542zt8b displayName: Script Adherence description: Measuring whether the agent stuck to the script version: 1 author: SELF prompt: Your job is to determine if a contact center agent sticks to the script. Fetch the script from Knowledge using the Knowledge tool. Rate the interaction from 0-{{parameters.scale}}. outputFormat: JSON outputSchema: type: object properties: score: type: integer explanation: type: string required: - score - explanation additionalProperties: false trainingExamples: - input: This is an example sentence which qualifies the lead as HOT. output: '{"score": 5, "explanation": "The agent followed the script closely and addressed all key points effectively."}' context: memory: enabled: true knowledge: enabled: true parameters: scale: type: INTEGER default: 5 required: true description: Maximum score for evaluating script adherence. - id: intelligence_operator_01kcgy1ew0e9x8re6jq542zt9c displayName: Sentiment Analysis description: Analyze customer sentiment throughout the conversation version: 2 author: TWILIO outputFormat: CLASSIFICATION context: memory: enabled: false knowledge: enabled: false parameters: {} meta: key: items pageSize: 2 nextToken: next_page_token_example schemas: OperatorContext: type: object description: 'Optionally specifies which contextual data sources (Memory, Knowledge) the operator can access during execution. Context objects will be passed in by the Intelligence Configuration Rule at runtime. **Note**: this simply gives the LLM access to these context objects – ultimately the LLM will determine whether to actually call for context at runtime.' properties: memory: type: object description: Defines whether the Operator has access to Memory (past conversational memories and profile traits). properties: enabled: type: boolean description: Set to true to allow access to Memory at runtime. knowledge: type: object description: Defines whether the Operator has access to organizational Knowledge Sources (e.g., policies, FAQs, scripts) at runtime. properties: enabled: type: boolean description: Set to true to allow access to Knowledge Sources at runtime. OperatorOutputSchema: type: object description: "Required for `JSON` output only. this will be set to a JSON Schema object describing the properties & data types of the response. Please see https://platform.openai.com/docs/guides/structured-outputs#supported-schemas \n\nWill include the following keywords:\n- `type` : Must be set to `object`\n- `properties`: An object containing the property names and their data types you would like the LLM to return\n\nAdditional details on JSON output formatting:\n- The root level `type` of a JSON schema must be set to `object`\n- The following property data types are supported : `string`, `number`, `boolean`, `integer`, `object`, `array`, `anyOf`\n- Definitions with `$defs` / `$ref` are supported\n- Max 100 object properties and 10 levels of nesting are supported\n- Max 1000 enum values across all enum properties are supported\n- Notable JSON Schema keywords not supported include:\n - For `strings`: `minLength`, `maxLength`\n - For `objects`: `patternProperties`, `unevaluatedProperties`, `propertyNames`, `minProperties`, `maxProperties`\n - For `arrays`: `unevaluatedItems`, `contains`, `minContains`, `maxContains`, `uniqueItems`\n- Structured Operator Results will be returned in the same order as the ordering of keys in the schema\n- In the event an Operator execution request is refused for safety reasons the Operator Result API response will include a new field called `refusal` to indicate that the LLM refused to fulfill the request\n- Twilio will automatically set `additionalProperties` to false and specify all provided fields as required (constraints of Structured Outputs). You don't need to pass these fields as part of your JSON schema. Twilio will automatically overwrite any user-provided values for these fields." OperatorOutputFormat: type: string description: 'The structure of the result returned by the Language Operator (specific to what the LLM returns, not the entirety of the Operator Result resource). Available values: - `TEXT`: The Operator will return plaintext from the LLM. - `JSON`: the Operator will return a structured object with schema defined in `output_schema` - `CLASSIFICATION`: The Operator will return the determined classifier string.' enum: - TEXT - JSON - CLASSIFICATION OperatorTrainingExample: type: object required: - input - output properties: input: type: string description: A sample input text that demonstrates the type of content the Operator processes. output: type: string description: 'The expected output corresponding to the provided input example. This value must be consistent with the defined `output_format` and `output_schema` of the Operator.' LanguageOperator: description: A Language Operator resource. type: object properties: id: $ref: '#/components/schemas/OperatorTtid' displayName: type: string description: Display name of the Language Operator describing its purpose. minLength: 1 maxLength: 128 description: type: string description: Description of the Language Operator further explaining its purpose. version: type: integer readOnly: true description: Numeric Operator version. Automatically incremented with each update on the resource, used to ensure integrity when updating the Operator. author: $ref: '#/components/schemas/OperatorAuthorEnum' prompt: type: string description: 'The natural language instructions used by the operator to analyze the conversation. Within the prompt, users can reference parameters using the `{{parameters.[param_name]}}` syntax. Parameter values are provided to the Operator by the Intelligence Configuration Rule at runtime. **Note**: Prompts will only be exposed for Custom Operators (`author` = `SELF`). Twilio-authored Operators (`author` = `TWILIO`) will have their prompts omitted from the API.' outputFormat: $ref: '#/components/schemas/OperatorOutputFormat' outputSchema: $ref: '#/components/schemas/OperatorOutputSchema' trainingExamples: type: array description: 'An array of example input/output pairs used to illustrate the intended behavior of the Language Operator. These examples help guide the model''s understanding of expected input–output relationships and improve consistency during evaluation and testing. **Note**: Training examples will only be exposed for Custom Operators (`author` = `SELF`). Twilio-authored Operators (`author` = `TWILIO`) will have their training examples omitted from the API.' items: $ref: '#/components/schemas/OperatorTrainingExample' context: $ref: '#/components/schemas/OperatorContext' parameters: $ref: '#/components/schemas/OperatorParameters' OperatorParameters: type: object description: 'Defines the schema of the parameters that are provided when running the operator, including required and optional values that determine the operator''s behavior. The values of the parameters themselves are passed in by the attached Intelligence Configuration.' additionalProperties: $ref: '#/components/schemas/OperatorParameter' OperatorAuthorEnum: type: string readOnly: true description: "The creator and maintainer of the Language Operator. \n\nAvailable values:\n- `SELF` - Created and maintained by the customer (Custom Operator)\n- `TWILIO` - Created and maintained by Twilio (Twilio-Authored Operator)" enum: - SELF - TWILIO OperatorParameter: type: object required: - type properties: type: type: string description: 'The data type of the parameter (e.g., STRING, INTEGER). Available values: STRING, INTEGER, NUMBER, BOOLEAN, KNOWLEDGE_BASE_AND_SOURCE_IDS KNOWLEDGE_BASE_AND_SOURCE_IDS is a special type of parameter that refers to a Memora Knowledge Source, prefixed with its Knowledge Base container. Support for KB type = plaintext only. During Intelligence Configuration creation, this parameter is linked to a specific Knowledge Source. The operator receives the resolved plaintext at runtime and injects it into the prompt. The value of this parameter is expected to be passed in the following format: knowledge_base_id:knowledge_source_id.' enum: - STRING - INTEGER - NUMBER - BOOLEAN - KNOWLEDGE_BASE_AND_SOURCE_IDS default: description: 'Default value to use in the prompt if no value is provided by the Intelligence Configuration. Note: knowledge_base_and_source_ids does not support the default attribute, but all other param types do allow for a default value.' required: type: boolean description: Whether this parameter must be set at Operator execution time. Defaults to false if not provided. description: type: string description: A human-readable description of the parameter. OperatorVersionStatus: type: string description: 'The lifecycle status of an Operator version. Available values: - `PREVIEW`: Available but restricted to internal/testing visibility. Normal execution. - `ACTIVE`: Available for normal use. - `DEPRECATED`: Still executes normally, but a Warn event is emitted via the Watch product lifecycle system. Customers should migrate to a newer version. - `RETIRED`: Hard failure on execution. An Error is logged in Watch. Customers must manually update their Intelligence Configuration to a valid version.' enum: - PREVIEW - ACTIVE - DEPRECATED - RETIRED OperatorTtid: type: string readOnly: true pattern: ^intelligence_operator_[0-7][0-9a-z]{25}$ description: The unique identifier for the Language Operator. Assigned by Twilio (TTID). example: intelligence_operator_01k6fc25s7epm9qtk8rszbv3q5 securitySchemes: basic_apikey_or_accountsid: scheme: basic type: http description: This API uses [basic authentication](https://www.twilio.com/docs/glossary/what-is-basic-authentication). Use an [API key](https://www.twilio.com/docs/iam/api-keys) as the username and the API key secret as the password. You can also use your account SID and auth token, but limit their use to local testing.