openapi: 3.2.0 info: title: ElevenLabs API Documentation Convai API description: This is the documentation for the ElevenLabs API. You can use this API to use our service programmatically, this is done by using your API key. You can find your API key in the dashboard at https://elevenlabs.io/app/settings/api-keys. version: '1.0' tags: - name: Convai paths: /v1/convai/agent-testing/create: post: summary: Create Agent Response Test description: Creates a new agent response test. operationId: create_agent_response_test_route parameters: - name: xi-api-key in: header required: false schema: anyOf: - type: string - type: 'null' description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. title: Xi-Api-Key description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. requestBody: required: true content: application/json: schema: anyOf: - $ref: '#/components/schemas/CreateResponseUnitTestRequest' - $ref: '#/components/schemas/CreateToolCallUnitTestRequest' - $ref: '#/components/schemas/CreateSimulationTestRequest' description: Create Chat Response Test Request Information title: Test Request responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CreateAgentTestResponseModel' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-fern-sdk-group-name: - conversational_ai - tests x-fern-sdk-method-name: create tags: - Convai /v1/convai/agent-testing/{test_id}: get: summary: Get Agent Response Test By Id description: Gets an agent response test by ID. operationId: get_agent_response_test_route parameters: - name: test_id in: path required: true schema: type: string description: The id of a chat response test. This is returned on test creation. examples: - TeaqRRdTcIfIu2i7BYfT embed: true title: Test Id description: The id of a chat response test. This is returned on test creation. - name: xi-api-key in: header required: false schema: anyOf: - type: string - type: 'null' description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. title: Xi-Api-Key description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. responses: '200': description: Successful Response content: application/json: schema: oneOf: - $ref: '#/components/schemas/GetResponseUnitTestResponseModel' - $ref: '#/components/schemas/GetToolCallUnitTestResponseModel' - $ref: '#/components/schemas/GetSimulationTestResponseModel' discriminator: propertyName: type mapping: llm: '#/components/schemas/GetResponseUnitTestResponseModel' tool: '#/components/schemas/GetToolCallUnitTestResponseModel' simulation: '#/components/schemas/GetSimulationTestResponseModel' title: Response Get Agent Response Test By Id V1 Convai Agent Testing Test Id Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-fern-sdk-group-name: - conversational_ai - tests x-fern-sdk-method-name: get tags: - Convai put: summary: Update Agent Response Test description: Updates an agent response test by ID. operationId: update_agent_response_test_route parameters: - name: test_id in: path required: true schema: type: string description: The id of a chat response test. This is returned on test creation. examples: - TeaqRRdTcIfIu2i7BYfT embed: true title: Test Id description: The id of a chat response test. This is returned on test creation. - name: xi-api-key in: header required: false schema: anyOf: - type: string - type: 'null' description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. title: Xi-Api-Key description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. requestBody: required: true content: application/json: schema: anyOf: - $ref: '#/components/schemas/UpdateResponseUnitTestRequest' - $ref: '#/components/schemas/UpdateToolCallUnitTestRequest' - $ref: '#/components/schemas/UpdateSimulationTestRequest' description: Agent test to update title: Test Request responses: '200': description: Successful Response content: application/json: schema: oneOf: - $ref: '#/components/schemas/GetResponseUnitTestResponseModel' - $ref: '#/components/schemas/GetToolCallUnitTestResponseModel' - $ref: '#/components/schemas/GetSimulationTestResponseModel' discriminator: propertyName: type mapping: llm: '#/components/schemas/GetResponseUnitTestResponseModel' tool: '#/components/schemas/GetToolCallUnitTestResponseModel' simulation: '#/components/schemas/GetSimulationTestResponseModel' title: Response Update Agent Response Test V1 Convai Agent Testing Test Id Put '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-fern-sdk-group-name: - conversational_ai - tests x-fern-sdk-method-name: update tags: - Convai delete: summary: Delete Agent Response Test description: Deletes an agent response test by ID. operationId: delete_chat_response_test_route parameters: - name: test_id in: path required: true schema: type: string description: The id of a chat response test. This is returned on test creation. examples: - TeaqRRdTcIfIu2i7BYfT embed: true title: Test Id description: The id of a chat response test. This is returned on test creation. - name: xi-api-key in: header required: false schema: anyOf: - type: string - type: 'null' description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. title: Xi-Api-Key description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-fern-sdk-group-name: - conversational_ai - tests x-fern-sdk-method-name: delete tags: - Convai /v1/convai/agent-testing/summaries: post: summary: Get Agent Response Test Summaries By Ids description: Gets agent response test summaries for the requested test IDs. operationId: get_agent_response_tests_summaries_route parameters: - name: xi-api-key in: header required: false schema: anyOf: - type: string - type: 'null' description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. title: Xi-Api-Key description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ListTestsByIdsRequestModel' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/GetTestsSummariesByIdsResponseModel' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-fern-sdk-group-name: - conversational_ai - tests x-fern-sdk-method-name: summaries tags: - Convai /v1/convai/agent-testing: get: summary: List Agent Response Tests description: Lists all agent response tests with pagination support and optional search filtering. operationId: list_chat_response_tests_route parameters: - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' description: Used for fetching next page. Cursor is returned in the response. title: Cursor description: Used for fetching next page. Cursor is returned in the response. - name: page_size in: query required: false schema: type: integer maximum: 100 minimum: 1 description: How many Tests to return at maximum. Can not exceed 100, defaults to 30. default: 30 title: Page Size description: How many Tests to return at maximum. Can not exceed 100, defaults to 30. - name: search in: query required: false schema: anyOf: - type: string - type: 'null' description: Search query to filter tests and folders by name. title: Search description: Search query to filter tests and folders by name. - name: parent_folder_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by parent folder ID. Use 'root' to get items in the root folder. title: Parent Folder Id description: Filter by parent folder ID. Use 'root' to get items in the root folder. - name: types in: query required: false schema: anyOf: - type: array items: $ref: '#/components/schemas/TestType' - type: 'null' description: If present, the endpoint will return only tests/folders of the given types. title: Types description: If present, the endpoint will return only tests/folders of the given types. - name: include_folders in: query required: false schema: anyOf: - type: boolean - type: 'null' description: Deprecated. Use the `types` query param and include `folder` instead. deprecated: true title: Include Folders description: Deprecated. Use the `types` query param and include `folder` instead. deprecated: true - name: sort_mode in: query required: false schema: enum: - default - folders_first type: string description: Sort mode for listing tests. Use 'folders_first' to place folders before tests. default: default title: Sort Mode description: Sort mode for listing tests. Use 'folders_first' to place folders before tests. - name: sharing_mode in: query required: false schema: $ref: '#/components/schemas/TestSharingMode' description: Filter test visibility. Use `shared_with_me` to return only tests/folders shared with the current user that they did not create. default: all description: Filter test visibility. Use `shared_with_me` to return only tests/folders shared with the current user that they did not create. - name: xi-api-key in: header required: false schema: anyOf: - type: string - type: 'null' description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. title: Xi-Api-Key description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/GetTestsPageResponseModel' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-fern-sdk-group-name: - conversational_ai - tests x-fern-sdk-method-name: list tags: - Convai /v1/convai/test-invocations: get: summary: List Test Invocations description: Lists all test invocations with pagination support and optional search filtering. operationId: list_test_invocations_route parameters: - name: agent_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by agent ID title: Agent Id description: Filter by agent ID - name: page_size in: query required: false schema: type: integer maximum: 100 minimum: 1 description: How many Tests to return at maximum. Can not exceed 100, defaults to 30. default: 30 title: Page Size description: How many Tests to return at maximum. Can not exceed 100, defaults to 30. - name: search in: query required: false schema: anyOf: - type: string - type: 'null' description: Search query to filter tests and folders by name. title: Search description: Search query to filter tests and folders by name. - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' description: Used for fetching next page. Cursor is returned in the response. title: Cursor description: Used for fetching next page. Cursor is returned in the response. - name: xi-api-key in: header required: false schema: anyOf: - type: string - type: 'null' description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. title: Xi-Api-Key description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/GetTestInvocationsPageResponseModel' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-fern-sdk-group-name: - conversational_ai - tests - invocations x-fern-sdk-method-name: list tags: - Convai /v1/convai/agents/{agent_id}/run-tests: post: summary: Run Tests On The Agent description: Run selected tests on the agent with provided configuration. If the agent configuration is provided, it will be used to override default agent configuration. operationId: run_agent_test_suite_route parameters: - name: agent_id in: path required: true schema: type: string description: The id of an agent. This is returned on agent creation. examples: - agent_3701k3ttaq12ewp8b7qv5rfyszkz embed: true title: Agent Id description: The id of an agent. This is returned on agent creation. - name: xi-api-key in: header required: false schema: anyOf: - type: string - type: 'null' description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. title: Xi-Api-Key description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RunAgentTestsRequestModel' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/GetTestSuiteInvocationResponseModel' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-fern-sdk-group-name: - conversational_ai - agents x-fern-sdk-method-name: run_tests tags: - Convai /v1/convai/test-invocations/{test_invocation_id}: get: summary: Get Test Invocation description: Gets a test invocation by ID. operationId: get_test_invocation_route parameters: - name: test_invocation_id in: path required: true schema: type: string description: The id of a test invocation. This is returned when tests are run. embed: true title: Test Invocation Id description: The id of a test invocation. This is returned when tests are run. - name: xi-api-key in: header required: false schema: anyOf: - type: string - type: 'null' description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. title: Xi-Api-Key description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/GetTestSuiteInvocationResponseModel' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-fern-sdk-group-name: - conversational_ai - tests - invocations x-fern-sdk-method-name: get tags: - Convai /v1/convai/test-invocations/{test_invocation_id}/resubmit: post: summary: Resubmit Tests description: Resubmits specific test runs from a test invocation. operationId: resubmit_tests_route parameters: - name: test_invocation_id in: path required: true schema: type: string description: The id of a test invocation. This is returned when tests are run. embed: true title: Test Invocation Id description: The id of a test invocation. This is returned when tests are run. - name: xi-api-key in: header required: false schema: anyOf: - type: string - type: 'null' description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. title: Xi-Api-Key description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ResubmitTestsRequestModel' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-fern-sdk-group-name: - conversational_ai - tests - invocations x-fern-sdk-method-name: resubmit tags: - Convai /v1/convai/agents/{agent_id}/triage-tickets: get: summary: List Agent Conversation Tickets description: List an agent's conversation triage tickets, ordered by most recently created first. These are tickets about the agent's own performance on a conversation (for triage with Architect), not tickets an agent opens for end users. operationId: list_agent_conversation_tickets_route parameters: - name: agent_id in: path required: true schema: type: string title: Agent Id - name: page_size in: query required: false schema: type: integer maximum: 100 minimum: 1 description: How many agent conversation tickets to return. Can not exceed 100. default: 100 title: Page Size description: How many agent conversation tickets to return. Can not exceed 100. - name: conversation_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter tickets by conversation id. title: Conversation Id description: Filter tickets by conversation id. - name: status in: query required: false schema: anyOf: - $ref: '#/components/schemas/AgentConversationTicketStatus' - type: 'null' description: Filter tickets by status. title: Status description: Filter tickets by status. - name: sources in: query required: false schema: anyOf: - type: array items: $ref: '#/components/schemas/AgentConversationTicketSource' - type: 'null' description: Filter tickets by how they were raised (qa, agent, manual). Repeat the parameter to filter by multiple sources. title: Sources description: Filter tickets by how they were raised (qa, agent, manual). Repeat the parameter to filter by multiple sources. - name: owner_user_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter tickets by creator. Use 'agent' for agent-raised tickets. title: Owner User Id description: Filter tickets by creator. Use 'agent' for agent-raised tickets. - name: assignee_user_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter tickets by assignee. Use 'unassigned' for tickets with no assignee. title: Assignee User Id description: Filter tickets by assignee. Use 'unassigned' for tickets with no assignee. - name: issue_type in: query required: false schema: anyOf: - $ref: '#/components/schemas/AgentConversationTicketIssueType' - type: 'null' description: Filter clusters by issue type. title: Issue Type description: Filter clusters by issue type. - name: label in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter tickets by an exact label. title: Label description: Filter tickets by an exact label. - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' description: Used for fetching next page. Cursor is returned in the response. title: Cursor description: Used for fetching next page. Cursor is returned in the response. - name: xi-api-key in: header required: false schema: anyOf: - type: string - type: 'null' description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. title: Xi-Api-Key description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/GetAgentConversationTicketsPageResponseModel' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-fern-sdk-group-name: - conversational_ai - triage_tickets x-fern-sdk-method-name: list tags: - Convai post: summary: Create Manual Agent Ticket description: Manually raise a follow-up ticket against an agent, not tied to any conversation (for example a task like 'add the KB about X'). The comment is shown as the ticket title. Requires viewer access to the agent. operationId: create_manual_agent_ticket_route parameters: - name: agent_id in: path required: true schema: type: string title: Agent Id - name: xi-api-key in: header required: false schema: anyOf: - type: string - type: 'null' description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. title: Xi-Api-Key description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateManualTicketRequestModel' description: Manual ticket to create. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AgentConversationTicketResponseModel' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-fern-sdk-group-name: - conversational_ai - triage_tickets x-fern-sdk-method-name: create_manual tags: - Convai /v1/convai/triage-tickets: get: summary: List Workspace Conversation Tickets description: List conversation triage tickets across every agent in the workspace, ordered by most recently created first. Use this to build a workspace-wide view (for example, tickets assigned to the caller); for a single agent's tickets, use the per-agent endpoint instead. Tickets for agents the caller cannot access are omitted. operationId: list_workspace_conversation_tickets_route parameters: - name: page_size in: query required: false schema: type: integer maximum: 100 minimum: 1 description: How many agent conversation tickets to return. Can not exceed 100. default: 100 title: Page Size description: How many agent conversation tickets to return. Can not exceed 100. - name: status in: query required: false schema: anyOf: - $ref: '#/components/schemas/AgentConversationTicketStatus' - type: 'null' description: Filter tickets by status. title: Status description: Filter tickets by status. - name: assignee_user_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter tickets by assignee. Use 'unassigned' for tickets with no assignee. title: Assignee User Id description: Filter tickets by assignee. Use 'unassigned' for tickets with no assignee. - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' description: Used for fetching next page. Cursor is returned in the response. title: Cursor description: Used for fetching next page. Cursor is returned in the response. - name: xi-api-key in: header required: false schema: anyOf: - type: string - type: 'null' description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. title: Xi-Api-Key description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/GetAgentConversationTicketsPageResponseModel' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-fern-sdk-group-name: - conversational_ai - triage_tickets x-fern-sdk-method-name: list_for_workspace tags: - Convai post: summary: Create Agent Conversation Ticket description: Raise a ticket about an agent's performance on a conversation, for triage with Architect. Provide an overall comment and/or turn-level comments describing what went wrong. operationId: create_agent_conversation_ticket_route parameters: - name: xi-api-key in: header required: false schema: anyOf: - type: string - type: 'null' description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. title: Xi-Api-Key description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAgentConversationTicketRequestModel' description: Ticket to create. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AgentConversationTicketResponseModel' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-fern-sdk-group-name: - conversational_ai - triage_tickets x-fern-sdk-method-name: create tags: - Convai /v1/convai/agents/{agent_id}/triage-tickets/assignable-users: get: summary: Get Agent Conversation Ticket Assignable Users description: All non-service-account workspace members, each flagged with whether they currently have at least viewer access to the agent. Members without access are included (not filtered out) so the UI can offer them as an assignee and prompt to grant access first. operationId: get_assignable_users_route parameters: - name: agent_id in: path required: true schema: type: string title: Agent Id - name: xi-api-key in: header required: false schema: anyOf: - type: string - type: 'null' description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. title: Xi-Api-Key description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. responses: '200': description: Successful Response content: application/json: schema: type: array items: $ref: '#/components/schemas/AssignableUserResponseModel' title: Response Get Agent Conversation Ticket Assignable Users V1 Convai Agents Agent Id Triage Tickets Assignable Users Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-fern-sdk-group-name: - conversational_ai - triage_tickets x-fern-sdk-method-name: list_assignable_users tags: - Convai /v1/convai/triage-tickets/{agentqa_ticket_id}: get: summary: Get Agent Conversation Ticket description: Get an agent conversation ticket by ID. operationId: get_agent_conversation_ticket_route parameters: - name: agentqa_ticket_id in: path required: true schema: type: string title: Agentqa Ticket Id - name: xi-api-key in: header required: false schema: anyOf: - type: string - type: 'null' description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. title: Xi-Api-Key description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AgentConversationTicketResponseModel' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-fern-sdk-group-name: - conversational_ai - triage_tickets x-fern-sdk-method-name: get tags: - Convai patch: summary: Update Agent Conversation Ticket description: Update a ticket's comment, status, and/or assignee. Requires editor access to the ticket's agent. operationId: update_agent_conversation_ticket_route parameters: - name: agentqa_ticket_id in: path required: true schema: type: string title: Agentqa Ticket Id - name: xi-api-key in: header required: false schema: anyOf: - type: string - type: 'null' description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. title: Xi-Api-Key description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchAgentConversationTicketRequestModel' description: Fields to update. Omit a field to leave it unchanged. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AgentConversationTicketResponseModel' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-fern-sdk-group-name: - conversational_ai - triage_tickets x-fern-sdk-method-name: update tags: - Convai delete: summary: Delete Agent Conversation Ticket description: Delete an agent conversation ticket. Restricted to the ticket creator or a workspace admin. operationId: delete_agent_conversation_ticket_route parameters: - name: agentqa_ticket_id in: path required: true schema: type: string title: Agentqa Ticket Id - name: xi-api-key in: header required: false schema: anyOf: - type: string - type: 'null' description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. title: Xi-Api-Key description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. responses: '204': description: Successful Response '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-fern-sdk-group-name: - conversational_ai - triage_tickets x-fern-sdk-method-name: delete tags: - Convai /v1/convai/triage-tickets/{agentqa_ticket_id}/comments: post: summary: Add Comment To Agent Conversation Ticket description: Append a comment discussing how to resolve the ticket. Requires viewer access to the ticket's agent. operationId: add_ticket_comment_route parameters: - name: agentqa_ticket_id in: path required: true schema: type: string title: Agentqa Ticket Id - name: xi-api-key in: header required: false schema: anyOf: - type: string - type: 'null' description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. title: Xi-Api-Key description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AddTicketCommentRequestModel' description: Comment to append. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AgentConversationTicketResponseModel' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-fern-sdk-group-name: - conversational_ai - triage_tickets x-fern-sdk-method-name: add_comment tags: - Convai /v1/convai/triage-tickets/{agentqa_ticket_id}/turn-comments: post: summary: Add Turn Comment To Agent Conversation Ticket description: Append a turn-level comment to a ticket. Requires viewer access to the ticket's agent. operationId: add_turn_comment_route parameters: - name: agentqa_ticket_id in: path required: true schema: type: string title: Agentqa Ticket Id - name: xi-api-key in: header required: false schema: anyOf: - type: string - type: 'null' description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. title: Xi-Api-Key description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AddTurnCommentRequestModel' description: Turn-level comment to append. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AgentConversationTicketResponseModel' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-fern-sdk-group-name: - conversational_ai - triage_tickets x-fern-sdk-method-name: add_turn_comment tags: - Convai components: schemas: ListProductsParams: properties: list_kwargs: additionalProperties: true type: object title: List Kwargs smb_tool_type: type: string const: list_products title: Smb Tool Type default: list_products type: object title: ListProductsParams KnowledgeBaseRagToolStatus: type: string enum: - success - no_documents - no_results title: KnowledgeBaseRagToolStatus default: success AgentConversationTicketIssueType: type: string enum: - knowledge_gap - incorrect_information - documentation_gap - product_feedback - platform_bug - tool_issue - missing_tool - unnecessary_escalation - wrong_action title: AgentConversationTicketIssueType TTSOptimizeStreamingLatency: type: integer enum: - 0 - 1 - 2 - 3 - 4 title: TTSOptimizeStreamingLatency ConversationConfigOverrideConfig: properties: text_only: type: boolean title: Text Only description: Whether to allow overriding the text_only field. default: false max_duration_seconds: type: boolean title: Max Duration Seconds description: Whether to allow overriding the max_duration_seconds field. default: false type: object title: ConversationConfigOverrideConfig ToolErrorHandlingMode: type: string enum: - auto - summarized - passthrough - hide title: ToolErrorHandlingMode description: Controls how tool errors are processed before being shared with the agent. default: auto ASTLessThanOrEqualsOperatorNode-Input: properties: type: type: string const: lte_operator title: Type default: lte_operator left: $ref: '#/components/schemas/ASTNode-Input' description: Left operand of the binary operator. right: $ref: '#/components/schemas/ASTNode-Input' description: Right operand of the binary operator. type: object required: - left - right title: ASTLessThanOrEqualsOperatorNode WorkflowOverrideAgentNodeModel-Input: properties: type: type: string const: override_agent title: Type default: override_agent position: $ref: '#/components/schemas/Position-Input' description: Position of the node in the workflow. edge_order: items: type: string type: array title: Edge Order description: The ids of outgoing edges in the order they should be evaluated. conversation_config: $ref: '#/components/schemas/ConversationalConfigAPIModelWorkflowOverride-Input' description: Configuration overrides applied while the subagent is conducting the conversation. additional_prompt: type: string title: Additional Prompt description: Specific goal for this subagent. It will be added to the system prompt and can be used to further refine the agent's behavior in this specific context. additional_knowledge_base: items: $ref: '#/components/schemas/KnowledgeBaseLocator' type: array title: Additional Knowledge Base description: Additional knowledge base documents that the subagent has access to. These will be used in addition to the main agent's documents. additional_tool_ids: items: type: string type: array title: Additional Tool Ids description: IDs of additional tools that the subagent has access to. These will be used in addition to the main agent's tools. label: type: string title: Label description: Human-readable label for the node used throughout the UI. entry_behavior: $ref: '#/components/schemas/EntryBehavior' description: 'Dictates whether this node should immediately generate a response upon entry or wait for the user input. When set to "auto", the behavior will be decided based on the type of the preceding node: "wait_for_user" after the "say" and "start" nodes and "generate_immediately" otherwise.' default: auto type: object required: - label title: WorkflowOverrideAgentNodeModel ASTLessThanOperatorNode-Input: properties: type: type: string const: lt_operator title: Type default: lt_operator left: $ref: '#/components/schemas/ASTNode-Input' description: Left operand of the binary operator. right: $ref: '#/components/schemas/ASTNode-Input' description: Right operand of the binary operator. type: object required: - left - right title: ASTLessThanOperatorNode TestRunMetadata: properties: workspace_id: type: string title: Workspace Id test_name: type: string title: Test Name ran_by_user_email: type: string title: Ran By User Email test_type: type: string enum: - llm - tool_call - simulation title: Test Type default: llm type: object required: - workspace_id - test_name - ran_by_user_email title: TestRunMetadata TestRunStatus: type: string enum: - pending - passed - failed title: TestRunStatus AlertingSettings: properties: monitor_configs: additionalProperties: $ref: '#/components/schemas/AlertingMonitorConfig' type: object title: Monitor Configs description: Alerting configuration keyed by monitor name. auto_resolve_after_inactive_minutes: anyOf: - type: integer minimum: 1.0 - type: 'null' title: Auto Resolve After Inactive Minutes description: How many minutes an alert can stay inactive before it is auto-resolved. Unset values fall through to the next layer. notifiers: items: oneOf: - $ref: '#/components/schemas/AlertingWebhookNotifier' - $ref: '#/components/schemas/AlertingIntegrationNotifier' discriminator: propertyName: type mapping: integration: '#/components/schemas/AlertingIntegrationNotifier' webhook: '#/components/schemas/AlertingWebhookNotifier' type: array maxItems: 10 title: Notifiers description: Delivery channels for alert lifecycle notifications. Stacked with other layers and deduped by ``webhook_id``, PagerDuty ``connection_id``, or Slack ``(connection_id, channel_id)``. type: object title: AlertingSettings description: 'Alerting configuration used at both per-agent and per-workspace level. Cascade order for per-monitor threshold and auto-resolve: agent → workspace → system default.' CreateResponseUnitTestRequest: properties: from_conversation_metadata: anyOf: - $ref: '#/components/schemas/TestFromConversationMetadata-Input' - type: 'null' description: Metadata of a conversation this test was created from (if applicable). dynamic_variables: additionalProperties: true type: object title: Dynamic Variables description: Dynamic variables to replace in the agent config during testing chat_history: items: $ref: '#/components/schemas/ConversationHistoryTranscriptCommonModel-Input' type: array maxItems: 200 title: Chat History conversation_initiation_source: anyOf: - $ref: '#/components/schemas/ConversationInitiationSource' - type: 'null' description: Simulate the test as if the conversation originated from this channel. environment: anyOf: - type: string - type: 'null' title: Environment description: The environment to resolve environment-specific variable values against when running this test (URL, headers, auth connections). If not provided, defaults to 'production'. For simulation tests, simulation_environment takes precedence when set. type: type: string const: llm title: Type default: llm success_condition: type: string title: Success Condition description: A prompt that evaluates whether the agent's response is successful. Should return True or False. default: '' success_examples: items: $ref: '#/components/schemas/AgentSuccessfulResponseExample' type: array maxItems: 5 title: Success Examples description: Non-empty list of example responses that should be considered successful failure_examples: items: $ref: '#/components/schemas/AgentFailureResponseExample' type: array maxItems: 5 title: Failure Examples description: Non-empty list of example responses that should be considered failures name: type: string title: Name parent_folder_id: anyOf: - type: string - type: 'null' title: Parent Folder Id description: The ID of the parent folder. If not provided, the test will be created at the root level. type: object required: - name title: CreateResponseUnitTestRequest ClientEvent: type: string enum: - conversation_initiation_metadata - asr_initiation_metadata - ping - audio - interruption - user_transcript - tentative_user_transcript - agent_response - agent_response_correction - client_tool_call - mcp_tool_call - mcp_connection_status - agent_tool_request - agent_tool_response - agent_tool_response_full_payload - agent_response_metadata - vad_score - agent_chat_response_part - client_error - guardrail_triggered - dtmf_request - agent_response_complete - context_usage - internal_turn_probability - internal_tentative_agent_response title: ClientEvent TicketCommentResponseModel: properties: comment: type: string title: Comment created_at_unix_secs: type: integer title: Created At Unix Secs owner_user_id: anyOf: - type: string - type: 'null' title: Owner User Id type: object required: - comment - created_at_unix_secs - owner_user_id title: TicketCommentResponseModel SentimentAnalysisSettings: properties: {} type: object title: SentimentAnalysisSettings RagConfig-Input: properties: enabled: type: boolean title: Enabled default: false embedding_model: $ref: '#/components/schemas/EmbeddingModelEnum' default: e5_mistral_7b_instruct max_vector_distance: type: number exclusiveMaximum: 1.0 exclusiveMinimum: 0.0 title: Max Vector Distance description: Maximum vector distance of retrieved chunks. default: 0.6 examples: - 0.5 max_documents_length: type: integer exclusiveMaximum: 10000000.0 exclusiveMinimum: 0.0 title: Max Documents Length description: Maximum total length of document chunks retrieved from RAG. default: 50000 examples: - '50000' max_retrieved_rag_chunks_count: type: integer maximum: 20.0 exclusiveMinimum: 0.0 title: Max Retrieved Rag Chunks Count description: Maximum number of RAG document chunks to initially retrieve from the vector store. These are then further filtered by vector distance and total length. default: 20 examples: - 5 num_candidates: anyOf: - type: integer maximum: 10000.0 exclusiveMinimum: 0.0 - type: 'null' title: Num Candidates description: Number of candidates evaluated in ANN vector search. Higher number means better results, but higher latency. Minimum recommended value is 100. If disabled, the default value is used. examples: - 300 query_rewrite_prompt_override: anyOf: - type: string maxLength: 1000 minLength: 1 - type: 'null' title: Query Rewrite Prompt Override description: Custom prompt for rewriting user queries before RAG retrieval. The conversation history will be automatically appended at the end. If not set, the default prompt will be used. examples: - You are given a conversation between a user and an assistant. Rewrite the last question to be self-contained and clear. knowledge_base_tool_info: anyOf: - $ref: '#/components/schemas/KnowledgeBaseToolInfo' - type: 'null' description: When set, the agent uses the knowledge_base tool instead of the legacy knowledge_base_rag tool. None means the agent is not opted in. type: object title: RagConfig DTMFInputConfig: properties: dtmf_input_timeout: type: number maximum: 10.0 minimum: 0.5 title: Dtmf Input Timeout description: Timeout in seconds to wait for additional DTMF digits default: 2.0 hash_terminator: type: boolean title: Hash Terminator description: 'If true, pressing # immediately completes DTMF input' default: true redact_input: type: boolean title: Redact Input description: If true, replace the caller's DTMF (keypad) entries with a redaction marker in the transcript, conversation log and analysis. Digits the agent repeats back or passes to a tool are not affected. default: false type: object title: DTMFInputConfig description: Configuration for DTMF (keypad) input collection during phone calls. EmbedVariant: type: string enum: - tiny - compact - full - expandable title: EmbedVariant default: full BuiltInTools-Input: properties: transfer_to_agent: anyOf: - $ref: '#/components/schemas/SystemToolConfig-Input' - type: 'null' description: The transfer to agent tool end_call: anyOf: - $ref: '#/components/schemas/SystemToolConfig-Input' - type: 'null' description: The end call tool language_detection: anyOf: - $ref: '#/components/schemas/SystemToolConfig-Input' - type: 'null' description: The language detection tool transfer_to_number: anyOf: - $ref: '#/components/schemas/SystemToolConfig-Input' - type: 'null' description: The transfer to number tool skip_turn: anyOf: - $ref: '#/components/schemas/SystemToolConfig-Input' - type: 'null' description: The skip turn tool play_keypad_touch_tone: anyOf: - $ref: '#/components/schemas/SystemToolConfig-Input' - type: 'null' description: The play DTMF tool voicemail_detection: anyOf: - $ref: '#/components/schemas/SystemToolConfig-Input' - type: 'null' description: The voicemail detection tool type: object title: BuiltInTools description: 'System tools a conversational agent can be given. Deliberately not named ConversationalBuiltInTools: BuiltInToolsInput and BuiltInToolsOutput are part of the public API spec and the generated SDKs.' MockNoMatchBehavior: type: string enum: - call_real_tool - raise_error title: MockNoMatchBehavior default: raise_error ThresholdGuardrail: properties: is_enabled: type: boolean title: Is Enabled default: false threshold: type: number maximum: 1.0 minimum: 0.0 title: Threshold default: 0.3 type: object title: ThresholdGuardrail AgentWorkflowRequestModel: properties: edges: additionalProperties: $ref: '#/components/schemas/WorkflowEdgeModel-Input' type: object title: Edges nodes: additionalProperties: oneOf: - $ref: '#/components/schemas/WorkflowStartNodeModel-Input' description: Entry point of the workflow. - $ref: '#/components/schemas/WorkflowEndNodeModel-Input' description: Terminates the conversation upon reaching this node. - $ref: '#/components/schemas/WorkflowPhoneNumberNodeModel-Input' description: Transfers the conversation to a phone number. - $ref: '#/components/schemas/WorkflowOverrideAgentNodeModel-Input' description: A subagent conducting the conversation until one of the exit conditions is met. Each subagent can override the base settings, changing the prompt, knowledge base, and more. - $ref: '#/components/schemas/WorkflowStandaloneAgentNodeModel-Input' description: Transfer the conversation to a standalone agent. - $ref: '#/components/schemas/WorkflowToolNodeModel-Input' description: Executes one or more tools in parallel. discriminator: propertyName: type mapping: end: '#/components/schemas/WorkflowEndNodeModel-Input' override_agent: '#/components/schemas/WorkflowOverrideAgentNodeModel-Input' phone_number: '#/components/schemas/WorkflowPhoneNumberNodeModel-Input' standalone_agent: '#/components/schemas/WorkflowStandaloneAgentNodeModel-Input' start: '#/components/schemas/WorkflowStartNodeModel-Input' tool: '#/components/schemas/WorkflowToolNodeModel-Input' type: object minProperties: 1 title: Nodes prevent_subagent_loops: type: boolean title: Prevent Subagent Loops description: Whether to prevent loops in the workflow execution. default: false type: object title: AgentWorkflowRequestModel example: edges: entry_to_tool_a: forward_condition: condition: Tool A condition source: entry_node target: tool_node_a start_to_entry: forward_condition: {} source: start_node target: entry_node tool_a_to_failure: forward_condition: successful: false source: tool_node_a target: failure_node tool_a_to_tool_b: forward_condition: successful: true source: tool_node_a target: tool_node_b tool_b_to_agent_transfer: forward_condition: {} source: tool_node_b target: success_transfer tool_b_to_conversation: forward_condition: condition: Conversation condition source: tool_node_b target: success_conversation tool_b_to_end: forward_condition: condition: End condition source: tool_node_b target: success_end tool_b_to_phone: forward_condition: expression: children: - name: force_phone_transfer - prompt: Phone condition value_schema: description: Phone condition type: boolean - left: name: mode right: value: dev source: tool_node_b target: success_phone nodes: entry_node: conversation_config: {} edge_order: - entry_to_tool_a label: Entry failure_node: conversation_config: {} label: Failure start_node: edge_order: - start_to_entry success_conversation: conversation_config: {} label: Success A success_end: {} success_phone: transfer_destination: phone_number: '+1234567890' success_transfer: agent_id: success_transfer_agent tool_node_a: edge_order: - tool_a_to_failure - tool_a_to_tool_b tools: - tool_id: tool_a - tool_id: tool_b tool_node_b: edge_order: - tool_b_to_conversation - tool_b_to_end - tool_b_to_phone - tool_b_to_agent_transfer tools: - tool_id: tool_a RequiredConstraints: properties: any_of: items: $ref: '#/components/schemas/RequiredConstraint' type: array title: Any Of all_of: items: $ref: '#/components/schemas/RequiredConstraint' type: array title: All Of type: object title: RequiredConstraints description: Wrapper for anyOf/allOf composition constraints scoped to required fields. ListCalendarEventsParams: properties: smb_tool_type: type: string const: list_calendar_events title: Smb Tool Type default: list_calendar_events include_cancelled: type: boolean title: Include Cancelled default: false type: object title: ListCalendarEventsParams PreToolSpeechMode: type: string enum: - auto - force - 'off' title: PreToolSpeechMode default: auto ToolResponseMockConfig-Output: properties: parameter_conditions: items: $ref: '#/components/schemas/UnitTestToolCallParameter' type: array title: Parameter Conditions description: If the list is empty, the mock will always activate. mock_result: type: string title: Mock Result description: The return value the LLM sees when this mock is active. is_error: type: boolean title: Is Error description: If true, the mock result is surfaced to the LLM as a tool error rather than a successful result. default: false type: object required: - mock_result title: ToolResponseMockConfig AttachedUserDataCollectionRef: properties: source: type: string const: user title: Source analysis_item_id: type: string title: Analysis Item Id description: Id of the referenced user data-collection item. version_id: anyOf: - type: string - type: 'null' title: Version Id description: Pinned item version. None tracks the item's latest published version. scope: $ref: '#/components/schemas/AnalysisScope' description: Transcript context ('conversation' or 'agent') used when running this item. default: conversation type: object required: - source - analysis_item_id title: AttachedUserDataCollectionRef CreateAgentProcedureParams: properties: smb_tool_type: type: string const: create_agent_procedure title: Smb Tool Type default: create_agent_procedure type: object title: CreateAgentProcedureParams ImageAvatar: properties: type: type: string const: image title: Type description: The type of the avatar default: image url: type: string title: Url description: The URL of the avatar default: '' type: object title: ImageAvatar VoicemailDetectionToolConfig: properties: system_tool_type: type: string const: voicemail_detection title: System Tool Type default: voicemail_detection voicemail_message: anyOf: - type: string - type: 'null' title: Voicemail Message description: Optional message to leave on voicemail when detected. If not provided, the call will end immediately when voicemail is detected. Supports dynamic variables (e.g., {{system__time}}, {{system__call_duration_secs}}, {{custom_variable}}). type: object title: VoicemailDetectionToolConfig description: 'Allows the agent to detect when a voicemail system is encountered. This tool should be invoked by the LLM when it detects that the call has been answered by a voicemail system rather than a human. If a voicemail message is configured, it will be played; otherwise the call will end immediately.' UnitTestToolCallEvaluationModel-Input: properties: parameters: items: $ref: '#/components/schemas/UnitTestToolCallParameter' type: array title: Parameters description: Parameters to evaluate for the agent's tool call. If empty, the tool call parameters are not evaluated. referenced_tool: anyOf: - $ref: '#/components/schemas/ReferencedToolCommonModel' - type: 'null' description: The tool to evaluate a call against. verify_absence: type: boolean title: Verify Absence description: Whether to verify that the tool was NOT called. default: false workflow_node_transition: anyOf: - $ref: '#/components/schemas/UnitTestWorkflowNodeTransitionEvaluationNodeId' - type: 'null' description: Configuration for testing workflow node transitions. When set, the test will verify the agent transitions to the specified workflow node. type: object title: UnitTestToolCallEvaluationModel UnitTestWorkflowNodeTransitionEvaluationNodeId: properties: type: type: string const: node_id title: Type default: node_id agent_id: type: string title: Agent Id description: The ID of the agent whose workflow contains the target node. target_node_id: type: string title: Target Node Id description: The ID of the workflow node that the agent should transition to. type: object required: - agent_id - target_node_id title: UnitTestWorkflowNodeTransitionEvaluationNodeId KnowledgeBaseRagChunkModel: properties: chunk_id: type: string title: Chunk Id document_id: type: string title: Document Id content: type: string title: Content type: object required: - chunk_id - document_id - content title: KnowledgeBaseRagChunkModel CreateProductParams: properties: smb_tool_type: type: string const: create_product title: Smb Tool Type default: create_product type: object title: CreateProductParams RestoreCalendarEventParams: properties: smb_tool_type: type: string const: restore_calendar_event title: Smb Tool Type default: restore_calendar_event type: object title: RestoreCalendarEventParams TurnConfigWorkflowOverride: properties: turn_timeout: anyOf: - type: number - type: 'null' title: Turn Timeout description: Maximum wait time for the user's reply before re-engaging the user initial_wait_time: anyOf: - type: number - type: 'null' title: Initial Wait Time description: How long the agent will wait for the user to start the conversation if the first message is empty. If not set, uses the regular turn_timeout. silence_end_call_timeout: anyOf: - type: number - type: 'null' title: Silence End Call Timeout description: Maximum wait time since the user last spoke before terminating the call mode: anyOf: - $ref: '#/components/schemas/TurnMode' - type: 'null' description: The mode of turn detection x-fern-ignore: true turn_eagerness: anyOf: - $ref: '#/components/schemas/TurnEagerness' - type: 'null' description: Controls how eager the agent is to respond. Low = less eager (waits longer), Standard = default eagerness, High = more eager (responds sooner) spelling_patience: anyOf: - $ref: '#/components/schemas/SpellingPatience' - type: 'null' description: Controls if the agent should be more patient when user is spelling numbers and named entities. Auto = model based, Off = never wait extra speculative_turn: anyOf: - type: boolean - type: 'null' title: Speculative Turn description: When enabled, starts generating LLM responses during silence before full turn confidence is reached, reducing perceived latency. May increase LLM costs. retranscribe_on_turn_timeout: anyOf: - type: boolean - type: 'null' title: Retranscribe On Turn Timeout description: When enabled, if VAD detects no speech, attempts to re-transcribe accumulated audio at turn timeout. Disables silence discount billing for affected turns. turn_model: anyOf: - $ref: '#/components/schemas/TurnModel' - type: 'null' description: Version of the turn detection model to use. interruption_ignore_terms: anyOf: - items: type: string type: array - type: 'null' title: Interruption Ignore Terms description: List of terms that should not trigger an interruption when spoken by the user (e.g. 'gotcha', 'understood'). Uses case-insensitive exact matching. interruption_ignore_term_languages: anyOf: - items: type: string type: array - type: 'null' title: Interruption Ignore Term Languages description: Language codes for which preset ignore-term categories have been activated. Stored explicitly so display is not inferred from term overlap. merge_with_default_ignore_terms: anyOf: - type: boolean - type: 'null' title: Merge With Default Ignore Terms description: When enabled, the curated default terms for interruption_ignore_term_languages are used in addition to interruption_ignore_terms. transcribe_on_disabled_interruptions: anyOf: - type: boolean - type: 'null' title: Transcribe On Disabled Interruptions description: When interruptions are disabled, still transcribe what the user says so it can carry into the next turn. When off, user speech during a non-interruptible turn is ignored and won't trigger a turn. soft_timeout_config: anyOf: - $ref: '#/components/schemas/SoftTimeoutConfigWorkflowOverride' - type: 'null' description: Configuration for soft timeout functionality. Provides immediate feedback during longer LLM responses. type: object title: TurnConfigWorkflowOverride example: interruption_ignore_term_languages: [] interruption_ignore_terms: [] merge_with_default_ignore_terms: false mode: turn retranscribe_on_turn_timeout: false silence_end_call_timeout: -1.0 soft_timeout_config: message: Hhmmmm...yeah. timeout_seconds: -1.0 use_llm_generated_message: false speculative_turn: false spelling_patience: auto transcribe_on_disabled_interruptions: false turn_eagerness: normal turn_model: turn_v3 turn_timeout: 7.0 CreateHolidayParams: properties: smb_tool_type: type: string const: create_holiday title: Smb Tool Type default: create_holiday type: object title: CreateHolidayParams OutputFormat: type: string enum: - plain_text - markdown title: OutputFormat StartProcedureToolResultErrorModel: properties: result_type: type: string const: start_procedure_error title: Result Type default: start_procedure_error status: $ref: '#/components/schemas/StartProcedureToolErrorStatus' procedure_id: anyOf: - type: string - type: 'null' title: Procedure Id message: type: string title: Message type: object required: - status - message title: StartProcedureToolResultErrorModel ConversationHistoryMultivoiceMessagePartModel: properties: text: type: string title: Text voice_label: anyOf: - type: string - type: 'null' title: Voice Label time_in_call_secs: anyOf: - type: integer - type: 'null' title: Time In Call Secs type: object required: - text - voice_label - time_in_call_secs title: ConversationHistoryMultivoiceMessagePartModel description: Represents a single voice part of a multi-voice message. BackgroundSoundSourceType: type: string enum: - preset title: BackgroundSoundSourceType description: The type of background sound source. UserFeedback: properties: score: $ref: '#/components/schemas/UserFeedbackScore' time_in_call_secs: type: integer title: Time In Call Secs type: object required: - score - time_in_call_secs title: UserFeedback TTSConversationalConfigOverrideConfig: properties: model_id: type: boolean title: Model Id description: Whether to allow overriding the model_id field. default: false voice_id: type: boolean title: Voice Id description: Whether to allow overriding the voice_id field. default: false supported_voices: type: boolean title: Supported Voices description: Whether to allow overriding the supported_voices field. default: false stability: type: boolean title: Stability description: Whether to allow overriding the stability field. default: false speed: type: boolean title: Speed description: Whether to allow overriding the speed field. default: false similarity_boost: type: boolean title: Similarity Boost description: Whether to allow overriding the similarity_boost field. default: false pronunciation_dictionary_locators: type: boolean title: Pronunciation Dictionary Locators description: Whether to allow overriding the pronunciation_dictionary_locators field. default: false type: object title: TTSConversationalConfigOverrideConfig DeleteClientParams: properties: smb_tool_type: type: string const: delete_client title: Smb Tool Type default: delete_client type: object title: DeleteClientParams description: Delete a client, cascading deletion of all their appointments first. WorkflowStartNodeModel-Input: properties: type: type: string const: start title: Type default: start position: $ref: '#/components/schemas/Position-Input' description: Position of the node in the workflow. edge_order: items: type: string type: array title: Edge Order description: The ids of outgoing edges in the order they should be evaluated. type: object title: WorkflowStartNodeModel ASTNode-Input: oneOf: - $ref: '#/components/schemas/ASTStringNode-Input' description: String literal. - $ref: '#/components/schemas/ASTNumberNode-Input' description: Number literal. - $ref: '#/components/schemas/ASTBooleanNode-Input' description: Boolean literal. - $ref: '#/components/schemas/ASTNullNode-Input' description: Null literal. - $ref: '#/components/schemas/ASTLLMNode-Input' description: Value extracted by an LLM according to the given schema. - $ref: '#/components/schemas/ASTDynamicVariableNode-Input' description: Reference to a dynamic variable. - $ref: '#/components/schemas/ASTOrOperatorNode-Input' description: Evaluates to true if any child is true. - $ref: '#/components/schemas/ASTAndOperatorNode-Input' description: Evaluates to true if all children are true. - $ref: '#/components/schemas/ASTEqualsOperatorNode-Input' description: Evaluates to true if the left value equals the right. - $ref: '#/components/schemas/ASTNotEqualsOperatorNode-Input' description: Evaluates to true if the left value does not equal the right. - $ref: '#/components/schemas/ASTGreaterThanOperatorNode-Input' description: Evaluates to true if the left value is greater than the right. - $ref: '#/components/schemas/ASTLessThanOperatorNode-Input' description: Evaluates to true if the left value is less than the right. - $ref: '#/components/schemas/ASTGreaterThanOrEqualsOperatorNode-Input' description: Evaluates to true if the left value is greater than or equal to the right. - $ref: '#/components/schemas/ASTLessThanOrEqualsOperatorNode-Input' description: Evaluates to true if the left value is less than or equal to the right. - $ref: '#/components/schemas/ASTAdditionOperatorNode-Input' description: Adds the left and right values. - $ref: '#/components/schemas/ASTSubtractionOperatorNode-Input' description: Subtracts the right value from the left. - $ref: '#/components/schemas/ASTMultiplicationOperatorNode-Input' description: Multiplies the left value times the right. - $ref: '#/components/schemas/ASTDivisionOperatorNode-Input' description: Divides the left value by the right. - $ref: '#/components/schemas/ASTConditionalOperatorNode-Input' description: Selects one of two expressions based on whether the given condition evaluates to true. discriminator: propertyName: type mapping: add_operator: '#/components/schemas/ASTAdditionOperatorNode-Input' and_operator: '#/components/schemas/ASTAndOperatorNode-Input' boolean_literal: '#/components/schemas/ASTBooleanNode-Input' conditional_operator: '#/components/schemas/ASTConditionalOperatorNode-Input' div_operator: '#/components/schemas/ASTDivisionOperatorNode-Input' dynamic_variable: '#/components/schemas/ASTDynamicVariableNode-Input' eq_operator: '#/components/schemas/ASTEqualsOperatorNode-Input' gt_operator: '#/components/schemas/ASTGreaterThanOperatorNode-Input' gte_operator: '#/components/schemas/ASTGreaterThanOrEqualsOperatorNode-Input' llm: '#/components/schemas/ASTLLMNode-Input' lt_operator: '#/components/schemas/ASTLessThanOperatorNode-Input' lte_operator: '#/components/schemas/ASTLessThanOrEqualsOperatorNode-Input' mul_operator: '#/components/schemas/ASTMultiplicationOperatorNode-Input' neq_operator: '#/components/schemas/ASTNotEqualsOperatorNode-Input' null_literal: '#/components/schemas/ASTNullNode-Input' number_literal: '#/components/schemas/ASTNumberNode-Input' or_operator: '#/components/schemas/ASTOrOperatorNode-Input' string_literal: '#/components/schemas/ASTStringNode-Input' sub_operator: '#/components/schemas/ASTSubtractionOperatorNode-Input' OmitSchemaOverride: properties: source: type: string const: omit title: Source default: omit type: object title: OmitSchemaOverride SoftTimeoutConfigOverrideConfig: properties: message: type: boolean title: Message description: Whether to allow overriding the message field. default: false additional_soft_timeout_messages: type: boolean title: Additional Soft Timeout Messages description: Whether to allow overriding the additional_soft_timeout_messages field. default: false type: object title: SoftTimeoutConfigOverrideConfig ConvAIEnvVarLocator: properties: env_var_label: type: string title: Env Var Label type: object required: - env_var_label title: ConvAIEnvVarLocator description: Used to reference an environment variable by label. KnowledgeBaseToolResultModel: properties: result_type: type: string const: knowledge_base_success title: Result Type default: knowledge_base_success status: $ref: '#/components/schemas/KnowledgeBaseToolStatus' default: success chunk_count: type: integer title: Chunk Count default: 0 message: type: string title: Message default: Referenced knowledge base. type: object title: KnowledgeBaseToolResultModel ASTSubtractionOperatorNode-Input: properties: type: type: string const: sub_operator title: Type default: sub_operator left: $ref: '#/components/schemas/ASTNode-Input' description: Left operand of the binary operator. right: $ref: '#/components/schemas/ASTNode-Input' description: Right operand of the binary operator. type: object required: - left - right title: ASTSubtractionOperatorNode DeleteStaffParams: properties: smb_tool_type: type: string const: delete_staff title: Smb Tool Type default: delete_staff type: object title: DeleteStaffParams description: Delete an existing staff member from the system. WorkflowToolMaxIterationsExceededStepModel: properties: step_latency_secs: type: number title: Step Latency Secs type: type: string const: max_iterations_exceeded title: Type default: max_iterations_exceeded max_iterations: type: integer title: Max Iterations type: object required: - step_latency_secs - max_iterations title: WorkflowToolMaxIterationsExceededStepModel GuardrailsV1-Input: properties: version: type: string const: '1' title: Version default: '1' focus: $ref: '#/components/schemas/FocusGuardrail' prompt_injection: $ref: '#/components/schemas/PromptInjectionGuardrail' content: $ref: '#/components/schemas/ContentGuardrail-Input' moderation: anyOf: - $ref: '#/components/schemas/ModerationGuardrail-Input' - type: 'null' x-fern-ignore: true custom: $ref: '#/components/schemas/CustomGuardrail-Input' type: object title: GuardrailsV1 DynamicVariableUpdateCommonModel: properties: variable_name: type: string title: Variable Name old_value: anyOf: - type: string - type: 'null' title: Old Value new_value: type: string title: New Value updated_at: type: number title: Updated At tool_name: type: string title: Tool Name tool_request_id: type: string title: Tool Request Id type: object required: - variable_name - old_value - new_value - updated_at - tool_name - tool_request_id title: DynamicVariableUpdateCommonModel description: Tracks a dynamic variable update that occurred during tool execution. FileInputConfigWorkflowOverride: properties: enabled: anyOf: - type: boolean - type: 'null' title: Enabled description: When enabled, users may attach images or PDFs in chat when the LLM supports multimodal input. max_files_in_memory: anyOf: - type: integer - type: 'null' title: Max Files In Memory description: Number of most-recent files kept in memory during a conversation. Older files are summarized and their bytes freed. max_files_per_conversation: anyOf: - type: integer - type: 'null' title: Max Files Per Conversation description: Total files a user can upload in one conversation. Uploads are billed per file. Use -1 for no limit, or a value >= max_files_in_memory. type: object title: FileInputConfigWorkflowOverride ListClientsParams: properties: smb_tool_type: type: string const: list_clients title: Smb Tool Type default: list_clients type: object title: ListClientsParams description: List clients ordered by most recently updated, with an optional limit. CreateAssetParams: properties: smb_tool_type: type: string const: create_asset title: Smb Tool Type default: create_asset type: object title: CreateAssetParams MCPApprovalPolicy: type: string enum: - auto_approve_all - require_approval_all - require_approval_per_tool title: MCPApprovalPolicy description: Defines the MCP server-level approval policy for tool execution. default: require_approval_all ConversationHistoryTranscriptApiIntegrationWebhookToolsResultCommonModel-Input: properties: request_id: type: string title: Request Id tool_name: type: string title: Tool Name result_value: type: string title: Result Value is_error: type: boolean title: Is Error is_blocked: type: boolean title: Is Blocked default: false tool_has_been_called: type: boolean title: Tool Has Been Called tool_latency_secs: type: number title: Tool Latency Secs default: 0 error_type: type: string title: Error Type default: '' raw_error_message: type: string title: Raw Error Message default: '' dynamic_variable_updates: items: $ref: '#/components/schemas/DynamicVariableUpdateCommonModel' type: array title: Dynamic Variable Updates type: type: string const: api_integration_webhook title: Type integration_id: type: string title: Integration Id default: '' credential_id: type: string title: Credential Id default: '' integration_connection_id: type: string title: Integration Connection Id default: '' type: object required: - request_id - tool_name - result_value - is_error - tool_has_been_called - type title: ConversationHistoryTranscriptApiIntegrationWebhookToolsResultCommonModel LanguagePresetTranslation: properties: source_hash: type: string title: Source Hash text: type: string title: Text type: object required: - source_hash - text title: LanguagePresetTranslation AddTicketCommentRequestModel: properties: comment: type: string maxLength: 10000 minLength: 1 title: Comment description: A comment discussing how to resolve the ticket. type: object required: - comment title: AddTicketCommentRequestModel UpdateBookingPageAppearanceParams: properties: smb_tool_type: type: string const: update_booking_page_appearance title: Smb Tool Type default: update_booking_page_appearance type: object title: UpdateBookingPageAppearanceParams UpdateHolidayParams: properties: smb_tool_type: type: string const: update_holiday title: Smb Tool Type default: update_holiday type: object title: UpdateHolidayParams AgentHoldAudioConfig: properties: audio_path: type: string title: Audio Path description: Storage path of the uploaded clip audio_url: type: string title: Audio Url description: Public CDN URL of the uploaded clip original_filename: type: string title: Original Filename description: Filename of the uploaded clip as provided by the user duration_secs: type: number title: Duration Secs description: Duration of the uploaded clip in seconds size_bytes: type: integer title: Size Bytes description: Size of the uploaded clip in bytes type: object required: - audio_path - audio_url - original_filename - duration_secs - size_bytes title: AgentHoldAudioConfig description: 'Custom hold audio played on loop to callers waiting in the agent''s queue. Set by uploading a file through the agent hold-audio endpoint. Values sent in agent create or update requests are ignored.' TestConditionResultCommonModel: properties: result: $ref: '#/components/schemas/EvaluationSuccessResult' rationale: anyOf: - $ref: '#/components/schemas/TestConditionRationaleCommonModel' - type: 'null' type: object required: - result title: TestConditionResultCommonModel TurnCommentRequestModel: properties: turn_index: type: integer minimum: 0.0 title: Turn Index description: Zero-based index of the transcript turn this comment refers to. comment: type: string maxLength: 10000 minLength: 1 title: Comment description: What went wrong at this turn. type: object required: - turn_index - comment title: TurnCommentRequestModel ObjectJsonSchemaProperty-Input: properties: property_kind: type: string enum: - array - object title: Property Kind default: object description: type: string title: Description default: '' dynamic_variable: type: string title: Dynamic Variable description: When set, the entire parameter is populated from this dynamic variable at runtime. Mutually exclusive with description (LLM-provided value), constant_value, and is_omitted. default: '' constant_value: anyOf: - additionalProperties: true type: object - type: 'null' title: Constant Value description: When set, the entire object uses this constant JSON value at runtime. Mutually exclusive with description (LLM-provided object), dynamic_variable, and is_omitted. is_omitted: type: boolean title: Is Omitted description: If true, this parameter will be completely omitted from the request. Only valid for optional parameters. Mutually exclusive with description, dynamic_variable, and constant_value. default: false type: type: string const: object title: Type default: object required: items: type: string type: array title: Required properties: additionalProperties: oneOf: - $ref: '#/components/schemas/LiteralJsonSchemaProperty' - $ref: '#/components/schemas/ObjectJsonSchemaProperty-Input' - $ref: '#/components/schemas/ArrayJsonSchemaProperty-Input' type: object title: Properties required_constraints: anyOf: - $ref: '#/components/schemas/RequiredConstraints' - type: 'null' additionalProperties: false type: object title: ObjectJsonSchemaProperty TTSOutputFormat: type: string enum: - pcm_8000 - pcm_16000 - pcm_22050 - pcm_24000 - pcm_44100 - pcm_48000 - ulaw_8000 title: TTSOutputFormat default: pcm_16000 OptOutSmsReminderParams: properties: smb_tool_type: type: string const: opt_out_sms_reminder title: Smb Tool Type default: opt_out_sms_reminder type: object title: OptOutSmsReminderParams ListAgentProceduresParams: properties: smb_tool_type: type: string const: list_agent_procedures title: Smb Tool Type default: list_agent_procedures type: object title: ListAgentProceduresParams EvaluationSettings-Input: properties: criteria: items: $ref: '#/components/schemas/PromptEvaluationCriteria' type: array title: Criteria description: Individual criteria that the agent should be evaluated against type: object title: EvaluationSettings description: 'Settings to evaluate an agent''s performance. Agents are evaluated against a set of criteria, with success being defined as meeting some combination of those criteria.' ASTNullNode-Input: properties: type: type: string const: null_literal title: Type default: null_literal type: object title: ASTNullNode VoiceMailDetectionResultSuccessModel: properties: result_type: type: string const: voicemail_detection_success title: Result Type default: voicemail_detection_success status: type: string const: success title: Status default: success voicemail_message: anyOf: - type: string - type: 'null' title: Voicemail Message reason: anyOf: - type: string - type: 'null' title: Reason type: object title: VoiceMailDetectionResultSuccessModel BackgroundSoundConfig: properties: source_type: anyOf: - $ref: '#/components/schemas/BackgroundSoundSourceType' - type: 'null' description: The type of background sound source. source_id: anyOf: - $ref: '#/components/schemas/BackgroundSoundPresetId' - type: 'null' description: Identifier for the sound source. volume: type: number maximum: 1.0 minimum: 0.01 title: Volume description: Volume level for background sound (0.01 to 1.0). default: 0.15 crossfade_loop: type: boolean title: Crossfade Loop description: Apply a crossfade at the loop boundary to avoid audible pops when the sound loops. default: true type: object title: BackgroundSoundConfig TransferToAgentToolResultSuccessModel-Input: properties: result_type: type: string const: transfer_to_agent_success title: Result Type default: transfer_to_agent_success status: type: string const: success title: Status default: success from_agent: type: string title: From Agent to_agent: type: string title: To Agent to_node: anyOf: - type: string - type: 'null' title: To Node condition: type: string title: Condition delay_ms: type: integer title: Delay Ms default: 0 transfer_message: anyOf: - type: string - type: 'null' title: Transfer Message enable_transferred_agent_first_message: type: boolean title: Enable Transferred Agent First Message default: false branch_info: anyOf: - oneOf: - $ref: '#/components/schemas/TransferBranchInfoTrafficSplit' - $ref: '#/components/schemas/TransferBranchInfoDefaultingToMain' discriminator: propertyName: branch_reason mapping: defaulting_to_main: '#/components/schemas/TransferBranchInfoDefaultingToMain' traffic_split: '#/components/schemas/TransferBranchInfoTrafficSplit' - type: 'null' title: Branch Info preserve_client_tts_overrides: type: boolean title: Preserve Client Tts Overrides default: false type: object required: - from_agent - to_agent - condition title: TransferToAgentToolResultSuccessModel AgentTestFolderPathSegmentResponseModel: properties: id: type: string title: Id name: type: string title: Name default: '' type: object required: - id title: AgentTestFolderPathSegmentResponseModel WorkflowToolResponseModel-Input: properties: steps: items: oneOf: - $ref: '#/components/schemas/WorkflowToolEdgeStepModel' - $ref: '#/components/schemas/WorkflowToolNestedToolsStepModel-Input' - $ref: '#/components/schemas/WorkflowToolMaxIterationsExceededStepModel' discriminator: propertyName: type mapping: edge: '#/components/schemas/WorkflowToolEdgeStepModel' max_iterations_exceeded: '#/components/schemas/WorkflowToolMaxIterationsExceededStepModel' nested_tools: '#/components/schemas/WorkflowToolNestedToolsStepModel-Input' type: array title: Steps type: object title: WorkflowToolResponseModel description: A common model for workflow tool responses. KnowledgeBaseToolStatus: type: string enum: - success - no_matching_documents - no_results title: KnowledgeBaseToolStatus default: success KnowledgeBaseLocator: properties: type: $ref: '#/components/schemas/KnowledgeBaseDocumentType' description: The type of the knowledge base name: type: string title: Name description: The name of the knowledge base id: type: string title: Id description: The ID of the knowledge base usage_mode: $ref: '#/components/schemas/DocumentUsageModeEnum' description: The usage mode of the knowledge base default: auto type: object required: - type - name - id title: KnowledgeBaseLocator example: id: '123' name: My Knowledge Base type: file usage_mode: auto InteractionBudget: type: string enum: - realtime - 5_minutes - 10_minutes - 1_hour title: InteractionBudget UpdateSimulationTestRequest: properties: from_conversation_metadata: anyOf: - $ref: '#/components/schemas/TestFromConversationMetadata-Input' - type: 'null' description: Metadata of a conversation this test was created from (if applicable). dynamic_variables: additionalProperties: true type: object title: Dynamic Variables description: Dynamic variables to replace in the agent config during testing chat_history: items: $ref: '#/components/schemas/ConversationHistoryTranscriptCommonModel-Input' type: array maxItems: 200 title: Chat History conversation_initiation_source: anyOf: - $ref: '#/components/schemas/ConversationInitiationSource' - type: 'null' description: Simulate the test as if the conversation originated from this channel. environment: anyOf: - type: string - type: 'null' title: Environment description: The environment to resolve environment-specific variable values against when running this test (URL, headers, auth connections). If not provided, defaults to 'production'. For simulation tests, simulation_environment takes precedence when set. type: type: string const: simulation title: Type default: simulation success_condition: anyOf: - type: string - type: 'null' title: Success Condition description: Deprecated legacy single success criterion. Use success_conditions instead. At least one of success_condition or success_conditions is required. deprecated: true success_conditions: items: type: string type: array maxItems: 30 title: Success Conditions description: List of prompts that evaluate whether the simulation was successful. If provided, all criteria are evaluated and merged into a final result. Capped at the maximum number of evaluation criteria. simulation_scenario: type: string title: Simulation Scenario description: Description of the simulation scenario and user persona for simulation tests. default: '' simulation_max_turns: type: integer maximum: 50.0 minimum: 1.0 title: Simulation Max Turns description: Maximum number of conversation turns for simulation tests. default: 5 simulation_environment: anyOf: - type: string - type: 'null' title: Simulation Environment description: The environment to use when running this simulation test. If not provided, defaults to 'production'. tool_mock_config: $ref: '#/components/schemas/SimulationToolMockBehaviorConfig' description: Configuration for which tools to mock and fallback behavior. tool_mock_overrides: additionalProperties: items: $ref: '#/components/schemas/ToolResponseMockConfig-Input' type: array type: object title: Tool Mock Overrides description: Test-specific response mocks, keyed by tool ID. Applied ahead of the tool's shared mocks and only within this test. Only take effect for tools that are mocked (see tool_mock_config). evaluation_model: anyOf: - $ref: '#/components/schemas/LLM' - type: 'null' description: LLM model to use for evaluating simulation results. default: claude-sonnet-4-6 simulated_user_model: anyOf: - $ref: '#/components/schemas/LLM' - type: 'null' description: LLM model for the simulated user. default: claude-sonnet-4-6 name: type: string title: Name parent_folder_id: anyOf: - type: string - type: 'null' title: Parent Folder Id description: The ID of the parent folder. If not provided, the test will be moved to the root level. type: object required: - name title: UpdateSimulationTestRequest TextNormalisationType: type: string enum: - system_prompt - elevenlabs title: TextNormalisationType description: Method for converting numbers to words before sending to TTS default: system_prompt ListServicesParams: properties: list_kwargs: additionalProperties: true type: object title: List Kwargs smb_tool_type: type: string const: list_services title: Smb Tool Type default: list_services type: object title: ListServicesParams LLMLiteralJsonSchemaProperty: properties: type: anyOf: - type: string enum: - boolean - string - integer - number - items: type: string type: array maxItems: 2 minItems: 2 title: Type description: type: string minLength: 0 title: Description enum: anyOf: - items: type: string type: array - type: 'null' title: Enum description: List of allowed string values for string type parameters type: object required: - type - description title: LLMLiteralJsonSchemaProperty AgentTestEntityType: type: string enum: - test - folder title: AgentTestEntityType default: test TestConditionRationaleCommonModel: properties: messages: items: type: string type: array title: Messages description: List of individual parameter evaluation messages or reasons summary: type: string title: Summary description: High-level summary of the evaluation result default: '' type: object title: TestConditionRationaleCommonModel description: Structured rationale for test condition results containing individual failure/success reasons. UpdateServiceParams: properties: smb_tool_type: type: string const: update_service title: Smb Tool Type default: update_service type: object title: UpdateServiceParams description: Update an existing service's information. ConversationHistoryTranscriptCommonModel-Input: properties: role: type: string enum: - user - agent title: Role agent_metadata: anyOf: - $ref: '#/components/schemas/AgentMetadata' - type: 'null' message: anyOf: - type: string - type: 'null' title: Message multivoice_message: anyOf: - $ref: '#/components/schemas/ConversationHistoryMultivoiceMessageModel' - type: 'null' tool_calls: items: $ref: '#/components/schemas/ConversationHistoryTranscriptToolCallCommonModel-Input' type: array title: Tool Calls tool_results: items: oneOf: - $ref: '#/components/schemas/ConversationHistoryTranscriptOtherToolsResultCommonModel' - $ref: '#/components/schemas/ConversationHistoryTranscriptSystemToolResultCommonModel-Input' - $ref: '#/components/schemas/ConversationHistoryTranscriptApiIntegrationWebhookToolsResultCommonModel-Input' - $ref: '#/components/schemas/ConversationHistoryTranscriptWorkflowToolsResultCommonModel-Input' type: array title: Tool Results feedback: anyOf: - $ref: '#/components/schemas/UserFeedback' - type: 'null' llm_override: anyOf: - type: string - type: 'null' title: Llm Override producing_llm: anyOf: - type: string - type: 'null' title: Producing Llm time_in_call_secs: type: integer title: Time In Call Secs conversation_turn_metrics: anyOf: - $ref: '#/components/schemas/ConversationTurnMetrics' - type: 'null' rag_retrieval_info: anyOf: - $ref: '#/components/schemas/RagRetrievalInfo' - type: 'null' llm_usage: anyOf: - $ref: '#/components/schemas/LLMUsage-Input' - type: 'null' interrupted: type: boolean title: Interrupted default: false ignored_as_backchannel: type: boolean title: Ignored As Backchannel default: false original_message: anyOf: - type: string - type: 'null' title: Original Message reasoning: items: $ref: '#/components/schemas/ConversationReasoningModel' type: array title: Reasoning source_medium: anyOf: - $ref: '#/components/schemas/ChatSourceMedium' - type: 'null' source_event_id: anyOf: - type: integer - type: 'null' title: Source Event Id used_static_kb_document_ids: items: type: string type: array title: Used Static Kb Document Ids user_identifier: anyOf: - type: string - type: 'null' title: User Identifier id: anyOf: - type: string - type: 'null' title: Id triggered_guardrails: items: $ref: '#/components/schemas/TriggeredGuardrailCommonModel' type: array title: Triggered Guardrails type: object required: - role - time_in_call_secs title: ConversationHistoryTranscriptCommonModel WidgetStyles: properties: base: anyOf: - type: string - type: 'null' title: Base description: The base background color. base_hover: anyOf: - type: string - type: 'null' title: Base Hover description: The color of the base background when hovered. base_active: anyOf: - type: string - type: 'null' title: Base Active description: The color of the base background when active (clicked). base_border: anyOf: - type: string - type: 'null' title: Base Border description: The color of the border against the base background. base_subtle: anyOf: - type: string - type: 'null' title: Base Subtle description: The color of subtle text against the base background. base_primary: anyOf: - type: string - type: 'null' title: Base Primary description: The color of primary text against the base background. base_error: anyOf: - type: string - type: 'null' title: Base Error description: The color of error text against the base background. accent: anyOf: - type: string - type: 'null' title: Accent description: The accent background color. accent_hover: anyOf: - type: string - type: 'null' title: Accent Hover description: The color of the accent background when hovered. accent_active: anyOf: - type: string - type: 'null' title: Accent Active description: The color of the accent background when active (clicked). accent_border: anyOf: - type: string - type: 'null' title: Accent Border description: The color of the border against the accent background. accent_subtle: anyOf: - type: string - type: 'null' title: Accent Subtle description: The color of subtle text against the accent background. accent_primary: anyOf: - type: string - type: 'null' title: Accent Primary description: The color of primary text against the accent background. overlay_padding: anyOf: - type: number - type: 'null' title: Overlay Padding description: The padding around the edges of the viewport. button_radius: anyOf: - type: number - type: 'null' title: Button Radius description: The radius of the buttons. input_radius: anyOf: - type: number - type: 'null' title: Input Radius description: The radius of the input fields. bubble_radius: anyOf: - type: number - type: 'null' title: Bubble Radius description: The radius of the chat bubbles. sheet_radius: anyOf: - type: number - type: 'null' title: Sheet Radius description: The default radius of sheets. compact_sheet_radius: anyOf: - type: number - type: 'null' title: Compact Sheet Radius description: The radius of the sheet in compact mode. dropdown_sheet_radius: anyOf: - type: number - type: 'null' title: Dropdown Sheet Radius description: The radius of the dropdown sheet. type: object title: WidgetStyles ASTNotEqualsOperatorNode-Input: properties: type: type: string const: neq_operator title: Type default: neq_operator left: $ref: '#/components/schemas/ASTNode-Input' description: Left operand of the binary operator. right: $ref: '#/components/schemas/ASTNode-Input' description: Right operand of the binary operator. type: object required: - left - right title: ASTNotEqualsOperatorNode ASRInputFormat: type: string enum: - pcm_8000 - pcm_16000 - pcm_22050 - pcm_24000 - pcm_44100 - pcm_48000 - ulaw_8000 title: ASRInputFormat default: pcm_16000 SimulationTestModel: properties: from_conversation_metadata: anyOf: - $ref: '#/components/schemas/TestFromConversationMetadata-Output' - type: 'null' description: Metadata of a conversation this test was created from (if applicable). dynamic_variables: additionalProperties: true type: object title: Dynamic Variables description: Dynamic variables to replace in the agent config during testing chat_history: items: $ref: '#/components/schemas/ConversationHistoryTranscriptCommonModel-Output' type: array maxItems: 200 title: Chat History conversation_initiation_source: anyOf: - $ref: '#/components/schemas/ConversationInitiationSource' - type: 'null' description: Simulate the test as if the conversation originated from this channel. environment: anyOf: - type: string - type: 'null' title: Environment description: The environment to resolve environment-specific variable values against when running this test (URL, headers, auth connections). If not provided, defaults to 'production'. For simulation tests, simulation_environment takes precedence when set. type: type: string const: simulation title: Type default: simulation success_condition: anyOf: - type: string - type: 'null' title: Success Condition description: Deprecated legacy single success criterion. Use success_conditions instead. At least one of success_condition or success_conditions is required. deprecated: true success_conditions: items: type: string type: array maxItems: 30 title: Success Conditions description: List of prompts that evaluate whether the simulation was successful. If provided, all criteria are evaluated and merged into a final result. Capped at the maximum number of evaluation criteria. simulation_scenario: type: string title: Simulation Scenario description: Description of the simulation scenario and user persona for simulation tests. default: '' simulation_max_turns: type: integer maximum: 50.0 minimum: 1.0 title: Simulation Max Turns description: Maximum number of conversation turns for simulation tests. default: 5 simulation_environment: anyOf: - type: string - type: 'null' title: Simulation Environment description: The environment to use when running this simulation test. If not provided, defaults to 'production'. tool_mock_config: $ref: '#/components/schemas/SimulationToolMockBehaviorConfig' description: Configuration for which tools to mock and fallback behavior. tool_mock_overrides: additionalProperties: items: $ref: '#/components/schemas/ToolResponseMockConfig-Output' type: array type: object title: Tool Mock Overrides description: Test-specific response mocks, keyed by tool ID. Applied ahead of the tool's shared mocks and only within this test. Only take effect for tools that are mocked (see tool_mock_config). evaluation_model: anyOf: - $ref: '#/components/schemas/LLM' - type: 'null' description: LLM model to use for evaluating simulation results. default: claude-sonnet-4-6 simulated_user_model: anyOf: - $ref: '#/components/schemas/LLM' - type: 'null' description: LLM model for the simulated user. default: claude-sonnet-4-6 type: object title: SimulationTestModel GetScheduleParams: properties: smb_tool_type: type: string const: get_schedule title: Smb Tool Type default: get_schedule include_location_filter: type: boolean title: Include Location Filter default: false type: object title: GetScheduleParams UpdateOrderParams: properties: smb_tool_type: type: string const: update_order title: Smb Tool Type default: update_order type: object title: UpdateOrderParams TurnModel: type: string enum: - turn_v2 - turn_v3 title: TurnModel description: Version of the turn detection model to use. default: turn_v3 EndCallTriggerAction: properties: type: type: string const: end_call title: Type default: end_call type: object title: EndCallTriggerAction ConversationHistoryTranscriptOtherToolsResultCommonModel: properties: request_id: type: string title: Request Id tool_name: type: string title: Tool Name result_value: type: string title: Result Value is_error: type: boolean title: Is Error is_blocked: type: boolean title: Is Blocked default: false tool_has_been_called: type: boolean title: Tool Has Been Called tool_latency_secs: type: number title: Tool Latency Secs default: 0 error_type: type: string title: Error Type default: '' raw_error_message: type: string title: Raw Error Message default: '' dynamic_variable_updates: items: $ref: '#/components/schemas/DynamicVariableUpdateCommonModel' type: array title: Dynamic Variable Updates type: anyOf: - type: string enum: - client - webhook - mcp - code - type: 'null' title: Type type: object required: - request_id - tool_name - result_value - is_error - tool_has_been_called title: ConversationHistoryTranscriptOtherToolsResultCommonModel SupportedVoice: properties: label: type: string minLength: 1 title: Label voice_id: type: string minLength: 1 title: Voice Id description: anyOf: - type: string - type: 'null' title: Description language: anyOf: - type: string - type: 'null' title: Language model_family: anyOf: - $ref: '#/components/schemas/TTSModelFamily' - type: 'null' optimize_streaming_latency: anyOf: - $ref: '#/components/schemas/TTSOptimizeStreamingLatency' - type: 'null' stability: anyOf: - type: number maximum: 1.0 minimum: 0.0 - type: 'null' title: Stability speed: anyOf: - type: number maximum: 1.2 minimum: 0.7 - type: 'null' title: Speed similarity_boost: anyOf: - type: number maximum: 1.0 minimum: 0.0 - type: 'null' title: Similarity Boost type: object required: - label - voice_id title: SupportedVoice GetSimulationTestResponseModel: properties: from_conversation_metadata: anyOf: - $ref: '#/components/schemas/TestFromConversationMetadata-Output' - type: 'null' description: Metadata of a conversation this test was created from (if applicable). dynamic_variables: additionalProperties: true type: object title: Dynamic Variables description: Dynamic variables to replace in the agent config during testing chat_history: items: $ref: '#/components/schemas/ConversationHistoryTranscriptCommonModel-Output' type: array maxItems: 200 title: Chat History conversation_initiation_source: anyOf: - $ref: '#/components/schemas/ConversationInitiationSource' - type: 'null' description: Simulate the test as if the conversation originated from this channel. environment: anyOf: - type: string - type: 'null' title: Environment description: The environment to resolve environment-specific variable values against when running this test (URL, headers, auth connections). If not provided, defaults to 'production'. For simulation tests, simulation_environment takes precedence when set. type: type: string const: simulation title: Type default: simulation success_condition: anyOf: - type: string - type: 'null' title: Success Condition description: Deprecated legacy single success criterion. Use success_conditions instead. At least one of success_condition or success_conditions is required. deprecated: true success_conditions: items: type: string type: array maxItems: 30 title: Success Conditions description: List of prompts that evaluate whether the simulation was successful. If provided, all criteria are evaluated and merged into a final result. Capped at the maximum number of evaluation criteria. simulation_scenario: type: string title: Simulation Scenario description: Description of the simulation scenario and user persona for simulation tests. default: '' simulation_max_turns: type: integer maximum: 50.0 minimum: 1.0 title: Simulation Max Turns description: Maximum number of conversation turns for simulation tests. default: 5 simulation_environment: anyOf: - type: string - type: 'null' title: Simulation Environment description: The environment to use when running this simulation test. If not provided, defaults to 'production'. tool_mock_config: $ref: '#/components/schemas/SimulationToolMockBehaviorConfig' description: Configuration for which tools to mock and fallback behavior. tool_mock_overrides: additionalProperties: items: $ref: '#/components/schemas/ToolResponseMockConfig-Output' type: array type: object title: Tool Mock Overrides description: Test-specific response mocks, keyed by tool ID. Applied ahead of the tool's shared mocks and only within this test. Only take effect for tools that are mocked (see tool_mock_config). evaluation_model: anyOf: - $ref: '#/components/schemas/LLM' - type: 'null' description: LLM model to use for evaluating simulation results. default: claude-sonnet-4-6 simulated_user_model: anyOf: - $ref: '#/components/schemas/LLM' - type: 'null' description: LLM model for the simulated user. default: claude-sonnet-4-6 id: type: string title: Id name: type: string title: Name type: object required: - id - name title: GetSimulationTestResponseModel CancelCalendarEventParams: properties: smb_tool_type: type: string const: cancel_calendar_event title: Smb Tool Type default: cancel_calendar_event type: object title: CancelCalendarEventParams ConversationHistoryTranscriptSystemToolResultCommonModel-Input: properties: request_id: type: string title: Request Id tool_name: type: string title: Tool Name result_value: type: string title: Result Value is_error: type: boolean title: Is Error is_blocked: type: boolean title: Is Blocked default: false tool_has_been_called: type: boolean title: Tool Has Been Called tool_latency_secs: type: number title: Tool Latency Secs default: 0 error_type: type: string title: Error Type default: '' raw_error_message: type: string title: Raw Error Message default: '' dynamic_variable_updates: items: $ref: '#/components/schemas/DynamicVariableUpdateCommonModel' type: array title: Dynamic Variable Updates type: type: string const: system title: Type result: anyOf: - oneOf: - $ref: '#/components/schemas/EndCallToolResultModel' - $ref: '#/components/schemas/LanguageDetectionToolResultModel' - $ref: '#/components/schemas/TransferToAgentToolResultSuccessModel-Input' - $ref: '#/components/schemas/TransferToAgentToolResultErrorModel' - $ref: '#/components/schemas/TransferToNumberResultTwilioSuccessModel' - $ref: '#/components/schemas/TransferToNumberResultSipSuccessModel' - $ref: '#/components/schemas/TransferToNumberResultExotelSuccessModel' - $ref: '#/components/schemas/TransferToNumberResultErrorModel' - $ref: '#/components/schemas/SkipTurnToolResponseModel' - $ref: '#/components/schemas/PlayDTMFResultSuccessModel' - $ref: '#/components/schemas/PlayDTMFResultErrorModel' - $ref: '#/components/schemas/VoiceMailDetectionResultSuccessModel' - $ref: '#/components/schemas/TestToolResultModel' - $ref: '#/components/schemas/KnowledgeBaseRagToolResultModel' - $ref: '#/components/schemas/KnowledgeBaseToolResultModel' - $ref: '#/components/schemas/StartProcedureToolResultSuccessModel' - $ref: '#/components/schemas/StartProcedureToolResultErrorModel' - $ref: '#/components/schemas/EndProcedureToolResultSuccessModel' - $ref: '#/components/schemas/EndProcedureToolResultErrorModel' - $ref: '#/components/schemas/DummyToolResultModel' discriminator: propertyName: result_type mapping: dummy: '#/components/schemas/DummyToolResultModel' end_call_success: '#/components/schemas/EndCallToolResultModel' end_procedure_error: '#/components/schemas/EndProcedureToolResultErrorModel' end_procedure_success: '#/components/schemas/EndProcedureToolResultSuccessModel' knowledge_base_rag_success: '#/components/schemas/KnowledgeBaseRagToolResultModel' knowledge_base_success: '#/components/schemas/KnowledgeBaseToolResultModel' language_detection_success: '#/components/schemas/LanguageDetectionToolResultModel' play_dtmf_error: '#/components/schemas/PlayDTMFResultErrorModel' play_dtmf_success: '#/components/schemas/PlayDTMFResultSuccessModel' skip_turn_success: '#/components/schemas/SkipTurnToolResponseModel' start_procedure_error: '#/components/schemas/StartProcedureToolResultErrorModel' start_procedure_success: '#/components/schemas/StartProcedureToolResultSuccessModel' testing_tool_result: '#/components/schemas/TestToolResultModel' transfer_to_agent_error: '#/components/schemas/TransferToAgentToolResultErrorModel' transfer_to_agent_success: '#/components/schemas/TransferToAgentToolResultSuccessModel-Input' transfer_to_number_error: '#/components/schemas/TransferToNumberResultErrorModel' transfer_to_number_exotel_success: '#/components/schemas/TransferToNumberResultExotelSuccessModel' transfer_to_number_sip_success: '#/components/schemas/TransferToNumberResultSipSuccessModel' transfer_to_number_twilio_success: '#/components/schemas/TransferToNumberResultTwilioSuccessModel' voicemail_detection_success: '#/components/schemas/VoiceMailDetectionResultSuccessModel' - type: 'null' title: Result type: object required: - request_id - tool_name - result_value - is_error - tool_has_been_called - type title: ConversationHistoryTranscriptSystemToolResultCommonModel AgentTestingSettings: properties: attached_tests: items: $ref: '#/components/schemas/AttachedTestModel' type: array maxItems: 5000 minItems: 0 title: Attached Tests description: List of test IDs that should be run for this agent type: object title: AgentTestingSettings description: Settings for agent testing configuration. example: attached_tests: - environment: staging test_id: test_123 workflow_node_id: node_abc - test_id: test_456 referenced_tests_ids: - test_123 - test_456 DeleteGroupSessionParams: properties: smb_tool_type: type: string const: delete_group_session title: Smb Tool Type default: delete_group_session type: object title: DeleteGroupSessionParams description: 'Permanently remove a previously-cancelled group session. Group analogue of ``delete_calendar_event``: cancel (``cancel_group_session_for_all``) is the soft, history-preserving step; this tool is the irreversible follow-up that drops the row from Mongo and the staff Google Calendar entirely. The backend rejects the call (422) if the session hasn''t been cancelled yet, so the only safe path is cancel-then-delete.' UpdateStaffParams: properties: smb_tool_type: type: string const: update_staff title: Smb Tool Type default: update_staff type: object title: UpdateStaffParams description: Update an existing staff member's information. PlayDTMFToolConfig: properties: system_tool_type: type: string const: play_keypad_touch_tone title: System Tool Type default: play_keypad_touch_tone use_out_of_band_dtmf: type: boolean title: Use Out Of Band Dtmf description: Send DTMF tones as out-of-band RTP events (RFC 4733) instead of in-band audio. Only effective for SIP trunk imported numbers. default: true suppress_turn_after_dtmf: type: boolean title: Suppress Turn After Dtmf description: If true, the agent will not generate further speech after playing DTMF tones. This prevents the agent's speech from interfering with IVR systems. default: false type: object title: PlayDTMFToolConfig description: 'Allows the agent to play DTMF tones during a phone call. This tool can be used to interact with automated phone systems, such as navigating phone menus, entering extensions, or inputting numeric codes.' ConversationInitiationSource: type: string enum: - unknown - android_sdk - node_js_sdk - react_native_sdk - react_sdk - js_sdk - python_sdk - widget - sip_trunk - twilio - exotel - genesys - avaya - audiocodes - swift_sdk - whatsapp - twilio_sms - flutter_sdk - zendesk_integration - slack_integration - telegram_integration - intercom_integration - freshdesk_integration - salesforce_integration - template_preview - genesys_bot_connector - subagent_tool title: ConversationInitiationSource description: Enum representing the possible sources for conversation initiation. default: unknown ASTNumberNode-Input: properties: type: type: string const: number_literal title: Type default: number_literal value: anyOf: - type: number - type: integer title: Value description: Value of this literal. type: object required: - value title: ASTNumberNode GetTestSuiteInvocationResponseModel: properties: id: type: string title: Id agent_id: anyOf: - type: string - type: 'null' title: Agent Id branch_id: anyOf: - type: string - type: 'null' title: Branch Id version_id: anyOf: - type: string - type: 'null' title: Version Id ran_against_draft: type: boolean title: Ran Against Draft default: false created_at: type: integer title: Created At folder_id: anyOf: - type: string - type: 'null' title: Folder Id repeat_count: type: integer title: Repeat Count default: 1 bucketing_status: anyOf: - $ref: '#/components/schemas/BucketingStatus' - type: 'null' description: None when repeat_count==1 (no bucketing). Otherwise tracks bucketing lifecycle. result_groups: items: $ref: '#/components/schemas/TestRunResultSummary' type: array title: Result Groups test_runs: items: $ref: '#/components/schemas/UnitTestRunResponseModel' type: array title: Test Runs type: object required: - id - test_runs title: GetTestSuiteInvocationResponseModel LLMReasoningEffort: type: string enum: - none - minimal - low - medium - high - xhigh - max title: LLMReasoningEffort GetAppointmentByConfirmationNumberParams: properties: smb_tool_type: type: string const: get_appointment_by_confirmation_number title: Smb Tool Type default: get_appointment_by_confirmation_number type: object title: GetAppointmentByConfirmationNumberParams description: 'Look up an appointment by the booking confirmation number the caller quotes. The confirmation number is the 8-character code shown on the booking confirmation page (e.g. ``#01ABCDEF``). Callers may read it back with or without the leading ``#`` and with varied spacing; the tool normalizes the input and does a prefix match on the stored calendar item id.' TurnConfigOverride: properties: soft_timeout_config: anyOf: - $ref: '#/components/schemas/SoftTimeoutConfigOverride' - type: 'null' description: Configuration for soft timeout functionality. Provides immediate feedback during longer LLM responses. type: object title: TurnConfigOverride example: soft_timeout_config: message: Hhmmmm...yeah. AlertingWebhookNotifier: properties: type: type: string const: webhook title: Type default: webhook webhook_id: type: string title: Webhook Id description: ID of the workspace webhook to deliver alert lifecycle notifications to. type: object required: - webhook_id title: AlertingWebhookNotifier AttachedSystemEvaluationRef: properties: source: type: string const: system title: Source analysis_item_id: type: string enum: - __system_eval_criteria_sentiment - __system_eval_criteria_frustration title: Analysis Item Id description: Id of the referenced built-in system evaluation. scope: $ref: '#/components/schemas/AnalysisScope' description: Transcript context ('conversation' or 'agent') used when running this item. default: conversation weight: anyOf: - type: number - type: 'null' title: Weight description: Optional relative weight for aggregate scoring. type: object required: - source - analysis_item_id title: AttachedSystemEvaluationRef UnitTestRunResponseModel: properties: test_run_id: type: string title: Test Run Id test_info: anyOf: - oneOf: - $ref: '#/components/schemas/ResponseUnitTestModel' - $ref: '#/components/schemas/ToolCallUnitTestModel' - $ref: '#/components/schemas/SimulationTestModel' discriminator: propertyName: type mapping: llm: '#/components/schemas/ResponseUnitTestModel' simulation: '#/components/schemas/SimulationTestModel' tool: '#/components/schemas/ToolCallUnitTestModel' - type: 'null' title: Test Info test_invocation_id: type: string title: Test Invocation Id agent_id: type: string title: Agent Id branch_id: anyOf: - type: string - type: 'null' title: Branch Id version_id: anyOf: - type: string - type: 'null' title: Version Id ran_against_draft: type: boolean title: Ran Against Draft default: false workflow_node_id: anyOf: - type: string - type: 'null' title: Workflow Node Id status: $ref: '#/components/schemas/TestRunStatus' agent_responses: anyOf: - items: $ref: '#/components/schemas/ConversationHistoryTranscriptCommonModel-Output' type: array - type: 'null' title: Agent Responses test_id: type: string title: Test Id test_name: type: string title: Test Name default: Unknown Test condition_result: anyOf: - $ref: '#/components/schemas/TestConditionResultCommonModel' - type: 'null' last_updated_at_unix: type: integer title: Last Updated At Unix metadata: anyOf: - $ref: '#/components/schemas/TestRunMetadata' - type: 'null' root_folder_id: anyOf: - type: string - type: 'null' title: Root Folder Id root_folder_name: anyOf: - type: string - type: 'null' title: Root Folder Name environment: anyOf: - type: string - type: 'null' title: Environment type: object required: - test_run_id - test_invocation_id - agent_id - status - test_id title: UnitTestRunResponseModel UUITransferConfig: properties: data: type: string maxLength: 8192 title: Data description: UUI payload to send on SIP REFER transfers. Supports inline dynamic variables and is hex-encoded at transfer time. protocol_discriminator: anyOf: - type: string pattern: ^[0-9A-Fa-f]{2}$ - type: 'null' title: Protocol Discriminator description: Optional one-octet protocol discriminator (two hex digits, e.g. '00'). Required by platforms such as Genesys Cloud, which otherwise strip the first octet of the payload. Leave unset for platforms like Talkdesk that expect a bare hex payload. protocol_discriminator_mode: type: string enum: - prefix - pd_parameter title: Protocol Discriminator Mode description: How to attach protocol_discriminator. 'prefix' prepends the octet to the hex payload (User-to-User=XX;encoding=hex). 'pd_parameter' sends it as a separate parameter (User-to-User=;pd=XX;encoding=hex). Ignored when protocol_discriminator is unset. default: prefix type: object required: - data title: UUITransferConfig description: 'User-to-User Information envelope for SIP REFER transfers (RFC 7433). Outbound payloads are hex-encoded (the only encoding RFC 7433 defines). The protocol discriminator axis lets per-platform formats (Talkdesk, Genesys, ...) be expressed by configuration rather than scattered transfer flags. Further axes (ASCII encoding, header name, purpose/content parameters) can be added here without touching the transfer model.' ClientToolConfig-Input: properties: type: type: string const: client title: Type description: The type of tool default: client name: type: string minLength: 0 pattern: ^[a-zA-Z0-9_-]{1,64}$ title: Name description: type: string minLength: 0 title: Description description: Description of when the tool should be used and what it does. response_timeout_secs: type: integer maximum: 120.0 minimum: 1.0 title: Response Timeout Secs description: The maximum time in seconds to wait for the tool call to complete. Must be between 1 and 120 seconds (inclusive). default: 20 disable_interruptions: type: boolean title: Disable Interruptions description: 'DEPRECATED: use `interruption_mode` instead. If true, the user will not be able to interrupt the agent while this tool is running.' default: false deprecated: true interruption_mode: $ref: '#/components/schemas/ToolInterruptionMode' description: Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it. default: allow force_pre_tool_speech: type: boolean title: Force Pre Tool Speech description: 'DEPRECATED: use `pre_tool_speech` instead. If true, the agent will speak before the tool call.' default: false deprecated: true pre_tool_speech: $ref: '#/components/schemas/PreToolSpeechMode' description: Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency. default: auto assignments: items: $ref: '#/components/schemas/DynamicVariableAssignment' type: array title: Assignments description: Configuration for extracting values from tool responses and assigning them to dynamic variables tool_call_sound: anyOf: - $ref: '#/components/schemas/ToolCallSoundType' - type: 'null' description: Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played. x-convai-client-override: true tool_call_sound_behavior: $ref: '#/components/schemas/ToolCallSoundBehavior' description: Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call. default: auto tool_error_handling_mode: $ref: '#/components/schemas/ToolErrorHandlingMode' description: Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent. default: auto parameters: anyOf: - $ref: '#/components/schemas/ObjectJsonSchemaProperty-Input' description: JSON schema for the parameters the LLM provides. - type: 'null' description: Schema for any parameters to pass to the client expects_response: type: boolean title: Expects Response description: If true, calling this tool should block the conversation until the client responds with some response which is passed to the llm. If false then we will continue the conversation without waiting for the client to respond, this is useful to show content to a user but not block the conversation default: false dynamic_variables: $ref: '#/components/schemas/DynamicVariablesConfig' description: Configuration for dynamic variables execution_mode: $ref: '#/components/schemas/ToolExecutionMode' description: 'Determines when and how the tool executes: ''immediate'' executes the tool right away when requested by the LLM, ''post_tool_speech'' waits for the agent to finish speaking before executing, ''async'' runs the tool in the background without blocking - best for long-running operations.' default: immediate type: object required: - name - description title: ClientToolConfig description: A client tool is one that sends an event to the user's client to trigger something client side example: expects_response: false type: client ASTGreaterThanOrEqualsOperatorNode-Input: properties: type: type: string const: gte_operator title: Type default: gte_operator left: $ref: '#/components/schemas/ASTNode-Input' description: Left operand of the binary operator. right: $ref: '#/components/schemas/ASTNode-Input' description: Right operand of the binary operator. type: object required: - left - right title: ASTGreaterThanOrEqualsOperatorNode CreateTransferRuleParams: properties: smb_tool_type: type: string const: create_transfer_rule title: Smb Tool Type default: create_transfer_rule post_dial_digits_enabled: type: boolean title: Post Dial Digits Enabled description: Whether to offer the post_dial_digits parameter, set from the receptionists' enable_play_keypad_touch_tone_tool config. Digits saved while that is off are dropped when the receptionist is built, so the parameter is hidden rather than accepted and ignored. default: false type: object title: CreateTransferRuleParams TransferToAgentToolResultErrorModel: properties: result_type: type: string const: transfer_to_agent_error title: Result Type default: transfer_to_agent_error status: type: string const: error title: Status default: error from_agent: type: string title: From Agent error: type: string title: Error type: object required: - from_agent - error title: TransferToAgentToolResultErrorModel AuthConnectionLocator: properties: auth_connection_id: type: string title: Auth Connection Id type: object required: - auth_connection_id title: AuthConnectionLocator description: Used to reference an auth connection from the workspace's auth connection store. ListLocationsParams: properties: smb_tool_type: type: string const: list_locations title: Smb Tool Type default: list_locations type: object title: ListLocationsParams description: Params + Reception-proxied ``run()`` for list_locations. GetAgentConversationTicketsPageResponseModel: properties: agent_conversation_tickets: items: $ref: '#/components/schemas/AgentConversationTicketResponseModel' type: array title: Agent Conversation Tickets next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor has_more: type: boolean title: Has More type: object required: - agent_conversation_tickets - has_more title: GetAgentConversationTicketsPageResponseModel ModerationGuardrail-Input: properties: execution_mode: $ref: '#/components/schemas/GuardrailExecutionMode' default: streaming config: $ref: '#/components/schemas/ModerationConfig' type: object title: ModerationGuardrail TransferTypeEnum: type: string enum: - blind - conference - sip_refer title: TransferTypeEnum default: conference UpdateBookingPageSettingsParams: properties: smb_tool_type: type: string const: update_booking_page_settings title: Smb Tool Type default: update_booking_page_settings type: object title: UpdateBookingPageSettingsParams TransferToNumberToolConfig-Input: properties: system_tool_type: type: string const: transfer_to_number title: System Tool Type default: transfer_to_number transfers: items: $ref: '#/components/schemas/PhoneNumberTransfer' type: array title: Transfers enable_client_message: type: boolean title: Enable Client Message description: Whether to play a message to the client while they wait for transfer. Defaults to true for backward compatibility. default: true type: object required: - transfers title: TransferToNumberToolConfig ConversationConfig-Input: properties: text_only: type: boolean title: Text Only description: If enabled audio will not be processed and only text will be used, use to avoid audio pricing. default: false x-convai-client-override: true max_duration_seconds: type: integer title: Max Duration Seconds description: The maximum duration of a conversation in seconds default: 600 x-convai-client-override: true client_events: items: $ref: '#/components/schemas/ClientEvent' type: array title: Client Events description: The events that will be sent to the client file_input: $ref: '#/components/schemas/FileInputConfig' description: Configuration for file input (image/PDF uploads) during conversations. x-convai-client-override: true monitoring_enabled: type: boolean title: Monitoring Enabled description: Enable real-time monitoring of conversations via WebSocket default: false monitoring_events: items: $ref: '#/components/schemas/ClientEvent' type: array title: Monitoring Events description: The events that will be sent to monitoring connections. dtmf_input_settings: anyOf: - $ref: '#/components/schemas/DTMFInputConfig' - type: 'null' description: Configure DTMF (keypad) input collection during phone calls background_sound: $ref: '#/components/schemas/BackgroundSoundConfig' description: Configuration for background sound during conversations. source_attribution: type: boolean title: Source Attribution description: When enabled and knowledge base content is present, the LLM is instructed to report which sources it used. default: false type: object title: ConversationConfig example: client_events: - audio - interruption max_duration_seconds: 600 PlayDTMFResultSuccessModel: properties: result_type: type: string const: play_dtmf_success title: Result Type default: play_dtmf_success status: type: string const: success title: Status default: success dtmf_tones: type: string title: Dtmf Tones reason: anyOf: - type: string - type: 'null' title: Reason type: object required: - dtmf_tones title: PlayDTMFResultSuccessModel PromptEvaluationCriteria: properties: id: type: string title: Id description: The unique identifier for the evaluation criteria name: type: string title: Name type: type: string const: prompt title: Type description: The type of evaluation criteria default: prompt conversation_goal_prompt: type: string maxLength: 2000 title: Conversation Goal Prompt description: The prompt that the agent should use to evaluate the conversation use_knowledge_base: type: boolean title: Use Knowledge Base description: When evaluating the prompt, should the agent's knowledge base be used. default: false scope: $ref: '#/components/schemas/AnalysisScope' description: The scope of transcript context used when evaluating this criterion. 'conversation' uses the full transcript; 'agent' uses only the portion where the defining agent was active. default: conversation llm: anyOf: - $ref: '#/components/schemas/LLM' - type: 'null' description: LLM model to use for this evaluation criteria. If not set, uses agent's analysis_llm default. scoring_mode: $ref: '#/components/schemas/CriteriaScoringMode' description: How this criterion is scored. 'binary' resolves to success/failure/unknown. 'numeric_uniform' returns a number on the [0, max_score] scale which is normalized into the aggregate conversation success percentage. default: binary max_score: type: integer title: Max Score description: Maximum value of the numeric score scale (minimum is always 0). Only used when scoring_mode is 'numeric_uniform'. default: 100 score_instructions: anyOf: - type: string maxLength: 2000 - type: 'null' title: Score Instructions description: Optional free-text instructions describing how to assign values on the numeric scale. Only used when scoring_mode is 'numeric_uniform'. type: object required: - id - name - conversation_goal_prompt title: PromptEvaluationCriteria description: An evaluation using the transcript and a prompt for a yes/no achieved answer examples: - conversation_goal_prompt: Determine whether the agent fully resolved the user's issue. id: criterion_binary_001 max_score: 100 name: Issue resolved scope: conversation scoring_mode: binary use_knowledge_base: false - conversation_goal_prompt: Rate how completely and correctly the issue was resolved. id: criterion_numeric_001 max_score: 100 name: Resolution quality scope: conversation score_instructions: 0 means unresolved, 50 means partially resolved, 100 means fully resolved with correct details. scoring_mode: numeric_uniform use_knowledge_base: false ASTMultiplicationOperatorNode-Input: properties: type: type: string const: mul_operator title: Type default: mul_operator left: $ref: '#/components/schemas/ASTNode-Input' description: Left operand of the binary operator. right: $ref: '#/components/schemas/ASTNode-Input' description: Right operand of the binary operator. type: object required: - left - right title: ASTMultiplicationOperatorNode AgentMetadata: properties: agent_id: type: string title: Agent Id branch_id: anyOf: - type: string - type: 'null' title: Branch Id workflow_node_id: anyOf: - type: string - type: 'null' title: Workflow Node Id version_id: anyOf: - type: string - type: 'null' title: Version Id type: object required: - agent_id title: AgentMetadata AgentConfigOverrideConfig: properties: first_message: type: boolean title: First Message description: Whether to allow overriding the first_message field. default: false language: type: boolean title: Language description: Whether to allow overriding the language field. default: false max_conversation_duration_message: type: boolean title: Max Conversation Duration Message description: Whether to allow overriding the max_conversation_duration_message field. default: false prompt: $ref: '#/components/schemas/PromptAgentAPIModelOverrideConfig' description: Configures overrides for nested fields. type: object title: AgentConfigOverrideConfig RagConfigWorkflowOverride-Input: properties: enabled: anyOf: - type: boolean - type: 'null' title: Enabled embedding_model: anyOf: - $ref: '#/components/schemas/EmbeddingModelEnum' - type: 'null' max_vector_distance: anyOf: - type: number - type: 'null' title: Max Vector Distance description: Maximum vector distance of retrieved chunks. examples: - 0.5 max_documents_length: anyOf: - type: integer - type: 'null' title: Max Documents Length description: Maximum total length of document chunks retrieved from RAG. examples: - '50000' max_retrieved_rag_chunks_count: anyOf: - type: integer - type: 'null' title: Max Retrieved Rag Chunks Count description: Maximum number of RAG document chunks to initially retrieve from the vector store. These are then further filtered by vector distance and total length. examples: - 5 num_candidates: anyOf: - type: integer - type: 'null' title: Num Candidates description: Number of candidates evaluated in ANN vector search. Higher number means better results, but higher latency. Minimum recommended value is 100. If disabled, the default value is used. examples: - 300 query_rewrite_prompt_override: anyOf: - type: string - type: 'null' title: Query Rewrite Prompt Override description: Custom prompt for rewriting user queries before RAG retrieval. The conversation history will be automatically appended at the end. If not set, the default prompt will be used. examples: - You are given a conversation between a user and an assistant. Rewrite the last question to be self-contained and clear. knowledge_base_tool_info: anyOf: - $ref: '#/components/schemas/KnowledgeBaseToolInfo' - type: 'null' description: When set, the agent uses the knowledge_base tool instead of the legacy knowledge_base_rag tool. None means the agent is not opted in. type: object title: RagConfigWorkflowOverride WorkflowExpressionConditionModel-Input: properties: label: anyOf: - type: string - type: 'null' title: Label description: Optional human-readable label for the condition used throughout the UI. type: type: string const: expression title: Type default: expression expression: $ref: '#/components/schemas/ASTNode-Input' description: Expression to evaluate. type: object required: - expression title: WorkflowExpressionConditionModel TestFromConversationMetadata-Input: properties: conversation_id: type: string title: Conversation Id agent_id: type: string title: Agent Id branch_id: anyOf: - type: string - type: 'null' title: Branch Id workflow_node_id: anyOf: - type: string - type: 'null' title: Workflow Node Id original_agent_reply: items: $ref: '#/components/schemas/ConversationHistoryTranscriptCommonModel-Input' type: array title: Original Agent Reply default: [] type: object required: - conversation_id - agent_id title: TestFromConversationMetadata TransferToNumberResultExotelSuccessModel: properties: result_type: type: string const: transfer_to_number_exotel_success title: Result Type default: transfer_to_number_exotel_success status: type: string const: success title: Status default: success transfer_number: type: string title: Transfer Number reason: anyOf: - type: string - type: 'null' title: Reason agent_message: anyOf: - type: string - type: 'null' title: Agent Message note: anyOf: - type: string - type: 'null' title: Note type: object required: - transfer_number title: TransferToNumberResultExotelSuccessModel AgentTransfer-Input: properties: agent_id: anyOf: - type: string - type: 'null' title: Agent Id node_id: anyOf: - type: string - type: 'null' title: Node Id condition: type: string title: Condition delay_ms: type: integer title: Delay Ms default: 0 transfer_message: anyOf: - type: string - type: 'null' title: Transfer Message enable_transferred_agent_first_message: type: boolean title: Enable Transferred Agent First Message default: false is_workflow_node_transfer: type: boolean title: Is Workflow Node Transfer default: false preserve_client_tts_overrides: type: boolean title: Preserve Client Tts Overrides description: Defines whether TTS client overrides should be carried over to the transferred agent. default: false type: object required: - condition title: AgentTransfer SkipTurnToolResponseModel: properties: result_type: type: string const: skip_turn_success title: Result Type default: skip_turn_success status: type: string const: success title: Status default: success reason: anyOf: - type: string - type: 'null' title: Reason type: object title: SkipTurnToolResponseModel FocusGuardrail: properties: is_enabled: type: boolean title: Is Enabled default: false type: object title: FocusGuardrail DeleteLocationParams: properties: smb_tool_type: type: string const: delete_location title: Smb Tool Type default: delete_location type: object title: DeleteLocationParams WorkflowEndNodeModel-Input: properties: type: type: string const: end title: Type default: end position: $ref: '#/components/schemas/Position-Input' description: Position of the node in the workflow. edge_order: items: type: string type: array title: Edge Order description: The ids of outgoing edges in the order they should be evaluated. type: object title: WorkflowEndNodeModel CreateClientAppointmentParams: properties: smb_tool_type: type: string const: create_client_appointment title: Smb Tool Type default: create_client_appointment type: object title: CreateClientAppointmentParams PromptAgentAPIModelOverrideConfig: properties: prompt: type: boolean title: Prompt description: Whether to allow overriding the prompt field. default: false llm: type: boolean title: Llm description: Whether to allow overriding the llm field. default: false tool_ids: type: boolean title: Tool Ids description: Whether to allow overriding the tool_ids field. default: false native_mcp_server_ids: type: boolean title: Native Mcp Server Ids description: Whether to allow overriding the native_mcp_server_ids field. default: false knowledge_base: type: boolean title: Knowledge Base description: Whether to allow overriding the knowledge_base field. default: false type: object title: PromptAgentAPIModelOverrideConfig PromptInjectionGuardrail: properties: is_enabled: type: boolean title: Is Enabled default: false type: object title: PromptInjectionGuardrail AttachedUserEvaluationRef: properties: source: type: string const: user title: Source analysis_item_id: type: string title: Analysis Item Id description: Id of the referenced user evaluation item. version_id: anyOf: - type: string - type: 'null' title: Version Id description: Primary item version whose result feeds scoring. None tracks the item's latest published version. additional_version_ids: items: type: string type: array title: Additional Version Ids description: Extra item versions to also run for comparison (A/B). These are executed and stored but excluded from scoring; the primary version_id is the one that scores. scope: $ref: '#/components/schemas/AnalysisScope' description: Transcript context ('conversation' or 'agent') used when running this item. default: conversation weight: anyOf: - type: number - type: 'null' title: Weight description: Optional relative weight for aggregate scoring. type: object required: - source - analysis_item_id title: AttachedUserEvaluationRef ASTDynamicVariableNode-Input: properties: type: type: string const: dynamic_variable title: Type default: dynamic_variable name: type: string title: Name description: The name of the dynamic variable. type: object required: - name title: ASTDynamicVariableNode SIPUriDynamicVariableTransferDestination: properties: type: type: string const: sip_uri_dynamic_variable title: Type default: sip_uri_dynamic_variable sip_uri: type: string title: Sip Uri type: object required: - sip_uri title: SIPUriDynamicVariableTransferDestination PromptAgentAPIModel-Input: properties: prompt: type: string title: Prompt description: The prompt for the agent default: '' x-convai-client-override: true llm: $ref: '#/components/schemas/LLM' description: The LLM to query with the prompt and the chat history. If using data residency, the LLM must be supported in the data residency environment default: gemini-2.5-flash x-convai-client-override: true reasoning_effort: anyOf: - $ref: '#/components/schemas/LLMReasoningEffort' - type: 'null' description: Reasoning effort of the model. Only available for some models. thinking_budget: anyOf: - type: integer - type: 'null' title: Thinking Budget description: Max number of tokens used for thinking. Use 0 to turn off if supported by the model. enable_reasoning_summary: type: boolean title: Enable Reasoning Summary description: Enable model reasoning summaries. When disabled, we do not request summaries from provider if possible for faster TTFB. Not ZRM compatible. default: false temperature: anyOf: - type: number - type: 'null' title: Temperature description: The temperature for the LLM. Defaults to 0. Set to null to omit the parameter from the LLM request entirely (useful for custom LLMs that reject the temperature field). default: 0.0 max_tokens: type: integer title: Max Tokens description: If greater than 0, maximum number of tokens the LLM can predict default: -1 tool_ids: items: type: string type: array title: Tool Ids description: A list of IDs of tools used by the agent x-convai-client-override: true built_in_tools: $ref: '#/components/schemas/BuiltInTools-Input' description: Built-in system tools to be used by the agent enable_parallel_tool_calls: type: boolean title: Enable Parallel Tool Calls description: Enable parallel tool calling. When enabled, the agent can execute multiple tools in parallel within a single turn. Not supported by all models. default: true mcp_server_ids: items: type: string type: array maxItems: 10 title: Mcp Server Ids description: A list of MCP server ids to be used by the agent native_mcp_server_ids: items: type: string type: array maxItems: 10 title: Native Mcp Server Ids description: A list of Native MCP server ids to be used by the agent x-convai-client-override: true knowledge_base: items: $ref: '#/components/schemas/KnowledgeBaseLocator' type: array title: Knowledge Base description: A list of knowledge bases to be used by the agent x-convai-client-override: true custom_llm: anyOf: - $ref: '#/components/schemas/CustomLLM' - type: 'null' description: Definition for a custom LLM if LLM field is set to 'CUSTOM_LLM' ignore_default_personality: anyOf: - type: boolean - type: 'null' title: Ignore Default Personality description: Whether to remove the default personality lines from the system prompt default: true rag: $ref: '#/components/schemas/RagConfig-Input' description: Configuration for RAG timezone: anyOf: - type: string - type: 'null' title: Timezone description: Timezone for displaying current time in system prompt. If set, the current time will be included in the system prompt using this timezone. Must be a valid timezone name (e.g., 'America/New_York', 'Europe/London', 'UTC'). Recommended for accurate time-aware responses; without this, the agent has no knowledge of the current date/time unless you provide it via dynamic variables or tools, which can lead to incorrect or hallucinated time references. backup_llm_config: oneOf: - $ref: '#/components/schemas/BackupLLMDefault' - $ref: '#/components/schemas/BackupLLMDisabled' - $ref: '#/components/schemas/BackupLLMOverride' title: Backup Llm Config description: Configuration for backup LLM cascading. Can be disabled, use system defaults, or specify custom order. discriminator: propertyName: preference mapping: default: '#/components/schemas/BackupLLMDefault' disabled: '#/components/schemas/BackupLLMDisabled' override: '#/components/schemas/BackupLLMOverride' cascade_timeout_seconds: type: number maximum: 15.0 minimum: 2.0 title: Cascade Timeout Seconds description: Time in seconds before cascading to backup LLM. Must be between 2 and 15 seconds. default: 4.0 tools: items: oneOf: - $ref: '#/components/schemas/WebhookToolConfig-Input' - $ref: '#/components/schemas/ClientToolConfig-Input' - $ref: '#/components/schemas/SystemToolConfig-Input' - $ref: '#/components/schemas/MCPToolConfig-Input' - $ref: '#/components/schemas/ApiIntegrationWebhookToolConfig-Input' - $ref: '#/components/schemas/SMBToolConfig' description: The type of tool discriminator: propertyName: type mapping: api_integration_webhook: '#/components/schemas/ApiIntegrationWebhookToolConfig-Input' client: '#/components/schemas/ClientToolConfig-Input' mcp: '#/components/schemas/MCPToolConfig-Input' smb: '#/components/schemas/SMBToolConfig' system: '#/components/schemas/SystemToolConfig-Input' webhook: '#/components/schemas/WebhookToolConfig-Input' type: array title: Tools description: A list of tools that the agent can use over the course of the conversation, use tool_ids instead deprecated: true type: object title: PromptAgentAPIModel example: knowledge_base: [] llm: gemini-2.0-flash-001 max_tokens: -1 prompt: You are a helpful assistant that can answer questions about the topic of the conversation. temperature: 0.0 tool_ids: [] tools: [] CustomLLM: properties: url: type: string title: Url description: The URL of the Chat Completions compatible endpoint model_id: anyOf: - type: string - type: 'null' title: Model Id description: The model ID to be used if URL serves multiple models api_key: anyOf: - $ref: '#/components/schemas/ConvAISecretLocator' - $ref: '#/components/schemas/ConvAIEnvVarLocator' - type: 'null' title: Api Key description: 'The API key for authentication. Either a workspace secret reference {''secret_id'': ''...''} or an environment variable reference {''env_var_label'': ''...''}.' auth_connection: anyOf: - $ref: '#/components/schemas/AuthConnectionLocator' - $ref: '#/components/schemas/EnvironmentAuthConnectionLocator' - type: 'null' title: Auth Connection description: Optional workspace auth connection for authentication. Only auth connections that produce an Authorization Bearer token are supported; Basic auth, mTLS, custom header, and URL secret auth connections are not supported. request_headers: additionalProperties: anyOf: - type: string - $ref: '#/components/schemas/ConvAISecretLocator' - $ref: '#/components/schemas/ConvAIDynamicVariable' - $ref: '#/components/schemas/ConvAIEnvVarLocator' type: object title: Request Headers description: Headers that should be included in the request api_version: anyOf: - type: string - type: 'null' title: Api Version description: The API version to use for the request api_type: $ref: '#/components/schemas/CustomLLMAPIType' description: The API type to use (chat_completions, responses or websocket) default: chat_completions type: object required: - url title: CustomLLM QueryParamsJsonSchema-Input: properties: properties: additionalProperties: $ref: '#/components/schemas/LiteralJsonSchemaProperty' type: object minProperties: 1 title: Properties required: items: type: string type: array title: Required additionalProperties: false type: object required: - properties title: QueryParamsJsonSchema EndProcedureToolResultSuccessModel: properties: result_type: type: string const: end_procedure_success title: Result Type default: end_procedure_success status: type: string const: success title: Status default: success procedure_id: type: string title: Procedure Id procedure_name: type: string title: Procedure Name message: type: string title: Message default: '' type: object required: - procedure_id - procedure_name title: EndProcedureToolResultSuccessModel UpdateAgentProcedureParams: properties: smb_tool_type: type: string const: update_agent_procedure title: Smb Tool Type default: update_agent_procedure type: object title: UpdateAgentProcedureParams CancelGroupSessionForAllParams: properties: smb_tool_type: type: string const: cancel_group_session_for_all title: Smb Tool Type default: cancel_group_session_for_all type: object title: CancelGroupSessionForAllParams description: 'Cancel an entire group session and notify every registered participant. Destructive -- prefer ``cancel_group_session_registration`` for cancelling a single attendee.' TriggeredGuardrailCommonModel: properties: guardrail_type: $ref: '#/components/schemas/GuardrailType' guardrail_name: anyOf: - type: string - type: 'null' title: Guardrail Name type: object required: - guardrail_type title: TriggeredGuardrailCommonModel UpdateAgentRuleParams: properties: smb_tool_type: type: string const: update_agent_rule title: Smb Tool Type default: update_agent_rule type: object title: UpdateAgentRuleParams ReferencedToolCommonModel: properties: id: type: string description: The ID of the tool type: type: string enum: - system - webhook - client - workflow - api_integration_webhook - mcp - code description: The type of the tool type: object required: - id - type title: ReferencedToolCommonModel description: Reference to a tool for unit test evaluation. DeleteAgentProcedureParams: properties: smb_tool_type: type: string const: delete_agent_procedure title: Smb Tool Type default: delete_agent_procedure type: object title: DeleteAgentProcedureParams GuardrailType: type: string enum: - custom - prompt_injection - self_harm_intent - violence_graphic - sexual - violence - harassment - sexual_minors - self_harm - self_harm_instructions - harassment_threatening - hate - hate_threatening - profanity - religion_or_politics - medical_and_legal - guardrail title: GuardrailType UpdateResponseUnitTestRequest: properties: from_conversation_metadata: anyOf: - $ref: '#/components/schemas/TestFromConversationMetadata-Input' - type: 'null' description: Metadata of a conversation this test was created from (if applicable). dynamic_variables: additionalProperties: true type: object title: Dynamic Variables description: Dynamic variables to replace in the agent config during testing chat_history: items: $ref: '#/components/schemas/ConversationHistoryTranscriptCommonModel-Input' type: array maxItems: 200 title: Chat History conversation_initiation_source: anyOf: - $ref: '#/components/schemas/ConversationInitiationSource' - type: 'null' description: Simulate the test as if the conversation originated from this channel. environment: anyOf: - type: string - type: 'null' title: Environment description: The environment to resolve environment-specific variable values against when running this test (URL, headers, auth connections). If not provided, defaults to 'production'. For simulation tests, simulation_environment takes precedence when set. type: type: string const: llm title: Type default: llm success_condition: type: string title: Success Condition description: A prompt that evaluates whether the agent's response is successful. Should return True or False. default: '' success_examples: items: $ref: '#/components/schemas/AgentSuccessfulResponseExample' type: array maxItems: 5 title: Success Examples description: Non-empty list of example responses that should be considered successful failure_examples: items: $ref: '#/components/schemas/AgentFailureResponseExample' type: array maxItems: 5 title: Failure Examples description: Non-empty list of example responses that should be considered failures name: type: string title: Name parent_folder_id: anyOf: - type: string - type: 'null' title: Parent Folder Id description: The ID of the parent folder. If not provided, the test will be moved to the root level. type: object required: - name title: UpdateResponseUnitTestRequest ListAgentReferencesParams: properties: smb_tool_type: type: string const: list_agent_references title: Smb Tool Type default: list_agent_references type: object title: ListAgentReferencesParams RagChunkMetadata: properties: document_id: type: string title: Document Id chunk_id: type: string title: Chunk Id vector_distance: type: number title: Vector Distance type: object required: - document_id - chunk_id - vector_distance title: RagChunkMetadata DeleteTransferRuleParams: properties: smb_tool_type: type: string const: delete_transfer_rule title: Smb Tool Type default: delete_transfer_rule type: object title: DeleteTransferRuleParams ToolCallUnitTestModel: properties: from_conversation_metadata: anyOf: - $ref: '#/components/schemas/TestFromConversationMetadata-Output' - type: 'null' description: Metadata of a conversation this test was created from (if applicable). dynamic_variables: additionalProperties: true type: object title: Dynamic Variables description: Dynamic variables to replace in the agent config during testing chat_history: items: $ref: '#/components/schemas/ConversationHistoryTranscriptCommonModel-Output' type: array maxItems: 200 title: Chat History conversation_initiation_source: anyOf: - $ref: '#/components/schemas/ConversationInitiationSource' - type: 'null' description: Simulate the test as if the conversation originated from this channel. environment: anyOf: - type: string - type: 'null' title: Environment description: The environment to resolve environment-specific variable values against when running this test (URL, headers, auth connections). If not provided, defaults to 'production'. For simulation tests, simulation_environment takes precedence when set. type: type: string const: tool title: Type default: tool tool_call_parameters: anyOf: - $ref: '#/components/schemas/UnitTestToolCallEvaluationModel-Output' - type: 'null' description: How to evaluate the agent's tool call (if any). If empty, the tool call is not evaluated. check_any_tool_matches: anyOf: - type: boolean - type: 'null' title: Check Any Tool Matches description: If set to True this test will pass if any tool call returned by the LLM matches the criteria. Otherwise it will fail if more than one tool is returned by the agent. type: object title: ToolCallUnitTestModel BackupLLMOverride: properties: preference: type: string const: override title: Preference default: override order: items: $ref: '#/components/schemas/LLM' type: array title: Order type: object required: - order title: BackupLLMOverride KnowledgeBaseToolConfig: properties: system_tool_type: type: string const: knowledge_base title: System Tool Type default: knowledge_base enabled_strategies: items: $ref: '#/components/schemas/SearchStrategy' type: array title: Enabled Strategies type: object title: KnowledgeBaseToolConfig WorkflowStandaloneAgentNodeModel-Input: properties: type: type: string const: standalone_agent title: Type default: standalone_agent position: $ref: '#/components/schemas/Position-Input' description: Position of the node in the workflow. edge_order: items: type: string type: array title: Edge Order description: The ids of outgoing edges in the order they should be evaluated. agent_id: anyOf: - type: string - type: 'null' title: Agent Id description: The ID of the agent to transfer the conversation to. None means transfer within the current agent. node_id: anyOf: - type: string minLength: 1 - type: 'null' title: Node Id description: Optional target node ID in the destination agent's workflow. When set, the transfer starts at this node instead of the default entry node. delay_ms: type: integer title: Delay Ms description: Artificial delay in milliseconds applied before transferring the conversation. default: 0 transfer_message: anyOf: - type: string - type: 'null' title: Transfer Message description: Optional message sent to the user before the transfer is initiated. enable_transferred_agent_first_message: type: boolean title: Enable Transferred Agent First Message description: Whether to enable the transferred agent to send its configured first message after the transfer. default: false preserve_client_tts_overrides: type: boolean title: Preserve Client Tts Overrides description: Defines whether TTS client overrides should be carried over to the transferred agent. default: false type: object title: WorkflowStandaloneAgentNodeModel ResponseUnitTestModel: properties: from_conversation_metadata: anyOf: - $ref: '#/components/schemas/TestFromConversationMetadata-Output' - type: 'null' description: Metadata of a conversation this test was created from (if applicable). dynamic_variables: additionalProperties: true type: object title: Dynamic Variables description: Dynamic variables to replace in the agent config during testing chat_history: items: $ref: '#/components/schemas/ConversationHistoryTranscriptCommonModel-Output' type: array maxItems: 200 title: Chat History conversation_initiation_source: anyOf: - $ref: '#/components/schemas/ConversationInitiationSource' - type: 'null' description: Simulate the test as if the conversation originated from this channel. environment: anyOf: - type: string - type: 'null' title: Environment description: The environment to resolve environment-specific variable values against when running this test (URL, headers, auth connections). If not provided, defaults to 'production'. For simulation tests, simulation_environment takes precedence when set. type: type: string const: llm title: Type default: llm success_condition: type: string title: Success Condition description: A prompt that evaluates whether the agent's response is successful. Should return True or False. default: '' success_examples: items: $ref: '#/components/schemas/AgentSuccessfulResponseExample' type: array maxItems: 5 title: Success Examples description: Non-empty list of example responses that should be considered successful failure_examples: items: $ref: '#/components/schemas/AgentFailureResponseExample' type: array maxItems: 5 title: Failure Examples description: Non-empty list of example responses that should be considered failures type: object title: ResponseUnitTestModel WidgetExpandable: type: string enum: - never - mobile - desktop - always title: WidgetExpandable default: never GetTestsPageResponseModel: properties: tests: items: $ref: '#/components/schemas/UnitTestSummaryResponseModel' type: array title: Tests next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor has_more: type: boolean title: Has More type: object required: - tests - has_more title: GetTestsPageResponseModel CreateServiceQuoteRequestParams: properties: smb_tool_type: type: string const: create_service_quote_request title: Smb Tool Type default: create_service_quote_request type: object title: CreateServiceQuoteRequestParams CreateAgentConversationTicketRequestModel: properties: conversation_id: type: string title: Conversation Id description: Conversation this ticket is about. qa_comment: anyOf: - type: string maxLength: 10000 minLength: 1 - type: 'null' title: Qa Comment description: The QA finding covering the whole conversation. turn_comments: items: $ref: '#/components/schemas/TurnCommentRequestModel' type: array maxItems: 200 title: Turn Comments description: Optional turn-level comments on what went wrong. type: object required: - conversation_id title: CreateAgentConversationTicketRequestModel SoftTimeoutConfigWorkflowOverride: properties: timeout_seconds: anyOf: - type: number - type: 'null' title: Timeout Seconds description: Time in seconds before showing the predefined message while waiting for LLM response. Set to -1 to disable. message: anyOf: - type: string - type: 'null' title: Message description: Message to show when the first soft timeout is reached while waiting for LLM response. Supports dynamic variables (e.g., {{system__time}}, {{custom_variable}}). x-convai-client-override: true x-convai-language-override: true additional_soft_timeout_messages: anyOf: - items: type: string type: array - type: 'null' title: Additional Soft Timeout Messages description: Extra static filler messages for subsequent soft timeouts in the same LLM generation. The first timeout uses `message`. If fewer messages are configured than `max_soft_timeouts_per_generation`, the last configured message is repeated; otherwise a built-in filler is used. x-convai-client-override: true x-convai-language-override: true use_llm_generated_message: anyOf: - type: boolean - type: 'null' title: Use Llm Generated Message description: If enabled, the soft timeout message will be generated dynamically instead of using the static message. randomize_fillers: anyOf: - type: boolean - type: 'null' title: Randomize Fillers description: If enabled, shuffle the order of static soft timeout messages once at the start of each turn. Only applies when use_llm_generated_message is false. max_soft_timeouts_per_generation: anyOf: - type: integer - type: 'null' title: Max Soft Timeouts Per Generation description: Maximum filler messages while waiting for a single LLM response. Fires every timeout_seconds until the LLM streams content or this limit is reached. llm_generated_message_prompt_override: anyOf: - type: string - type: 'null' title: Llm Generated Message Prompt Override description: Custom prompt for generating the soft timeout filler message when use_llm_generated_message is enabled. Recent conversation context is provided as a separate user message. If not set, the default prompt will be used. Supports dynamic variables (e.g., {{system__time}}, {{custom_variable}}). examples: - Output a SHORT neutral filler phrase (1-4 words MAX) acknowledging you heard the user. disable_until_first_user_message: anyOf: - type: boolean - type: 'null' title: Disable Until First User Message description: When true, soft timeout fillers are suppressed until the conversation has at least one real user message. Prevents fillers during the agent's opening turn (e.g. workflow generate-immediately / tool calls before the user speaks). type: object title: SoftTimeoutConfigWorkflowOverride example: message: Hhmmmm...yeah. timeout_seconds: -1.0 use_llm_generated_message: false ToolCallSoundType: type: string enum: - typing - elevator1 - elevator2 - elevator3 - elevator4 title: ToolCallSoundType description: Predefined tool call sounds; ``None`` means no sound. ConvAISecretLocator: properties: secret_id: type: string title: Secret Id type: object required: - secret_id title: ConvAISecretLocator description: Used to reference a secret from the agent's secret store. ConversationConfigClientOverride-Input: properties: asr: anyOf: - $ref: '#/components/schemas/ASRConversationalConfigOverride' - type: 'null' description: Configuration for conversational transcription turn: anyOf: - $ref: '#/components/schemas/TurnConfigOverride' - type: 'null' description: Configuration for turn detection tts: anyOf: - $ref: '#/components/schemas/TTSConversationalConfigOverride' - type: 'null' description: Configuration for conversational text to speech conversation: anyOf: - $ref: '#/components/schemas/ConversationConfigOverride' - type: 'null' description: Configuration for conversational events agent: anyOf: - $ref: '#/components/schemas/AgentConfigOverride-Input' - type: 'null' description: Agent specific configuration type: object title: ConversationConfigClientOverride example: agent: first_message: Hello, how can I help you today? language: en prompt: knowledge_base: [] llm: gemini-2.0-flash-001 prompt: You are a helpful assistant that can answer questions about the topic of the conversation. tool_ids: [] asr: keywords: - hello - world conversation: max_duration_seconds: 600 tts: model_id: eleven_turbo_v2 pronunciation_dictionary_locators: [] similarity_boost: 0.8 speed: 1.0 stability: 0.5 voice_id: cjVigY5qzO86Huf0OWal turn: soft_timeout_config: message: Hhmmmm...yeah. KnowledgeBaseToolInfo: properties: enabled_strategies: items: $ref: '#/components/schemas/SearchStrategy' type: array title: Enabled Strategies description: Search strategies exposed to the model. Must be non-empty. type: object title: KnowledgeBaseToolInfo LeaveMessageParams: properties: smb_tool_type: type: string const: leave_message title: Smb Tool Type default: leave_message type: object title: LeaveMessageParams SIPUriTransferDestination: properties: type: type: string const: sip_uri title: Type default: sip_uri sip_uri: type: string title: Sip Uri type: object required: - sip_uri title: SIPUriTransferDestination ResourceAccessInfo: properties: is_creator: type: boolean title: Is Creator description: Whether the user making the request is the creator of the agent creator_name: type: string title: Creator Name description: Name of the agent's creator creator_email: type: string title: Creator Email description: Email of the agent's creator role: type: string enum: - admin - editor - commenter - viewer title: Role description: The role of the user making the request anonymous_access_level_override: anyOf: - type: string enum: - admin - editor - commenter - viewer - type: 'null' title: Anonymous Access Level Override description: The access level for anonymous users. If None, the resource is not shared publicly. access_source: anyOf: - type: string enum: - creator - explicit - workspace_admin - workspace_default - type: 'null' title: Access Source description: Why the requesting user has access to this resource. 'creator' = caller is the owner. 'explicit' = caller (or one of their workspace groups) is listed in role_to_group_ids beyond the workspace-wide everyone group. 'workspace_default' = the workspace-wide everyone group is listed in role_to_group_ids (every non-anon workspace member, including admins, sees this resource). 'workspace_admin' = caller is a workspace admin and the admin seat is the *only* path to access; reserved for docs nobody else can see. Lets the UI disclose why an admin-bypass viewer sees a doc that wasn't explicitly shared with them. type: object required: - is_creator - creator_name - creator_email - role title: ResourceAccessInfo example: access_source: creator creator_email: john.doe@example.com creator_name: John Doe is_creator: true role: admin DeleteCalendarEventParams: properties: smb_tool_type: type: string const: delete_calendar_event title: Smb Tool Type default: delete_calendar_event type: object title: DeleteCalendarEventParams description: 'Permanently remove a previously-cancelled calendar event. This delete tool is the irreversible follow-up to cancel_calendar_event. The backend rejects the call (422) if the event hasn''t been cancelled yet, so the only safe path is cancel-then-delete.' ASRConversationalConfig: properties: quality: $ref: '#/components/schemas/ASRQuality' description: The quality of the transcription default: high provider: $ref: '#/components/schemas/ASRProvider' description: The provider of the transcription service default: scribe_realtime user_input_audio_format: $ref: '#/components/schemas/ASRInputFormat' description: The format of the audio to be transcribed default: pcm_16000 keywords: items: type: string type: array title: Keywords description: Keywords to boost prediction probability for x-convai-client-override: true x-convai-soft-override-disallowed: true type: object title: ASRConversationalConfig example: keywords: - hello - world provider: scribe_realtime quality: high user_input_audio_format: pcm_16000 TransferToNumberResultTwilioSuccessModel: properties: result_type: type: string const: transfer_to_number_twilio_success title: Result Type default: transfer_to_number_twilio_success status: type: string const: success title: Status default: success transfer_number: type: string title: Transfer Number reason: anyOf: - type: string - type: 'null' title: Reason client_message: anyOf: - type: string - type: 'null' title: Client Message agent_message: type: string title: Agent Message conference_name: type: string title: Conference Name post_dial_digits: anyOf: - type: string - type: 'null' title: Post Dial Digits note: anyOf: - type: string - type: 'null' title: Note type: object required: - transfer_number - agent_message - conference_name title: TransferToNumberResultTwilioSuccessModel MetricRecord: properties: elapsed_time: type: number title: Elapsed Time type: object required: - elapsed_time title: MetricRecord KnowledgeBaseDocumentType: type: string enum: - file - url - text - folder title: KnowledgeBaseDocumentType ConversationInitiationClientDataConfig-Input: properties: conversation_config_override: $ref: '#/components/schemas/ConversationConfigClientOverrideConfig-Input' description: Overrides for the conversation configuration custom_llm_extra_body: type: boolean title: Custom Llm Extra Body description: Whether to include custom LLM extra body default: false enable_conversation_initiation_client_data_from_webhook: type: boolean title: Enable Conversation Initiation Client Data From Webhook description: Whether to enable conversation initiation client data from webhooks default: false enable_starting_workflow_node_id_from_client: type: boolean title: Enable Starting Workflow Node Id From Client description: Whether clients may pass starting_workflow_node_id in initiation client data; if false, sending it fails conversation start. default: false enable_procedure_ids_from_client: type: boolean title: Enable Procedure Ids From Client description: Whether clients may pass procedure_ids in initiation client data to select which of the agent's procedures are available for the conversation; if false, sending it fails conversation start. default: false type: object title: ConversationInitiationClientDataConfig example: custom_llm_extra_body: true enable_conversation_initiation_client_data_from_webhook: true enable_procedure_ids_from_client: true enable_starting_workflow_node_id_from_client: true ResubmitTestsRequestModel: properties: test_run_ids: items: type: string type: array maxItems: 5000 minItems: 1 title: Test Run Ids description: List of test run IDs to resubmit agent_config_override: anyOf: - $ref: '#/components/schemas/AdhocAgentConfigOverrideForTestRequestModel' - type: 'null' description: Configuration overrides to use for testing. If not provided, the agent's default configuration will be used. agent_id: type: string title: Agent Id description: Agent ID to resubmit tests for branch_id: anyOf: - type: string - type: 'null' title: Branch Id description: ID of the branch to run the tests on. If not provided, the tests will be run on the agent's main branch. type: object required: - test_run_ids - agent_id title: ResubmitTestsRequestModel EndCallToolResultModel: properties: result_type: type: string const: end_call_success title: Result Type default: end_call_success status: type: string const: success title: Status default: success reason: anyOf: - type: string - type: 'null' title: Reason message: anyOf: - type: string - type: 'null' title: Message type: object title: EndCallToolResultModel ConversationHistoryTranscriptCommonModel-Output: properties: role: type: string enum: - user - agent title: Role agent_metadata: anyOf: - $ref: '#/components/schemas/AgentMetadata' - type: 'null' message: anyOf: - type: string - type: 'null' title: Message multivoice_message: anyOf: - $ref: '#/components/schemas/ConversationHistoryMultivoiceMessageModel' - type: 'null' tool_calls: items: $ref: '#/components/schemas/ConversationHistoryTranscriptToolCallCommonModel-Output' type: array title: Tool Calls tool_results: items: oneOf: - $ref: '#/components/schemas/ConversationHistoryTranscriptOtherToolsResultCommonModel' - $ref: '#/components/schemas/ConversationHistoryTranscriptSystemToolResultCommonModel-Output' - $ref: '#/components/schemas/ConversationHistoryTranscriptApiIntegrationWebhookToolsResultCommonModel-Output' - $ref: '#/components/schemas/ConversationHistoryTranscriptWorkflowToolsResultCommonModel-Output' type: array title: Tool Results feedback: anyOf: - $ref: '#/components/schemas/UserFeedback' - type: 'null' llm_override: anyOf: - type: string - type: 'null' title: Llm Override producing_llm: anyOf: - type: string - type: 'null' title: Producing Llm time_in_call_secs: type: integer title: Time In Call Secs conversation_turn_metrics: anyOf: - $ref: '#/components/schemas/ConversationTurnMetrics' - type: 'null' rag_retrieval_info: anyOf: - $ref: '#/components/schemas/RagRetrievalInfo' - type: 'null' llm_usage: anyOf: - $ref: '#/components/schemas/LLMUsage-Output' - type: 'null' interrupted: type: boolean title: Interrupted default: false ignored_as_backchannel: type: boolean title: Ignored As Backchannel default: false original_message: anyOf: - type: string - type: 'null' title: Original Message reasoning: items: $ref: '#/components/schemas/ConversationReasoningModel' type: array title: Reasoning source_medium: anyOf: - $ref: '#/components/schemas/ChatSourceMedium' - type: 'null' source_event_id: anyOf: - type: integer - type: 'null' title: Source Event Id used_static_kb_document_ids: items: type: string type: array title: Used Static Kb Document Ids user_identifier: anyOf: - type: string - type: 'null' title: User Identifier id: anyOf: - type: string - type: 'null' title: Id triggered_guardrails: items: $ref: '#/components/schemas/TriggeredGuardrailCommonModel' type: array title: Triggered Guardrails type: object required: - role - time_in_call_secs title: ConversationHistoryTranscriptCommonModel RagRetrievalInfo: properties: chunks: items: $ref: '#/components/schemas/RagChunkMetadata' type: array title: Chunks embedding_model: $ref: '#/components/schemas/EmbeddingModelEnum' retrieval_query: type: string title: Retrieval Query rag_latency_secs: type: number title: Rag Latency Secs used_chunk_ids: items: type: string type: array title: Used Chunk Ids type: object required: - chunks - embedding_model - retrieval_query - rag_latency_secs title: RagRetrievalInfo WidgetLanguagePreset: properties: text_contents: anyOf: - $ref: '#/components/schemas/WidgetTextContents' - type: 'null' description: The text contents for the selected language text_contents_translation: anyOf: - $ref: '#/components/schemas/WidgetTextContentsTranslation' - type: 'null' description: The translation cache for the text contents terms_text: anyOf: - type: string - type: 'null' title: Terms Text description: The text to display for terms and conditions in this language terms_html: anyOf: - type: string - type: 'null' title: Terms Html description: The HTML to display for terms and conditions in this language terms_key: anyOf: - type: string - type: 'null' title: Terms Key description: The key to display for terms and conditions in this language terms_translation: anyOf: - $ref: '#/components/schemas/WidgetTermsTranslation' - type: 'null' description: The translation cache for the terms type: object title: WidgetLanguagePreset AdhocAgentConfigOverrideForTestRequestModel: properties: conversation_config: $ref: '#/components/schemas/ConversationalConfigAPIModel-Input' platform_settings: $ref: '#/components/schemas/AgentPlatformSettingsRequestModel' workflow: anyOf: - $ref: '#/components/schemas/AgentWorkflowRequestModel' - type: 'null' type: object required: - conversation_config - platform_settings title: AdhocAgentConfigOverrideForTestRequestModel CustomGuardrailConfig: properties: is_enabled: type: boolean title: Is Enabled default: false name: type: string maxLength: 500 minLength: 1 title: Name description: User-facing name for this guardrail prompt: type: string maxLength: 10000 minLength: 1 title: Prompt description: Instruction describing what to block, e.g. 'don't talk about politics' execution_mode: $ref: '#/components/schemas/GuardrailExecutionMode' default: streaming model: type: string enum: - gemini-2.5-flash-lite - gemini-2.5-flash - gemini-3.1-flash-lite - gemini-3.5-flash - claude-haiku-4-5 - claude-sonnet-4-6 - gpt-5.4-nano - gpt-5.4-mini title: Model description: LLM model to use for custom guardrail evaluation default: gemini-3.1-flash-lite history_message_count: type: integer maximum: 100.0 minimum: 0.0 title: History Message Count description: How much recent history the guardrail sees before the reply it evaluates, counted in user messages (the agent replies between them are included too). The guardrail always gets a single transcript ending in the evaluated reply, marked 'AGENT [current reply]:'. 0 (default) adds no prior history (just that line); 1 adds the latest user message onward. default: 0 history_include_tool_calls: type: boolean title: History Include Tool Calls description: 'When enabled, the history also renders the agent''s tool calls, their input arguments, and the tool results, interleaved with the text, so an action between two agent messages is visible. Off by default: history shows only user and agent text. Tool payloads can be large and can mislead smaller evaluator models, so enabling this raises token cost.' default: false x-fern-ignore: true trigger_action: oneOf: - $ref: '#/components/schemas/EndCallTriggerAction' - $ref: '#/components/schemas/RetryTriggerAction' title: Trigger Action discriminator: propertyName: type mapping: end_call: '#/components/schemas/EndCallTriggerAction' retry: '#/components/schemas/RetryTriggerAction' evaluate_full_response_only: type: boolean title: Evaluate Full Response Only description: Evaluate once against the complete non-TTS response instead of cumulative partials. Requires blocking mode. default: false type: object required: - name - prompt title: CustomGuardrailConfig description: Single custom guardrail configuration DeleteProductParams: properties: smb_tool_type: type: string const: delete_product title: Smb Tool Type default: delete_product type: object title: DeleteProductParams Position-Input: properties: x: type: number title: X default: 0.0 y: type: number title: Y default: 0.0 type: object title: Position VADConfig: properties: background_voice_detection: type: boolean title: Background Voice Detection description: Whether to use background voice filtering default: false x-fern-ignore: true type: object title: VADConfig example: background_voice_detection: false ASTDivisionOperatorNode-Input: properties: type: type: string const: div_operator title: Type default: div_operator left: $ref: '#/components/schemas/ASTNode-Input' description: Left operand of the binary operator. right: $ref: '#/components/schemas/ASTNode-Input' description: Right operand of the binary operator. type: object required: - left - right title: ASTDivisionOperatorNode PrivacyConfig-Input: properties: record_voice: type: boolean title: Record Voice description: Whether to record the conversation default: true retention_days: type: integer title: Retention Days description: The number of days to retain the conversation. -1 indicates there is no retention limit default: -1 delete_transcript_and_pii: type: boolean title: Delete Transcript And Pii description: Whether to delete the transcript and PII default: false delete_audio: type: boolean title: Delete Audio description: Whether to delete the audio default: false apply_to_existing_conversations: type: boolean title: Apply To Existing Conversations description: Whether to apply the privacy settings to existing conversations default: false zero_retention_mode: type: boolean title: Zero Retention Mode description: Whether to enable zero retention mode - no PII data is stored default: false conversation_history_redaction: $ref: '#/components/schemas/ConversationHistoryRedactionConfig' description: Config for PII redaction in the conversation history type: object title: PrivacyConfig example: apply_to_existing_conversations: false delete_audio: false delete_transcript_and_pii: false record_voice: true retention_days: -1 zero_retention_mode: false ConversationalConfigAPIModelWorkflowOverride-Input: properties: asr: anyOf: - $ref: '#/components/schemas/ASRConversationalConfigWorkflowOverride' - type: 'null' description: Configuration for conversational transcription turn: anyOf: - $ref: '#/components/schemas/TurnConfigWorkflowOverride' - type: 'null' description: Configuration for turn detection tts: anyOf: - $ref: '#/components/schemas/TTSConversationalConfigWorkflowOverride-Input' - type: 'null' description: Configuration for conversational text to speech conversation: anyOf: - $ref: '#/components/schemas/ConversationConfigWorkflowOverride-Input' - type: 'null' description: Configuration for conversational events language_presets: anyOf: - additionalProperties: $ref: '#/components/schemas/LanguagePreset-Input' type: object - type: 'null' title: Language Presets description: Language presets for conversations vad: anyOf: - $ref: '#/components/schemas/VADConfigWorkflowOverride' - type: 'null' description: Configuration for voice activity detection agent: anyOf: - $ref: '#/components/schemas/AgentConfigAPIModelWorkflowOverride-Input' - type: 'null' description: Agent specific configuration type: object title: ConversationalConfigAPIModelWorkflowOverride example: agent: disable_first_message_interruptions: false dynamic_variables: dynamic_variable_placeholders: user_name: John Doe first_message: Hello, how can I help you today? language: en prompt: knowledge_base: [] llm: gemini-2.0-flash-001 max_tokens: -1 prompt: You are a helpful assistant that can answer questions about the topic of the conversation. temperature: 0.0 tool_ids: [] tools: [] asr: keywords: - hello - world provider: scribe_realtime quality: high user_input_audio_format: pcm_16000 conversation: client_events: - audio - interruption max_duration_seconds: 600 tts: agent_output_audio_format: pcm_16000 model_id: eleven_turbo_v2 optimize_streaming_latency: 3 pronunciation_dictionary_locators: [] similarity_boost: 0.8 speed: 1.0 stability: 0.5 voice_id: cjVigY5qzO86Huf0OWal turn: interruption_ignore_term_languages: [] interruption_ignore_terms: [] merge_with_default_ignore_terms: false mode: turn retranscribe_on_turn_timeout: false silence_end_call_timeout: -1.0 soft_timeout_config: message: Hhmmmm...yeah. timeout_seconds: -1.0 use_llm_generated_message: false speculative_turn: false spelling_patience: auto transcribe_on_disabled_interruptions: false turn_eagerness: normal turn_model: turn_v3 turn_timeout: 7.0 vad: background_voice_detection: false WorkflowResultConditionModel-Input: properties: label: anyOf: - type: string - type: 'null' title: Label description: Optional human-readable label for the condition used throughout the UI. type: type: string const: result title: Type default: result successful: type: boolean title: Successful description: Whether all tools in the previously executed tool node were executed successfully. type: object required: - successful title: WorkflowResultConditionModel CheckServiceAvailabilityParams: properties: smb_tool_type: type: string const: check_service_availability title: Smb Tool Type default: check_service_availability type: object title: CheckServiceAvailabilityParams TurnConfig: properties: turn_timeout: type: number title: Turn Timeout description: Maximum wait time for the user's reply before re-engaging the user default: 7.0 initial_wait_time: anyOf: - type: number - type: 'null' title: Initial Wait Time description: How long the agent will wait for the user to start the conversation if the first message is empty. If not set, uses the regular turn_timeout. silence_end_call_timeout: type: number title: Silence End Call Timeout description: Maximum wait time since the user last spoke before terminating the call default: -1 mode: $ref: '#/components/schemas/TurnMode' description: The mode of turn detection default: turn x-fern-ignore: true turn_eagerness: $ref: '#/components/schemas/TurnEagerness' description: Controls how eager the agent is to respond. Low = less eager (waits longer), Standard = default eagerness, High = more eager (responds sooner) default: normal spelling_patience: $ref: '#/components/schemas/SpellingPatience' description: Controls if the agent should be more patient when user is spelling numbers and named entities. Auto = model based, Off = never wait extra default: auto speculative_turn: type: boolean title: Speculative Turn description: When enabled, starts generating LLM responses during silence before full turn confidence is reached, reducing perceived latency. May increase LLM costs. default: false retranscribe_on_turn_timeout: type: boolean title: Retranscribe On Turn Timeout description: When enabled, if VAD detects no speech, attempts to re-transcribe accumulated audio at turn timeout. Disables silence discount billing for affected turns. default: false turn_model: $ref: '#/components/schemas/TurnModel' default: turn_v3 interruption_ignore_terms: items: type: string type: array title: Interruption Ignore Terms description: List of terms that should not trigger an interruption when spoken by the user (e.g. 'gotcha', 'understood'). Uses case-insensitive exact matching. interruption_ignore_term_languages: items: type: string type: array title: Interruption Ignore Term Languages description: Language codes for which preset ignore-term categories have been activated. Stored explicitly so display is not inferred from term overlap. merge_with_default_ignore_terms: type: boolean title: Merge With Default Ignore Terms description: When enabled, the curated default terms for interruption_ignore_term_languages are used in addition to interruption_ignore_terms. default: false transcribe_on_disabled_interruptions: type: boolean title: Transcribe On Disabled Interruptions description: When interruptions are disabled, still transcribe what the user says so it can carry into the next turn. When off, user speech during a non-interruptible turn is ignored and won't trigger a turn. default: false soft_timeout_config: $ref: '#/components/schemas/SoftTimeoutConfig' description: Configuration for soft timeout functionality. Provides immediate feedback during longer LLM responses. type: object title: TurnConfig example: interruption_ignore_term_languages: [] interruption_ignore_terms: [] merge_with_default_ignore_terms: false mode: turn retranscribe_on_turn_timeout: false silence_end_call_timeout: -1.0 soft_timeout_config: message: Hhmmmm...yeah. timeout_seconds: -1.0 speculative_turn: false spelling_patience: auto transcribe_on_disabled_interruptions: false turn_eagerness: normal turn_model: turn_v3 turn_timeout: 7.0 EndProcedureToolConfig: properties: system_tool_type: type: string const: end_procedure title: System Tool Type default: end_procedure procedures: additionalProperties: anyOf: - $ref: '#/components/schemas/ProcedureVersionRef' - $ref: '#/components/schemas/ProcedureDraftRef' type: object title: Procedures type: object title: EndProcedureToolConfig LLMInputOutputTokensUsage: properties: input: $ref: '#/components/schemas/LLMTokensCategoryUsage' input_cache_read: $ref: '#/components/schemas/LLMTokensCategoryUsage' input_cache_write: $ref: '#/components/schemas/LLMTokensCategoryUsage' output_total: $ref: '#/components/schemas/LLMTokensCategoryUsage' type: object title: LLMInputOutputTokensUsage ApiIntegrationWebhookToolConfig-Input: properties: type: type: string const: api_integration_webhook title: Type default: api_integration_webhook name: type: string minLength: 0 pattern: ^[a-zA-Z0-9_-]{1,64}$ title: Name description: type: string minLength: 0 title: Description description: Description of when the tool should be used and what it does. response_timeout_secs: type: integer maximum: 300.0 minimum: 5.0 title: Response Timeout Secs description: The maximum time in seconds to wait for the tool call to complete. Must be between 5 and 300 seconds (inclusive). default: 20 disable_interruptions: type: boolean title: Disable Interruptions description: 'DEPRECATED: use `interruption_mode` instead. If true, the user will not be able to interrupt the agent while this tool is running.' default: false deprecated: true interruption_mode: $ref: '#/components/schemas/ToolInterruptionMode' description: Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it. default: allow force_pre_tool_speech: type: boolean title: Force Pre Tool Speech description: 'DEPRECATED: use `pre_tool_speech` instead. If true, the agent will speak before the tool call.' default: false deprecated: true pre_tool_speech: $ref: '#/components/schemas/PreToolSpeechMode' description: Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency. default: auto assignments: items: $ref: '#/components/schemas/DynamicVariableAssignment' type: array title: Assignments description: Configuration for extracting values from tool responses and assigning them to dynamic variables tool_call_sound: anyOf: - $ref: '#/components/schemas/ToolCallSoundType' - type: 'null' description: Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played. x-convai-client-override: true tool_call_sound_behavior: $ref: '#/components/schemas/ToolCallSoundBehavior' description: Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call. default: auto tool_error_handling_mode: $ref: '#/components/schemas/ToolErrorHandlingMode' description: Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent. default: auto dynamic_variables: $ref: '#/components/schemas/DynamicVariablesConfig' description: Configuration for dynamic variables execution_mode: $ref: '#/components/schemas/ToolExecutionMode' description: 'Determines when and how the tool executes: ''immediate'' executes the tool right away when requested by the LLM, ''post_tool_speech'' waits for the agent to finish speaking before executing, ''async'' runs the tool in the background without blocking - best for long-running operations.' default: immediate tool_version: type: string title: Tool Version description: The version of the API integration tool default: 1.0.0 api_integration_id: type: string title: Api Integration Id api_integration_connection_id: type: string title: Api Integration Connection Id api_schema_overrides: anyOf: - $ref: '#/components/schemas/ApiIntegrationWebhookOverrides' - type: 'null' title: Api Schema Overrides description: User overrides applied on top of the base api_schema type: object required: - name - description - api_integration_id - api_integration_connection_id title: ApiIntegrationWebhookToolConfig SoftTimeoutConfigOverride: properties: message: anyOf: - type: string - type: 'null' title: Message description: Message to show when the first soft timeout is reached while waiting for LLM response. Supports dynamic variables (e.g., {{system__time}}, {{custom_variable}}). x-convai-client-override: true x-convai-language-override: true additional_soft_timeout_messages: anyOf: - items: type: string type: array - type: 'null' title: Additional Soft Timeout Messages description: Extra static filler messages for subsequent soft timeouts in the same LLM generation. The first timeout uses `message`. If fewer messages are configured than `max_soft_timeouts_per_generation`, the last configured message is repeated; otherwise a built-in filler is used. x-convai-client-override: true x-convai-language-override: true type: object title: SoftTimeoutConfigOverride example: message: Hhmmmm...yeah. AgentCallLimits: properties: agent_concurrency_limit: type: integer title: Agent Concurrency Limit description: The maximum number of concurrent conversations. -1 indicates that there is no maximum default: -1 daily_limit: type: integer title: Daily Limit description: The maximum number of conversations per day default: 100000 bursting_enabled: type: boolean title: Bursting Enabled description: Whether to enable bursting. If true, exceeding workspace concurrency limit will be allowed up to 3 times the limit. Calls will be charged at double rate when exceeding the limit. default: true type: object title: AgentCallLimits example: agent_concurrency_limit: -1 bursting_enabled: true daily_limit: 100000 SearchStrategy: type: string enum: - cat - keyword - semantic - ls title: SearchStrategy GuardrailExecutionMode: type: string enum: - streaming - blocking title: GuardrailExecutionMode default: streaming SMBToolConfig: properties: type: type: string const: smb title: Type description: Tool type identifier default: smb name: type: string minLength: 0 pattern: ^[a-zA-Z0-9_-]{1,64}$ title: Name description: type: string minLength: 0 title: Description description: Description of when the tool should be used and what it does. default: '' response_timeout_secs: type: integer title: Response Timeout Secs description: The maximum time in seconds to wait for the tool call to complete. default: 20 disable_interruptions: type: boolean title: Disable Interruptions description: 'DEPRECATED: use `interruption_mode` instead. If true, the user will not be able to interrupt the agent while this tool is running.' default: false deprecated: true interruption_mode: $ref: '#/components/schemas/ToolInterruptionMode' description: Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it. default: allow force_pre_tool_speech: type: boolean title: Force Pre Tool Speech description: 'DEPRECATED: use `pre_tool_speech` instead. If true, the agent will speak before the tool call.' default: false deprecated: true pre_tool_speech: $ref: '#/components/schemas/PreToolSpeechMode' description: Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency. default: auto assignments: items: $ref: '#/components/schemas/DynamicVariableAssignment' type: array title: Assignments description: Configuration for extracting values from tool responses and assigning them to dynamic variables tool_call_sound: anyOf: - $ref: '#/components/schemas/ToolCallSoundType' - type: 'null' description: Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played. x-convai-client-override: true tool_call_sound_behavior: $ref: '#/components/schemas/ToolCallSoundBehavior' description: Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call. default: auto tool_error_handling_mode: $ref: '#/components/schemas/ToolErrorHandlingMode' description: Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent. default: auto human_description: type: string minLength: 0 title: Human Description description: User-facing tooltip for the procedure reference picker. Not sent to the LLM. default: '' enabled: type: boolean title: Enabled description: Whether this tool is enabled for the agent default: true params: oneOf: - $ref: '#/components/schemas/SearchClientsParams' - $ref: '#/components/schemas/SendCustomEmailParams' - $ref: '#/components/schemas/ListClientsParams' - $ref: '#/components/schemas/GetClientByPhoneParams' - $ref: '#/components/schemas/CreateClientParams' - $ref: '#/components/schemas/UpdateClientParams' - $ref: '#/components/schemas/DeleteClientParams' - $ref: '#/components/schemas/ListStaffParams' - $ref: '#/components/schemas/CreateStaffParams' - $ref: '#/components/schemas/UpdateStaffParams' - $ref: '#/components/schemas/DeleteStaffParams' - $ref: '#/components/schemas/ListAssetsParams' - $ref: '#/components/schemas/CreateAssetParams' - $ref: '#/components/schemas/UpdateAssetParams' - $ref: '#/components/schemas/DeleteAssetParams' - $ref: '#/components/schemas/ListServicesParams' - $ref: '#/components/schemas/CreateServiceParams' - $ref: '#/components/schemas/UpdateServiceParams' - $ref: '#/components/schemas/DeleteServiceParams' - $ref: '#/components/schemas/ListProductsParams' - $ref: '#/components/schemas/CreateProductParams' - $ref: '#/components/schemas/UpdateProductParams' - $ref: '#/components/schemas/DeleteProductParams' - $ref: '#/components/schemas/CheckServiceAvailabilityParams' - $ref: '#/components/schemas/CreateClientAppointmentParams' - $ref: '#/components/schemas/GetClientAppointmentsParams' - $ref: '#/components/schemas/GetAppointmentByConfirmationNumberParams' - $ref: '#/components/schemas/CreateOrderParams' - $ref: '#/components/schemas/GetOrderByConfirmationNumberParams' - $ref: '#/components/schemas/GetClientOrdersParams' - $ref: '#/components/schemas/UpdateOrderParams' - $ref: '#/components/schemas/CancelOrderParams' - $ref: '#/components/schemas/ListGroupSessionsParams' - $ref: '#/components/schemas/ScheduleGroupSessionParams' - $ref: '#/components/schemas/RegisterForGroupSessionParams' - $ref: '#/components/schemas/CancelGroupSessionRegistrationParams' - $ref: '#/components/schemas/UpdateGroupSessionSeatsParams' - $ref: '#/components/schemas/CancelGroupSessionForAllParams' - $ref: '#/components/schemas/DeleteGroupSessionParams' - $ref: '#/components/schemas/ListCalendarEventsParams' - $ref: '#/components/schemas/UpdateCalendarEventParams' - $ref: '#/components/schemas/CancelCalendarEventParams' - $ref: '#/components/schemas/RestoreCalendarEventParams' - $ref: '#/components/schemas/DeleteCalendarEventParams' - $ref: '#/components/schemas/ListCustomerFacingAgentsParams' - $ref: '#/components/schemas/ListAgentRulesParams' - $ref: '#/components/schemas/CreateAgentRuleParams' - $ref: '#/components/schemas/UpdateAgentRuleParams' - $ref: '#/components/schemas/DeleteAgentRuleParams' - $ref: '#/components/schemas/ListTransferRulesParams' - $ref: '#/components/schemas/CreateTransferRuleParams' - $ref: '#/components/schemas/UpdateTransferRuleParams' - $ref: '#/components/schemas/DeleteTransferRuleParams' - $ref: '#/components/schemas/ListAgentProceduresParams' - $ref: '#/components/schemas/ListAgentReferencesParams' - $ref: '#/components/schemas/CreateAgentProcedureParams' - $ref: '#/components/schemas/UpdateAgentProcedureParams' - $ref: '#/components/schemas/DeleteAgentProcedureParams' - $ref: '#/components/schemas/ListHolidaysParams' - $ref: '#/components/schemas/CreateHolidayParams' - $ref: '#/components/schemas/UpdateHolidayParams' - $ref: '#/components/schemas/DeleteHolidayParams' - $ref: '#/components/schemas/GetScheduleParams' - $ref: '#/components/schemas/SubmitBusinessInfoParams' - $ref: '#/components/schemas/UpdateBusinessInfoParams' - $ref: '#/components/schemas/UpdateCustomerFacingConfigParams' - $ref: '#/components/schemas/GetAnalyticsSummaryParams' - $ref: '#/components/schemas/GetBookingPageSettingsParams' - $ref: '#/components/schemas/UpdateBookingPageSettingsParams' - $ref: '#/components/schemas/UpdateBookingPageAppearanceParams' - $ref: '#/components/schemas/GetBookingSlugStatusParams' - $ref: '#/components/schemas/SetBookingSlugParams' - $ref: '#/components/schemas/ListClientInteractionsParams' - $ref: '#/components/schemas/CreateClientInteractionParams' - $ref: '#/components/schemas/DeleteClientInteractionParams' - $ref: '#/components/schemas/ListLocationsParams' - $ref: '#/components/schemas/CreateLocationParams' - $ref: '#/components/schemas/UpdateLocationParams' - $ref: '#/components/schemas/DeleteLocationParams' - $ref: '#/components/schemas/LeaveMessageParams' - $ref: '#/components/schemas/CreateServiceQuoteRequestParams' - $ref: '#/components/schemas/CreateProductQuoteRequestParams' - $ref: '#/components/schemas/ReportKnowledgeGapParams' - $ref: '#/components/schemas/OptInSmsReminderParams' - $ref: '#/components/schemas/OptOutSmsReminderParams' - $ref: '#/components/schemas/TriggerUserVerificationParams' - $ref: '#/components/schemas/ValidateUserVerificationCodeParams' title: Params discriminator: propertyName: smb_tool_type mapping: cancel_calendar_event: '#/components/schemas/CancelCalendarEventParams' cancel_group_session_for_all: '#/components/schemas/CancelGroupSessionForAllParams' cancel_group_session_registration: '#/components/schemas/CancelGroupSessionRegistrationParams' cancel_order: '#/components/schemas/CancelOrderParams' check_service_availability: '#/components/schemas/CheckServiceAvailabilityParams' create_agent_procedure: '#/components/schemas/CreateAgentProcedureParams' create_agent_rule: '#/components/schemas/CreateAgentRuleParams' create_asset: '#/components/schemas/CreateAssetParams' create_client: '#/components/schemas/CreateClientParams' create_client_appointment: '#/components/schemas/CreateClientAppointmentParams' create_client_interaction: '#/components/schemas/CreateClientInteractionParams' create_holiday: '#/components/schemas/CreateHolidayParams' create_location: '#/components/schemas/CreateLocationParams' create_order: '#/components/schemas/CreateOrderParams' create_product: '#/components/schemas/CreateProductParams' create_product_quote_request: '#/components/schemas/CreateProductQuoteRequestParams' create_service: '#/components/schemas/CreateServiceParams' create_service_quote_request: '#/components/schemas/CreateServiceQuoteRequestParams' create_staff: '#/components/schemas/CreateStaffParams' create_transfer_rule: '#/components/schemas/CreateTransferRuleParams' delete_agent_procedure: '#/components/schemas/DeleteAgentProcedureParams' delete_agent_rule: '#/components/schemas/DeleteAgentRuleParams' delete_asset: '#/components/schemas/DeleteAssetParams' delete_calendar_event: '#/components/schemas/DeleteCalendarEventParams' delete_client: '#/components/schemas/DeleteClientParams' delete_client_interaction: '#/components/schemas/DeleteClientInteractionParams' delete_group_session: '#/components/schemas/DeleteGroupSessionParams' delete_holiday: '#/components/schemas/DeleteHolidayParams' delete_location: '#/components/schemas/DeleteLocationParams' delete_product: '#/components/schemas/DeleteProductParams' delete_service: '#/components/schemas/DeleteServiceParams' delete_staff: '#/components/schemas/DeleteStaffParams' delete_transfer_rule: '#/components/schemas/DeleteTransferRuleParams' get_analytics_summary: '#/components/schemas/GetAnalyticsSummaryParams' get_appointment_by_confirmation_number: '#/components/schemas/GetAppointmentByConfirmationNumberParams' get_booking_page_settings: '#/components/schemas/GetBookingPageSettingsParams' get_booking_slug_status: '#/components/schemas/GetBookingSlugStatusParams' get_client_appointments: '#/components/schemas/GetClientAppointmentsParams' get_client_by_phone: '#/components/schemas/GetClientByPhoneParams' get_client_orders: '#/components/schemas/GetClientOrdersParams' get_order_by_confirmation_number: '#/components/schemas/GetOrderByConfirmationNumberParams' get_schedule: '#/components/schemas/GetScheduleParams' leave_message: '#/components/schemas/LeaveMessageParams' list_agent_procedures: '#/components/schemas/ListAgentProceduresParams' list_agent_references: '#/components/schemas/ListAgentReferencesParams' list_agent_rules: '#/components/schemas/ListAgentRulesParams' list_assets: '#/components/schemas/ListAssetsParams' list_calendar_events: '#/components/schemas/ListCalendarEventsParams' list_client_interactions: '#/components/schemas/ListClientInteractionsParams' list_clients: '#/components/schemas/ListClientsParams' list_customer_facing_agents: '#/components/schemas/ListCustomerFacingAgentsParams' list_group_sessions: '#/components/schemas/ListGroupSessionsParams' list_holidays: '#/components/schemas/ListHolidaysParams' list_locations: '#/components/schemas/ListLocationsParams' list_products: '#/components/schemas/ListProductsParams' list_services: '#/components/schemas/ListServicesParams' list_staff: '#/components/schemas/ListStaffParams' list_transfer_rules: '#/components/schemas/ListTransferRulesParams' opt_in_sms_reminder: '#/components/schemas/OptInSmsReminderParams' opt_out_sms_reminder: '#/components/schemas/OptOutSmsReminderParams' register_for_group_session: '#/components/schemas/RegisterForGroupSessionParams' report_knowledge_gap: '#/components/schemas/ReportKnowledgeGapParams' restore_calendar_event: '#/components/schemas/RestoreCalendarEventParams' schedule_group_session: '#/components/schemas/ScheduleGroupSessionParams' search_clients: '#/components/schemas/SearchClientsParams' send_custom_email: '#/components/schemas/SendCustomEmailParams' set_booking_slug: '#/components/schemas/SetBookingSlugParams' submit_business_info: '#/components/schemas/SubmitBusinessInfoParams' trigger_user_verification: '#/components/schemas/TriggerUserVerificationParams' update_agent_procedure: '#/components/schemas/UpdateAgentProcedureParams' update_agent_rule: '#/components/schemas/UpdateAgentRuleParams' update_asset: '#/components/schemas/UpdateAssetParams' update_booking_page_appearance: '#/components/schemas/UpdateBookingPageAppearanceParams' update_booking_page_settings: '#/components/schemas/UpdateBookingPageSettingsParams' update_business_info: '#/components/schemas/UpdateBusinessInfoParams' update_calendar_event: '#/components/schemas/UpdateCalendarEventParams' update_client: '#/components/schemas/UpdateClientParams' update_customer_facing_config: '#/components/schemas/UpdateCustomerFacingConfigParams' update_group_session_seats: '#/components/schemas/UpdateGroupSessionSeatsParams' update_holiday: '#/components/schemas/UpdateHolidayParams' update_location: '#/components/schemas/UpdateLocationParams' update_order: '#/components/schemas/UpdateOrderParams' update_product: '#/components/schemas/UpdateProductParams' update_service: '#/components/schemas/UpdateServiceParams' update_staff: '#/components/schemas/UpdateStaffParams' update_transfer_rule: '#/components/schemas/UpdateTransferRuleParams' validate_user_verification_code: '#/components/schemas/ValidateUserVerificationCodeParams' type: object required: - name - params title: SMBToolConfig description: SMB tool configuration that wraps SMB tool parameters. examples: - description: '' enabled: true name: search_clients params: smb_tool_type: search_clients type: smb x-fern-ignore: true UnitTestToolCallParameter: properties: eval: oneOf: - $ref: '#/components/schemas/LLMParameterEvaluationStrategy' - $ref: '#/components/schemas/RegexParameterEvaluationStrategy' - $ref: '#/components/schemas/ExactParameterEvaluationStrategy' - $ref: '#/components/schemas/MatchAnythingParameterEvaluationStrategy' title: Eval discriminator: propertyName: type mapping: anything: '#/components/schemas/MatchAnythingParameterEvaluationStrategy' exact: '#/components/schemas/ExactParameterEvaluationStrategy' llm: '#/components/schemas/LLMParameterEvaluationStrategy' regex: '#/components/schemas/RegexParameterEvaluationStrategy' path: type: string title: Path type: object required: - eval - path title: UnitTestToolCallParameter SetBookingSlugParams: properties: smb_tool_type: type: string const: set_booking_slug title: Smb Tool Type default: set_booking_slug type: object title: SetBookingSlugParams TransferToNumberResultErrorModel: properties: result_type: type: string const: transfer_to_number_error title: Result Type default: transfer_to_number_error status: type: string const: error title: Status default: error error: type: string title: Error details: anyOf: - type: string - type: 'null' title: Details type: object required: - error title: TransferToNumberResultErrorModel BackgroundSoundConfigWorkflowOverride: properties: source_type: anyOf: - $ref: '#/components/schemas/BackgroundSoundSourceType' - type: 'null' description: The type of background sound source. source_id: anyOf: - $ref: '#/components/schemas/BackgroundSoundPresetId' - type: 'null' description: Identifier for the sound source. volume: anyOf: - type: number - type: 'null' title: Volume description: Volume level for background sound (0.01 to 1.0). crossfade_loop: anyOf: - type: boolean - type: 'null' title: Crossfade Loop description: Apply a crossfade at the loop boundary to avoid audible pops when the sound loops. type: object title: BackgroundSoundConfigWorkflowOverride DeleteHolidayParams: properties: smb_tool_type: type: string const: delete_holiday title: Smb Tool Type default: delete_holiday type: object title: DeleteHolidayParams TTSConversationalConfigWorkflowOverride-Input: properties: model_id: anyOf: - $ref: '#/components/schemas/TTSConversationalModel' - type: 'null' description: The model to use for TTS x-convai-client-override: true voice_id: anyOf: - type: string - type: 'null' title: Voice Id description: The voice ID to use for TTS x-convai-client-override: true x-convai-language-override: true supported_voices: anyOf: - items: $ref: '#/components/schemas/SupportedVoice' type: array - type: 'null' title: Supported Voices description: Additional supported voices for the agent x-convai-client-override: true x-convai-soft-override-disallowed: true expressive_mode: anyOf: - type: boolean - type: 'null' title: Expressive Mode description: When enabled, applies expressive audio tags prompt. Automatically disabled for non-v3 models. suggested_audio_tags: anyOf: - items: $ref: '#/components/schemas/SuggestedAudioTag' type: array - type: 'null' title: Suggested Audio Tags description: Suggested audio tags to boost expressive speech (for eleven_v3 and eleven_v3_conversational models). The agent can still use other tags not listed here. agent_output_audio_format: anyOf: - $ref: '#/components/schemas/TTSOutputFormat' - type: 'null' description: The audio format to use for TTS optimize_streaming_latency: anyOf: - $ref: '#/components/schemas/TTSOptimizeStreamingLatency' - type: 'null' description: 'Deprecated: this field is a no-op and is ignored.' stability: anyOf: - type: number - type: 'null' title: Stability description: The stability of generated speech x-convai-client-override: true speed: anyOf: - type: number - type: 'null' title: Speed description: The speed of generated speech x-convai-client-override: true similarity_boost: anyOf: - type: number - type: 'null' title: Similarity Boost description: The similarity boost for generated speech x-convai-client-override: true text_normalisation_type: anyOf: - $ref: '#/components/schemas/TextNormalisationType' - type: 'null' description: Method for converting numbers to words before converting text to speech. If set to SYSTEM_PROMPT, the system prompt will be updated to include normalization instructions. If set to ELEVENLABS, the text will be normalized after generation, incurring slight additional latency. pronunciation_dictionary_locators: anyOf: - items: $ref: '#/components/schemas/PydanticPronunciationDictionaryVersionLocator' type: array - type: 'null' title: Pronunciation Dictionary Locators description: The pronunciation dictionary locators x-convai-client-override: true enable_phoneme_tags: anyOf: - type: boolean - type: 'null' title: Enable Phoneme Tags description: Opt-in to SSML phoneme tag handling for V3 models. When enabled, phoneme tags (inline and from pronunciation dictionaries) are parsed into inline IPA before being sent to the model. audio_effects: anyOf: - $ref: '#/components/schemas/EffectsSpec-Input' - type: 'null' description: 'Optional TTS effects spec: filter preset, distance (proximity EQ), and environment (convolution reverb).' type: object title: TTSConversationalConfigWorkflowOverride example: agent_output_audio_format: pcm_16000 model_id: eleven_turbo_v2 optimize_streaming_latency: 3 pronunciation_dictionary_locators: [] similarity_boost: 0.8 speed: 1.0 stability: 0.5 voice_id: cjVigY5qzO86Huf0OWal BuiltInToolsWorkflowOverride-Input: properties: transfer_to_agent: anyOf: - $ref: '#/components/schemas/SystemToolConfig-Input' - type: 'null' description: The transfer to agent tool end_call: anyOf: - $ref: '#/components/schemas/SystemToolConfig-Input' - type: 'null' description: The end call tool language_detection: anyOf: - $ref: '#/components/schemas/SystemToolConfig-Input' - type: 'null' description: The language detection tool transfer_to_number: anyOf: - $ref: '#/components/schemas/SystemToolConfig-Input' - type: 'null' description: The transfer to number tool skip_turn: anyOf: - $ref: '#/components/schemas/SystemToolConfig-Input' - type: 'null' description: The skip turn tool play_keypad_touch_tone: anyOf: - $ref: '#/components/schemas/SystemToolConfig-Input' - type: 'null' description: The play DTMF tool voicemail_detection: anyOf: - $ref: '#/components/schemas/SystemToolConfig-Input' - type: 'null' description: The voicemail detection tool type: object title: BuiltInToolsWorkflowOverride ListHolidaysParams: properties: smb_tool_type: type: string const: list_holidays title: Smb Tool Type default: list_holidays type: object title: ListHolidaysParams ConfigEntityType: type: string enum: - name - name.name_given - name.name_family - name.name_other - email_address - contact_number - dob - age - religious_belief - political_opinion - sexual_orientation - ethnicity_race - marital_status - occupation - physical_attribute - language - username - password - url - organization - financial_id - financial_id.payment_card - financial_id.payment_card.payment_card_number - financial_id.payment_card.payment_card_expiration_date - financial_id.payment_card.payment_card_cvv - financial_id.bank_account - financial_id.bank_account.bank_account_number - financial_id.bank_account.bank_routing_number - financial_id.bank_account.swift_bic_code - financial_id.financial_id_other - location - location.location_address - location.location_city - location.location_postal_code - location.location_coordinate - location.location_state - location.location_country - location.location_other - date - date_interval - unique_id - unique_id.government_issued_id - unique_id.account_number - unique_id.vehicle_id - unique_id.healthcare_number - unique_id.healthcare_number.medical_record_number - unique_id.healthcare_number.health_plan_beneficiary_number - unique_id.device_id - unique_id.unique_id_other - medical - medical.medical_condition - medical.medication - medical.medical_procedure - medical.medical_measurement - medical.medical_other title: ConfigEntityType description: 'Entity types for the API configuration. This enum contains all valid entity type configurations that users can specify: - Parent types (e.g., "name", "financial_id") that expand to all subtypes - Specific subtypes using dot notation (e.g., "name.full_name") - Standalone terminal types (e.g., "email_address") When converted for service use, parent types expand to all their terminal subtypes.' ASTAndOperatorNode-Input: properties: type: type: string const: and_operator title: Type default: and_operator children: items: $ref: '#/components/schemas/ASTNode-Input' type: array minItems: 2 title: Children description: Child nodes of the logical operator. type: object required: - children title: ASTAndOperatorNode CreateClientParams: properties: smb_tool_type: type: string const: create_client title: Smb Tool Type default: create_client type: object title: CreateClientParams description: Create a new client in the system. AgentWorkspaceOverrides-Input: properties: conversation_initiation_client_data_webhook: anyOf: - $ref: '#/components/schemas/ConversationInitiationClientDataWebhook' - type: 'null' description: The webhook to send conversation initiation client data to webhooks: $ref: '#/components/schemas/ConvAIWebhooks' type: object title: AgentWorkspaceOverrides ContentConfig: properties: sexual: $ref: '#/components/schemas/ContentThresholdGuardrail' violence: $ref: '#/components/schemas/ContentThresholdGuardrail' harassment: $ref: '#/components/schemas/ContentThresholdGuardrail' self_harm: $ref: '#/components/schemas/ContentThresholdGuardrail' profanity: $ref: '#/components/schemas/ContentThresholdGuardrail' religion_or_politics: $ref: '#/components/schemas/ContentThresholdGuardrail' medical_and_legal_information: $ref: '#/components/schemas/ContentThresholdGuardrail' type: object title: ContentConfig WorkflowToolNestedToolsStepModel-Input: properties: step_latency_secs: type: number title: Step Latency Secs type: type: string const: nested_tools title: Type default: nested_tools node_id: type: string title: Node Id requests: items: $ref: '#/components/schemas/ConversationHistoryTranscriptToolCallCommonModel-Input' type: array title: Requests results: items: oneOf: - $ref: '#/components/schemas/ConversationHistoryTranscriptOtherToolsResultCommonModel' - $ref: '#/components/schemas/ConversationHistoryTranscriptSystemToolResultCommonModel-Input' - $ref: '#/components/schemas/ConversationHistoryTranscriptApiIntegrationWebhookToolsResultCommonModel-Input' - $ref: '#/components/schemas/ConversationHistoryTranscriptWorkflowToolsResultCommonModel-Input' type: array title: Results is_successful: type: boolean title: Is Successful type: object required: - step_latency_secs - node_id - requests - results - is_successful title: WorkflowToolNestedToolsStepModel ConversationInitiationClientDataWebhook: properties: url: type: string title: Url description: The URL to send the webhook to request_headers: additionalProperties: anyOf: - type: string - $ref: '#/components/schemas/ConvAISecretLocator' type: object title: Request Headers description: The headers to send with the webhook request type: object required: - url - request_headers title: ConversationInitiationClientDataWebhook example: request_headers: Content-Type: application/json url: https://example.com/webhook TestToolResultModel: properties: result_type: type: string const: testing_tool_result title: Result Type default: testing_tool_result status: type: string const: success title: Status default: success reason: type: string title: Reason default: Skipping tool call in test mode type: object title: TestToolResultModel GetClientAppointmentsParams: properties: smb_tool_type: type: string const: get_client_appointments title: Smb Tool Type default: get_client_appointments include_cancelled: type: boolean title: Include Cancelled default: false type: object title: GetClientAppointmentsParams CreateStaffParams: properties: smb_tool_type: type: string const: create_staff title: Smb Tool Type default: create_staff type: object title: CreateStaffParams description: Create a new staff member in the system. GetBookingSlugStatusParams: properties: smb_tool_type: type: string const: get_booking_slug_status title: Smb Tool Type default: get_booking_slug_status type: object title: GetBookingSlugStatusParams AlertingIntegrationNotifier: oneOf: - $ref: '#/components/schemas/AlertingPagerDutyNotifier' - $ref: '#/components/schemas/AlertingSlackNotifier' discriminator: propertyName: integration_type mapping: pagerduty: '#/components/schemas/AlertingPagerDutyNotifier' slack: '#/components/schemas/AlertingSlackNotifier' ConvAIWebhooks: properties: post_call_webhook_id: anyOf: - type: string - type: 'null' title: Post Call Webhook Id events: items: $ref: '#/components/schemas/WebhookEventType' type: array title: Events description: 'List of event types to send via webhook. Options: transcript, audio, call_initiation_failure, answering_machine_detection, unredacted_transcript, unredacted_audio.' transcript_format: $ref: '#/components/schemas/WebhookTranscriptFormat' description: Format for transcript webhooks. default: json send_audio: anyOf: - type: boolean - type: 'null' title: Send Audio description: 'DEPRECATED: Use ''events'' field instead. Whether to send audio data with post-call webhooks for ConvAI conversations' deprecated: true type: object title: ConvAIWebhooks PydanticPronunciationDictionaryVersionLocator: properties: pronunciation_dictionary_id: type: string title: Pronunciation Dictionary Id description: The ID of the pronunciation dictionary version_id: anyOf: - type: string - type: 'null' title: Version Id description: The ID of the version of the pronunciation dictionary type: object required: - pronunciation_dictionary_id - version_id title: PydanticPronunciationDictionaryVersionLocator description: 'A locator for other documents to be able to reference a specific dictionary and it''s version. This is a pydantic version of PronunciationDictionaryVersionLocatorDBModel. Required to ensure compat with the rest of the agent data models.' TestInvocationSummaryResponseModel: properties: id: type: string title: Id description: The ID of the test invocation agent_id: anyOf: - type: string - type: 'null' title: Agent Id description: The ID of the agent this test invocation belongs to branch_id: anyOf: - type: string - type: 'null' title: Branch Id description: The ID of the branch this test invocation was run on version_id: anyOf: - type: string - type: 'null' title: Version Id description: The ID of the agent version this test invocation ran against. For draft or config-override runs this is the version those uncommitted changes were applied on top of. None only for runs recorded before this field existed. ran_against_draft: type: boolean title: Ran Against Draft description: Whether the run included uncommitted changes (a saved draft or an ad-hoc config override) layered on top of version_id. default: false runs_diverged_from_version: type: boolean title: Runs Diverged From Version description: Whether the test runs in this invocation did not all execute against the same version, which happens when a subset of runs was resubmitted after the original run. When true, version_id describes the most recent resubmit rather than every run. default: false created_at_unix_secs: type: integer title: Created At Unix Secs description: Creation time of the test invocation in unix seconds test_run_count: type: integer title: Test Run Count description: Number of test runs in this invocation passed_count: type: integer title: Passed Count description: Number of test runs that passed failed_count: type: integer title: Failed Count description: Number of test runs that failed pending_count: type: integer title: Pending Count description: Number of test runs that are pending title: type: string title: Title description: Title of the test invocation - the folder name for folder runs, otherwise the single test name or count of tests access_info: anyOf: - $ref: '#/components/schemas/ResourceAccessInfo' - type: 'null' description: The access information of the test invocation repeat_count: type: integer title: Repeat Count description: Number of times each test was repeated in this invocation default: 1 type: object required: - id - created_at_unix_secs - test_run_count - passed_count - failed_count - pending_count - title title: TestInvocationSummaryResponseModel ASRConversationalConfigOverride: properties: keywords: anyOf: - items: type: string type: array - type: 'null' title: Keywords description: Keywords to boost prediction probability for x-convai-client-override: true x-convai-soft-override-disallowed: true type: object title: ASRConversationalConfigOverride example: keywords: - hello - world WidgetTextContents: properties: main_label: anyOf: - type: string - type: 'null' title: Main Label description: Call to action displayed inside the compact and full variants. start_call: anyOf: - type: string - type: 'null' title: Start Call description: Text and ARIA label for the start call button. start_chat: anyOf: - type: string - type: 'null' title: Start Chat description: Text and ARIA label for the start chat button (text only) new_call: anyOf: - type: string - type: 'null' title: New Call description: Text and ARIA label for the new call button. Displayed when the caller already finished at least one call in order ot start the next one. end_call: anyOf: - type: string - type: 'null' title: End Call description: Text and ARIA label for the end call button. mute_microphone: anyOf: - type: string - type: 'null' title: Mute Microphone description: ARIA label for the mute microphone button. change_language: anyOf: - type: string - type: 'null' title: Change Language description: ARIA label for the change language dropdown. collapse: anyOf: - type: string - type: 'null' title: Collapse description: ARIA label for the collapse button. expand: anyOf: - type: string - type: 'null' title: Expand description: ARIA label for the expand button. copied: anyOf: - type: string - type: 'null' title: Copied description: Text displayed when the user copies a value using the copy button. accept_terms: anyOf: - type: string - type: 'null' title: Accept Terms description: Text and ARIA label for the accept terms button. dismiss_terms: anyOf: - type: string - type: 'null' title: Dismiss Terms description: Text and ARIA label for the cancel terms button. listening_status: anyOf: - type: string - type: 'null' title: Listening Status description: Status displayed when the agent is listening. speaking_status: anyOf: - type: string - type: 'null' title: Speaking Status description: Status displayed when the agent is speaking. connecting_status: anyOf: - type: string - type: 'null' title: Connecting Status description: Status displayed when the agent is connecting. chatting_status: anyOf: - type: string - type: 'null' title: Chatting Status description: Status displayed when the agent is chatting (text only) input_label: anyOf: - type: string - type: 'null' title: Input Label description: ARIA label for the text message input. input_placeholder: anyOf: - type: string - type: 'null' title: Input Placeholder description: Placeholder text for the text message input. input_placeholder_text_only: anyOf: - type: string - type: 'null' title: Input Placeholder Text Only description: Placeholder text for the text message input (text only) input_placeholder_new_conversation: anyOf: - type: string - type: 'null' title: Input Placeholder New Conversation description: Placeholder text for the text message input when starting a new conversation (text only) user_ended_conversation: anyOf: - type: string - type: 'null' title: User Ended Conversation description: Information message displayed when the user ends the conversation. agent_ended_conversation: anyOf: - type: string - type: 'null' title: Agent Ended Conversation description: Information message displayed when the agent ends the conversation. conversation_id: anyOf: - type: string - type: 'null' title: Conversation Id description: Text label used next to the conversation ID. error_occurred: anyOf: - type: string - type: 'null' title: Error Occurred description: Text label used when an error occurs. copy_id: anyOf: - type: string - type: 'null' title: Copy Id description: Text and ARIA label used for the copy ID button. initiate_feedback: anyOf: - type: string - type: 'null' title: Initiate Feedback description: Text displayed to prompt the user for feedback. request_follow_up_feedback: anyOf: - type: string - type: 'null' title: Request Follow Up Feedback description: Text displayed to request additional feedback details. thanks_for_feedback: anyOf: - type: string - type: 'null' title: Thanks For Feedback description: Text displayed to thank the user for providing feedback. thanks_for_feedback_details: anyOf: - type: string - type: 'null' title: Thanks For Feedback Details description: Additional text displayed explaining the value of user feedback. follow_up_feedback_placeholder: anyOf: - type: string - type: 'null' title: Follow Up Feedback Placeholder description: Placeholder text for the follow-up feedback input field. submit: anyOf: - type: string - type: 'null' title: Submit description: Text and ARIA label for the submit button. go_back: anyOf: - type: string - type: 'null' title: Go Back description: Text and ARIA label for the go back button. send_message: anyOf: - type: string - type: 'null' title: Send Message description: Text and ARIA label for the send message button. text_mode: anyOf: - type: string - type: 'null' title: Text Mode description: Text and ARIA label for the switch to text mode button. voice_mode: anyOf: - type: string - type: 'null' title: Voice Mode description: Text and ARIA label for the switch to voice mode button. switched_to_text_mode: anyOf: - type: string - type: 'null' title: Switched To Text Mode description: Toast notification displayed when switching to text mode. switched_to_voice_mode: anyOf: - type: string - type: 'null' title: Switched To Voice Mode description: Toast notification displayed when switching to voice mode. copy: anyOf: - type: string - type: 'null' title: Copy description: Text and ARIA label for the copy button. download: anyOf: - type: string - type: 'null' title: Download description: Text and ARIA label for the download button. wrap: anyOf: - type: string - type: 'null' title: Wrap description: Text and ARIA label for the wrap toggle button. agent_working: anyOf: - type: string - type: 'null' title: Agent Working description: Status text displayed when the agent is processing a tool call. agent_done: anyOf: - type: string - type: 'null' title: Agent Done description: Status text displayed when the agent finishes processing a tool call. agent_error: anyOf: - type: string - type: 'null' title: Agent Error description: Status text displayed when the agent encounters an error during a tool call. attach_file: anyOf: - type: string - type: 'null' title: Attach File description: Text and ARIA label for the attach file button. remove_file: anyOf: - type: string - type: 'null' title: Remove File description: ARIA label for the remove file button. file_upload_error: anyOf: - type: string - type: 'null' title: File Upload Error description: Error message displayed when a file fails to upload. file_type_unsupported: anyOf: - type: string - type: 'null' title: File Type Unsupported description: Error message displayed when an unsupported file type is selected. Followed by the list of accepted types. file_too_large: anyOf: - type: string - type: 'null' title: File Too Large description: Error message displayed when a file exceeds the maximum size limit. file_limit_reached: anyOf: - type: string - type: 'null' title: File Limit Reached description: Error message displayed when the maximum number of files for a conversation is reached. typing_indicator: anyOf: - type: string - type: 'null' title: Typing Indicator description: Status text displayed while the agent is typing. type: object title: WidgetTextContents AgentConversationTicketResponseModel: properties: agentqa_ticket_id: type: string title: Agentqa Ticket Id workspace_id: type: string title: Workspace Id owner_user_id: type: string title: Owner User Id agent_id: type: string title: Agent Id needs_clustering: type: boolean title: Needs Clustering issue_type: anyOf: - $ref: '#/components/schemas/AgentConversationTicketIssueType' - type: 'null' labels: items: type: string type: array title: Labels conversation_ids: items: type: string type: array title: Conversation Ids first_seen_unix_secs: anyOf: - type: integer - type: 'null' title: First Seen Unix Secs last_seen_unix_secs: anyOf: - type: integer - type: 'null' title: Last Seen Unix Secs qa_comment: anyOf: - type: string - type: 'null' title: Qa Comment ticket_comments: items: $ref: '#/components/schemas/TicketCommentResponseModel' type: array title: Ticket Comments turn_comments: items: $ref: '#/components/schemas/TurnCommentResponseModel' type: array title: Turn Comments status: $ref: '#/components/schemas/AgentConversationTicketStatus' source: $ref: '#/components/schemas/AgentConversationTicketSource' assignee_user_id: anyOf: - type: string - type: 'null' title: Assignee User Id created_at_unix_secs: type: integer title: Created At Unix Secs updated_at_unix_secs: type: integer title: Updated At Unix Secs type: object required: - agentqa_ticket_id - workspace_id - owner_user_id - agent_id - needs_clustering - issue_type - labels - conversation_ids - first_seen_unix_secs - last_seen_unix_secs - qa_comment - ticket_comments - turn_comments - status - source - assignee_user_id - created_at_unix_secs - updated_at_unix_secs title: AgentConversationTicketResponseModel ConversationTurnMetrics: properties: metrics: additionalProperties: $ref: '#/components/schemas/MetricRecord' type: object title: Metrics convai_asr_provider: anyOf: - type: string - type: 'null' title: Convai Asr Provider convai_tts_model: anyOf: - type: string - type: 'null' title: Convai Tts Model convai_tts_cascade: anyOf: - type: string - type: 'null' title: Convai Tts Cascade type: object title: ConversationTurnMetrics AssignableUserResponseModel: properties: user_id: type: string title: User Id email: type: string title: Email first_name: anyOf: - type: string - type: 'null' title: First Name is_service_account: type: boolean title: Is Service Account has_access: type: boolean title: Has Access description: Whether this workspace member currently has at least viewer access to the agent. Members without access are still returned so they can be surfaced (e.g. grayed out) and granted access before being assigned. type: object required: - user_id - email - first_name - is_service_account - has_access title: AssignableUserResponseModel GetToolCallUnitTestResponseModel: properties: from_conversation_metadata: anyOf: - $ref: '#/components/schemas/TestFromConversationMetadata-Output' - type: 'null' description: Metadata of a conversation this test was created from (if applicable). dynamic_variables: additionalProperties: true type: object title: Dynamic Variables description: Dynamic variables to replace in the agent config during testing chat_history: items: $ref: '#/components/schemas/ConversationHistoryTranscriptCommonModel-Output' type: array maxItems: 200 title: Chat History conversation_initiation_source: anyOf: - $ref: '#/components/schemas/ConversationInitiationSource' - type: 'null' description: Simulate the test as if the conversation originated from this channel. environment: anyOf: - type: string - type: 'null' title: Environment description: The environment to resolve environment-specific variable values against when running this test (URL, headers, auth connections). If not provided, defaults to 'production'. For simulation tests, simulation_environment takes precedence when set. type: type: string const: tool title: Type default: tool tool_call_parameters: anyOf: - $ref: '#/components/schemas/UnitTestToolCallEvaluationModel-Output' - type: 'null' description: How to evaluate the agent's tool call (if any). If empty, the tool call is not evaluated. check_any_tool_matches: anyOf: - type: boolean - type: 'null' title: Check Any Tool Matches description: If set to True this test will pass if any tool call returned by the LLM matches the criteria. Otherwise it will fail if more than one tool is returned by the agent. id: type: string title: Id name: type: string title: Name type: object required: - id - name title: GetToolCallUnitTestResponseModel PromptAgentAPIModelWorkflowOverride-Input: properties: prompt: anyOf: - type: string - type: 'null' title: Prompt description: The prompt for the agent x-convai-client-override: true llm: anyOf: - $ref: '#/components/schemas/LLM' - type: 'null' description: The LLM to query with the prompt and the chat history. If using data residency, the LLM must be supported in the data residency environment x-convai-client-override: true reasoning_effort: anyOf: - $ref: '#/components/schemas/LLMReasoningEffort' - type: 'null' description: Reasoning effort of the model. Only available for some models. thinking_budget: anyOf: - type: integer - type: 'null' title: Thinking Budget description: Max number of tokens used for thinking. Use 0 to turn off if supported by the model. enable_reasoning_summary: anyOf: - type: boolean - type: 'null' title: Enable Reasoning Summary description: Enable model reasoning summaries. When disabled, we do not request summaries from provider if possible for faster TTFB. Not ZRM compatible. temperature: anyOf: - type: number - type: 'null' title: Temperature description: The temperature for the LLM. Defaults to 0. Set to null to omit the parameter from the LLM request entirely (useful for custom LLMs that reject the temperature field). max_tokens: anyOf: - type: integer - type: 'null' title: Max Tokens description: If greater than 0, maximum number of tokens the LLM can predict tool_ids: anyOf: - items: type: string type: array - type: 'null' title: Tool Ids description: A list of IDs of tools used by the agent x-convai-client-override: true built_in_tools: anyOf: - $ref: '#/components/schemas/BuiltInToolsWorkflowOverride-Input' - type: 'null' description: Built-in system tools to be used by the agent enable_parallel_tool_calls: anyOf: - type: boolean - type: 'null' title: Enable Parallel Tool Calls description: Enable parallel tool calling. When enabled, the agent can execute multiple tools in parallel within a single turn. Not supported by all models. mcp_server_ids: anyOf: - items: type: string type: array - type: 'null' title: Mcp Server Ids description: A list of MCP server ids to be used by the agent native_mcp_server_ids: anyOf: - items: type: string type: array - type: 'null' title: Native Mcp Server Ids description: A list of Native MCP server ids to be used by the agent x-convai-client-override: true knowledge_base: anyOf: - items: $ref: '#/components/schemas/KnowledgeBaseLocator' type: array - type: 'null' title: Knowledge Base description: A list of knowledge bases to be used by the agent x-convai-client-override: true custom_llm: anyOf: - $ref: '#/components/schemas/CustomLLM' - type: 'null' description: Definition for a custom LLM if LLM field is set to 'CUSTOM_LLM' ignore_default_personality: anyOf: - type: boolean - type: 'null' title: Ignore Default Personality description: Whether to remove the default personality lines from the system prompt rag: anyOf: - $ref: '#/components/schemas/RagConfigWorkflowOverride-Input' - type: 'null' description: Configuration for RAG timezone: anyOf: - type: string - type: 'null' title: Timezone description: Timezone for displaying current time in system prompt. If set, the current time will be included in the system prompt using this timezone. Must be a valid timezone name (e.g., 'America/New_York', 'Europe/London', 'UTC'). Recommended for accurate time-aware responses; without this, the agent has no knowledge of the current date/time unless you provide it via dynamic variables or tools, which can lead to incorrect or hallucinated time references. backup_llm_config: anyOf: - $ref: '#/components/schemas/BackupLLMDefault' - $ref: '#/components/schemas/BackupLLMDisabled' - $ref: '#/components/schemas/BackupLLMOverride' - type: 'null' title: Backup Llm Config description: Configuration for backup LLM cascading. Can be disabled, use system defaults, or specify custom order. cascade_timeout_seconds: anyOf: - type: number - type: 'null' title: Cascade Timeout Seconds description: Time in seconds before cascading to backup LLM. Must be between 2 and 15 seconds. tools: anyOf: - items: oneOf: - $ref: '#/components/schemas/WebhookToolConfig-Input' - $ref: '#/components/schemas/ClientToolConfig-Input' - $ref: '#/components/schemas/SystemToolConfig-Input' - $ref: '#/components/schemas/MCPToolConfig-Input' - $ref: '#/components/schemas/ApiIntegrationWebhookToolConfig-Input' - $ref: '#/components/schemas/SMBToolConfig' description: The type of tool discriminator: propertyName: type mapping: api_integration_webhook: '#/components/schemas/ApiIntegrationWebhookToolConfig-Input' client: '#/components/schemas/ClientToolConfig-Input' mcp: '#/components/schemas/MCPToolConfig-Input' smb: '#/components/schemas/SMBToolConfig' system: '#/components/schemas/SystemToolConfig-Input' webhook: '#/components/schemas/WebhookToolConfig-Input' type: array - type: 'null' title: Tools description: A list of tools that the agent can use over the course of the conversation, use tool_ids instead type: object title: PromptAgentAPIModelWorkflowOverride example: knowledge_base: [] llm: gemini-2.0-flash-001 max_tokens: -1 prompt: You are a helpful assistant that can answer questions about the topic of the conversation. temperature: 0.0 tool_ids: [] tools: [] FileInputConfig: properties: enabled: type: boolean title: Enabled description: When enabled, users may attach images or PDFs in chat when the LLM supports multimodal input. default: true max_files_in_memory: type: integer maximum: 30.0 minimum: 1.0 title: Max Files In Memory description: Number of most-recent files kept in memory during a conversation. Older files are summarized and their bytes freed. default: 10 max_files_per_conversation: type: integer title: Max Files Per Conversation description: Total files a user can upload in one conversation. Uploads are billed per file. Use -1 for no limit, or a value >= max_files_in_memory. default: 10 type: object title: FileInputConfig WidgetFeedbackMode: type: string enum: - none - during - end title: WidgetFeedbackMode default: none ListStaffParams: properties: list_kwargs: additionalProperties: true type: object title: List Kwargs smb_tool_type: type: string const: list_staff title: Smb Tool Type default: list_staff type: object title: ListStaffParams EndProcedureToolResultErrorModel: properties: result_type: type: string const: end_procedure_error title: Result Type default: end_procedure_error status: $ref: '#/components/schemas/EndProcedureToolErrorStatus' procedure_id: anyOf: - type: string - type: 'null' title: Procedure Id message: type: string title: Message type: object required: - status - message title: EndProcedureToolResultErrorModel ConstantSchemaOverride: properties: source: type: string const: constant title: Source default: constant constant_value: anyOf: - type: string - type: integer - type: number - type: boolean - items: {} type: array - additionalProperties: true type: object - type: 'null' title: Constant Value description: The constant value to use type: object required: - constant_value title: ConstantSchemaOverride ConversationHistoryTranscriptToolCallApiIntegrationWebhookDetails-Output: properties: type: type: string const: api_integration_webhook title: Type default: api_integration_webhook integration_id: type: string title: Integration Id default: '' credential_id: type: string title: Credential Id default: '' integration_connection_id: type: string title: Integration Connection Id default: '' webhook_details: $ref: '#/components/schemas/ConversationHistoryTranscriptToolCallWebhookDetails' type: object required: - type - integration_id - credential_id - integration_connection_id - webhook_details title: ConversationHistoryTranscriptToolCallApiIntegrationWebhookDetails BehaviorOverride: properties: verbosity: anyOf: - $ref: '#/components/schemas/Verbosity' - type: 'null' description: Verbosity override. Underlying default applies when unset. output_format: anyOf: - $ref: '#/components/schemas/OutputFormat' - type: 'null' description: Output format override. Underlying default applies when unset. interaction_budget: anyOf: - $ref: '#/components/schemas/InteractionBudget' - type: 'null' description: Interaction budget override. Underlying default applies when unset. type: object title: BehaviorOverride LLMTokensCategoryUsage: properties: tokens: type: integer title: Tokens default: 0 price: type: number title: Price default: 0.0 type: object title: LLMTokensCategoryUsage ListAssetsParams: properties: list_kwargs: additionalProperties: true type: object title: List Kwargs smb_tool_type: type: string const: list_assets title: Smb Tool Type default: list_assets type: object title: ListAssetsParams TurnEagerness: type: string enum: - patient - normal - eager title: TurnEagerness description: Agent's eagerness to respond. Higher values make agent wait for higher turn probability. default: normal ASRConversationalConfigOverrideConfig: properties: keywords: type: boolean title: Keywords description: Whether to allow overriding the keywords field. default: false type: object title: ASRConversationalConfigOverrideConfig TurnMode: type: string enum: - silence - turn title: TurnMode default: turn UpdateClientParams: properties: smb_tool_type: type: string const: update_client title: Smb Tool Type default: update_client type: object title: UpdateClientParams description: Update an existing client's information. PhoneNumberTransferDestination: properties: type: type: string const: phone title: Type default: phone phone_number: type: string title: Phone Number type: object required: - phone_number title: PhoneNumberTransferDestination SystemToolConfig-Input: properties: type: type: string const: system title: Type description: The type of tool default: system name: type: string minLength: 0 pattern: ^[a-zA-Z0-9_-]{1,64}$ title: Name description: type: string minLength: 0 title: Description description: Description of when the tool should be used and what it does. Leave empty to use the default description that's optimized for the specific tool type. default: '' response_timeout_secs: type: integer title: Response Timeout Secs description: The maximum time in seconds to wait for the tool call to complete. default: 20 disable_interruptions: type: boolean title: Disable Interruptions description: 'DEPRECATED: use `interruption_mode` instead. If true, the user will not be able to interrupt the agent while this tool is running.' default: false deprecated: true interruption_mode: $ref: '#/components/schemas/ToolInterruptionMode' description: Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it. default: allow force_pre_tool_speech: type: boolean title: Force Pre Tool Speech description: 'DEPRECATED: use `pre_tool_speech` instead. If true, the agent will speak before the tool call.' default: false deprecated: true pre_tool_speech: $ref: '#/components/schemas/PreToolSpeechMode' description: Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency. default: auto assignments: items: $ref: '#/components/schemas/DynamicVariableAssignment' type: array title: Assignments description: Configuration for extracting values from tool responses and assigning them to dynamic variables tool_call_sound: anyOf: - $ref: '#/components/schemas/ToolCallSoundType' - type: 'null' description: Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played. x-convai-client-override: true tool_call_sound_behavior: $ref: '#/components/schemas/ToolCallSoundBehavior' description: Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call. default: auto tool_error_handling_mode: $ref: '#/components/schemas/ToolErrorHandlingMode' description: Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent. default: auto params: oneOf: - $ref: '#/components/schemas/EndCallToolConfig' - $ref: '#/components/schemas/LanguageDetectionToolConfig' - $ref: '#/components/schemas/TransferToAgentToolConfig-Input' - $ref: '#/components/schemas/TransferToNumberToolConfig-Input' - $ref: '#/components/schemas/SkipTurnToolConfig' - $ref: '#/components/schemas/PlayDTMFToolConfig' - $ref: '#/components/schemas/VoicemailDetectionToolConfig' - $ref: '#/components/schemas/KnowledgeBaseRagToolConfig' - $ref: '#/components/schemas/KnowledgeBaseToolConfig' - $ref: '#/components/schemas/StartProcedureToolConfig' - $ref: '#/components/schemas/EndProcedureToolConfig' title: Params discriminator: propertyName: system_tool_type mapping: end_call: '#/components/schemas/EndCallToolConfig' end_procedure: '#/components/schemas/EndProcedureToolConfig' knowledge_base: '#/components/schemas/KnowledgeBaseToolConfig' knowledge_base_rag: '#/components/schemas/KnowledgeBaseRagToolConfig' language_detection: '#/components/schemas/LanguageDetectionToolConfig' play_keypad_touch_tone: '#/components/schemas/PlayDTMFToolConfig' skip_turn: '#/components/schemas/SkipTurnToolConfig' start_procedure: '#/components/schemas/StartProcedureToolConfig' transfer_to_agent: '#/components/schemas/TransferToAgentToolConfig-Input' transfer_to_number: '#/components/schemas/TransferToNumberToolConfig-Input' voicemail_detection: '#/components/schemas/VoicemailDetectionToolConfig' type: object required: - name - params title: SystemToolConfig description: A system tool is a tool that is used to call a system method in the server examples: - description: '' name: end_call params: system_tool_type: end_call type: system - description: Custom description for specific use case name: transfer_to_agent params: system_tool_type: transfer_to_agent transfers: [] type: system GetTestInvocationsPageResponseModel: properties: meta: $ref: '#/components/schemas/ListResponseMeta' default: {} results: items: $ref: '#/components/schemas/TestInvocationSummaryResponseModel' type: array title: Results next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor description: Cursor for the next page of results has_more: type: boolean title: Has More description: Whether there are more results available type: object required: - results - has_more title: GetTestInvocationsPageResponseModel EmbeddingModelEnum: type: string enum: - e5_mistral_7b_instruct - multilingual_e5_large_instruct title: EmbeddingModelEnum default: e5_mistral_7b_instruct ConversationReasoningModel: properties: summary: anyOf: - type: string - type: 'null' title: Summary provider_redact: type: boolean title: Provider Redact default: false type: object title: ConversationReasoningModel ConversationHistoryTranscriptWorkflowToolsResultCommonModel-Input: properties: request_id: type: string title: Request Id tool_name: type: string title: Tool Name result_value: type: string title: Result Value is_error: type: boolean title: Is Error is_blocked: type: boolean title: Is Blocked default: false tool_has_been_called: type: boolean title: Tool Has Been Called tool_latency_secs: type: number title: Tool Latency Secs default: 0 error_type: type: string title: Error Type default: '' raw_error_message: type: string title: Raw Error Message default: '' dynamic_variable_updates: items: $ref: '#/components/schemas/DynamicVariableUpdateCommonModel' type: array title: Dynamic Variable Updates type: type: string const: workflow title: Type result: anyOf: - $ref: '#/components/schemas/WorkflowToolResponseModel-Input' - type: 'null' type: object required: - request_id - tool_name - result_value - is_error - tool_has_been_called - type title: ConversationHistoryTranscriptWorkflowToolsResultCommonModel RegisterForGroupSessionParams: properties: smb_tool_type: type: string const: register_for_group_session title: Smb Tool Type default: register_for_group_session type: object title: RegisterForGroupSessionParams description: Register a client for a scheduled group session. EntryBehavior: type: string enum: - generate_immediately - wait_for_user - auto title: EntryBehavior default: auto GetClientByPhoneParams: properties: smb_tool_type: type: string const: get_client_by_phone title: Smb Tool Type default: get_client_by_phone type: object title: GetClientByPhoneParams description: Look up a client by their exact phone number. ListAgentRulesParams: properties: smb_tool_type: type: string const: list_agent_rules title: Smb Tool Type default: list_agent_rules type: object title: ListAgentRulesParams StartProcedureToolErrorStatus: type: string enum: - not_found - invalid_name - already_active BackupLLMDisabled: properties: preference: type: string const: disabled title: Preference default: disabled type: object title: BackupLLMDisabled WidgetTextContentsTranslation: properties: source: additionalProperties: type: string type: object title: Source description: The source text each translated field was derived from text: additionalProperties: type: string type: object title: Text description: The last auto-translated output for each translated field type: object title: WidgetTextContentsTranslation KnowledgeBaseRagToolConfig: properties: system_tool_type: type: string const: knowledge_base_rag title: System Tool Type default: knowledge_base_rag type: object title: KnowledgeBaseRagToolConfig PhoneNumberDynamicVariableTransferDestination: properties: type: type: string const: phone_dynamic_variable title: Type default: phone_dynamic_variable phone_number: type: string title: Phone Number type: object required: - phone_number title: PhoneNumberDynamicVariableTransferDestination AgentPlatformSettingsRequestModel: properties: evaluation: $ref: '#/components/schemas/EvaluationSettings-Input' description: Settings for evaluation widget: $ref: '#/components/schemas/WidgetConfig-Input' description: Configuration for the widget data_collection: additionalProperties: $ref: '#/components/schemas/AnalysisProperty' type: object title: Data Collection description: Data collection settings data_collection_scopes: additionalProperties: $ref: '#/components/schemas/AnalysisScope' type: object title: Data Collection Scopes description: Scope per data collection item ID. Missing keys default to conversation scope. analysis_items: anyOf: - $ref: '#/components/schemas/AgentAnalysisItems-Input' - type: 'null' description: Evaluation + data-collection items attached by reference. None means the agent has not been migrated onto analysis items yet (distinct from an empty, migrated set); reads fall back to the legacy evaluation/data_collection fields in that case. overrides: $ref: '#/components/schemas/ConversationInitiationClientDataConfig-Input' description: Additional overrides for the agent during conversation initiation workspace_overrides: $ref: '#/components/schemas/AgentWorkspaceOverrides-Input' description: Workspace overrides for the agent testing: $ref: '#/components/schemas/AgentTestingSettings' description: Testing configuration for the agent archived: type: boolean title: Archived description: Whether the agent is archived default: false guardrails: title: Guardrails description: Guardrails configuration for the agent discriminator: propertyName: version mapping: '1': '#/components/schemas/GuardrailsV1-Input' $ref: '#/components/schemas/GuardrailsV1-Input' summary_language: anyOf: - type: string - type: 'null' title: Summary Language description: Language for all conversation analysis outputs (summaries, titles, evaluation rationales, data collection rationales). If not set, the language will be inferred from the conversation. Must be one of the supported conversation languages. auto_translate_transcript_to_app_language: anyOf: - type: boolean - type: 'null' title: Auto Translate Transcript To App Language description: When enabled, a conversation transcript is automatically translated to the viewer's application language when they open the transcript page. If not set or false, transcripts are shown in their original language unless the viewer manually selects a translation. auth: $ref: '#/components/schemas/AuthSettings' description: Settings for authentication call_limits: $ref: '#/components/schemas/AgentCallLimits' description: Call limits for the agent queueing_config: $ref: '#/components/schemas/AgentQueueingConfig' description: Concurrency wait-queue config for the agent privacy: $ref: '#/components/schemas/PrivacyConfig-Input' description: Privacy settings for the agent trust_context: $ref: '#/components/schemas/AgentTrustContext' description: The trust context in which the agent operates. default: unknown analysis_llm: $ref: '#/components/schemas/LLM' description: Default LLM model for post-call analysis (evaluation and data collection) default: gemini-2.5-flash topic_discovery: $ref: '#/components/schemas/TopicDiscoverySettings' description: Per-agent topic discovery configuration sentiment_analysis: $ref: '#/components/schemas/SentimentAnalysisSettings' description: Per-agent post-call sentiment analysis configuration alerting: anyOf: - $ref: '#/components/schemas/AlertingSettings' - type: 'null' description: Agent-level alerting configuration overriding workspace settings. type: object title: AgentPlatformSettingsRequestModel ToolExecutionMode: type: string enum: - immediate - post_tool_speech - async title: ToolExecutionMode default: immediate LanguagePreset-Input: properties: overrides: $ref: '#/components/schemas/ConversationConfigClientOverride-Input' description: The overrides for the language preset first_message_translation: anyOf: - $ref: '#/components/schemas/LanguagePresetTranslation' - type: 'null' description: The translation of the first message soft_timeout_translation: anyOf: - $ref: '#/components/schemas/LanguagePresetTranslation' - type: 'null' description: The translation of the soft timeout message type: object required: - overrides title: LanguagePreset EndCallToolConfig: properties: system_tool_type: type: string const: end_call title: System Tool Type default: end_call type: object title: EndCallToolConfig SearchClientsParams: properties: smb_tool_type: type: string const: search_clients title: Smb Tool Type default: search_clients type: object title: SearchClientsParams description: Search for clients by name, phone number, or email. ToolType: type: string enum: - system - webhook - client - mcp - workflow - api_integration_webhook - api_integration_mcp - smb title: ToolType SpellingPatience: type: string enum: - auto - 'off' title: SpellingPatience description: Controls if the agent should be more patient when user is spelling numbers and named entities. default: auto WidgetPlacement: type: string enum: - top-left - top - top-right - bottom-left - bottom - bottom-right title: WidgetPlacement default: bottom-right PostDialDigitsStatic: properties: type: type: string const: static title: Type default: static value: type: string minLength: 1 pattern: ^[0-9*#wW]*$ title: Value description: DTMF digits to send after call connects (e.g., 'ww1234' for extension) type: object required: - value title: PostDialDigitsStatic RegexParameterEvaluationStrategy: properties: type: type: string const: regex title: Type pattern: type: string title: Pattern description: A regex pattern to match the agent's response against. type: object required: - type - pattern title: RegexParameterEvaluationStrategy AlertingPagerDutyNotifier: properties: type: type: string const: integration title: Type default: integration integration_type: type: string const: pagerduty title: Integration Type default: pagerduty connection_id: type: string minLength: 1 title: Connection Id description: ID of the workspace integration connection to deliver alert lifecycle notifications to. The connection's integration must have the monitoring capability and match ``integration_type``. additionalProperties: false type: object required: - connection_id title: AlertingPagerDutyNotifier WorkflowToolResponseModel-Output: properties: steps: items: oneOf: - $ref: '#/components/schemas/WorkflowToolEdgeStepModel' - $ref: '#/components/schemas/WorkflowToolNestedToolsStepModel-Output' - $ref: '#/components/schemas/WorkflowToolMaxIterationsExceededStepModel' discriminator: propertyName: type mapping: edge: '#/components/schemas/WorkflowToolEdgeStepModel' max_iterations_exceeded: '#/components/schemas/WorkflowToolMaxIterationsExceededStepModel' nested_tools: '#/components/schemas/WorkflowToolNestedToolsStepModel-Output' type: array title: Steps type: object title: WorkflowToolResponseModel description: A common model for workflow tool responses. WidgetConfig-Input: properties: variant: $ref: '#/components/schemas/EmbedVariant' description: The variant of the widget default: full placement: $ref: '#/components/schemas/WidgetPlacement' description: The placement of the widget on the screen default: bottom-right expandable: $ref: '#/components/schemas/WidgetExpandable' description: Whether the widget is expandable default: never avatar: anyOf: - $ref: '#/components/schemas/OrbAvatar' - $ref: '#/components/schemas/URLAvatar' - $ref: '#/components/schemas/ImageAvatar' title: Avatar description: The avatar of the widget feedback_mode: $ref: '#/components/schemas/WidgetFeedbackMode' description: The feedback mode of the widget default: none end_feedback: anyOf: - $ref: '#/components/schemas/WidgetEndFeedbackConfig' - type: 'null' description: Configuration for feedback collected at the end of the conversation bg_color: type: string title: Bg Color description: The background color of the widget default: '#ffffff' text_color: type: string title: Text Color description: The text color of the widget default: '#000000' btn_color: type: string title: Btn Color description: The button color of the widget default: '#000000' btn_text_color: type: string title: Btn Text Color description: The button text color of the widget default: '#ffffff' border_color: type: string title: Border Color description: The border color of the widget default: '#e1e1e1' focus_color: type: string title: Focus Color description: The focus color of the widget default: '#000000' border_radius: anyOf: - type: integer - type: 'null' title: Border Radius description: The border radius of the widget btn_radius: anyOf: - type: integer - type: 'null' title: Btn Radius description: The button radius of the widget action_text: anyOf: - type: string - type: 'null' title: Action Text description: The action text of the widget start_call_text: anyOf: - type: string - type: 'null' title: Start Call Text description: The start call text of the widget end_call_text: anyOf: - type: string - type: 'null' title: End Call Text description: The end call text of the widget expand_text: anyOf: - type: string - type: 'null' title: Expand Text description: The expand text of the widget listening_text: anyOf: - type: string - type: 'null' title: Listening Text description: The text to display when the agent is listening speaking_text: anyOf: - type: string - type: 'null' title: Speaking Text description: The text to display when the agent is speaking shareable_page_text: anyOf: - type: string - type: 'null' title: Shareable Page Text description: The text to display when sharing shareable_page_show_terms: type: boolean title: Shareable Page Show Terms description: Whether to show terms and conditions on the shareable page default: true terms_text: anyOf: - type: string - type: 'null' title: Terms Text description: The text to display for terms and conditions terms_html: anyOf: - type: string - type: 'null' title: Terms Html description: The HTML to display for terms and conditions terms_key: anyOf: - type: string - type: 'null' title: Terms Key description: The key to display for terms and conditions show_avatar_when_collapsed: anyOf: - type: boolean - type: 'null' title: Show Avatar When Collapsed description: Whether to show the avatar when the widget is collapsed default: false disable_banner: type: boolean title: Disable Banner description: Whether to disable the banner default: false override_link: anyOf: - type: string - type: 'null' title: Override Link description: The override link for the widget markdown_link_allowed_hosts: items: $ref: '#/components/schemas/AllowlistItem' type: array title: Markdown Link Allowed Hosts description: 'List of allowed hostnames for clickable markdown links. Use { hostname: ''*'' } to allow any domain. Empty means no links are allowed.' markdown_link_include_www: type: boolean title: Markdown Link Include Www description: Whether to automatically include www. variants of allowed hosts default: true markdown_link_allow_http: type: boolean title: Markdown Link Allow Http description: Whether to allow http:// in addition to https:// for allowed hosts default: true mic_muting_enabled: type: boolean title: Mic Muting Enabled description: Whether to enable mic muting default: true transcript_enabled: type: boolean title: Transcript Enabled description: Whether the widget should show the conversation transcript as it goes on default: true text_input_enabled: type: boolean title: Text Input Enabled description: Whether the user should be able to send text messages default: true conversation_mode_toggle_enabled: type: boolean title: Conversation Mode Toggle Enabled description: Whether to enable the conversation mode toggle in the widget default: false default_expanded: type: boolean title: Default Expanded description: Whether the widget should be expanded by default default: false always_expanded: type: boolean title: Always Expanded description: Whether the widget should always be expanded default: false dismissible: type: boolean title: Dismissible description: Whether the widget can be dismissed by the user default: false show_agent_status: type: boolean title: Show Agent Status description: Whether to show agent working/done/error status during tool use default: false show_conversation_id: type: boolean title: Show Conversation Id description: Whether to show the conversation ID after disconnection. default: true strip_audio_tags: type: boolean title: Strip Audio Tags description: Whether to strip audio markup from messages. default: true syntax_highlight_theme: anyOf: - type: string enum: - light - dark - type: 'null' title: Syntax Highlight Theme description: Theme for code block syntax highlighting. Defaults to auto-detection by the widget when not set. text_contents: $ref: '#/components/schemas/WidgetTextContents' description: Text contents of the widget styles: $ref: '#/components/schemas/WidgetStyles' description: Styles for the widget show_resize_button: type: boolean title: Show Resize Button description: Whether to show the resize button default: true language_selector: type: boolean title: Language Selector description: Whether to show the language selector default: false supports_text_only: type: boolean title: Supports Text Only description: Whether the widget can switch to text only mode default: true custom_avatar_path: anyOf: - type: string - type: 'null' title: Custom Avatar Path description: The custom avatar path language_presets: additionalProperties: $ref: '#/components/schemas/WidgetLanguagePreset' type: object title: Language Presets description: Language presets for the widget type: object title: WidgetConfig example: custom_avatar_path: https://example.com/avatar.png language_selector: false EnvironmentAuthConnectionLocator: properties: env_var_label: type: string title: Env Var Label type: object required: - env_var_label title: EnvironmentAuthConnectionLocator description: 'References an environment variable of type ''auth_connection'' by label. At runtime, resolves to the auth connection for the current environment, falling back to the default environment.' CustomLLMAPIType: type: string enum: - chat_completions - responses - websocket title: CustomLLMAPIType default: chat_completions ConversationConfigWorkflowOverride-Input: properties: text_only: anyOf: - type: boolean - type: 'null' title: Text Only description: If enabled audio will not be processed and only text will be used, use to avoid audio pricing. x-convai-client-override: true max_duration_seconds: anyOf: - type: integer - type: 'null' title: Max Duration Seconds description: The maximum duration of a conversation in seconds x-convai-client-override: true client_events: anyOf: - items: $ref: '#/components/schemas/ClientEvent' type: array - type: 'null' title: Client Events description: The events that will be sent to the client file_input: anyOf: - $ref: '#/components/schemas/FileInputConfigWorkflowOverride' - type: 'null' description: Configuration for file input (image/PDF uploads) during conversations. x-convai-client-override: true monitoring_enabled: anyOf: - type: boolean - type: 'null' title: Monitoring Enabled description: Enable real-time monitoring of conversations via WebSocket monitoring_events: anyOf: - items: $ref: '#/components/schemas/ClientEvent' type: array - type: 'null' title: Monitoring Events description: The events that will be sent to monitoring connections. dtmf_input_settings: anyOf: - $ref: '#/components/schemas/DTMFInputConfig' - type: 'null' description: Configure DTMF (keypad) input collection during phone calls background_sound: anyOf: - $ref: '#/components/schemas/BackgroundSoundConfigWorkflowOverride' - type: 'null' description: Configuration for background sound during conversations. source_attribution: anyOf: - type: boolean - type: 'null' title: Source Attribution description: When enabled and knowledge base content is present, the LLM is instructed to report which sources it used. type: object title: ConversationConfigWorkflowOverride example: client_events: - audio - interruption max_duration_seconds: 600 VADConfigWorkflowOverride: properties: background_voice_detection: anyOf: - type: boolean - type: 'null' title: Background Voice Detection description: Whether to use background voice filtering x-fern-ignore: true type: object title: VADConfigWorkflowOverride example: background_voice_detection: false CreateToolCallUnitTestRequest: properties: from_conversation_metadata: anyOf: - $ref: '#/components/schemas/TestFromConversationMetadata-Input' - type: 'null' description: Metadata of a conversation this test was created from (if applicable). dynamic_variables: additionalProperties: true type: object title: Dynamic Variables description: Dynamic variables to replace in the agent config during testing chat_history: items: $ref: '#/components/schemas/ConversationHistoryTranscriptCommonModel-Input' type: array maxItems: 200 title: Chat History conversation_initiation_source: anyOf: - $ref: '#/components/schemas/ConversationInitiationSource' - type: 'null' description: Simulate the test as if the conversation originated from this channel. environment: anyOf: - type: string - type: 'null' title: Environment description: The environment to resolve environment-specific variable values against when running this test (URL, headers, auth connections). If not provided, defaults to 'production'. For simulation tests, simulation_environment takes precedence when set. type: type: string const: tool title: Type default: tool tool_call_parameters: anyOf: - $ref: '#/components/schemas/UnitTestToolCallEvaluationModel-Input' - type: 'null' description: How to evaluate the agent's tool call (if any). If empty, the tool call is not evaluated. check_any_tool_matches: anyOf: - type: boolean - type: 'null' title: Check Any Tool Matches description: If set to True this test will pass if any tool call returned by the LLM matches the criteria. Otherwise it will fail if more than one tool is returned by the agent. name: type: string title: Name parent_folder_id: anyOf: - type: string - type: 'null' title: Parent Folder Id description: The ID of the parent folder. If not provided, the test will be created at the root level. type: object required: - name title: CreateToolCallUnitTestRequest ASRProvider: type: string enum: - elevenlabs - scribe_realtime title: ASRProvider x-fern-enum: elevenlabs: description: 'Deprecated: Use scribe_realtime instead.' deprecated: true default: scribe_realtime ResponseFilterMode: type: string enum: - all - allow - hide_all title: ResponseFilterMode description: Controls how tool responses are filtered before being visible to the agent. default: all CreateLocationParams: properties: smb_tool_type: type: string const: create_location title: Smb Tool Type default: create_location type: object title: CreateLocationParams ListClientInteractionsParams: properties: smb_tool_type: type: string const: list_client_interactions title: Smb Tool Type default: list_client_interactions type: object title: ListClientInteractionsParams LanguageDetectionToolConfig: properties: system_tool_type: type: string const: language_detection title: System Tool Type default: language_detection only_at_conversation_start: type: boolean title: Only At Conversation Start description: If no language switch happens in the first 2 user turns, later attempts fail and the conversation stays in the current language. If the language switches during those turns, later switching stays available. Enable to reduce the possibility of false switching. default: false type: object title: LanguageDetectionToolConfig ChatSourceMedium: type: string enum: - audio - dtmf - text - image - file title: ChatSourceMedium OptInSmsReminderParams: properties: smb_tool_type: type: string const: opt_in_sms_reminder title: Smb Tool Type default: opt_in_sms_reminder type: object title: OptInSmsReminderParams RunAgentTestsRequestModel: properties: tests: items: $ref: '#/components/schemas/SingleTestRunRequestModel' type: array maxItems: 5000 minItems: 1 title: Tests description: List of tests to run on the agent agent_config_override: anyOf: - $ref: '#/components/schemas/AdhocAgentConfigOverrideForTestRequestModel' - type: 'null' description: Configuration overrides to use for testing. If not provided, the agent's default configuration will be used. branch_id: anyOf: - type: string - type: 'null' title: Branch Id description: ID of the branch to run the tests on. If not provided, the tests will be run on the agent's main branch. repeat_count: type: integer maximum: 50.0 minimum: 1.0 title: Repeat Count description: Number of times to run each test. When greater than 1, results are grouped and summarized. default: 1 type: object required: - tests title: RunAgentTestsRequestModel LLMUsage-Output: properties: model_usage: additionalProperties: $ref: '#/components/schemas/LLMInputOutputTokensUsage' propertyNames: $ref: '#/components/schemas/LLM' type: object title: Model Usage type: object title: LLMUsage RequiredConstraint: properties: required: items: type: string type: array title: Required type: object required: - required title: RequiredConstraint description: A set of fields that must all be present to satisfy this constraint. WebhookTranscriptFormat: type: string enum: - json - opentelemetry title: WebhookTranscriptFormat default: json TransferBranchInfoDefaultingToMain: properties: branch_reason: type: string const: defaulting_to_main title: Branch Reason branch_id: type: string title: Branch Id type: object required: - branch_reason - branch_id title: TransferBranchInfoDefaultingToMain CreateOrderParams: properties: smb_tool_type: type: string const: create_order title: Smb Tool Type default: create_order type: object title: CreateOrderParams SimulationToolMockBehaviorConfig: properties: mocking_strategy: $ref: '#/components/schemas/MockingStrategy' description: 'Which tools to mock: ''all'' mocks every mockable tool, ''selected'' mocks only those in mocked_tool_names/mocked_tool_ids, ''none'' disables mocking.' default: none fallback_strategy: $ref: '#/components/schemas/MockNoMatchBehavior' description: Behavior when no mock matches a tool call. default: raise_error mocked_tool_ids: items: type: string type: array title: Mocked Tool Ids description: Tool IDs to mock. Resolved to tool names before being passed to the orchestrator. type: object title: SimulationToolMockBehaviorConfig description: 'Simulation/preview-side config: tools are identified by IDs, resolved to names at runtime.' PostDialDigitsDynamicVariable: properties: type: type: string const: dynamic title: Type default: dynamic value: type: string minLength: 1 title: Value description: The dynamic variable name to resolve type: object required: - value title: PostDialDigitsDynamicVariable TTSConversationalConfigOverride: properties: model_id: anyOf: - $ref: '#/components/schemas/TTSConversationalModel' - type: 'null' description: The model to use for TTS x-convai-client-override: true voice_id: anyOf: - type: string - type: 'null' title: Voice Id description: The voice ID to use for TTS x-convai-client-override: true x-convai-language-override: true supported_voices: anyOf: - items: $ref: '#/components/schemas/SupportedVoice' type: array - type: 'null' title: Supported Voices description: Additional supported voices for the agent x-convai-client-override: true x-convai-soft-override-disallowed: true stability: anyOf: - type: number - type: 'null' title: Stability description: The stability of generated speech x-convai-client-override: true speed: anyOf: - type: number - type: 'null' title: Speed description: The speed of generated speech x-convai-client-override: true similarity_boost: anyOf: - type: number - type: 'null' title: Similarity Boost description: The similarity boost for generated speech x-convai-client-override: true pronunciation_dictionary_locators: anyOf: - items: $ref: '#/components/schemas/PydanticPronunciationDictionaryVersionLocator' type: array - type: 'null' title: Pronunciation Dictionary Locators description: The pronunciation dictionary locators x-convai-client-override: true type: object title: TTSConversationalConfigOverride example: model_id: eleven_turbo_v2 pronunciation_dictionary_locators: [] similarity_boost: 0.8 speed: 1.0 stability: 0.5 voice_id: cjVigY5qzO86Huf0OWal AgentConfigOverride-Input: properties: first_message: anyOf: - type: string - type: 'null' title: First Message description: If non-empty, the first message the agent will say. If empty, the agent waits for the user to start the discussion. x-convai-client-override: true x-convai-language-override: true language: anyOf: - type: string - type: 'null' title: Language description: Language of the agent - used for ASR and TTS x-convai-client-override: true max_conversation_duration_message: anyOf: - type: string - type: 'null' title: Max Conversation Duration Message description: If non-empty, the message the agent will send when max conversation duration is reached. x-convai-client-override: true x-convai-language-override: true prompt: anyOf: - $ref: '#/components/schemas/PromptAgentAPIModelOverride-Input' - type: 'null' description: The prompt for the agent type: object title: AgentConfigOverride example: first_message: Hello, how can I help you today? language: en prompt: knowledge_base: [] llm: gemini-2.0-flash-001 prompt: You are a helpful assistant that can answer questions about the topic of the conversation. tool_ids: [] ASRConversationalConfigWorkflowOverride: properties: quality: anyOf: - $ref: '#/components/schemas/ASRQuality' - type: 'null' description: The quality of the transcription provider: anyOf: - $ref: '#/components/schemas/ASRProvider' - type: 'null' description: The provider of the transcription service user_input_audio_format: anyOf: - $ref: '#/components/schemas/ASRInputFormat' - type: 'null' description: The format of the audio to be transcribed keywords: anyOf: - items: type: string type: array - type: 'null' title: Keywords description: Keywords to boost prediction probability for x-convai-client-override: true x-convai-soft-override-disallowed: true type: object title: ASRConversationalConfigWorkflowOverride example: keywords: - hello - world provider: scribe_realtime quality: high user_input_audio_format: pcm_16000 CustomSIPHeaderWithDynamicVariable: properties: type: type: string const: dynamic title: Type key: type: string maxLength: 64 minLength: 1 pattern: ^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$ title: Key description: The SIP header name (e.g., 'X-Customer-ID') value: type: string minLength: 1 title: Value description: The dynamic variable name to resolve type: object required: - type - key - value title: CustomSIPHeaderWithDynamicVariable description: 'Custom SIP header for phone transfers with a dynamic variable reference. The value is a variable name that will be resolved at runtime. Value is not validated here since it will be substituted with actual value later.' DynamicVariableAssignment: properties: source: type: string const: response title: Source description: The source to extract the value from. Currently only 'response' is supported. default: response dynamic_variable: type: string title: Dynamic Variable description: The name of the dynamic variable to assign the extracted value to value_path: type: string title: Value Path description: Dot notation path to extract the value from the source (e.g., 'user.name' or 'data.0.id') sanitize: type: boolean title: Sanitize description: If true, this assignment's value will be removed from the tool response before sending to the LLM and transcript, but still processed for variable assignment. default: false preserve_native_type: type: boolean title: Preserve Native Type description: If true, non-scalar values (lists, objects) extracted from the tool response are stored as their native type instead of being stringified to JSON. Enable this to use extracted arrays directly as list dynamic variables. default: false type: object required: - dynamic_variable - value_path title: DynamicVariableAssignment description: Configuration for extracting values from tool responses and assigning them to dynamic variables. example: dynamic_variable: user_name preserve_native_type: false sanitize: false source: response value_path: user.name TransferToNumberResultSipSuccessModel: properties: result_type: type: string const: transfer_to_number_sip_success title: Result Type default: transfer_to_number_sip_success status: type: string const: success title: Status default: success transfer_number: type: string title: Transfer Number reason: anyOf: - type: string - type: 'null' title: Reason note: anyOf: - type: string - type: 'null' title: Note type: object required: - transfer_number title: TransferToNumberResultSipSuccessModel UpdateCalendarEventParams: properties: smb_tool_type: type: string const: update_calendar_event title: Smb Tool Type default: update_calendar_event type: object title: UpdateCalendarEventParams UpdateGroupSessionSeatsParams: properties: smb_tool_type: type: string const: update_group_session_seats title: Smb Tool Type default: update_group_session_seats type: object title: UpdateGroupSessionSeatsParams description: Change the seat count of an existing group session registration. DeleteAssetParams: properties: smb_tool_type: type: string const: delete_asset title: Smb Tool Type default: delete_asset type: object title: DeleteAssetParams TestSharingMode: type: string enum: - all - shared_with_me title: TestSharingMode UpdateProductParams: properties: smb_tool_type: type: string const: update_product title: Smb Tool Type default: update_product type: object title: UpdateProductParams UpdateTransferRuleParams: properties: smb_tool_type: type: string const: update_transfer_rule title: Smb Tool Type default: update_transfer_rule post_dial_digits_enabled: type: boolean title: Post Dial Digits Enabled description: Whether to offer the post_dial_digits parameter, set from the receptionists' enable_play_keypad_touch_tone_tool config. Digits saved while that is off are dropped when the receptionist is built, so the parameter is hidden rather than accepted and ignored. default: false type: object title: UpdateTransferRuleParams ConversationHistoryRedactionConfig: properties: enabled: type: boolean title: Enabled description: Whether conversation history redaction is enabled default: false entities: items: $ref: '#/components/schemas/ConfigEntityType' type: array title: Entities description: The entities to redact from the conversation transcript, audio and analysis. Use top-level types like 'name', 'email_address', or dot notation for specific subtypes like 'name.full_name'. type: object title: ConversationHistoryRedactionConfig PhoneNumberTransfer: properties: custom_sip_headers: items: oneOf: - $ref: '#/components/schemas/CustomSIPHeader' - $ref: '#/components/schemas/CustomSIPHeaderWithDynamicVariable' discriminator: propertyName: type mapping: dynamic: '#/components/schemas/CustomSIPHeaderWithDynamicVariable' static: '#/components/schemas/CustomSIPHeader' type: array maxItems: 20 title: Custom Sip Headers description: Custom SIP headers to include when transferring the call. Each header can be either a static value or a dynamic variable reference. transfer_destination: oneOf: - $ref: '#/components/schemas/PhoneNumberTransferDestination' - $ref: '#/components/schemas/SIPUriTransferDestination' - $ref: '#/components/schemas/PhoneNumberDynamicVariableTransferDestination' - $ref: '#/components/schemas/SIPUriDynamicVariableTransferDestination' title: Transfer Destination discriminator: propertyName: type mapping: phone: '#/components/schemas/PhoneNumberTransferDestination' phone_dynamic_variable: '#/components/schemas/PhoneNumberDynamicVariableTransferDestination' sip_uri: '#/components/schemas/SIPUriTransferDestination' sip_uri_dynamic_variable: '#/components/schemas/SIPUriDynamicVariableTransferDestination' transfer_type: $ref: '#/components/schemas/TransferTypeEnum' default: conference sip_refer_play_dialtone: type: boolean title: Sip Refer Play Dialtone description: When True, a ringing tone is played on the original call leg while a SIP REFER transfer completes. The tone is carried over RTP to the SIP peer executing the REFER, so disable this if the receiving system (e.g. an SBC or contact center) should not hear it. When disabled the caller hears silence until the transfer completes. SIP REFER transfers only. default: true uui: anyOf: - $ref: '#/components/schemas/UUITransferConfig' - type: 'null' description: User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary. post_dial_digits: anyOf: - oneOf: - $ref: '#/components/schemas/PostDialDigitsStatic' - $ref: '#/components/schemas/PostDialDigitsDynamicVariable' discriminator: propertyName: type mapping: dynamic: '#/components/schemas/PostDialDigitsDynamicVariable' static: '#/components/schemas/PostDialDigitsStatic' - type: 'null' title: Post Dial Digits description: DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers. phone_number: anyOf: - type: string - type: 'null' title: Phone Number deprecated: true condition: type: string title: Condition type: object required: - transfer_destination - condition title: PhoneNumberTransfer CancelOrderParams: properties: smb_tool_type: type: string const: cancel_order title: Smb Tool Type default: cancel_order type: object title: CancelOrderParams KnowledgeBaseRagToolResultModel: properties: result_type: type: string const: knowledge_base_rag_success title: Result Type default: knowledge_base_rag_success status: $ref: '#/components/schemas/KnowledgeBaseRagToolStatus' default: success chunk_count: type: integer title: Chunk Count description: Number of relevant chunks retrieved default: 0 message: type: string title: Message description: Human-readable status for the LLM about the search results default: Referenced knowledge base. chunks: items: $ref: '#/components/schemas/KnowledgeBaseRagChunkModel' type: array title: Chunks description: Retrieved chunks; populated only in the rag-result-in-tool-result mode type: object title: KnowledgeBaseRagToolResultModel SuggestedAudioTag: properties: tag: type: string maxLength: 30 minLength: 1 title: Tag description: Audio tag to use (for best performance, 1-2 words, e.g., 'happy', 'excited') description: anyOf: - type: string maxLength: 200 - type: 'null' title: Description description: Optional description of when to use this tag type: object required: - tag title: SuggestedAudioTag ASTAdditionOperatorNode-Input: properties: type: type: string const: add_operator title: Type default: add_operator left: $ref: '#/components/schemas/ASTNode-Input' description: Left operand of the binary operator. right: $ref: '#/components/schemas/ASTNode-Input' description: Right operand of the binary operator. type: object required: - left - right title: ASTAdditionOperatorNode ASTOrOperatorNode-Input: properties: type: type: string const: or_operator title: Type default: or_operator children: items: $ref: '#/components/schemas/ASTNode-Input' type: array minItems: 2 title: Children description: Child nodes of the logical operator. type: object required: - children title: ASTOrOperatorNode PatchAgentConversationTicketRequestModel: properties: status: anyOf: - $ref: '#/components/schemas/AgentConversationTicketStatus' - type: 'null' description: If provided, updates the ticket status. Omit to leave unchanged. assignee_user_id: anyOf: - type: string - type: 'null' title: Assignee User Id description: If provided, updates who is responsible for resolving this ticket. Must be a workspace member with at least viewer access to the agent. Pass null to unassign. Omit to leave unchanged. type: object title: PatchAgentConversationTicketRequestModel UpdateAssetParams: properties: smb_tool_type: type: string const: update_asset title: Smb Tool Type default: update_asset type: object title: UpdateAssetParams AgentConfigAPIModelWorkflowOverride-Input: properties: first_message: anyOf: - type: string - type: 'null' title: First Message description: If non-empty, the first message the agent will say. If empty, the agent waits for the user to start the discussion. x-convai-client-override: true x-convai-language-override: true language: anyOf: - type: string - type: 'null' title: Language description: Language of the agent - used for ASR and TTS x-convai-client-override: true hinglish_mode: anyOf: - type: boolean - type: 'null' title: Hinglish Mode description: When enabled and language is Hindi, the agent will respond in Hinglish dynamic_variables: anyOf: - $ref: '#/components/schemas/DynamicVariablesConfigWorkflowOverride' - type: 'null' description: Configuration for dynamic variables disable_first_message_interruptions: anyOf: - type: boolean - type: 'null' title: Disable First Message Interruptions description: If true, the user will not be able to interrupt the agent while the first message is being delivered. max_conversation_duration_message: anyOf: - type: string - type: 'null' title: Max Conversation Duration Message description: If non-empty, the message the agent will send when max conversation duration is reached. x-convai-client-override: true x-convai-language-override: true text_behavior_overrides: anyOf: - additionalProperties: $ref: '#/components/schemas/BehaviorOverride' propertyNames: $ref: '#/components/schemas/ConversationInitiationSource' type: object - type: 'null' title: Text Behavior Overrides description: Per-channel response behavior overrides for text conversations. Built-in channel defaults apply when unset. prompt: anyOf: - $ref: '#/components/schemas/PromptAgentAPIModelWorkflowOverride-Input' - type: 'null' description: The prompt for the agent type: object title: AgentConfigAPIModelWorkflowOverride example: disable_first_message_interruptions: false dynamic_variables: dynamic_variable_placeholders: user_name: John Doe first_message: Hello, how can I help you today? language: en prompt: knowledge_base: [] llm: gemini-2.0-flash-001 max_tokens: -1 prompt: You are a helpful assistant that can answer questions about the topic of the conversation. temperature: 0.0 tool_ids: [] tools: [] LanguageDetectionToolResultModel: properties: result_type: type: string const: language_detection_success title: Result Type default: language_detection_success status: type: string const: success title: Status default: success reason: anyOf: - type: string - type: 'null' title: Reason language: anyOf: - type: string - type: 'null' title: Language type: object title: LanguageDetectionToolResultModel EffectsSpec-Input: properties: filter_preset_id: anyOf: - type: string - type: 'null' title: Filter Preset Id distance: type: number maximum: 1.0 minimum: 0.0 title: Distance default: 0.0 environment_id: anyOf: - type: string - type: 'null' title: Environment Id background_noise_id: anyOf: - type: string - type: 'null' title: Background Noise Id send_level: type: number maximum: 1.0 minimum: 0.0 title: Send Level default: 1.0 seed: anyOf: - type: integer - type: 'null' title: Seed type: object title: EffectsSpec description: Filter preset, distance (proximity EQ), and environment (convolution reverb). MCPToolConfig-Input: properties: type: type: string const: mcp title: Type default: mcp name: type: string minLength: 0 pattern: ^[a-zA-Z0-9_-]{1,64}$ title: Name description: type: string minLength: 0 title: Description description: Description of when the tool should be used and what it does. response_timeout_secs: type: integer maximum: 300.0 minimum: 5.0 title: Response Timeout Secs description: The maximum time in seconds to wait for the MCP tool call to complete. Must be between 5 and 300 seconds (inclusive). default: 30 disable_interruptions: type: boolean title: Disable Interruptions description: 'DEPRECATED: use `interruption_mode` instead. If true, the user will not be able to interrupt the agent while this tool is running.' default: false deprecated: true interruption_mode: $ref: '#/components/schemas/ToolInterruptionMode' description: Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it. default: allow force_pre_tool_speech: type: boolean title: Force Pre Tool Speech description: 'DEPRECATED: use `pre_tool_speech` instead. If true, the agent will speak before the tool call.' default: false deprecated: true pre_tool_speech: $ref: '#/components/schemas/PreToolSpeechMode' description: Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency. default: auto assignments: items: $ref: '#/components/schemas/DynamicVariableAssignment' type: array title: Assignments description: Configuration for extracting values from tool responses and assigning them to dynamic variables tool_call_sound: anyOf: - $ref: '#/components/schemas/ToolCallSoundType' - type: 'null' description: Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played. x-convai-client-override: true tool_call_sound_behavior: $ref: '#/components/schemas/ToolCallSoundBehavior' description: Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call. default: auto tool_error_handling_mode: $ref: '#/components/schemas/ToolErrorHandlingMode' description: Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent. default: auto integration_type: $ref: '#/components/schemas/IntegrationType' description: The type of MCP tool parameters: anyOf: - $ref: '#/components/schemas/ObjectJsonSchemaProperty-Input' description: JSON schema for the parameters the LLM provides. - type: 'null' description: Schema for any parameters the LLM needs to provide to the MCP tool. approval_policy: $ref: '#/components/schemas/MCPApprovalPolicy' description: The approval policy for the MCP tool default: require_approval_all mcp_tool_name: type: string title: Mcp Tool Name description: The name of the MCP tool to call mcp_tool_description: type: string title: Mcp Tool Description description: The description of the MCP tool to call mcp_server_id: type: string title: Mcp Server Id description: The id of the MCP server to call mcp_server_name: type: string title: Mcp Server Name description: The name of the MCP server to call mcp_input_schema: anyOf: - additionalProperties: true type: object - type: 'null' title: Mcp Input Schema description: Original inputSchema dict for consistent hashing execution_mode: $ref: '#/components/schemas/ToolExecutionMode' description: 'Determines when and how the tool executes: ''immediate'' executes the tool right away when requested by the LLM, ''post_tool_speech'' waits for the agent to finish speaking before executing, ''async'' runs the tool in the background without blocking - best for long-running operations.' default: immediate input_overrides: anyOf: - additionalProperties: oneOf: - $ref: '#/components/schemas/ConstantSchemaOverride' - $ref: '#/components/schemas/DynamicVariableSchemaOverride' - $ref: '#/components/schemas/LLMSchemaOverride' - $ref: '#/components/schemas/OmitSchemaOverride' discriminator: propertyName: source mapping: constant: '#/components/schemas/ConstantSchemaOverride' dynamic_variable: '#/components/schemas/DynamicVariableSchemaOverride' llm: '#/components/schemas/LLMSchemaOverride' omit: '#/components/schemas/OmitSchemaOverride' type: object - type: 'null' title: Input Overrides description: Input parameter overrides for this tool type: object required: - name - description - integration_type - mcp_tool_name - mcp_tool_description - mcp_server_id - mcp_server_name title: MCPToolConfig description: An MCP tool configuration that can be used to call MCP servers x-fern-ignore: true LiteralJsonSchemaProperty: properties: type: anyOf: - type: string enum: - boolean - string - integer - number - items: type: string type: array maxItems: 2 minItems: 2 title: Type description: type: string title: Description description: The description of the property. When set, the LLM will provide the value based on this description. Mutually exclusive with dynamic_variable, is_system_provided, constant_value, and is_omitted. default: '' enum: anyOf: - items: type: string type: array - type: 'null' title: Enum description: List of allowed string values for string type parameters is_system_provided: type: boolean title: Is System Provided description: If true, the value will be populated by the system at runtime. Used by API Integration Webhook tools for templating. Mutually exclusive with description, dynamic_variable, constant_value, and is_omitted. default: false dynamic_variable: type: string title: Dynamic Variable description: The name of the dynamic variable to use for this property's value. Mutually exclusive with description, is_system_provided, constant_value, and is_omitted. default: '' allowed_values: anyOf: - $ref: '#/components/schemas/AllowedValues' - type: 'null' description: 'Server-side rejection guard for an LLM-provided value: the runtime rejects any value outside the permitted set this object names, and the set is not advertised to the LLM as an enum. Only supported when the value source is `description`; combining it with dynamic_variable, is_system_provided, constant_value, or is_omitted is rejected.' allowed_values_dynamic_variable: type: string title: Allowed Values Dynamic Variable description: 'DEPRECATED: use `allowed_values` instead. When set, the LLM provides the value but the runtime rejects any value not present in the list held by this dynamic variable (must be a JSON array such as ["ws_alpha", "ws_beta"]). Use to let the LLM pick from a server-verified set (e.g. the IDs the current user is allowed to access). Requires description; mutually exclusive with dynamic_variable, is_system_provided, constant_value, and is_omitted.' default: '' deprecated: true constant_value: anyOf: - type: string - type: integer - type: number - type: boolean - type: 'null' title: Constant Value description: A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted. default: '' is_omitted: type: boolean title: Is Omitted description: If true, this parameter will be completely omitted from the request. Only valid for optional parameters. Mutually exclusive with description, dynamic_variable, is_system_provided, and constant_value. default: false type: object required: - type title: LiteralJsonSchemaProperty description: 'Schema property for literal JSON types. IMPORTANT: Only ONE of the following fields can be set: description (LLM provides value), dynamic_variable (value from variable), is_system_provided (system provides value), constant_value (fixed value), or is_omitted (parameter is omitted). These are mutually exclusive.' example: description: A user-provided message type: string GetBookingPageSettingsParams: properties: smb_tool_type: type: string const: get_booking_page_settings title: Smb Tool Type default: get_booking_page_settings type: object title: GetBookingPageSettingsParams TransferToAgentToolConfig-Input: properties: system_tool_type: type: string const: transfer_to_agent title: System Tool Type default: transfer_to_agent transfers: items: $ref: '#/components/schemas/AgentTransfer-Input' type: array title: Transfers type: object required: - transfers title: TransferToAgentToolConfig WidgetEndFeedbackType: type: string enum: - rating title: WidgetEndFeedbackType default: rating UpdateLocationParams: properties: smb_tool_type: type: string const: update_location title: Smb Tool Type default: update_location type: object title: UpdateLocationParams ConversationHistoryTranscriptSystemToolResultCommonModel-Output: properties: request_id: type: string title: Request Id tool_name: type: string title: Tool Name result_value: type: string title: Result Value is_error: type: boolean title: Is Error is_blocked: type: boolean title: Is Blocked default: false tool_has_been_called: type: boolean title: Tool Has Been Called tool_latency_secs: type: number title: Tool Latency Secs default: 0 error_type: type: string title: Error Type default: '' raw_error_message: type: string title: Raw Error Message default: '' dynamic_variable_updates: items: $ref: '#/components/schemas/DynamicVariableUpdateCommonModel' type: array title: Dynamic Variable Updates type: type: string const: system title: Type result: anyOf: - oneOf: - $ref: '#/components/schemas/EndCallToolResultModel' - $ref: '#/components/schemas/LanguageDetectionToolResultModel' - $ref: '#/components/schemas/TransferToAgentToolResultSuccessModel-Output' - $ref: '#/components/schemas/TransferToAgentToolResultErrorModel' - $ref: '#/components/schemas/TransferToNumberResultTwilioSuccessModel' - $ref: '#/components/schemas/TransferToNumberResultSipSuccessModel' - $ref: '#/components/schemas/TransferToNumberResultExotelSuccessModel' - $ref: '#/components/schemas/TransferToNumberResultErrorModel' - $ref: '#/components/schemas/SkipTurnToolResponseModel' - $ref: '#/components/schemas/PlayDTMFResultSuccessModel' - $ref: '#/components/schemas/PlayDTMFResultErrorModel' - $ref: '#/components/schemas/VoiceMailDetectionResultSuccessModel' - $ref: '#/components/schemas/TestToolResultModel' - $ref: '#/components/schemas/KnowledgeBaseRagToolResultModel' - $ref: '#/components/schemas/KnowledgeBaseToolResultModel' - $ref: '#/components/schemas/StartProcedureToolResultSuccessModel' - $ref: '#/components/schemas/StartProcedureToolResultErrorModel' - $ref: '#/components/schemas/EndProcedureToolResultSuccessModel' - $ref: '#/components/schemas/EndProcedureToolResultErrorModel' - $ref: '#/components/schemas/DummyToolResultModel' discriminator: propertyName: result_type mapping: dummy: '#/components/schemas/DummyToolResultModel' end_call_success: '#/components/schemas/EndCallToolResultModel' end_procedure_error: '#/components/schemas/EndProcedureToolResultErrorModel' end_procedure_success: '#/components/schemas/EndProcedureToolResultSuccessModel' knowledge_base_rag_success: '#/components/schemas/KnowledgeBaseRagToolResultModel' knowledge_base_success: '#/components/schemas/KnowledgeBaseToolResultModel' language_detection_success: '#/components/schemas/LanguageDetectionToolResultModel' play_dtmf_error: '#/components/schemas/PlayDTMFResultErrorModel' play_dtmf_success: '#/components/schemas/PlayDTMFResultSuccessModel' skip_turn_success: '#/components/schemas/SkipTurnToolResponseModel' start_procedure_error: '#/components/schemas/StartProcedureToolResultErrorModel' start_procedure_success: '#/components/schemas/StartProcedureToolResultSuccessModel' testing_tool_result: '#/components/schemas/TestToolResultModel' transfer_to_agent_error: '#/components/schemas/TransferToAgentToolResultErrorModel' transfer_to_agent_success: '#/components/schemas/TransferToAgentToolResultSuccessModel-Output' transfer_to_number_error: '#/components/schemas/TransferToNumberResultErrorModel' transfer_to_number_exotel_success: '#/components/schemas/TransferToNumberResultExotelSuccessModel' transfer_to_number_sip_success: '#/components/schemas/TransferToNumberResultSipSuccessModel' transfer_to_number_twilio_success: '#/components/schemas/TransferToNumberResultTwilioSuccessModel' voicemail_detection_success: '#/components/schemas/VoiceMailDetectionResultSuccessModel' - type: 'null' title: Result type: object required: - request_id - tool_name - result_value - is_error - tool_has_been_called - type title: ConversationHistoryTranscriptSystemToolResultCommonModel EvaluationSuccessResult: type: string enum: - success - failure - unknown title: EvaluationSuccessResult ConversationHistoryMultivoiceMessageModel: properties: parts: items: $ref: '#/components/schemas/ConversationHistoryMultivoiceMessagePartModel' type: array title: Parts type: object required: - parts title: ConversationHistoryMultivoiceMessageModel description: Represents a message from a multi-voice agent. LLMSchemaOverride: properties: source: type: string const: llm title: Source default: llm prompt: anyOf: - type: string - type: 'null' title: Prompt description: Prompt override for the LLM. If not provided, the original schema description is used. type: object title: LLMSchemaOverride TestRunResultBucket: properties: test_run_ids: items: type: string type: array title: Test Run Ids title: type: string title: Title description: Short one-line title for this bucket reason: type: string title: Reason description: Short summary of why the test runs in this bucket passed or failed status: $ref: '#/components/schemas/TestRunStatus' type: object required: - test_run_ids - title - reason - status title: TestRunResultBucket RetryTriggerAction: properties: type: type: string const: retry title: Type default: retry feedback: type: string title: Feedback description: Custom feedback to inject into the agent when retrying after guardrail trigger. default: 'Your response was blocked by a guardrail that blocks content that matches this condition/category: ''{{trigger_reason}}'' During your next turn you must tell the user "I''m sorry but I can''t answer that question, would you like to know something else?".' type: object title: RetryTriggerAction AlertingSlackNotifier: properties: type: type: string const: integration title: Type default: integration integration_type: type: string const: slack title: Integration Type default: slack connection_id: type: string minLength: 1 title: Connection Id description: ID of the workspace integration connection to deliver alert lifecycle notifications to. The connection's integration must have the monitoring capability and match ``integration_type``. channel_id: type: string maxLength: 64 minLength: 1 title: Channel Id description: ID of the Slack channel to post alert notifications to, e.g. ``C0123456789``. The Slack app must be a member of the channel and have the ``chat:write`` scope, or ``chat:write.public`` for public channels it has not joined. additionalProperties: false type: object required: - connection_id - channel_id title: AlertingSlackNotifier ContentGuardrail-Input: properties: execution_mode: $ref: '#/components/schemas/GuardrailExecutionMode' default: streaming config: $ref: '#/components/schemas/ContentConfig' trigger_action: oneOf: - $ref: '#/components/schemas/EndCallTriggerAction' - $ref: '#/components/schemas/RetryTriggerAction' title: Trigger Action discriminator: propertyName: type mapping: end_call: '#/components/schemas/EndCallTriggerAction' retry: '#/components/schemas/RetryTriggerAction' type: object title: ContentGuardrail ListCustomerFacingAgentsParams: properties: smb_tool_type: type: string const: list_customer_facing_agents title: Smb Tool Type default: list_customer_facing_agents type: object title: ListCustomerFacingAgentsParams description: 'List every customer-facing agent on the workspace. The assistant uses this whenever it needs to act on a specific customer-facing agent (rules, config edits, etc.) so it can pick the right ``agent_id`` to pass to mutating tools. Mirrors the ``list_services`` / ``list_clients`` pattern: read once, then mutate by id.' DeleteServiceParams: properties: smb_tool_type: type: string const: delete_service title: Smb Tool Type default: delete_service type: object title: DeleteServiceParams description: Delete an existing service from the system. URLAvatar: properties: type: type: string const: url title: Type description: The type of the avatar default: url custom_url: type: string title: Custom Url description: The custom URL of the avatar default: '' type: object title: URLAvatar ExactParameterEvaluationStrategy: properties: type: type: string const: exact title: Type expected_value: type: string title: Expected Value description: The exact string value that the parameter must match. type: object required: - type - expected_value title: ExactParameterEvaluationStrategy ResponseFilter: properties: mode: $ref: '#/components/schemas/ResponseFilterMode' description: Controls how tool responses are filtered. 'all' returns entire response, 'allow' returns only specified paths, 'hide_all' hides the entire response. default: all filters: items: type: string type: array title: Filters description: Dot notation paths to include when mode is 'allow' (e.g., ['ticket.id', 'ticket.status']). content_type: type: string const: application/json title: Content Type description: Content type for response filtering. Only 'application/json' responses are filtered. default: application/json type: object title: ResponseFilter description: Configuration for filtering tool responses before they are visible to the agent. AnalysisScope: type: string enum: - conversation - agent title: AnalysisScope default: conversation TestType: type: string enum: - llm - tool - simulation - folder title: TestType PlayDTMFResultErrorModel: properties: result_type: type: string const: play_dtmf_error title: Result Type default: play_dtmf_error status: type: string const: error title: Status default: error error: type: string title: Error details: anyOf: - type: string - type: 'null' title: Details type: object required: - error title: PlayDTMFResultErrorModel WorkflowToolEdgeStepModel: properties: step_latency_secs: type: number title: Step Latency Secs type: type: string const: edge title: Type default: edge edge_id: type: string title: Edge Id target_node_id: type: string title: Target Node Id type: object required: - step_latency_secs - edge_id - target_node_id title: WorkflowToolEdgeStepModel UpdateCustomerFacingConfigParams: properties: smb_tool_type: type: string const: update_customer_facing_config title: Smb Tool Type default: update_customer_facing_config type: object title: UpdateCustomerFacingConfigParams AgentSuccessfulResponseExample: properties: response: type: string title: Response type: type: string const: success title: Type type: object required: - response - type title: AgentSuccessfulResponseExample ASTEqualsOperatorNode-Input: properties: type: type: string const: eq_operator title: Type default: eq_operator left: $ref: '#/components/schemas/ASTNode-Input' description: Left operand of the binary operator. right: $ref: '#/components/schemas/ASTNode-Input' description: Right operand of the binary operator. type: object required: - left - right title: ASTEqualsOperatorNode AgentTrustContext: type: string enum: - unknown - low - high title: AgentTrustContext description: "The trust context in which the agent operates.\n\nUNKNOWN: not yet classified (existing agents created before this feature).\nLOW: serves untrusted external participants (e.g. customer support, sales) —\n outputs should be vetted and tool access scoped.\nHIGH: serves the owner (e.g. personal assistant) — full tool access is appropriate." default: unknown ModerationConfig: properties: sexual: $ref: '#/components/schemas/ThresholdGuardrail' violence: $ref: '#/components/schemas/ThresholdGuardrail' violence_graphic: $ref: '#/components/schemas/ThresholdGuardrail' harassment: $ref: '#/components/schemas/ThresholdGuardrail' harassment_threatening: $ref: '#/components/schemas/ThresholdGuardrail' hate: $ref: '#/components/schemas/ThresholdGuardrail' hate_threatening: $ref: '#/components/schemas/ThresholdGuardrail' self_harm_instructions: $ref: '#/components/schemas/ThresholdGuardrail' self_harm: $ref: '#/components/schemas/ThresholdGuardrail' self_harm_intent: $ref: '#/components/schemas/ThresholdGuardrail' sexual_minors: $ref: '#/components/schemas/ThresholdGuardrail' type: object title: ModerationConfig UnitTestSummaryResponseModel: properties: id: type: string title: Id description: The ID of the test name: type: string title: Name description: Name of the test access_info: anyOf: - $ref: '#/components/schemas/ResourceAccessInfo' - type: 'null' description: The access information of the test created_at_unix_secs: type: integer title: Created At Unix Secs description: Creation time of the test in unix seconds last_updated_at_unix_secs: type: integer title: Last Updated At Unix Secs description: Last update time of the test in unix seconds type: $ref: '#/components/schemas/TestType' description: Type of the test or entity entity_type: $ref: '#/components/schemas/AgentTestEntityType' description: The type of entity (test or folder) default: test folder_parent_id: anyOf: - type: string - type: 'null' title: Folder Parent Id description: The ID of the parent folder folder_path: items: $ref: '#/components/schemas/AgentTestFolderPathSegmentResponseModel' type: array title: Folder Path description: The folder path segments from root to this entity children_count: anyOf: - type: integer - type: 'null' title: Children Count description: Number of direct children (tests and subfolders) for folders only conversation_initiation_source: anyOf: - $ref: '#/components/schemas/ConversationInitiationSource' - type: 'null' description: Channel the test simulates the conversation as. Null for folders or default behavior. type: object required: - id - name - created_at_unix_secs - last_updated_at_unix_secs - type title: UnitTestSummaryResponseModel LLMParameterEvaluationStrategy: properties: type: type: string const: llm title: Type description: type: string title: Description description: A description of the evaluation strategy to use for the test. type: object required: - type - description title: LLMParameterEvaluationStrategy MatchAnythingParameterEvaluationStrategy: properties: type: type: string const: anything title: Type type: object required: - type title: MatchAnythingParameterEvaluationStrategy CriteriaScoringMode: type: string enum: - binary - numeric_uniform title: CriteriaScoringMode default: binary ArrayJsonSchemaProperty-Input: properties: property_kind: type: string enum: - array - object title: Property Kind default: array description: type: string title: Description default: '' dynamic_variable: type: string title: Dynamic Variable description: When set, the entire parameter is populated from this dynamic variable at runtime. Mutually exclusive with description (LLM-provided value), constant_value, and is_omitted. default: '' constant_value: anyOf: - items: {} type: array - type: 'null' title: Constant Value description: When set, the entire array uses this constant value at runtime. Mutually exclusive with description (LLM-provided array), dynamic_variable, and is_omitted. is_omitted: type: boolean title: Is Omitted description: If true, this parameter will be completely omitted from the request. Only valid for optional parameters. Mutually exclusive with description, dynamic_variable, and constant_value. default: false type: type: string const: array title: Type default: array items: oneOf: - $ref: '#/components/schemas/LiteralJsonSchemaProperty' - $ref: '#/components/schemas/ObjectJsonSchemaProperty-Input' - $ref: '#/components/schemas/ArrayJsonSchemaProperty-Input' title: Items description: Schema for array elements. default: type: string description: Array element is_system_provided: false dynamic_variable: '' allowed_values_dynamic_variable: '' constant_value: '' is_omitted: false additionalProperties: false type: object title: ArrayJsonSchemaProperty PromptAgentAPIModelOverride-Input: properties: prompt: anyOf: - type: string - type: 'null' title: Prompt description: The prompt for the agent x-convai-client-override: true llm: anyOf: - $ref: '#/components/schemas/LLM' - type: 'null' description: The LLM to query with the prompt and the chat history. If using data residency, the LLM must be supported in the data residency environment x-convai-client-override: true tool_ids: anyOf: - items: type: string type: array - type: 'null' title: Tool Ids description: A list of IDs of tools used by the agent x-convai-client-override: true native_mcp_server_ids: anyOf: - items: type: string type: array - type: 'null' title: Native Mcp Server Ids description: A list of Native MCP server ids to be used by the agent x-convai-client-override: true knowledge_base: anyOf: - items: $ref: '#/components/schemas/KnowledgeBaseLocator' type: array - type: 'null' title: Knowledge Base description: A list of knowledge bases to be used by the agent x-convai-client-override: true type: object title: PromptAgentAPIModelOverride example: knowledge_base: [] llm: gemini-2.0-flash-001 prompt: You are a helpful assistant that can answer questions about the topic of the conversation. tool_ids: [] SkipTurnToolConfig: properties: system_tool_type: type: string const: skip_turn title: System Tool Type default: skip_turn type: object title: SkipTurnToolConfig description: 'Allows the agent to explicitly skip its turn. This tool should be invoked by the LLM when the user indicates they would like to think or take a short pause before continuing the conversation—e.g. when they say: "Give me a second", "Let me think", or "One moment please". After calling this tool, the assistant should not speak until the user speaks again, or another normal turn-taking condition is met. The tool itself has no parameters and performs no side-effects other than informing the backend that the current turn generation is complete.' GetAnalyticsSummaryParams: properties: smb_tool_type: type: string const: get_analytics_summary title: Smb Tool Type default: get_analytics_summary type: object title: GetAnalyticsSummaryParams description: Get a summary of key business analytics for a time period. EndProcedureToolErrorStatus: type: string enum: - not_found - invalid_id SingleTestRunRequestModel: properties: test_id: type: string title: Test Id description: ID of the test to run workflow_node_id: anyOf: - type: string - type: 'null' title: Workflow Node Id description: ID of the workflow node to run the test on. If not provided, the test will be run on the agent's default workflow node. root_folder_id: anyOf: - type: string - type: 'null' title: Root Folder Id description: ID of the root folder to run the test on. If not provided, the test will be run on the agent's default folder. root_folder_name: anyOf: - type: string - type: 'null' title: Root Folder Name description: Name of the root folder to run the test on. If not provided, the test will be run on the agent's default folder. type: object required: - test_id title: SingleTestRunRequestModel CreateServiceParams: properties: smb_tool_type: type: string const: create_service title: Smb Tool Type default: create_service type: object title: CreateServiceParams description: Create a new service (classic, rental, or group) in the system. CustomGuardrail-Input: properties: config: $ref: '#/components/schemas/CustomGuardrailsConfig-Input' type: object title: CustomGuardrail description: Container for custom guardrails, matching ModerationGuardrail pattern OrbAvatar: properties: type: type: string const: orb title: Type description: The type of the avatar default: orb color_1: type: string title: Color 1 description: The first color of the avatar default: '#2792dc' color_2: type: string title: Color 2 description: The second color of the avatar default: '#9ce6e6' type: object title: OrbAvatar example: color_1: '#2792dc' color_2: '#9ce6e6' type: orb UpdateToolCallUnitTestRequest: properties: from_conversation_metadata: anyOf: - $ref: '#/components/schemas/TestFromConversationMetadata-Input' - type: 'null' description: Metadata of a conversation this test was created from (if applicable). dynamic_variables: additionalProperties: true type: object title: Dynamic Variables description: Dynamic variables to replace in the agent config during testing chat_history: items: $ref: '#/components/schemas/ConversationHistoryTranscriptCommonModel-Input' type: array maxItems: 200 title: Chat History conversation_initiation_source: anyOf: - $ref: '#/components/schemas/ConversationInitiationSource' - type: 'null' description: Simulate the test as if the conversation originated from this channel. environment: anyOf: - type: string - type: 'null' title: Environment description: The environment to resolve environment-specific variable values against when running this test (URL, headers, auth connections). If not provided, defaults to 'production'. For simulation tests, simulation_environment takes precedence when set. type: type: string const: tool title: Type default: tool tool_call_parameters: anyOf: - $ref: '#/components/schemas/UnitTestToolCallEvaluationModel-Input' - type: 'null' description: How to evaluate the agent's tool call (if any). If empty, the tool call is not evaluated. check_any_tool_matches: anyOf: - type: boolean - type: 'null' title: Check Any Tool Matches description: If set to True this test will pass if any tool call returned by the LLM matches the criteria. Otherwise it will fail if more than one tool is returned by the agent. name: type: string title: Name parent_folder_id: anyOf: - type: string - type: 'null' title: Parent Folder Id description: The ID of the parent folder. If not provided, the test will be moved to the root level. type: object required: - name title: UpdateToolCallUnitTestRequest WorkflowToolLocator: properties: tool_id: type: string title: Tool Id schema_overrides: anyOf: - additionalProperties: oneOf: - $ref: '#/components/schemas/ConstantSchemaOverride' - $ref: '#/components/schemas/DynamicVariableSchemaOverride' - $ref: '#/components/schemas/LLMSchemaOverride' - $ref: '#/components/schemas/OmitSchemaOverride' discriminator: propertyName: source mapping: constant: '#/components/schemas/ConstantSchemaOverride' dynamic_variable: '#/components/schemas/DynamicVariableSchemaOverride' llm: '#/components/schemas/LLMSchemaOverride' omit: '#/components/schemas/OmitSchemaOverride' type: object - type: 'null' title: Schema Overrides description: Per-node parameter overrides applied on top of the tool's own configuration. Keys are dotted parameter paths (webhook tools prefix keys with path_params./query_params./request_body.). These take precedence over any overrides already defined on the tool itself. type: object required: - tool_id title: WorkflowToolLocator ScheduleGroupSessionParams: properties: smb_tool_type: type: string const: schedule_group_session title: Smb Tool Type default: schedule_group_session type: object title: ScheduleGroupSessionParams description: 'Schedule a single instance of a group service. The session''s duration is derived from the parent service so the assistant only has to pin start time, the (optional) instructor / room, and the location. Participants register separately via ``register_for_group_session``.' ConversationHistoryTranscriptToolCallWebhookDetails: properties: type: type: string const: webhook title: Type default: webhook method: type: string title: Method url: type: string title: Url headers: additionalProperties: type: string type: object title: Headers path_params: additionalProperties: type: string type: object title: Path Params query_params: additionalProperties: type: string type: object title: Query Params body: anyOf: - type: string - type: 'null' title: Body type: object required: - method - url title: ConversationHistoryTranscriptToolCallWebhookDetails CustomGuardrailsConfig-Input: properties: configs: items: $ref: '#/components/schemas/CustomGuardrailConfig' type: array title: Configs type: object title: CustomGuardrailsConfig description: Config container for custom guardrails list ConversationHistoryTranscriptApiIntegrationWebhookToolsResultCommonModel-Output: properties: request_id: type: string title: Request Id tool_name: type: string title: Tool Name result_value: type: string title: Result Value is_error: type: boolean title: Is Error is_blocked: type: boolean title: Is Blocked default: false tool_has_been_called: type: boolean title: Tool Has Been Called tool_latency_secs: type: number title: Tool Latency Secs default: 0 error_type: type: string title: Error Type default: '' raw_error_message: type: string title: Raw Error Message default: '' dynamic_variable_updates: items: $ref: '#/components/schemas/DynamicVariableUpdateCommonModel' type: array title: Dynamic Variable Updates type: type: string const: api_integration_webhook title: Type integration_id: type: string title: Integration Id default: '' credential_id: type: string title: Credential Id default: '' integration_connection_id: type: string title: Integration Connection Id default: '' type: object required: - request_id - tool_name - result_value - is_error - is_blocked - tool_has_been_called - tool_latency_secs - error_type - raw_error_message - dynamic_variable_updates - type - integration_id - credential_id - integration_connection_id title: ConversationHistoryTranscriptApiIntegrationWebhookToolsResultCommonModel ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type type: object required: - loc - msg - type title: ValidationError LLM: type: string enum: - gpt-4o-mini - gpt-4o - gpt-4 - gpt-4-turbo - gpt-4.1 - gpt-4.1-mini - gpt-4.1-nano - gpt-5 - gpt-5.1 - gpt-5.2 - gpt-5.2-chat-latest - gpt-5.4 - gpt-5.4-mini - gpt-5.4-nano - gpt-5.5 - gpt-5.6-sol - gpt-5.6-terra - gpt-5.6-luna - gpt-6-astra - gpt-5-mini - gpt-5-nano - gpt-3.5-turbo - gemini-1.5-pro - gemini-1.5-flash - gemini-2.0-flash - gemini-2.0-flash-lite - gemini-2.5-flash-lite - gemini-2.5-flash - gemini-3-pro-preview - gemini-3-flash-preview - gemini-3.1-pro-preview - gemini-3.1-flash-lite-preview - gemini-3.1-flash-lite - gemini-3.5-flash - gemini-3.5-flash-lite - gemini-3.6-flash - gemini-3.7-flash - gemini-3.8-flash - claude-sonnet-4-5 - claude-opus-4-7 - claude-opus-4-8 - claude-sonnet-4-6 - claude-sonnet-5 - claude-sonnet-4 - claude-haiku-4-5 - claude-3-7-sonnet - claude-3-5-sonnet - claude-3-5-sonnet-v1 - claude-3-haiku - grok-beta - custom-llm - qwen3-4b - qwen3-30b-a3b - qwen36-35b-a3b - qwen35-397b-a17b - gpt-oss-20b - gpt-oss-120b - glm-45-air-fp8 - gemini-2.5-flash-preview-09-2025 - gemini-2.5-flash-lite-preview-09-2025 - gemini-2.5-flash-preview-05-20 - gemini-2.5-flash-preview-04-17 - gemini-2.5-flash-lite-preview-06-17 - gemini-2.0-flash-lite-001 - gemini-2.0-flash-001 - gemini-1.5-flash-002 - gemini-1.5-flash-001 - gemini-1.5-pro-002 - gemini-1.5-pro-001 - claude-sonnet-4@20250514 - claude-sonnet-4-5@20250929 - claude-haiku-4-5@20251001 - claude-3-7-sonnet@20250219 - claude-3-5-sonnet@20240620 - claude-3-5-sonnet-v2@20241022 - claude-3-haiku@20240307 - gpt-5-2025-08-07 - gpt-5.1-2025-11-13 - gpt-5.2-2025-12-11 - gpt-5.4-2026-03-05 - gpt-5.4-mini-2026-03-17 - gpt-5.4-nano-2026-03-17 - gpt-5.5-2026-04-23 - gpt-5-mini-2025-08-07 - gpt-5-nano-2025-08-07 - gpt-4.1-2025-04-14 - gpt-4.1-mini-2025-04-14 - gpt-4.1-nano-2025-04-14 - gpt-4o-mini-2024-07-18 - gpt-4o-2024-11-20 - gpt-4o-2024-08-06 - gpt-4o-2024-05-13 - gpt-4-0613 - gpt-4-0314 - gpt-4-turbo-2024-04-09 - gpt-3.5-turbo-0125 - gpt-3.5-turbo-1106 - watt-tool-8b - watt-tool-70b title: LLM TTSConversationalModel: type: string enum: - eleven_turbo_v2 - eleven_turbo_v2_5 - eleven_flash_v2 - eleven_flash_v2_5 - eleven_multilingual_v2 - eleven_v3_conversational title: TTSConversationalModel x-fern-enum: eleven_turbo_v2: description: 'Deprecated: Use eleven_flash_v2 instead.' deprecated: true eleven_turbo_v2_5: description: 'Deprecated: Use eleven_flash_v2_5 instead.' deprecated: true default: eleven_flash_v2 TriggerUserVerificationParams: properties: smb_tool_type: type: string const: trigger_user_verification title: Smb Tool Type default: trigger_user_verification type: object title: TriggerUserVerificationParams ConversationalConfigAPIModel-Input: properties: asr: $ref: '#/components/schemas/ASRConversationalConfig' description: Configuration for conversational transcription turn: $ref: '#/components/schemas/TurnConfig' description: Configuration for turn detection tts: $ref: '#/components/schemas/TTSConversationalConfig-Input' description: Configuration for conversational text to speech conversation: $ref: '#/components/schemas/ConversationConfig-Input' description: Configuration for conversational events language_presets: additionalProperties: $ref: '#/components/schemas/LanguagePreset-Input' type: object title: Language Presets description: Language presets for conversations vad: $ref: '#/components/schemas/VADConfig' description: Configuration for voice activity detection agent: $ref: '#/components/schemas/AgentConfigAPIModel-Input' description: Agent specific configuration type: object title: ConversationalConfigAPIModel TestFromConversationMetadata-Output: properties: conversation_id: type: string title: Conversation Id agent_id: type: string title: Agent Id branch_id: anyOf: - type: string - type: 'null' title: Branch Id workflow_node_id: anyOf: - type: string - type: 'null' title: Workflow Node Id original_agent_reply: items: $ref: '#/components/schemas/ConversationHistoryTranscriptCommonModel-Output' type: array title: Original Agent Reply default: [] type: object required: - conversation_id - agent_id title: TestFromConversationMetadata ToolResponseMockConfig-Input: properties: parameter_conditions: items: $ref: '#/components/schemas/UnitTestToolCallParameter' type: array title: Parameter Conditions description: If the list is empty, the mock will always activate. mock_result: type: string title: Mock Result description: The return value the LLM sees when this mock is active. is_error: type: boolean title: Is Error description: If true, the mock result is surfaced to the LLM as a tool error rather than a successful result. default: false type: object required: - mock_result title: ToolResponseMockConfig AllowlistItem: properties: hostname: type: string title: Hostname description: The hostname of the allowed origin type: object required: - hostname title: AllowlistItem BackgroundSoundPresetId: type: string enum: - office2 - office1 - restaurant - city - typing - elevator1 - elevator2 - elevator3 - elevator4 title: BackgroundSoundPresetId description: Predefined background sound preset identifiers. ASTBooleanNode-Input: properties: type: type: string const: boolean_literal title: Type default: boolean_literal value: type: boolean title: Value description: Value of this literal. type: object required: - value title: ASTBooleanNode TransferBranchInfoTrafficSplit: properties: branch_reason: type: string const: traffic_split title: Branch Reason branch_id: type: string title: Branch Id traffic_percentage: type: number title: Traffic Percentage type: object required: - branch_reason - branch_id - traffic_percentage title: TransferBranchInfoTrafficSplit ListResponseMeta: properties: total: anyOf: - type: integer - type: 'null' title: Total page: anyOf: - type: integer - type: 'null' title: Page page_size: anyOf: - type: integer - type: 'null' title: Page Size type: object title: ListResponseMeta BackupLLMDefault: properties: preference: type: string const: default title: Preference default: default type: object title: BackupLLMDefault ValidateUserVerificationCodeParams: properties: smb_tool_type: type: string const: validate_user_verification_code title: Smb Tool Type default: validate_user_verification_code type: object title: ValidateUserVerificationCodeParams AttachedSystemDataCollectionRef: properties: source: type: string const: system title: Source analysis_item_id: type: string const: __system_data_collection_topic title: Analysis Item Id description: Id of the referenced built-in system data-collection item. scope: $ref: '#/components/schemas/AnalysisScope' description: Transcript context ('conversation' or 'agent') used when running this item. default: conversation type: object required: - source - analysis_item_id title: AttachedSystemDataCollectionRef ConversationConfigOverride: properties: text_only: anyOf: - type: boolean - type: 'null' title: Text Only description: If enabled audio will not be processed and only text will be used, use to avoid audio pricing. x-convai-client-override: true max_duration_seconds: anyOf: - type: integer - type: 'null' title: Max Duration Seconds description: The maximum duration of a conversation in seconds x-convai-client-override: true type: object title: ConversationConfigOverride example: max_duration_seconds: 600 AgentAnalysisItems-Input: properties: evaluation_criteria: items: oneOf: - $ref: '#/components/schemas/AttachedUserEvaluationRef' - $ref: '#/components/schemas/AttachedSystemEvaluationRef' discriminator: propertyName: source mapping: system: '#/components/schemas/AttachedSystemEvaluationRef' user: '#/components/schemas/AttachedUserEvaluationRef' type: array title: Evaluation Criteria data_collection: items: oneOf: - $ref: '#/components/schemas/AttachedUserDataCollectionRef' - $ref: '#/components/schemas/AttachedSystemDataCollectionRef' discriminator: propertyName: source mapping: system: '#/components/schemas/AttachedSystemDataCollectionRef' user: '#/components/schemas/AttachedUserDataCollectionRef' type: array title: Data Collection type: object title: AgentAnalysisItems CreateAgentTestResponseModel: properties: id: type: string title: Id type: object required: - id title: CreateAgentTestResponseModel ConversationHistoryTranscriptToolCallClientDetails: properties: type: type: string const: client title: Type default: client parameters: type: string title: Parameters type: object required: - parameters title: ConversationHistoryTranscriptToolCallClientDetails ProcedureVersionRef: properties: procedure_id: type: string title: Procedure Id description: Procedure ID version_id: type: string title: Version Id description: Version ID of the procedure version. type: object required: - procedure_id - version_id title: ProcedureVersionRef StartProcedureToolResultSuccessModel: properties: result_type: type: string const: start_procedure_success title: Result Type default: start_procedure_success status: type: string const: success title: Status default: success procedure_id: type: string title: Procedure Id procedure_name: type: string title: Procedure Name procedure_entry_workflow_node: anyOf: - type: string - type: 'null' title: Procedure Entry Workflow Node procedure_return_workflow_node: anyOf: - type: string - type: 'null' title: Procedure Return Workflow Node message: type: string title: Message default: Procedure is now started. Follow its instructions from the section of your system prompt. type: object required: - procedure_id - procedure_name title: StartProcedureToolResultSuccessModel MockingStrategy: type: string enum: - all - selected - none title: MockingStrategy default: none TopicDiscoverySettings: properties: {} type: object title: TopicDiscoverySettings description: 'Per-agent topic-discovery configuration. Cadence and analysis window are managed internally; this only exposes the customer-facing on/off toggle.' ContentThresholdGuardrail: properties: is_enabled: type: boolean title: Is Enabled default: false threshold: anyOf: - type: number - type: string enum: - low - medium - high title: Threshold default: 0.3 type: object title: ContentThresholdGuardrail CreateAgentRuleParams: properties: smb_tool_type: type: string const: create_agent_rule title: Smb Tool Type default: create_agent_rule type: object title: CreateAgentRuleParams WorkflowLLMConditionModel-Input: properties: label: anyOf: - type: string - type: 'null' title: Label description: Optional human-readable label for the condition used throughout the UI. type: type: string const: llm title: Type default: llm condition: type: string title: Condition description: Condition to evaluate examples: - User's last message contains a question about our pricing. - User provided their email address. type: object required: - condition title: WorkflowLLMConditionModel WidgetEndFeedbackConfig: properties: type: $ref: '#/components/schemas/WidgetEndFeedbackType' description: The type of feedback to collect at the end of the conversation default: rating type: object title: WidgetEndFeedbackConfig CreateProductQuoteRequestParams: properties: smb_tool_type: type: string const: create_product_quote_request title: Smb Tool Type default: create_product_quote_request type: object title: CreateProductQuoteRequestParams SubmitBusinessInfoParams: properties: smb_tool_type: type: string const: submit_business_info title: Smb Tool Type default: submit_business_info type: object title: SubmitBusinessInfoParams description: 'Finalize the onboarding interview: create a text knowledge source and mark done.' CreateClientInteractionParams: properties: smb_tool_type: type: string const: create_client_interaction title: Smb Tool Type default: create_client_interaction type: object title: CreateClientInteractionParams DynamicVariablesConfigWorkflowOverride: properties: dynamic_variable_placeholders: anyOf: - additionalProperties: true type: object - type: 'null' title: Dynamic Variable Placeholders description: A dictionary of dynamic variable placeholders and their values type: object title: DynamicVariablesConfigWorkflowOverride example: dynamic_variable_placeholders: user_name: John Doe LLMUsage-Input: properties: model_usage: additionalProperties: $ref: '#/components/schemas/LLMInputOutputTokensUsage' propertyNames: $ref: '#/components/schemas/LLM' type: object title: Model Usage type: object title: LLMUsage AddTurnCommentRequestModel: properties: turn_index: type: integer minimum: 0.0 title: Turn Index description: Zero-based index of the transcript turn this comment refers to. comment: type: string maxLength: 10000 minLength: 1 title: Comment description: What went wrong at this turn. type: object required: - turn_index - comment title: AddTurnCommentRequestModel TransferToAgentToolResultSuccessModel-Output: properties: result_type: type: string const: transfer_to_agent_success title: Result Type default: transfer_to_agent_success status: type: string const: success title: Status default: success from_agent: type: string title: From Agent to_agent: type: string title: To Agent to_node: anyOf: - type: string - type: 'null' title: To Node condition: type: string title: Condition delay_ms: type: integer title: Delay Ms default: 0 transfer_message: anyOf: - type: string - type: 'null' title: Transfer Message enable_transferred_agent_first_message: type: boolean title: Enable Transferred Agent First Message default: false branch_info: anyOf: - oneOf: - $ref: '#/components/schemas/TransferBranchInfoTrafficSplit' - $ref: '#/components/schemas/TransferBranchInfoDefaultingToMain' discriminator: propertyName: branch_reason mapping: defaulting_to_main: '#/components/schemas/TransferBranchInfoDefaultingToMain' traffic_split: '#/components/schemas/TransferBranchInfoTrafficSplit' - type: 'null' title: Branch Info preserve_client_tts_overrides: type: boolean title: Preserve Client Tts Overrides default: false type: object required: - from_agent - to_agent - condition title: TransferToAgentToolResultSuccessModel UnitTestToolCallEvaluationModel-Output: properties: parameters: items: $ref: '#/components/schemas/UnitTestToolCallParameter' type: array title: Parameters description: Parameters to evaluate for the agent's tool call. If empty, the tool call parameters are not evaluated. referenced_tool: anyOf: - $ref: '#/components/schemas/ReferencedToolCommonModel' - type: 'null' description: The tool to evaluate a call against. verify_absence: type: boolean title: Verify Absence description: Whether to verify that the tool was NOT called. default: false workflow_node_transition: anyOf: - $ref: '#/components/schemas/UnitTestWorkflowNodeTransitionEvaluationNodeId' - type: 'null' description: Configuration for testing workflow node transitions. When set, the test will verify the agent transitions to the specified workflow node. type: object title: UnitTestToolCallEvaluationModel CreateSimulationTestRequest: properties: from_conversation_metadata: anyOf: - $ref: '#/components/schemas/TestFromConversationMetadata-Input' - type: 'null' description: Metadata of a conversation this test was created from (if applicable). dynamic_variables: additionalProperties: true type: object title: Dynamic Variables description: Dynamic variables to replace in the agent config during testing chat_history: items: $ref: '#/components/schemas/ConversationHistoryTranscriptCommonModel-Input' type: array maxItems: 200 title: Chat History conversation_initiation_source: anyOf: - $ref: '#/components/schemas/ConversationInitiationSource' - type: 'null' description: Simulate the test as if the conversation originated from this channel. environment: anyOf: - type: string - type: 'null' title: Environment description: The environment to resolve environment-specific variable values against when running this test (URL, headers, auth connections). If not provided, defaults to 'production'. For simulation tests, simulation_environment takes precedence when set. type: type: string const: simulation title: Type default: simulation success_condition: anyOf: - type: string - type: 'null' title: Success Condition description: Deprecated legacy single success criterion. Use success_conditions instead. At least one of success_condition or success_conditions is required. deprecated: true success_conditions: items: type: string type: array maxItems: 30 title: Success Conditions description: List of prompts that evaluate whether the simulation was successful. If provided, all criteria are evaluated and merged into a final result. Capped at the maximum number of evaluation criteria. simulation_scenario: type: string title: Simulation Scenario description: Description of the simulation scenario and user persona for simulation tests. default: '' simulation_max_turns: type: integer maximum: 50.0 minimum: 1.0 title: Simulation Max Turns description: Maximum number of conversation turns for simulation tests. default: 5 simulation_environment: anyOf: - type: string - type: 'null' title: Simulation Environment description: The environment to use when running this simulation test. If not provided, defaults to 'production'. tool_mock_config: $ref: '#/components/schemas/SimulationToolMockBehaviorConfig' description: Configuration for which tools to mock and fallback behavior. tool_mock_overrides: additionalProperties: items: $ref: '#/components/schemas/ToolResponseMockConfig-Input' type: array type: object title: Tool Mock Overrides description: Test-specific response mocks, keyed by tool ID. Applied ahead of the tool's shared mocks and only within this test. Only take effect for tools that are mocked (see tool_mock_config). evaluation_model: anyOf: - $ref: '#/components/schemas/LLM' - type: 'null' description: LLM model to use for evaluating simulation results. default: claude-sonnet-4-6 simulated_user_model: anyOf: - $ref: '#/components/schemas/LLM' - type: 'null' description: LLM model for the simulated user. default: claude-sonnet-4-6 name: type: string title: Name parent_folder_id: anyOf: - type: string - type: 'null' title: Parent Folder Id description: The ID of the parent folder. If not provided, the test will be created at the root level. type: object required: - name title: CreateSimulationTestRequest SendCustomEmailParams: properties: smb_tool_type: type: string const: send_custom_email title: Smb Tool Type default: send_custom_email type: object title: SendCustomEmailParams WorkflowToolNodeModel-Input: properties: type: type: string const: tool title: Type default: tool position: $ref: '#/components/schemas/Position-Input' description: Position of the node in the workflow. edge_order: items: type: string type: array title: Edge Order description: The ids of outgoing edges in the order they should be evaluated. tools: items: $ref: '#/components/schemas/WorkflowToolLocator' type: array title: Tools description: List of tools to execute in parallel. The entire node is considered successful if all tools are executed successfully. type: object title: WorkflowToolNodeModel ReportKnowledgeGapParams: properties: smb_tool_type: type: string const: report_knowledge_gap title: Smb Tool Type default: report_knowledge_gap type: object title: ReportKnowledgeGapParams ListTestsByIdsRequestModel: properties: test_ids: items: type: string type: array title: Test Ids description: List of test IDs to fetch. No duplicates allowed. Prefer at most 1000 IDs per request. examples: - - test_id_1 - test_id_2 type: object required: - test_ids title: ListTestsByIdsRequestModel AnalysisProperty: properties: type: type: string enum: - boolean - string - integer - number title: Type description: type: string title: Description description: The description of the property. When set, the LLM will provide the value based on this description. Mutually exclusive with dynamic_variable, is_system_provided, constant_value, and is_omitted. default: '' enum: anyOf: - items: type: string type: array - type: 'null' title: Enum description: List of allowed string values for string type parameters is_system_provided: type: boolean title: Is System Provided description: If true, the value will be populated by the system at runtime. Used by API Integration Webhook tools for templating. Mutually exclusive with description, dynamic_variable, constant_value, and is_omitted. default: false dynamic_variable: type: string title: Dynamic Variable description: The name of the dynamic variable to use for this property's value. Mutually exclusive with description, is_system_provided, constant_value, and is_omitted. default: '' allowed_values: anyOf: - $ref: '#/components/schemas/AllowedValues' - type: 'null' description: 'Server-side rejection guard for an LLM-provided value: the runtime rejects any value outside the permitted set this object names, and the set is not advertised to the LLM as an enum. Only supported when the value source is `description`; combining it with dynamic_variable, is_system_provided, constant_value, or is_omitted is rejected.' allowed_values_dynamic_variable: type: string title: Allowed Values Dynamic Variable description: 'DEPRECATED: use `allowed_values` instead. When set, the LLM provides the value but the runtime rejects any value not present in the list held by this dynamic variable (must be a JSON array such as ["ws_alpha", "ws_beta"]). Use to let the LLM pick from a server-verified set (e.g. the IDs the current user is allowed to access). Requires description; mutually exclusive with dynamic_variable, is_system_provided, constant_value, and is_omitted.' default: '' deprecated: true constant_value: anyOf: - type: string - type: integer - type: number - type: boolean - type: 'null' title: Constant Value description: A constant value to use for this property. Mutually exclusive with description, dynamic_variable, is_system_provided, and is_omitted. default: '' is_omitted: type: boolean title: Is Omitted description: If true, this parameter will be completely omitted from the request. Only valid for optional parameters. Mutually exclusive with description, dynamic_variable, is_system_provided, and constant_value. default: false name: anyOf: - type: string - type: 'null' title: Name description: The name of this data collection item. llm: anyOf: - $ref: '#/components/schemas/LLM' - type: 'null' description: LLM model to use for this analysis item. If not set, uses agent's analysis_llm default. type: object required: - type title: AnalysisProperty description: 'Data collection property with optional per-item LLM override for post-call analysis. TODO: migrate to composition (value_schema: LiteralJsonSchemaProperty + llm) instead of inheritance, so this generalizes cleanly to object/array schemas in the future.' example: constant_value: '' description: My property dynamic_variable: '' is_system_provided: false type: string ConversationHistoryTranscriptToolCallMCPDetails: properties: type: type: string const: mcp title: Type default: mcp mcp_server_id: type: string title: Mcp Server Id mcp_server_name: type: string title: Mcp Server Name integration_type: type: string title: Integration Type parameters: additionalProperties: type: string type: object title: Parameters approval_policy: type: string title: Approval Policy requires_approval: type: boolean title: Requires Approval default: false mcp_tool_name: type: string title: Mcp Tool Name default: '' mcp_tool_description: type: string title: Mcp Tool Description default: '' type: object required: - mcp_server_id - mcp_server_name - integration_type - approval_policy title: ConversationHistoryTranscriptToolCallMCPDetails WebhookToolConfig-Input: properties: type: type: string const: webhook title: Type description: The type of tool default: webhook name: type: string minLength: 0 pattern: ^[a-zA-Z0-9_-]{1,64}$ title: Name description: type: string minLength: 0 title: Description description: Description of when the tool should be used and what it does. response_timeout_secs: type: integer maximum: 300.0 minimum: 5.0 title: Response Timeout Secs description: The maximum time in seconds to wait for the tool call to complete. Must be between 5 and 300 seconds (inclusive). default: 20 disable_interruptions: type: boolean title: Disable Interruptions description: 'DEPRECATED: use `interruption_mode` instead. If true, the user will not be able to interrupt the agent while this tool is running.' default: false deprecated: true interruption_mode: $ref: '#/components/schemas/ToolInterruptionMode' description: Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it. default: allow force_pre_tool_speech: type: boolean title: Force Pre Tool Speech description: 'DEPRECATED: use `pre_tool_speech` instead. If true, the agent will speak before the tool call.' default: false deprecated: true pre_tool_speech: $ref: '#/components/schemas/PreToolSpeechMode' description: Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency. default: auto assignments: items: $ref: '#/components/schemas/DynamicVariableAssignment' type: array title: Assignments description: Configuration for extracting values from tool responses and assigning them to dynamic variables tool_call_sound: anyOf: - $ref: '#/components/schemas/ToolCallSoundType' - type: 'null' description: Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played. x-convai-client-override: true tool_call_sound_behavior: $ref: '#/components/schemas/ToolCallSoundBehavior' description: Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call. default: auto tool_error_handling_mode: $ref: '#/components/schemas/ToolErrorHandlingMode' description: Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent. default: auto dynamic_variables: $ref: '#/components/schemas/DynamicVariablesConfig' description: Configuration for dynamic variables execution_mode: $ref: '#/components/schemas/ToolExecutionMode' description: 'Determines when and how the tool executes: ''immediate'' executes the tool right away when requested by the LLM, ''post_tool_speech'' waits for the agent to finish speaking before executing, ''async'' runs the tool in the background without blocking - best for long-running operations.' default: immediate api_schema: $ref: '#/components/schemas/WebhookToolApiSchemaConfig-Input' description: The schema for the outgoing webhoook, including parameters and URL specification follow_redirects: type: boolean title: Follow Redirects description: Whether to resolve a redirect from the endpoint and return the final response. One redirect is followed, as a GET without the request body; nothing configured on this tool (headers, authentication, client certificate) is sent to the redirect target. Both the endpoint and the redirect target must use HTTPS. Not supported for API integration tools. default: false follow_redirects_allowed_domains: items: type: string type: array maxItems: 20 title: Follow Redirects Allowed Domains description: Domains a redirect may point at, e.g. 'test.example.com'. Required when following redirects, and a target outside the list is refused. type: object required: - name - description - api_schema title: WebhookToolConfig description: A webhook tool is a tool that calls an external webhook from our server example: response_timeout_secs: 20 type: webhook TTSModelFamily: type: string enum: - turbo - flash - multilingual - v3_conversational title: TTSModelFamily x-fern-enum: turbo: description: 'Deprecated: Use flash instead.' deprecated: true TurnCommentResponseModel: properties: turn_index: type: integer title: Turn Index comment: type: string title: Comment created_at_unix_secs: type: integer title: Created At Unix Secs owner_user_id: anyOf: - type: string - type: 'null' title: Owner User Id type: object required: - turn_index - comment - created_at_unix_secs - owner_user_id title: TurnCommentResponseModel TTSConversationalConfig-Input: properties: model_id: $ref: '#/components/schemas/TTSConversationalModel' description: The model to use for TTS default: eleven_flash_v2 x-convai-client-override: true voice_id: type: string minLength: 0 title: Voice Id description: The voice ID to use for TTS default: cjVigY5qzO86Huf0OWal x-convai-client-override: true x-convai-language-override: true supported_voices: items: $ref: '#/components/schemas/SupportedVoice' type: array title: Supported Voices description: Additional supported voices for the agent x-convai-client-override: true x-convai-soft-override-disallowed: true expressive_mode: type: boolean title: Expressive Mode description: When enabled, applies expressive audio tags prompt. Automatically disabled for non-v3 models. default: true suggested_audio_tags: items: $ref: '#/components/schemas/SuggestedAudioTag' type: array maxItems: 20 title: Suggested Audio Tags description: Suggested audio tags to boost expressive speech (for eleven_v3 and eleven_v3_conversational models). The agent can still use other tags not listed here. agent_output_audio_format: $ref: '#/components/schemas/TTSOutputFormat' description: The audio format to use for TTS default: pcm_16000 optimize_streaming_latency: $ref: '#/components/schemas/TTSOptimizeStreamingLatency' description: 'Deprecated: this field is a no-op and is ignored.' default: 3 deprecated: true stability: type: number maximum: 1.0 minimum: 0.0 title: Stability description: The stability of generated speech default: 0.5 x-convai-client-override: true speed: type: number maximum: 1.2 minimum: 0.7 title: Speed description: The speed of generated speech default: 1.0 x-convai-client-override: true similarity_boost: type: number maximum: 1.0 minimum: 0.0 title: Similarity Boost description: The similarity boost for generated speech default: 0.8 x-convai-client-override: true text_normalisation_type: $ref: '#/components/schemas/TextNormalisationType' description: Method for converting numbers to words before converting text to speech. If set to SYSTEM_PROMPT, the system prompt will be updated to include normalization instructions. If set to ELEVENLABS, the text will be normalized after generation, incurring slight additional latency. default: system_prompt pronunciation_dictionary_locators: items: $ref: '#/components/schemas/PydanticPronunciationDictionaryVersionLocator' type: array title: Pronunciation Dictionary Locators description: The pronunciation dictionary locators x-convai-client-override: true enable_phoneme_tags: type: boolean title: Enable Phoneme Tags description: Opt-in to SSML phoneme tag handling for V3 models. When enabled, phoneme tags (inline and from pronunciation dictionaries) are parsed into inline IPA before being sent to the model. default: true audio_effects: anyOf: - $ref: '#/components/schemas/EffectsSpec-Input' - type: 'null' description: 'Optional TTS effects spec: filter preset, distance (proximity EQ), and environment (convolution reverb).' type: object title: TTSConversationalConfig example: agent_output_audio_format: pcm_16000 model_id: eleven_turbo_v2 optimize_streaming_latency: 3 pronunciation_dictionary_locators: [] similarity_boost: 0.8 speed: 1.0 stability: 0.5 voice_id: cjVigY5qzO86Huf0OWal ListTransferRulesParams: properties: smb_tool_type: type: string const: list_transfer_rules title: Smb Tool Type default: list_transfer_rules type: object title: ListTransferRulesParams GetTestsSummariesByIdsResponseModel: properties: tests: additionalProperties: $ref: '#/components/schemas/UnitTestSummaryResponseModel' type: object title: Tests description: Dictionary mapping test IDs to their summary information type: object required: - tests title: GetTestsSummariesByIdsResponseModel ConversationHistoryTranscriptToolCallApiIntegrationWebhookDetails-Input: properties: type: type: string const: api_integration_webhook title: Type default: api_integration_webhook integration_id: type: string title: Integration Id default: '' credential_id: type: string title: Credential Id default: '' integration_connection_id: type: string title: Integration Connection Id default: '' webhook_details: $ref: '#/components/schemas/ConversationHistoryTranscriptToolCallWebhookDetails' type: object required: - webhook_details title: ConversationHistoryTranscriptToolCallApiIntegrationWebhookDetails BucketingStatus: type: string enum: - pending - completed - failed title: BucketingStatus ListGroupSessionsParams: properties: smb_tool_type: type: string const: list_group_sessions title: Smb Tool Type default: list_group_sessions type: object title: ListGroupSessionsParams description: 'List scheduled group sessions for a group service in a date range. Group services are scheduled in advance (e.g. yoga classes, workshops) and callers register against an existing session. Use this for group services; use ``check_service_availability`` for appointment / rental services.' ASTStringNode-Input: properties: type: type: string const: string_literal title: Type default: string_literal value: type: string title: Value description: Value of this literal. type: object required: - value title: ASTStringNode DynamicVariablesConfig: properties: dynamic_variable_placeholders: additionalProperties: true type: object title: Dynamic Variable Placeholders description: A dictionary of dynamic variable placeholders and their values type: object title: DynamicVariablesConfig example: dynamic_variable_placeholders: user_name: John Doe ASTLLMNode-Input: oneOf: - properties: type: type: string const: llm title: Type default: llm value_schema: $ref: '#/components/schemas/LLMLiteralJsonSchemaProperty' description: JSON schema describing the value that the LLM should extract. examples: - description: User's last message contains a question about our pricing. type: boolean - description: User provided their email address. type: boolean type: object required: - value_schema title: ASTLLMNode - properties: type: type: string const: llm title: Type default: llm prompt: type: string description: The prompt to evaluate to a boolean value. Deprecated. Use a boolean schema instead. deprecated: true type: object required: - prompt title: ASTLLMNode AgentConversationTicketStatus: type: string enum: - open - in_progress - resolved - merged title: AgentConversationTicketStatus CancelGroupSessionRegistrationParams: properties: smb_tool_type: type: string const: cancel_group_session_registration title: Smb Tool Type default: cancel_group_session_registration type: object title: CancelGroupSessionRegistrationParams description: Cancel a single client's registration for a group session. DynamicVariableSchemaOverride: properties: source: type: string const: dynamic_variable title: Source default: dynamic_variable dynamic_variable: type: string minLength: 1 title: Dynamic Variable description: The name of the dynamic variable to use type: object required: - dynamic_variable title: DynamicVariableSchemaOverride AgentConversationTicketSource: type: string enum: - qa - agent - manual title: AgentConversationTicketSource UserFeedbackScore: type: string enum: - like - dislike title: UserFeedbackScore AllowedValues: properties: dynamic_variable: type: string minLength: 1 title: Dynamic Variable description: Name of a dynamic variable that must resolve to a JSON array of permitted values, e.g. ["ws_alpha", "ws_beta"]. System variables work only if they resolve to a list. type: object required: - dynamic_variable title: AllowedValues AgentConfigAPIModel-Input: properties: first_message: type: string title: First Message description: If non-empty, the first message the agent will say. If empty, the agent waits for the user to start the discussion. default: '' x-convai-client-override: true x-convai-language-override: true language: type: string title: Language description: Language of the agent - used for ASR and TTS default: en x-convai-client-override: true hinglish_mode: type: boolean title: Hinglish Mode description: When enabled and language is Hindi, the agent will respond in Hinglish default: false dynamic_variables: $ref: '#/components/schemas/DynamicVariablesConfig' description: Configuration for dynamic variables disable_first_message_interruptions: type: boolean title: Disable First Message Interruptions description: If true, the user will not be able to interrupt the agent while the first message is being delivered. default: false max_conversation_duration_message: type: string title: Max Conversation Duration Message description: If non-empty, the message the agent will send when max conversation duration is reached. default: '' x-convai-client-override: true x-convai-language-override: true text_behavior_overrides: anyOf: - additionalProperties: $ref: '#/components/schemas/BehaviorOverride' propertyNames: $ref: '#/components/schemas/ConversationInitiationSource' type: object - type: 'null' title: Text Behavior Overrides description: Per-channel response behavior overrides for text conversations. Built-in channel defaults apply when unset. prompt: $ref: '#/components/schemas/PromptAgentAPIModel-Input' description: The prompt for the agent type: object title: AgentConfigAPIModel example: disable_first_message_interruptions: false first_message: Hello, how can I help you today? language: en UpdateBusinessInfoParams: properties: smb_tool_type: type: string const: update_business_info title: Smb Tool Type default: update_business_info type: object title: UpdateBusinessInfoParams ConversationConfigClientOverrideConfig-Input: properties: asr: $ref: '#/components/schemas/ASRConversationalConfigOverrideConfig' description: Configures overrides for nested fields. turn: $ref: '#/components/schemas/TurnConfigOverrideConfig' description: Configures overrides for nested fields. tts: $ref: '#/components/schemas/TTSConversationalConfigOverrideConfig' description: Configures overrides for nested fields. conversation: $ref: '#/components/schemas/ConversationConfigOverrideConfig' description: Configures overrides for nested fields. agent: $ref: '#/components/schemas/AgentConfigOverrideConfig' description: Configures overrides for nested fields. type: object title: ConversationConfigClientOverrideConfig AttachedTestModel: properties: test_id: type: string title: Test Id workflow_node_id: anyOf: - type: string - type: 'null' title: Workflow Node Id type: object required: - test_id title: AttachedTestModel CustomSIPHeader: properties: type: type: string const: static title: Type default: static key: type: string maxLength: 64 minLength: 1 pattern: ^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$ title: Key description: The SIP header name (e.g., 'X-Customer-ID') value: type: string maxLength: 512 minLength: 1 pattern: ^[\x09\x20-\x7E]+$ title: Value description: The header value type: object required: - key - value title: CustomSIPHeader description: Custom SIP header for phone transfers with a static (validated) value. AlertingMonitorConfig: properties: threshold: anyOf: - type: number maximum: 1.0 minimum: 0.0 - type: 'null' title: Threshold description: Failure rate threshold at which this monitor can notify. relative_increase_threshold: anyOf: - type: number maximum: 10.0 minimum: 0.0 - type: 'null' title: Relative Increase Threshold description: Relative increase over the trailing baseline at which this monitor can notify (0.2 = 20% above baseline, 0 = any failure). min_failure_count: anyOf: - type: integer minimum: 1.0 - type: 'null' title: Min Failure Count description: Minimum failures in the window before this monitor can fire. min_history_bucket_count: anyOf: - type: integer minimum: 1.0 - type: 'null' title: Min History Bucket Count description: Minimum trailing buckets with traffic before spike detection can fire. min_sample_count: anyOf: - type: integer minimum: 1.0 - type: 'null' title: Min Sample Count description: Minimum samples in the window before this monitor can fire. suspect_trigger_threshold: anyOf: - type: integer maximum: 10.0 minimum: 1.0 - type: 'null' title: Suspect Trigger Threshold description: How many suspect buckets within the lookback window are required to promote a suspect to an alert. auto_resolve_after_inactive_minutes: anyOf: - type: integer minimum: 1.0 - type: 'null' title: Auto Resolve After Inactive Minutes description: How many minutes an alert can stay inactive before it is auto-resolved. type: object title: AlertingMonitorConfig WebhookEventType: type: string enum: - transcript - audio - call_initiation_failure - answering_machine_detection - unredacted_transcript - unredacted_audio title: WebhookEventType ToolInterruptionMode: type: string enum: - allow - disable_during_tool - disable_during_tool_and_turn title: ToolInterruptionMode default: allow WorkflowToolNestedToolsStepModel-Output: properties: step_latency_secs: type: number title: Step Latency Secs type: type: string const: nested_tools title: Type default: nested_tools node_id: type: string title: Node Id requests: items: $ref: '#/components/schemas/ConversationHistoryTranscriptToolCallCommonModel-Output' type: array title: Requests results: items: oneOf: - $ref: '#/components/schemas/ConversationHistoryTranscriptOtherToolsResultCommonModel' - $ref: '#/components/schemas/ConversationHistoryTranscriptSystemToolResultCommonModel-Output' - $ref: '#/components/schemas/ConversationHistoryTranscriptApiIntegrationWebhookToolsResultCommonModel-Output' - $ref: '#/components/schemas/ConversationHistoryTranscriptWorkflowToolsResultCommonModel-Output' type: array title: Results is_successful: type: boolean title: Is Successful type: object required: - step_latency_secs - node_id - requests - results - is_successful title: WorkflowToolNestedToolsStepModel ConversationHistoryTranscriptToolCallCommonModel-Input: properties: type: anyOf: - $ref: '#/components/schemas/ToolType' - type: 'null' request_id: type: string title: Request Id tool_name: type: string title: Tool Name params_as_json: type: string title: Params As Json tool_has_been_called: type: boolean title: Tool Has Been Called tool_details: anyOf: - oneOf: - $ref: '#/components/schemas/ConversationHistoryTranscriptToolCallWebhookDetails' - $ref: '#/components/schemas/ConversationHistoryTranscriptToolCallClientDetails' - $ref: '#/components/schemas/ConversationHistoryTranscriptToolCallMCPDetails' - $ref: '#/components/schemas/ConversationHistoryTranscriptToolCallApiIntegrationWebhookDetails-Input' discriminator: propertyName: type mapping: api_integration_webhook: '#/components/schemas/ConversationHistoryTranscriptToolCallApiIntegrationWebhookDetails-Input' client: '#/components/schemas/ConversationHistoryTranscriptToolCallClientDetails' mcp: '#/components/schemas/ConversationHistoryTranscriptToolCallMCPDetails' webhook: '#/components/schemas/ConversationHistoryTranscriptToolCallWebhookDetails' - type: 'null' title: Tool Details type: object required: - request_id - tool_name - params_as_json - tool_has_been_called title: ConversationHistoryTranscriptToolCallCommonModel CreateManualTicketRequestModel: properties: qa_comment: type: string maxLength: 10000 minLength: 1 title: Qa Comment description: What the ticket is about, e.g. a follow-up task for the agent. This is shown as the ticket title. type: object required: - qa_comment title: CreateManualTicketRequestModel GetOrderByConfirmationNumberParams: properties: smb_tool_type: type: string const: get_order_by_confirmation_number title: Smb Tool Type default: get_order_by_confirmation_number type: object title: GetOrderByConfirmationNumberParams WorkflowEdgeModel-Input: properties: source: type: string title: Source description: ID of the source node. target: type: string title: Target description: ID of the target node. forward_condition: anyOf: - oneOf: - $ref: '#/components/schemas/WorkflowUnconditionalModel-Input' description: Condition that is always true. - $ref: '#/components/schemas/WorkflowLLMConditionModel-Input' description: Condition described using human language and evaluated by an LLM. - $ref: '#/components/schemas/WorkflowResultConditionModel-Input' description: Condition based on the result of the last executed tool dispatch node. - $ref: '#/components/schemas/WorkflowExpressionConditionModel-Input' description: Condition described using a deterministic expression. discriminator: propertyName: type mapping: expression: '#/components/schemas/WorkflowExpressionConditionModel-Input' llm: '#/components/schemas/WorkflowLLMConditionModel-Input' result: '#/components/schemas/WorkflowResultConditionModel-Input' unconditional: '#/components/schemas/WorkflowUnconditionalModel-Input' - type: 'null' title: Forward Condition description: Condition that must be met for the edge to be traversed in the forward direction (source to target). backward_condition: anyOf: - oneOf: - $ref: '#/components/schemas/WorkflowUnconditionalModel-Input' description: Condition that is always true. - $ref: '#/components/schemas/WorkflowLLMConditionModel-Input' description: Condition described using human language and evaluated by an LLM. - $ref: '#/components/schemas/WorkflowResultConditionModel-Input' description: Condition based on the result of the last executed tool dispatch node. - $ref: '#/components/schemas/WorkflowExpressionConditionModel-Input' description: Condition described using a deterministic expression. discriminator: propertyName: type mapping: expression: '#/components/schemas/WorkflowExpressionConditionModel-Input' llm: '#/components/schemas/WorkflowLLMConditionModel-Input' result: '#/components/schemas/WorkflowResultConditionModel-Input' unconditional: '#/components/schemas/WorkflowUnconditionalModel-Input' - type: 'null' title: Backward Condition description: Condition that must be met for the edge to be traversed in the backward direction (target to source). type: object required: - source - target title: WorkflowEdgeModel WorkflowUnconditionalModel-Input: properties: label: anyOf: - type: string - type: 'null' title: Label description: Optional human-readable label for the condition used throughout the UI. type: type: string const: unconditional title: Type default: unconditional type: object title: WorkflowUnconditionalModel DummyToolResultModel: properties: result_type: type: string const: dummy title: Result Type default: dummy type: object title: DummyToolResultModel DeleteAgentRuleParams: properties: smb_tool_type: type: string const: delete_agent_rule title: Smb Tool Type default: delete_agent_rule type: object title: DeleteAgentRuleParams ASTConditionalOperatorNode-Input: properties: type: type: string const: conditional_operator title: Type default: conditional_operator condition: $ref: '#/components/schemas/ASTNode-Input' description: Condition deciding which expression should be selected. trueExpression: $ref: '#/components/schemas/ASTNode-Input' description: Expression selected if the condition is true. falseExpression: $ref: '#/components/schemas/ASTNode-Input' description: Expression selected if the condition is false. type: object required: - condition - trueExpression - falseExpression title: ASTConditionalOperatorNode TestRunResultSummary: properties: test_id: type: string title: Test Id test_name: type: string title: Test Name workflow_node_id: anyOf: - type: string - type: 'null' title: Workflow Node Id buckets: items: $ref: '#/components/schemas/TestRunResultBucket' type: array title: Buckets type: object required: - test_id - test_name - buckets title: TestRunResultSummary Verbosity: type: string enum: - auto - concise - thorough title: Verbosity TurnConfigOverrideConfig: properties: soft_timeout_config: $ref: '#/components/schemas/SoftTimeoutConfigOverrideConfig' description: Configures overrides for nested fields. type: object title: TurnConfigOverrideConfig HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError ConversationHistoryTranscriptToolCallCommonModel-Output: properties: type: anyOf: - $ref: '#/components/schemas/ToolType' - type: 'null' request_id: type: string title: Request Id tool_name: type: string title: Tool Name params_as_json: type: string title: Params As Json tool_has_been_called: type: boolean title: Tool Has Been Called tool_details: anyOf: - oneOf: - $ref: '#/components/schemas/ConversationHistoryTranscriptToolCallWebhookDetails' - $ref: '#/components/schemas/ConversationHistoryTranscriptToolCallClientDetails' - $ref: '#/components/schemas/ConversationHistoryTranscriptToolCallMCPDetails' - $ref: '#/components/schemas/ConversationHistoryTranscriptToolCallApiIntegrationWebhookDetails-Output' discriminator: propertyName: type mapping: api_integration_webhook: '#/components/schemas/ConversationHistoryTranscriptToolCallApiIntegrationWebhookDetails-Output' client: '#/components/schemas/ConversationHistoryTranscriptToolCallClientDetails' mcp: '#/components/schemas/ConversationHistoryTranscriptToolCallMCPDetails' webhook: '#/components/schemas/ConversationHistoryTranscriptToolCallWebhookDetails' - type: 'null' title: Tool Details type: object required: - request_id - tool_name - params_as_json - tool_has_been_called title: ConversationHistoryTranscriptToolCallCommonModel DeleteClientInteractionParams: properties: smb_tool_type: type: string const: delete_client_interaction title: Smb Tool Type default: delete_client_interaction type: object title: DeleteClientInteractionParams GetClientOrdersParams: properties: smb_tool_type: type: string const: get_client_orders title: Smb Tool Type default: get_client_orders include_cancelled: type: boolean title: Include Cancelled default: false type: object title: GetClientOrdersParams ApiIntegrationWebhookOverrides: properties: schema_overrides: anyOf: - additionalProperties: oneOf: - $ref: '#/components/schemas/ConstantSchemaOverride' - $ref: '#/components/schemas/DynamicVariableSchemaOverride' - $ref: '#/components/schemas/LLMSchemaOverride' - $ref: '#/components/schemas/OmitSchemaOverride' discriminator: propertyName: source mapping: constant: '#/components/schemas/ConstantSchemaOverride' dynamic_variable: '#/components/schemas/DynamicVariableSchemaOverride' llm: '#/components/schemas/LLMSchemaOverride' omit: '#/components/schemas/OmitSchemaOverride' type: object - type: 'null' title: Schema Overrides response_filter_mode: anyOf: - $ref: '#/components/schemas/ResponseFilterMode' - type: 'null' response_filters: anyOf: - items: type: string type: array - type: 'null' title: Response Filters request_headers: anyOf: - additionalProperties: anyOf: - type: string - $ref: '#/components/schemas/ConvAIDynamicVariable' type: object - type: 'null' title: Request Headers type: object title: ApiIntegrationWebhookOverrides GetResponseUnitTestResponseModel: properties: from_conversation_metadata: anyOf: - $ref: '#/components/schemas/TestFromConversationMetadata-Output' - type: 'null' description: Metadata of a conversation this test was created from (if applicable). dynamic_variables: additionalProperties: true type: object title: Dynamic Variables description: Dynamic variables to replace in the agent config during testing chat_history: items: $ref: '#/components/schemas/ConversationHistoryTranscriptCommonModel-Output' type: array maxItems: 200 title: Chat History conversation_initiation_source: anyOf: - $ref: '#/components/schemas/ConversationInitiationSource' - type: 'null' description: Simulate the test as if the conversation originated from this channel. environment: anyOf: - type: string - type: 'null' title: Environment description: The environment to resolve environment-specific variable values against when running this test (URL, headers, auth connections). If not provided, defaults to 'production'. For simulation tests, simulation_environment takes precedence when set. type: type: string const: llm title: Type default: llm success_condition: type: string title: Success Condition description: A prompt that evaluates whether the agent's response is successful. Should return True or False. default: '' success_examples: items: $ref: '#/components/schemas/AgentSuccessfulResponseExample' type: array maxItems: 5 title: Success Examples description: Non-empty list of example responses that should be considered successful failure_examples: items: $ref: '#/components/schemas/AgentFailureResponseExample' type: array maxItems: 5 title: Failure Examples description: Non-empty list of example responses that should be considered failures id: type: string title: Id name: type: string title: Name type: object required: - id - name title: GetResponseUnitTestResponseModel DocumentUsageModeEnum: type: string enum: - prompt - auto title: DocumentUsageModeEnum default: auto ASTGreaterThanOperatorNode-Input: properties: type: type: string const: gt_operator title: Type default: gt_operator left: $ref: '#/components/schemas/ASTNode-Input' description: Left operand of the binary operator. right: $ref: '#/components/schemas/ASTNode-Input' description: Right operand of the binary operator. type: object required: - left - right title: ASTGreaterThanOperatorNode ConversationHistoryTranscriptWorkflowToolsResultCommonModel-Output: properties: request_id: type: string title: Request Id tool_name: type: string title: Tool Name result_value: type: string title: Result Value is_error: type: boolean title: Is Error is_blocked: type: boolean title: Is Blocked default: false tool_has_been_called: type: boolean title: Tool Has Been Called tool_latency_secs: type: number title: Tool Latency Secs default: 0 error_type: type: string title: Error Type default: '' raw_error_message: type: string title: Raw Error Message default: '' dynamic_variable_updates: items: $ref: '#/components/schemas/DynamicVariableUpdateCommonModel' type: array title: Dynamic Variable Updates type: type: string const: workflow title: Type result: anyOf: - $ref: '#/components/schemas/WorkflowToolResponseModel-Output' - type: 'null' type: object required: - request_id - tool_name - result_value - is_error - tool_has_been_called - type title: ConversationHistoryTranscriptWorkflowToolsResultCommonModel ASRQuality: type: string enum: - high title: ASRQuality default: high WidgetTermsTranslation: properties: source_hash: type: string title: Source Hash text: type: string title: Text type: object required: - source_hash - text title: WidgetTermsTranslation StartProcedureToolConfig: properties: system_tool_type: type: string const: start_procedure title: System Tool Type default: start_procedure procedures: additionalProperties: anyOf: - $ref: '#/components/schemas/ProcedureVersionRef' - $ref: '#/components/schemas/ProcedureDraftRef' type: object title: Procedures type: object title: StartProcedureToolConfig AgentQueueingConfig: properties: enabled: type: boolean title: Enabled description: Hold callers in a wait queue when the agent is at its concurrency limit, instead of rejecting them immediately default: false wait_timeout_seconds: type: integer maximum: 1800.0 exclusiveMinimum: 0.0 title: Wait Timeout Seconds description: Maximum time a caller can wait in the queue before being rejected default: 180 hold_audio: anyOf: - $ref: '#/components/schemas/AgentHoldAudioConfig' - type: 'null' description: 'Custom hold audio played to queued callers; when unset, callers hear the default hold tone. Read-only: set it by uploading a file through the agent hold-audio endpoint.' readOnly: true type: object title: AgentQueueingConfig WorkflowPhoneNumberNodeModel-Input: properties: custom_sip_headers: items: oneOf: - $ref: '#/components/schemas/CustomSIPHeader' - $ref: '#/components/schemas/CustomSIPHeaderWithDynamicVariable' discriminator: propertyName: type mapping: dynamic: '#/components/schemas/CustomSIPHeaderWithDynamicVariable' static: '#/components/schemas/CustomSIPHeader' type: array maxItems: 20 title: Custom Sip Headers description: Custom SIP headers to include when transferring the call. Each header can be either a static value or a dynamic variable reference. transfer_destination: oneOf: - $ref: '#/components/schemas/PhoneNumberTransferDestination' - $ref: '#/components/schemas/SIPUriTransferDestination' - $ref: '#/components/schemas/PhoneNumberDynamicVariableTransferDestination' - $ref: '#/components/schemas/SIPUriDynamicVariableTransferDestination' title: Transfer Destination discriminator: propertyName: type mapping: phone: '#/components/schemas/PhoneNumberTransferDestination' phone_dynamic_variable: '#/components/schemas/PhoneNumberDynamicVariableTransferDestination' sip_uri: '#/components/schemas/SIPUriTransferDestination' sip_uri_dynamic_variable: '#/components/schemas/SIPUriDynamicVariableTransferDestination' transfer_type: $ref: '#/components/schemas/TransferTypeEnum' default: conference sip_refer_play_dialtone: type: boolean title: Sip Refer Play Dialtone description: When True, a ringing tone is played on the original call leg while a SIP REFER transfer completes. The tone is carried over RTP to the SIP peer executing the REFER, so disable this if the receiving system (e.g. an SBC or contact center) should not hear it. When disabled the caller hears silence until the transfer completes. SIP REFER transfers only. default: true uui: anyOf: - $ref: '#/components/schemas/UUITransferConfig' - type: 'null' description: User-to-User Information (RFC 7433) to attach to SIP REFER transfers. Carries call context such as CRM identifiers or escalation reason across the transfer boundary. post_dial_digits: anyOf: - oneOf: - $ref: '#/components/schemas/PostDialDigitsStatic' - $ref: '#/components/schemas/PostDialDigitsDynamicVariable' discriminator: propertyName: type mapping: dynamic: '#/components/schemas/PostDialDigitsDynamicVariable' static: '#/components/schemas/PostDialDigitsStatic' - type: 'null' title: Post Dial Digits description: DTMF digits to send after call connects (e.g., 'ww1234' for extension). Can be either a static value or a dynamic variable reference. Use 'w' for 0.5s pause. Only supported for Twilio transfers. type: type: string const: phone_number title: Type default: phone_number position: $ref: '#/components/schemas/Position-Input' description: Position of the node in the workflow. edge_order: items: type: string type: array title: Edge Order description: The ids of outgoing edges in the order they should be evaluated. type: object required: - transfer_destination title: WorkflowPhoneNumberNodeModel WebhookToolApiSchemaConfig-Input: properties: request_headers: additionalProperties: anyOf: - type: string - $ref: '#/components/schemas/ConvAISecretLocator' - $ref: '#/components/schemas/ConvAIDynamicVariable' - $ref: '#/components/schemas/ConvAIEnvVarLocator' type: object title: Request Headers description: Headers that should be included in the request url: type: string title: Url description: The URL that the webhook will be sent to. May include path parameters, e.g. https://example.com/agents/{agent_id} method: type: string enum: - GET - POST - PUT - PATCH - DELETE title: Method description: The HTTP method to use for the webhook default: GET path_params_schema: additionalProperties: $ref: '#/components/schemas/LiteralJsonSchemaProperty' type: object title: Path Params Schema description: Schema for path parameters, if any. The keys should match the placeholders in the URL. query_params_schema: anyOf: - $ref: '#/components/schemas/QueryParamsJsonSchema-Input' - type: 'null' description: 'Schema for any query params, if any. These will be added to end of the URL as query params. Note: properties in a query param must all be literal types' request_body_schema: anyOf: - $ref: '#/components/schemas/ObjectJsonSchemaProperty-Input' description: JSON schema for the parameters the LLM provides. - type: 'null' description: Schema for the body parameters, if any. Used for POST/PATCH/PUT requests. The schema should be an object which will be sent as the json body response_body_schema: anyOf: - $ref: '#/components/schemas/ObjectJsonSchemaProperty-Input' - type: 'null' description: Schema describing the expected response body structure. For documentation only; not surfaced to the LLM. response_filter: anyOf: - $ref: '#/components/schemas/ResponseFilter' - type: 'null' description: Optional allow-list filter applied to the response before the LLM sees it, so large responses don't pollute the context. Defaults to the full response. content_type: type: string enum: - application/json - application/x-www-form-urlencoded title: Content Type description: Content type for the request body. Only applies to POST/PUT/PATCH requests. default: application/json auth_resolved_params: items: type: string type: array uniqueItems: true title: Auth Resolved Params description: URL placeholders resolved from the auth connection (e.g. secrets injected via UrlSecretAuthConnection) rather than from path_params_schema. auth_connection: anyOf: - $ref: '#/components/schemas/AuthConnectionLocator' - $ref: '#/components/schemas/EnvironmentAuthConnectionLocator' - type: 'null' title: Auth Connection description: Optional auth connection to use for authentication with this webhook type: object required: - url title: WebhookToolApiSchemaConfig example: method: GET path_params_schema: agent_id: type: string query_params_schema: param1: type: string request_body_schema: param1: type: string request_headers: Authorization: Bearer {api_key} url: https://example.com/agents/{agent_id} SoftTimeoutConfig: properties: timeout_seconds: type: number title: Timeout Seconds description: Time in seconds before showing the predefined message while waiting for LLM response. Set to -1 to disable. default: -1.0 message: type: string maxLength: 200 minLength: 1 title: Message description: Message to show when the first soft timeout is reached while waiting for LLM response. Supports dynamic variables (e.g., {{system__time}}, {{custom_variable}}). default: Hhmmmm...yeah. x-convai-client-override: true x-convai-language-override: true additional_soft_timeout_messages: items: type: string type: array maxItems: 7 title: Additional Soft Timeout Messages description: Extra static filler messages for subsequent soft timeouts in the same LLM generation. The first timeout uses `message`. If fewer messages are configured than `max_soft_timeouts_per_generation`, the last configured message is repeated; otherwise a built-in filler is used. x-convai-client-override: true x-convai-language-override: true use_llm_generated_message: type: boolean title: Use Llm Generated Message description: If enabled, the soft timeout message will be generated dynamically instead of using the static message. default: false randomize_fillers: type: boolean title: Randomize Fillers description: If enabled, shuffle the order of static soft timeout messages once at the start of each turn. Only applies when use_llm_generated_message is false. default: false max_soft_timeouts_per_generation: type: integer maximum: 8.0 minimum: 1.0 title: Max Soft Timeouts Per Generation description: Maximum filler messages while waiting for a single LLM response. Fires every timeout_seconds until the LLM streams content or this limit is reached. default: 1 llm_generated_message_prompt_override: anyOf: - type: string maxLength: 1000 minLength: 1 - type: 'null' title: Llm Generated Message Prompt Override description: Custom prompt for generating the soft timeout filler message when use_llm_generated_message is enabled. Recent conversation context is provided as a separate user message. If not set, the default prompt will be used. Supports dynamic variables (e.g., {{system__time}}, {{custom_variable}}). examples: - Output a SHORT neutral filler phrase (1-4 words MAX) acknowledging you heard the user. disable_until_first_user_message: type: boolean title: Disable Until First User Message description: When true, soft timeout fillers are suppressed until the conversation has at least one real user message. Prevents fillers during the agent's opening turn (e.g. workflow generate-immediately / tool calls before the user speaks). default: false type: object title: SoftTimeoutConfig description: Configuration for soft timeout functionality during LLM response generation. example: message: Hhmmmm...yeah. timeout_seconds: 2.0 use_llm_generated_message: false ProcedureDraftRef: properties: procedure_id: type: string title: Procedure Id description: Procedure ID version_id: type: 'null' title: Version Id type: object required: - procedure_id title: ProcedureDraftRef IntegrationType: type: string enum: - mcp_server - mcp_integration title: IntegrationType AgentFailureResponseExample: properties: response: type: string title: Response type: type: string const: failure title: Type type: object required: - response - type title: AgentFailureResponseExample AuthSettings: properties: enable_auth: type: boolean title: Enable Auth description: If set to true, starting a conversation with an agent will require a signed token default: false allowlist: items: $ref: '#/components/schemas/AllowlistItem' type: array title: Allowlist description: A list of hosts that are allowed to start conversations with the agent require_origin_header: type: boolean title: Require Origin Header description: When enabled, connections with no origin header will be rejected. If the allowlist is empty, this option has no effect. default: false shareable_token: anyOf: - type: string - type: 'null' title: Shareable Token description: A shareable token that can be used to start a conversation with the agent type: object title: AuthSettings example: allowlist: - hostname: https://example.com enable_auth: true require_origin_header: true shareable_token: '1234567890' ToolCallSoundBehavior: type: string enum: - auto - always title: ToolCallSoundBehavior description: Determines how the tool call sound should be played. default: auto ConvAIDynamicVariable: properties: variable_name: type: string title: Variable Name type: object required: - variable_name title: ConvAIDynamicVariable description: Used to reference a dynamic variable.