> ## Documentation Index
> Fetch the complete documentation index at: https://docs.closerx.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Agent

> Updates the configuration of an existing AI call agent or LLM by its ID



## OpenAPI

````yaml PATCH /agent-llm/
openapi: 3.1.0
info:
  title: CloserX.ai API
  description: >-
    The CloserX.ai API provides programmatic access to manage AI-powered calling
    operations, including agent creation, campaign management, contact handling,
    telephony integration, and more. This API enables seamless automation and
    integration with CRM systems, telephony providers, and other third-party
    services for enhanced client communication and business operations.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://app.closerx.ai/api
security:
  - api_key: []
paths:
  /agent-llm/:
    patch:
      description: Updates the configuration of an existing AI call agent or LLM by its ID
      parameters:
        - name: Company-Name
          in: header
          description: The name of the schema to be used for the request
          required: true
          schema:
            type: string
        - name: request_for
          in: query
          description: Specifies whether the request is for an agent or LLM
          required: true
          schema:
            type: string
            enum:
              - agent
              - llm
            example: agent
        - name: pk
          in: query
          description: Unique identifier for the AI call agent or LLM to be updated
          required: true
          schema:
            type: number
            example: 12
      requestBody:
        description: Configuration details to update for the AI call agent or LLM
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAgentAndLLMRequest'
        required: true
      responses:
        '200':
          description: AI call agent or LLM update response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateAgentAndLLMResponse'
        '400':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    UpdateAgentAndLLMRequest:
      type: object
      oneOf:
        - properties:
            agent:
              type: object
              properties:
                agent_name:
                  type: string
                  description: The name of the agent, used for reference.
                  nullable: true
                  example: Jarvis
                voice_id:
                  type: string
                  description: Unique voice ID used for the agent.
                  example: 11labs-Adrian
                voice_temperature:
                  type: number
                  minimum: 0
                  maximum: 2
                  description: >-
                    Controls voice stability for ElevenLabs voices. Lower is
                    more stable, higher is more variant. Defaults to 1.
                  example: 1
                voice_speed:
                  type: number
                  minimum: 0.5
                  maximum: 2
                  description: >-
                    Controls voice speed. Lower is slower, higher is faster.
                    Defaults to 1.
                  example: 1
                volume:
                  type: number
                  minimum: 0
                  maximum: 2
                  description: >-
                    Controls agent volume. Lower is quieter, higher is louder.
                    Defaults to 1.
                  example: 1
                responsiveness:
                  type: number
                  minimum: 0
                  maximum: 1
                  description: >-
                    Controls agent responsiveness. Lower is slower, higher is
                    faster. Defaults to 1.
                  example: 1
                interruption_sensitivity:
                  type: number
                  minimum: 0
                  maximum: 1
                  description: >-
                    Controls sensitivity to user interruptions. Lower is harder
                    to interrupt, higher is easier. Defaults to 1.
                  example: 1
                pronunciation_dictionary:
                  type: array
                  description: >-
                    A list of words/phrases and their pronunciation to guide
                    audio synthesis. Currently only supported for English &
                    11labs voices. Set to null to remove.
                  items:
                    type: object
                    properties:
                      word:
                        type: string
                        description: >-
                          The string of word/phrase to be annotated with
                          pronunciation.
                        example: actually
                      alphabet:
                        type: string
                        description: The phonetic alphabet to be used for pronunciation.
                        enum:
                          - cmu
                          - ipa
                      phoneme:
                        type: string
                        description: >-
                          Pronunciation of the word in the format of IPA/CMU
                          pronunciation.
                        example: ˈæktʃuəli
                  nullable: true
                enable_backchannel:
                  type: boolean
                  description: >-
                    Enables backchannel responses (e.g., 'yeah', 'uh-huh').
                    Defaults to false.
                  example: true
                backchannel_frequency:
                  type: number
                  minimum: 0
                  maximum: 1
                  description: >-
                    Controls backchannel frequency when enabled. Lower is less
                    frequent, higher is more frequent. Defaults to 0.8.
                  example: 0.9
                backchannel_words:
                  type: array
                  items:
                    type: string
                  description: List of backchannel words. Defaults apply if not set.
                  nullable: true
                  example:
                    - yeah
                    - uh-huh
                vocab_specialization:
                  type: string
                  enum:
                    - general
                    - medical
                  description: >-
                    Vocabulary set for transcription (English only). Defaults to
                    general.
                  example: general
                allow_user_dtmf:
                  type: boolean
                  description: >-
                    If set to true, DTMF input will be accepted and processed.
                    If false, any DTMF input will be ignored. Default to true.
                  example: true
                user_dtmf_options:
                  type: object
                  description: DTMF options for the agent.
                  properties:
                    digit_limit:
                      type: number
                      description: >-
                        The maximum number of digits allowed in the user's DTMF
                        input per turn.
                    timeout_ms:
                      type: number
                      description: >-
                        The time (in milliseconds) to wait for user DTMF input
                        before timing out.
                    termination_key:
                      type: string
                      description: >-
                        A single key that signals the end of DTMF input (0–9, #,
                        *).
                  nullable: true
                denoising_mode:
                  type: string
                  enum:
                    - noise-cancellation
                    - noise-and-background-speech-cancellation
                  description: Denoising mode for audio. Defaults to noise-cancellation.
                  example: noise-cancellation
                reminder_trigger_ms:
                  type: number
                  minimum: 0
                  description: >-
                    Triggers reminder after user silence duration (ms). Defaults
                    to 10000.
                  example: 10000
                reminder_max_count:
                  type: integer
                  minimum: 0
                  description: >-
                    Maximum number of reminders for unresponsive user. Defaults
                    to 1.
                  example: 2
                ambient_sound:
                  type: string
                  enum:
                    - coffee-shop
                    - convention-hall
                    - summer-outdoor
                    - mountain-outdoor
                    - static-noise
                    - call-center
                  description: >-
                    Ambient sound for realistic call experience. Set to null to
                    remove.
                  nullable: true
                ambient_sound_volume:
                  type: number
                  minimum: 0
                  maximum: 2
                  description: >-
                    Controls ambient sound volume. Lower is quieter, higher is
                    louder. Defaults to 1.
                  example: 1
                language:
                  type: string
                  enum:
                    - en-US
                    - en-IN
                    - en-GB
                    - en-AU
                    - en-NZ
                    - de-DE
                    - es-ES
                    - es-419
                    - hi-IN
                    - fr-FR
                    - fr-CA
                    - ja-JP
                    - pt-PT
                    - pt-BR
                    - zh-CN
                    - ru-RU
                    - it-IT
                    - ko-KR
                    - nl-NL
                    - nl-BE
                    - pl-PL
                    - tr-TR
                    - th-TH
                    - vi-VN
                    - ro-RO
                    - bg-BG
                    - ca-ES
                    - da-DK
                    - fi-FI
                    - el-GR
                    - hu-HU
                    - id-ID
                    - no-NO
                    - sk-SK
                    - sv-SE
                    - multi
                  description: >-
                    Language and dialect for speech recognition. Defaults to
                    en-US.
                  example: en-US
                boosted_keywords:
                  type: array
                  items:
                    type: string
                  description: Keywords to bias transcriber model. Set to null to remove.
                  nullable: true
                  example:
                    - aicall
                    - kroger
                normalize_for_speech:
                  type: boolean
                  description: Normalizes text to spoken form for consistent synthesis.
                  example: true
                end_call_after_silence_ms:
                  type: integer
                  minimum: 10000
                  description: >-
                    Ends call after user silence duration (ms). Defaults to
                    600000.
                  example: 600000
                max_call_duration_ms:
                  type: integer
                  minimum: 60000
                  maximum: 7200000
                  description: Maximum call duration (ms). Defaults to 3600000.
                  example: 3600000
                voicemail_option:
                  type: object
                  description: Voicemail detection settings. Set to null to disable.
                  nullable: true
                  properties:
                    action:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Type of voicemail action (e.g., static_text,
                            hangup).
                          example: static_text
                        text:
                          type: string
                          description: Text for voicemail prompt, if applicable.
                          example: Please give us a callback tomorrow at 10am.
                analysis_data:
                  type: array
                  items:
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            const: string
                            description: >-
                              The data type of the analysis field, set to
                              string.
                          name:
                            type: string
                            description: The name of the analysis field.
                            examples:
                              - sentiment
                              - key_topic
                              - action_item
                          description:
                            type: string
                            description: >-
                              A description of what the analysis field
                              represents.
                            examples:
                              - Sentiment of the call
                              - Key topic discussed
                              - Action item assigned
                          examples:
                            type: array
                            items:
                              type: string
                            description: Example values for the analysis field.
                            nullable: true
                            examples:
                              - - happy customer
                                - urgent issue
                              - - pricing
                                - product feedback
                              - - follow-up call
                                - send email
                        required:
                          - type
                          - name
                          - description
                      - type: object
                        properties:
                          type:
                            type: string
                            const: enum
                            description: The data type of the analysis field, set to enum.
                          name:
                            type: string
                            description: The name of the analysis field.
                            examples:
                              - sentiment
                              - status
                              - priority
                          description:
                            type: string
                            description: >-
                              A description of what the analysis field
                              represents.
                            examples:
                              - Sentiment of the call
                              - Status of the call
                              - Priority level
                          choices:
                            type: array
                            items:
                              type: string
                            description: Possible values for the analysis field.
                            nullable: true
                            examples:
                              - - positive
                                - negative
                                - neutral
                              - - successful
                                - unsuccessful
                                - pending
                              - - high
                                - medium
                                - low
                        required:
                          - type
                          - name
                          - description
                      - type: object
                        properties:
                          type:
                            type: string
                            const: boolean
                            description: >-
                              The data type of the analysis field, set to
                              boolean.
                          name:
                            type: string
                            description: The name of the analysis field.
                            examples:
                              - is_urgent
                              - is_resolved
                          description:
                            type: string
                            description: >-
                              A description of what the analysis field
                              represents.
                            examples:
                              - Whether the issue is urgent
                              - Whether the issue is resolved
                        required:
                          - type
                          - name
                          - description
                      - type: object
                        properties:
                          type:
                            type: string
                            const: number
                            description: >-
                              The data type of the analysis field, set to
                              number.
                          name:
                            type: string
                            description: The name of the analysis field.
                            examples:
                              - call_duration
                              - customer_rating
                          description:
                            type: string
                            description: >-
                              A description of what the analysis field
                              represents.
                            examples:
                              - Duration of the call in minutes
                              - Customer satisfaction rating
                        required:
                          - type
                          - name
                          - description
                    description: Configuration for a single post-call analysis field.
                  description: >-
                    Additional data to extract post-call. Available after call
                    ends.
                  nullable: true
                ring_duration_ms:
                  type: integer
                  minimum: 5000
                  maximum: 90000
                  description: Ring duration for calls (ms). Defaults to 30000.
                  example: 30000
          required:
            - agent
        - properties:
            llm:
              type: object
              properties:
                model:
                  type: string
                  enum:
                    - gpt-4o
                    - gpt-4o-mini
                    - gpt-4.1
                    - gpt-4.1-mini
                    - gpt-4.1-nano
                    - claude-3.7-sonnet
                    - claude-3.5-haiku
                    - gemini-2.0-flash
                    - gemini-2.0-flash-lite
                  nullable: true
                  description: >-
                    Select the underlying text LLM. If not set, defaults to
                    gpt-4o.
                s2s_model:
                  type: string
                  enum:
                    - gpt-4o-realtime
                    - gpt-4o-mini-realtime
                  nullable: true
                  description: >-
                    Select the underlying speech-to-speech model. Can only set
                    this or model, not both.
                model_temperature:
                  type: number
                  format: float
                  minimum: 0
                  maximum: 1
                  description: >-
                    Controls randomness of the response. Lower values are more
                    deterministic, higher values are more random. Defaults to 0
                    if unset.
                model_high_priority:
                  type: boolean
                  description: >-
                    Enables fast tier with high priority pool for lower latency.
                    Defaults to false.
                general_prompt:
                  type: string
                  nullable: true
                  description: >-
                    General prompt appended to system prompt regardless of agent
                    state.
                general_tools:
                  type: array
                  items:
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            const: end_call
                            description: The tool type to end the call.
                          name:
                            type: string
                            description: The name of the tool.
                            example: end_call
                          description:
                            type: string
                            description: A description of what the tool does.
                            example: Terminates the ongoing call.
                        required:
                          - type
                          - name
                          - description
                      - type: object
                        properties:
                          type:
                            type: string
                            const: call_transfer
                            description: The tool type to transfer the call.
                          name:
                            type: string
                            description: The name of the tool, must not contain spaces.
                            example: transfer_call1
                            pattern: ^[^\s]+$
                          description:
                            type: string
                            description: A description of what the tool does.
                            example: Transfers the call to another agent or number.
                          transfer_destination:
                            type: object
                            oneOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    const: predefined
                                    description: >-
                                      Indicates a predefined phone number for
                                      transfer.
                                  number:
                                    type: string
                                    description: >-
                                      The phone number to transfer the call to
                                      in E.164 format.
                                    example: '+911111111111'
                                    pattern: ^\+[1-9]\d{1,14}$
                                required:
                                  - type
                                  - number
                                description: >-
                                  Details for transferring to a predefined
                                  number.
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    const: inferred
                                    description: >-
                                      Indicates dynamic routing for call
                                      transfer.
                                  prompt:
                                    type: string
                                    description: >-
                                      The prompt to determine the transfer
                                      destination.
                                    example: >-
                                      If the user wants to reach support,
                                      transfer to +1 (925) 222-4452; if the user
                                      wants to reach sales, transfer to +1 (925)
                                      1111-3444
                                required:
                                  - type
                                  - prompt
                                description: >-
                                  Details for dynamically determining the
                                  transfer destination.
                            description: The destination details for the call transfer.
                            nullable: true
                          transfer_option:
                            type: object
                            oneOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    const: cold_transfer
                                    description: Indicates a cold transfer.
                                  show_transferee_as_caller:
                                    type: boolean
                                    description: >-
                                      Whether to display the transferee's number
                                      as the caller ID.
                                    example: false
                                  agent_detection_timeout_ms:
                                    type: number
                                    description: >-
                                      Time in milliseconds to wait before
                                      considering the transfer failed.
                                    example: 5000
                                    minimum: 10000
                                    maximum: 300000
                                  on_hold_music:
                                    type: string
                                    description: >-
                                      Music to play while the caller is being
                                      transferred.
                                    enum:
                                      - none
                                      - ringtone
                                      - relaxing_sound
                                      - uplifting_beats
                                    example: none
                                  opt_out_human_detection:
                                    type: boolean
                                    description: >-
                                      Whether to skip human detection for the
                                      transfer.
                                    example: false
                                  opt_out_initial_message:
                                    type: boolean
                                    description: >-
                                      Whether to skip the AI saying 'Hello'
                                      after connecting the call.
                                    example: false
                                required:
                                  - type
                                  - show_transferee_as_caller
                                  - agent_detection_timeout_ms
                                  - on_hold_music
                                  - opt_out_human_detection
                                  - opt_out_initial_message
                                description: Options for cold transfer.
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    const: warm_transfer
                                    description: Indicates a warm transfer.
                                  public_handoff_option:
                                    type: object
                                    oneOf:
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: prompt
                                            description: Indicates a prompt-based handoff.
                                          prompt:
                                            type: string
                                            description: >-
                                              The prompt for the warm transfer public
                                              handoff.
                                            example: >-
                                              Please hold while I connect you to the
                                              support team.
                                        required:
                                          - type
                                          - prompt
                                        description: >-
                                          Prompt-based public handoff for warm
                                          transfer.
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: static_message
                                            description: Indicates a static message handoff.
                                          message:
                                            type: string
                                            description: >-
                                              The static message for the warm transfer
                                              public handoff.
                                            example: Transferring your call now.
                                        required:
                                          - type
                                          - message
                                        description: >-
                                          Static message public handoff for warm
                                          transfer.
                                    description: Public handoff options for warm transfer.
                                  private_handoff_option:
                                    type: object
                                    oneOf:
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: prompt
                                            description: >-
                                              Indicates a prompt-based private
                                              handoff.
                                          prompt:
                                            type: string
                                            description: >-
                                              The prompt for the warm transfer private
                                              handoff.
                                            example: >-
                                              This is a call regarding a support
                                              issue.
                                        required:
                                          - type
                                          - prompt
                                        description: >-
                                          Prompt-based private handoff for warm
                                          transfer.
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: static_message
                                            description: >-
                                              Indicates a static message private
                                              handoff.
                                          message:
                                            type: string
                                            description: >-
                                              The static message for the warm transfer
                                              private handoff.
                                            example: Support call incoming.
                                        required:
                                          - type
                                          - message
                                        description: >-
                                          Static message private handoff for warm
                                          transfer.
                                    description: Private handoff options for warm transfer.
                                  agent_detection_timeout_ms:
                                    type: number
                                    description: >-
                                      Time in milliseconds to wait before
                                      considering the transfer failed.
                                    example: 5000
                                    minimum: 10000
                                    maximum: 300000
                                  on_hold_music:
                                    type: string
                                    description: >-
                                      Music to play while the caller is being
                                      transferred.
                                    enum:
                                      - none
                                      - ringtone
                                      - relaxing_sound
                                      - uplifting_beats
                                    example: none
                                  opt_out_human_detection:
                                    type: boolean
                                    description: >-
                                      Whether to skip human detection for the
                                      transfer.
                                    example: false
                                  opt_out_initial_message:
                                    type: boolean
                                    description: >-
                                      Whether to skip the AI saying 'Hello'
                                      after connecting the call.
                                    example: false
                                required:
                                  - type
                                  - public_handoff_option
                                  - private_handoff_option
                                  - agent_detection_timeout_ms
                                  - on_hold_music
                                  - opt_out_human_detection
                                  - opt_out_initial_message
                                description: Options for warm transfer.
                            description: Options for the call transfer type.
                            nullable: true
                        required:
                          - type
                          - name
                          - description
                          - transfer_destination
                          - transfer_option
                      - type: object
                        properties:
                          type:
                            type: string
                            const: book_appointment_cal
                            description: >-
                              The tool type to book an appointment in the
                              calendar.
                          name:
                            type: string
                            description: The name of the tool.
                            example: Book_Calendar
                          description:
                            type: string
                            description: A description of what the tool does.
                            example: Book Calendar Availability
                          cal_api_key:
                            type: string
                            description: The Cal.com API key for accessing the calendar.
                            example: cal_api_1234567890
                          event_type_id:
                            type: integer
                            description: The ID of the event type to book in the calendar.
                            example: 12345
                          timezone:
                            type: string
                            description: The timezone for the appointment.
                            example: America/Los_Angeles
                        required:
                          - type
                          - name
                          - description
                          - cal_api_key
                          - event_type_id
                          - timezone
                      - type: object
                        properties:
                          type:
                            type: string
                            const: check_availability_cal
                            description: The tool type to check calendar availability.
                          name:
                            type: string
                            description: The name of the tool.
                            example: check_availability
                          description:
                            type: string
                            description: A description of what the tool does.
                            example: Checks available time slots in the calendar.
                          parameters:
                            type: object
                            properties:
                              cal_api_key:
                                type: string
                                description: >-
                                  The Cal.com API key for accessing the
                                  calendar.
                                example: cal_api_1234567890
                              event_type_id:
                                type: integer
                                description: >-
                                  The ID of the event type to check for
                                  availability.
                                example: 12345
                              date:
                                type: string
                                format: date
                                description: The date to check for availability.
                                example: '2025-08-15'
                              timezone:
                                type: string
                                description: The timezone for the availability check.
                                example: America/Los_Angeles
                            required:
                              - cal_api_key
                              - event_type_id
                              - date
                              - timezone
                        required:
                          - type
                          - name
                          - description
                          - parameters
                      - type: object
                        properties:
                          type:
                            type: string
                            const: press_digit
                            description: The tool type to press a digit during a call.
                          name:
                            type: string
                            description: The name of the tool.
                            example: press_digit
                          description:
                            type: string
                            description: A description of what the tool does.
                            example: Simulates pressing a digit on the phone keypad.
                          parameters:
                            type: object
                            properties:
                              digit:
                                type: string
                                description: 'The digit to press (0-9, *, #).'
                                example: '1'
                            required:
                              - digit
                            nullable: true
                        required:
                          - type
                          - name
                          - description
                      - type: object
                        properties:
                          type:
                            type: string
                            const: agent_swap
                            description: The tool type to swap to another agent.
                          name:
                            type: string
                            description: The name of the tool.
                            example: agent_transfer
                          description:
                            type: string
                            description: A description of what the tool does.
                            example: Swaps the current agent with another agent.
                          agent_id:
                            type: string
                            description: The ID of the agent to swap to.
                            example: agent_456
                          execution_message_description:
                            type: string
                            description: >-
                              The message to be spoken during the agent swap
                              execution, if enabled.
                            example: Please hold while I transfer you to another agent.
                            nullable: true
                          post_call_analysis_setting:
                            type: string
                            enum:
                              - both_agents
                              - only_destination_agent
                            description: >-
                              Determines which agents are included in post-call
                              analysis.
                            example: both_agents
                          speak_during_execution:
                            type: boolean
                            description: >-
                              Whether to speak the execution message during the
                              agent swap.
                            example: true
                        required:
                          - type
                          - name
                          - description
                          - agent_id
                          - post_call_analysis_setting
                          - speak_during_execution
                      - type: object
                        properties:
                          type:
                            type: string
                            const: extract_dynamic_variable
                            description: The tool type to extract dynamic variables.
                          name:
                            type: string
                            description: >-
                              Name of the tool. Must be unique, consist of a-z,
                              A-Z, 0-9, underscores, or dashes, max length 64,
                              no spaces.
                          description:
                            type: string
                            description: >-
                              Describes what the tool does, including when to
                              call it.
                          variables:
                            type: array
                            items:
                              oneOf:
                                - type: object
                                  properties:
                                    type:
                                      type: string
                                      const: string
                                      description: >-
                                        The data type of the analysis field, set
                                        to string.
                                    name:
                                      type: string
                                      description: The name of the analysis field.
                                      examples:
                                        - sentiment
                                        - key_topic
                                        - action_item
                                    description:
                                      type: string
                                      description: >-
                                        A description of what the analysis field
                                        represents.
                                      examples:
                                        - Sentiment of the call
                                        - Key topic discussed
                                        - Action item assigned
                                    examples:
                                      type: array
                                      items:
                                        type: string
                                      description: Example values for the analysis field.
                                      nullable: true
                                      examples:
                                        - - happy customer
                                          - urgent issue
                                        - - pricing
                                          - product feedback
                                        - - follow-up call
                                          - send email
                                  required:
                                    - type
                                    - name
                                    - description
                                - type: object
                                  properties:
                                    type:
                                      type: string
                                      const: enum
                                      description: >-
                                        The data type of the analysis field, set
                                        to enum.
                                    name:
                                      type: string
                                      description: The name of the analysis field.
                                      examples:
                                        - sentiment
                                        - status
                                        - priority
                                    description:
                                      type: string
                                      description: >-
                                        A description of what the analysis field
                                        represents.
                                      examples:
                                        - Sentiment of the call
                                        - Status of the call
                                        - Priority level
                                    choices:
                                      type: array
                                      items:
                                        type: string
                                      description: Possible values for the analysis field.
                                      nullable: true
                                      examples:
                                        - - positive
                                          - negative
                                          - neutral
                                        - - successful
                                          - unsuccessful
                                          - pending
                                        - - high
                                          - medium
                                          - low
                                  required:
                                    - type
                                    - name
                                    - description
                                - type: object
                                  properties:
                                    type:
                                      type: string
                                      const: boolean
                                      description: >-
                                        The data type of the analysis field, set
                                        to boolean.
                                    name:
                                      type: string
                                      description: The name of the analysis field.
                                      examples:
                                        - is_urgent
                                        - is_resolved
                                    description:
                                      type: string
                                      description: >-
                                        A description of what the analysis field
                                        represents.
                                      examples:
                                        - Whether the issue is urgent
                                        - Whether the issue is resolved
                                  required:
                                    - type
                                    - name
                                    - description
                                - type: object
                                  properties:
                                    type:
                                      type: string
                                      const: number
                                      description: >-
                                        The data type of the analysis field, set
                                        to number.
                                    name:
                                      type: string
                                      description: The name of the analysis field.
                                      examples:
                                        - call_duration
                                        - customer_rating
                                    description:
                                      type: string
                                      description: >-
                                        A description of what the analysis field
                                        represents.
                                      examples:
                                        - Duration of the call in minutes
                                        - Customer satisfaction rating
                                  required:
                                    - type
                                    - name
                                    - description
                        required:
                          - type
                          - name
                          - description
                          - variables
                      - type: object
                        properties:
                          type:
                            type: string
                            const: mcp
                            description: The tool type for MCP.
                          name:
                            type: string
                            description: Name of the MCP tool.
                          description:
                            type: string
                            description: Description of the MCP tool.
                          mcp_id:
                            type: string
                            description: Unique ID of the MCP.
                          input_schema:
                            type: object
                            description: The input schema of the MCP tool.
                            additionalProperties:
                              type: string
                            child_attributes_hidden: true
                        required:
                          - type
                          - name
                          - description
                          - mcp_id
                          - input_schema
                    description: Configuration for a single tool available to the model.
                  description: >-
                    List of tools the model may call (e.g., end call, transfer
                    call, or custom tools).
                  nullable: true
                begin_message:
                  type: string
                  nullable: true
                  description: >-
                    First utterance said by the agent. If empty, agent waits for
                    user to speak. If not set, LLM generates dynamically.
          required:
            - llm
    UpdateAgentAndLLMResponse:
      type: object
      oneOf:
        - properties:
            agent:
              type: object
              properties:
                agent_name:
                  type: string
                  description: The name of the agent, used for reference.
                  nullable: true
                  example: Jarvis
                voice_id:
                  type: string
                  description: Unique voice ID used for the agent.
                  example: 11labs-Adrian
                voice_temperature:
                  type: number
                  minimum: 0
                  maximum: 2
                  description: >-
                    Controls voice stability for ElevenLabs voices. Lower is
                    more stable, higher is more variant. Defaults to 1.
                  example: 1
                voice_speed:
                  type: number
                  minimum: 0.5
                  maximum: 2
                  description: >-
                    Controls voice speed. Lower is slower, higher is faster.
                    Defaults to 1.
                  example: 1
                volume:
                  type: number
                  minimum: 0
                  maximum: 2
                  description: >-
                    Controls agent volume. Lower is quieter, higher is louder.
                    Defaults to 1.
                  example: 1
                responsiveness:
                  type: number
                  minimum: 0
                  maximum: 1
                  description: >-
                    Controls agent responsiveness. Lower is slower, higher is
                    faster. Defaults to 1.
                  example: 1
                interruption_sensitivity:
                  type: number
                  minimum: 0
                  maximum: 1
                  description: >-
                    Controls sensitivity to user interruptions. Lower is harder
                    to interrupt, higher is easier. Defaults to 1.
                  example: 1
                pronunciation_dictionary:
                  type: array
                  description: >-
                    A list of words/phrases and their pronunciation to guide
                    audio synthesis. Currently only supported for English &
                    11labs voices. Set to null to remove.
                  items:
                    type: object
                    properties:
                      word:
                        type: string
                        description: >-
                          The string of word/phrase to be annotated with
                          pronunciation.
                        example: actually
                      alphabet:
                        type: string
                        description: The phonetic alphabet to be used for pronunciation.
                        enum:
                          - cmu
                          - ipa
                      phoneme:
                        type: string
                        description: >-
                          Pronunciation of the word in the format of IPA/CMU
                          pronunciation.
                        example: ˈæktʃuəli
                  nullable: true
                enable_backchannel:
                  type: boolean
                  description: >-
                    Enables backchannel responses (e.g., 'yeah', 'uh-huh').
                    Defaults to false.
                  example: true
                backchannel_frequency:
                  type: number
                  minimum: 0
                  maximum: 1
                  description: >-
                    Controls backchannel frequency when enabled. Lower is less
                    frequent, higher is more frequent. Defaults to 0.8.
                  example: 0.9
                backchannel_words:
                  type: array
                  items:
                    type: string
                  description: List of backchannel words. Defaults apply if not set.
                  nullable: true
                  example:
                    - yeah
                    - uh-huh
                vocab_specialization:
                  type: string
                  enum:
                    - general
                    - medical
                  description: >-
                    Vocabulary set for transcription (English only). Defaults to
                    general.
                  example: general
                allow_user_dtmf:
                  type: boolean
                  description: >-
                    If set to true, DTMF input will be accepted and processed.
                    If false, any DTMF input will be ignored. Default to true.
                  example: true
                user_dtmf_options:
                  type: object
                  description: DTMF options for the agent.
                  properties:
                    digit_limit:
                      type: number
                      description: >-
                        The maximum number of digits allowed in the user's DTMF
                        input per turn.
                    timeout_ms:
                      type: number
                      description: >-
                        The time (in milliseconds) to wait for user DTMF input
                        before timing out.
                    termination_key:
                      type: string
                      description: >-
                        A single key that signals the end of DTMF input (0–9, #,
                        *).
                  nullable: true
                denoising_mode:
                  type: string
                  enum:
                    - noise-cancellation
                    - noise-and-background-speech-cancellation
                  description: Denoising mode for audio. Defaults to noise-cancellation.
                  example: noise-cancellation
                reminder_trigger_ms:
                  type: number
                  minimum: 0
                  description: >-
                    Triggers reminder after user silence duration (ms). Defaults
                    to 10000.
                  example: 10000
                reminder_max_count:
                  type: integer
                  minimum: 0
                  description: >-
                    Maximum number of reminders for unresponsive user. Defaults
                    to 1.
                  example: 2
                ambient_sound:
                  type: string
                  enum:
                    - coffee-shop
                    - convention-hall
                    - summer-outdoor
                    - mountain-outdoor
                    - static-noise
                    - call-center
                  description: >-
                    Ambient sound for realistic call experience. Set to null to
                    remove.
                  nullable: true
                ambient_sound_volume:
                  type: number
                  minimum: 0
                  maximum: 2
                  description: >-
                    Controls ambient sound volume. Lower is quieter, higher is
                    louder. Defaults to 1.
                  example: 1
                language:
                  type: string
                  enum:
                    - en-US
                    - en-IN
                    - en-GB
                    - en-AU
                    - en-NZ
                    - de-DE
                    - es-ES
                    - es-419
                    - hi-IN
                    - fr-FR
                    - fr-CA
                    - ja-JP
                    - pt-PT
                    - pt-BR
                    - zh-CN
                    - ru-RU
                    - it-IT
                    - ko-KR
                    - nl-NL
                    - nl-BE
                    - pl-PL
                    - tr-TR
                    - th-TH
                    - vi-VN
                    - ro-RO
                    - bg-BG
                    - ca-ES
                    - da-DK
                    - fi-FI
                    - el-GR
                    - hu-HU
                    - id-ID
                    - no-NO
                    - sk-SK
                    - sv-SE
                    - multi
                  description: >-
                    Language and dialect for speech recognition. Defaults to
                    en-US.
                  example: en-US
                boosted_keywords:
                  type: array
                  items:
                    type: string
                  description: Keywords to bias transcriber model. Set to null to remove.
                  nullable: true
                  example:
                    - aicall
                    - kroger
                normalize_for_speech:
                  type: boolean
                  description: Normalizes text to spoken form for consistent synthesis.
                  example: true
                end_call_after_silence_ms:
                  type: integer
                  minimum: 10000
                  description: >-
                    Ends call after user silence duration (ms). Defaults to
                    600000.
                  example: 600000
                max_call_duration_ms:
                  type: integer
                  minimum: 60000
                  maximum: 7200000
                  description: Maximum call duration (ms). Defaults to 3600000.
                  example: 3600000
                voicemail_option:
                  type: object
                  description: Voicemail detection settings. Set to null to disable.
                  nullable: true
                  properties:
                    action:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Type of voicemail action (e.g., static_text,
                            hangup).
                          example: static_text
                        text:
                          type: string
                          description: Text for voicemail prompt, if applicable.
                          example: Please give us a callback tomorrow at 10am.
                analysis_data:
                  type: array
                  items:
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            const: string
                            description: >-
                              The data type of the analysis field, set to
                              string.
                          name:
                            type: string
                            description: The name of the analysis field.
                            examples:
                              - sentiment
                              - key_topic
                              - action_item
                          description:
                            type: string
                            description: >-
                              A description of what the analysis field
                              represents.
                            examples:
                              - Sentiment of the call
                              - Key topic discussed
                              - Action item assigned
                          examples:
                            type: array
                            items:
                              type: string
                            description: Example values for the analysis field.
                            nullable: true
                            examples:
                              - - happy customer
                                - urgent issue
                              - - pricing
                                - product feedback
                              - - follow-up call
                                - send email
                        required:
                          - type
                          - name
                          - description
                      - type: object
                        properties:
                          type:
                            type: string
                            const: enum
                            description: The data type of the analysis field, set to enum.
                          name:
                            type: string
                            description: The name of the analysis field.
                            examples:
                              - sentiment
                              - status
                              - priority
                          description:
                            type: string
                            description: >-
                              A description of what the analysis field
                              represents.
                            examples:
                              - Sentiment of the call
                              - Status of the call
                              - Priority level
                          choices:
                            type: array
                            items:
                              type: string
                            description: Possible values for the analysis field.
                            nullable: true
                            examples:
                              - - positive
                                - negative
                                - neutral
                              - - successful
                                - unsuccessful
                                - pending
                              - - high
                                - medium
                                - low
                        required:
                          - type
                          - name
                          - description
                      - type: object
                        properties:
                          type:
                            type: string
                            const: boolean
                            description: >-
                              The data type of the analysis field, set to
                              boolean.
                          name:
                            type: string
                            description: The name of the analysis field.
                            examples:
                              - is_urgent
                              - is_resolved
                          description:
                            type: string
                            description: >-
                              A description of what the analysis field
                              represents.
                            examples:
                              - Whether the issue is urgent
                              - Whether the issue is resolved
                        required:
                          - type
                          - name
                          - description
                      - type: object
                        properties:
                          type:
                            type: string
                            const: number
                            description: >-
                              The data type of the analysis field, set to
                              number.
                          name:
                            type: string
                            description: The name of the analysis field.
                            examples:
                              - call_duration
                              - customer_rating
                          description:
                            type: string
                            description: >-
                              A description of what the analysis field
                              represents.
                            examples:
                              - Duration of the call in minutes
                              - Customer satisfaction rating
                        required:
                          - type
                          - name
                          - description
                    description: Configuration for a single post-call analysis field.
                  description: >-
                    Additional data to extract post-call. Available after call
                    ends.
                  nullable: true
                ring_duration_ms:
                  type: integer
                  minimum: 5000
                  maximum: 90000
                  description: Ring duration for calls (ms). Defaults to 30000.
                  example: 30000
          required:
            - agent
        - properties:
            llm:
              type: object
              properties:
                model:
                  type: string
                  enum:
                    - gpt-4o
                    - gpt-4o-mini
                    - gpt-4.1
                    - gpt-4.1-mini
                    - gpt-4.1-nano
                    - claude-3.7-sonnet
                    - claude-3.5-haiku
                    - gemini-2.0-flash
                    - gemini-2.0-flash-lite
                  nullable: true
                  description: >-
                    Select the underlying text LLM. If not set, defaults to
                    gpt-4o.
                s2s_model:
                  type: string
                  enum:
                    - gpt-4o-realtime
                    - gpt-4o-mini-realtime
                  nullable: true
                  description: >-
                    Select the underlying speech-to-speech model. Can only set
                    this or model, not both.
                model_temperature:
                  type: number
                  format: float
                  minimum: 0
                  maximum: 1
                  description: >-
                    Controls randomness of the response. Lower values are more
                    deterministic, higher values are more random. Defaults to 0
                    if unset.
                model_high_priority:
                  type: boolean
                  description: >-
                    Enables fast tier with high priority pool for lower latency.
                    Defaults to false.
                general_prompt:
                  type: string
                  nullable: true
                  description: >-
                    General prompt appended to system prompt regardless of agent
                    state.
                general_tools:
                  type: array
                  items:
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            const: end_call
                            description: The tool type to end the call.
                          name:
                            type: string
                            description: The name of the tool.
                            example: end_call
                          description:
                            type: string
                            description: A description of what the tool does.
                            example: Terminates the ongoing call.
                        required:
                          - type
                          - name
                          - description
                      - type: object
                        properties:
                          type:
                            type: string
                            const: call_transfer
                            description: The tool type to transfer the call.
                          name:
                            type: string
                            description: The name of the tool, must not contain spaces.
                            example: transfer_call1
                            pattern: ^[^\s]+$
                          description:
                            type: string
                            description: A description of what the tool does.
                            example: Transfers the call to another agent or number.
                          transfer_destination:
                            type: object
                            oneOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    const: predefined
                                    description: >-
                                      Indicates a predefined phone number for
                                      transfer.
                                  number:
                                    type: string
                                    description: >-
                                      The phone number to transfer the call to
                                      in E.164 format.
                                    example: '+911111111111'
                                    pattern: ^\+[1-9]\d{1,14}$
                                required:
                                  - type
                                  - number
                                description: >-
                                  Details for transferring to a predefined
                                  number.
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    const: inferred
                                    description: >-
                                      Indicates dynamic routing for call
                                      transfer.
                                  prompt:
                                    type: string
                                    description: >-
                                      The prompt to determine the transfer
                                      destination.
                                    example: >-
                                      If the user wants to reach support,
                                      transfer to +1 (925) 222-4452; if the user
                                      wants to reach sales, transfer to +1 (925)
                                      1111-3444
                                required:
                                  - type
                                  - prompt
                                description: >-
                                  Details for dynamically determining the
                                  transfer destination.
                            description: The destination details for the call transfer.
                            nullable: true
                          transfer_option:
                            type: object
                            oneOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    const: cold_transfer
                                    description: Indicates a cold transfer.
                                  show_transferee_as_caller:
                                    type: boolean
                                    description: >-
                                      Whether to display the transferee's number
                                      as the caller ID.
                                    example: false
                                  agent_detection_timeout_ms:
                                    type: number
                                    description: >-
                                      Time in milliseconds to wait before
                                      considering the transfer failed.
                                    example: 5000
                                    minimum: 10000
                                    maximum: 300000
                                  on_hold_music:
                                    type: string
                                    description: >-
                                      Music to play while the caller is being
                                      transferred.
                                    enum:
                                      - none
                                      - ringtone
                                      - relaxing_sound
                                      - uplifting_beats
                                    example: none
                                  opt_out_human_detection:
                                    type: boolean
                                    description: >-
                                      Whether to skip human detection for the
                                      transfer.
                                    example: false
                                  opt_out_initial_message:
                                    type: boolean
                                    description: >-
                                      Whether to skip the AI saying 'Hello'
                                      after connecting the call.
                                    example: false
                                required:
                                  - type
                                  - show_transferee_as_caller
                                  - agent_detection_timeout_ms
                                  - on_hold_music
                                  - opt_out_human_detection
                                  - opt_out_initial_message
                                description: Options for cold transfer.
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    const: warm_transfer
                                    description: Indicates a warm transfer.
                                  public_handoff_option:
                                    type: object
                                    oneOf:
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: prompt
                                            description: Indicates a prompt-based handoff.
                                          prompt:
                                            type: string
                                            description: >-
                                              The prompt for the warm transfer public
                                              handoff.
                                            example: >-
                                              Please hold while I connect you to the
                                              support team.
                                        required:
                                          - type
                                          - prompt
                                        description: >-
                                          Prompt-based public handoff for warm
                                          transfer.
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: static_message
                                            description: Indicates a static message handoff.
                                          message:
                                            type: string
                                            description: >-
                                              The static message for the warm transfer
                                              public handoff.
                                            example: Transferring your call now.
                                        required:
                                          - type
                                          - message
                                        description: >-
                                          Static message public handoff for warm
                                          transfer.
                                    description: Public handoff options for warm transfer.
                                  private_handoff_option:
                                    type: object
                                    oneOf:
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: prompt
                                            description: >-
                                              Indicates a prompt-based private
                                              handoff.
                                          prompt:
                                            type: string
                                            description: >-
                                              The prompt for the warm transfer private
                                              handoff.
                                            example: >-
                                              This is a call regarding a support
                                              issue.
                                        required:
                                          - type
                                          - prompt
                                        description: >-
                                          Prompt-based private handoff for warm
                                          transfer.
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            const: static_message
                                            description: >-
                                              Indicates a static message private
                                              handoff.
                                          message:
                                            type: string
                                            description: >-
                                              The static message for the warm transfer
                                              private handoff.
                                            example: Support call incoming.
                                        required:
                                          - type
                                          - message
                                        description: >-
                                          Static message private handoff for warm
                                          transfer.
                                    description: Private handoff options for warm transfer.
                                  agent_detection_timeout_ms:
                                    type: number
                                    description: >-
                                      Time in milliseconds to wait before
                                      considering the transfer failed.
                                    example: 5000
                                    minimum: 10000
                                    maximum: 300000
                                  on_hold_music:
                                    type: string
                                    description: >-
                                      Music to play while the caller is being
                                      transferred.
                                    enum:
                                      - none
                                      - ringtone
                                      - relaxing_sound
                                      - uplifting_beats
                                    example: none
                                  opt_out_human_detection:
                                    type: boolean
                                    description: >-
                                      Whether to skip human detection for the
                                      transfer.
                                    example: false
                                  opt_out_initial_message:
                                    type: boolean
                                    description: >-
                                      Whether to skip the AI saying 'Hello'
                                      after connecting the call.
                                    example: false
                                required:
                                  - type
                                  - public_handoff_option
                                  - private_handoff_option
                                  - agent_detection_timeout_ms
                                  - on_hold_music
                                  - opt_out_human_detection
                                  - opt_out_initial_message
                                description: Options for warm transfer.
                            description: Options for the call transfer type.
                            nullable: true
                        required:
                          - type
                          - name
                          - description
                          - transfer_destination
                          - transfer_option
                      - type: object
                        properties:
                          type:
                            type: string
                            const: book_appointment_cal
                            description: >-
                              The tool type to book an appointment in the
                              calendar.
                          name:
                            type: string
                            description: The name of the tool.
                            example: Book_Calendar
                          description:
                            type: string
                            description: A description of what the tool does.
                            example: Book Calendar Availability
                          cal_api_key:
                            type: string
                            description: The Cal.com API key for accessing the calendar.
                            example: cal_api_1234567890
                          event_type_id:
                            type: integer
                            description: The ID of the event type to book in the calendar.
                            example: 12345
                          timezone:
                            type: string
                            description: The timezone for the appointment.
                            example: America/Los_Angeles
                        required:
                          - type
                          - name
                          - description
                          - cal_api_key
                          - event_type_id
                          - timezone
                      - type: object
                        properties:
                          type:
                            type: string
                            const: check_availability_cal
                            description: The tool type to check calendar availability.
                          name:
                            type: string
                            description: The name of the tool.
                            example: check_availability
                          description:
                            type: string
                            description: A description of what the tool does.
                            example: Checks available time slots in the calendar.
                          parameters:
                            type: object
                            properties:
                              cal_api_key:
                                type: string
                                description: >-
                                  The Cal.com API key for accessing the
                                  calendar.
                                example: cal_api_1234567890
                              event_type_id:
                                type: integer
                                description: >-
                                  The ID of the event type to check for
                                  availability.
                                example: 12345
                              date:
                                type: string
                                format: date
                                description: The date to check for availability.
                                example: '2025-08-15'
                              timezone:
                                type: string
                                description: The timezone for the availability check.
                                example: America/Los_Angeles
                            required:
                              - cal_api_key
                              - event_type_id
                              - date
                              - timezone
                        required:
                          - type
                          - name
                          - description
                          - parameters
                      - type: object
                        properties:
                          type:
                            type: string
                            const: press_digit
                            description: The tool type to press a digit during a call.
                          name:
                            type: string
                            description: The name of the tool.
                            example: press_digit
                          description:
                            type: string
                            description: A description of what the tool does.
                            example: Simulates pressing a digit on the phone keypad.
                          parameters:
                            type: object
                            properties:
                              digit:
                                type: string
                                description: 'The digit to press (0-9, *, #).'
                                example: '1'
                            required:
                              - digit
                            nullable: true
                        required:
                          - type
                          - name
                          - description
                      - type: object
                        properties:
                          type:
                            type: string
                            const: agent_swap
                            description: The tool type to swap to another agent.
                          name:
                            type: string
                            description: The name of the tool.
                            example: agent_transfer
                          description:
                            type: string
                            description: A description of what the tool does.
                            example: Swaps the current agent with another agent.
                          agent_id:
                            type: string
                            description: The ID of the agent to swap to.
                            example: agent_456
                          execution_message_description:
                            type: string
                            description: >-
                              The message to be spoken during the agent swap
                              execution, if enabled.
                            example: Please hold while I transfer you to another agent.
                            nullable: true
                          post_call_analysis_setting:
                            type: string
                            enum:
                              - both_agents
                              - only_destination_agent
                            description: >-
                              Determines which agents are included in post-call
                              analysis.
                            example: both_agents
                          speak_during_execution:
                            type: boolean
                            description: >-
                              Whether to speak the execution message during the
                              agent swap.
                            example: true
                        required:
                          - type
                          - name
                          - description
                          - agent_id
                          - post_call_analysis_setting
                          - speak_during_execution
                      - type: object
                        properties:
                          type:
                            type: string
                            const: extract_dynamic_variable
                            description: The tool type to extract dynamic variables.
                          name:
                            type: string
                            description: >-
                              Name of the tool. Must be unique, consist of a-z,
                              A-Z, 0-9, underscores, or dashes, max length 64,
                              no spaces.
                          description:
                            type: string
                            description: >-
                              Describes what the tool does, including when to
                              call it.
                          variables:
                            type: array
                            items:
                              oneOf:
                                - type: object
                                  properties:
                                    type:
                                      type: string
                                      const: string
                                      description: >-
                                        The data type of the analysis field, set
                                        to string.
                                    name:
                                      type: string
                                      description: The name of the analysis field.
                                      examples:
                                        - sentiment
                                        - key_topic
                                        - action_item
                                    description:
                                      type: string
                                      description: >-
                                        A description of what the analysis field
                                        represents.
                                      examples:
                                        - Sentiment of the call
                                        - Key topic discussed
                                        - Action item assigned
                                    examples:
                                      type: array
                                      items:
                                        type: string
                                      description: Example values for the analysis field.
                                      nullable: true
                                      examples:
                                        - - happy customer
                                          - urgent issue
                                        - - pricing
                                          - product feedback
                                        - - follow-up call
                                          - send email
                                  required:
                                    - type
                                    - name
                                    - description
                                - type: object
                                  properties:
                                    type:
                                      type: string
                                      const: enum
                                      description: >-
                                        The data type of the analysis field, set
                                        to enum.
                                    name:
                                      type: string
                                      description: The name of the analysis field.
                                      examples:
                                        - sentiment
                                        - status
                                        - priority
                                    description:
                                      type: string
                                      description: >-
                                        A description of what the analysis field
                                        represents.
                                      examples:
                                        - Sentiment of the call
                                        - Status of the call
                                        - Priority level
                                    choices:
                                      type: array
                                      items:
                                        type: string
                                      description: Possible values for the analysis field.
                                      nullable: true
                                      examples:
                                        - - positive
                                          - negative
                                          - neutral
                                        - - successful
                                          - unsuccessful
                                          - pending
                                        - - high
                                          - medium
                                          - low
                                  required:
                                    - type
                                    - name
                                    - description
                                - type: object
                                  properties:
                                    type:
                                      type: string
                                      const: boolean
                                      description: >-
                                        The data type of the analysis field, set
                                        to boolean.
                                    name:
                                      type: string
                                      description: The name of the analysis field.
                                      examples:
                                        - is_urgent
                                        - is_resolved
                                    description:
                                      type: string
                                      description: >-
                                        A description of what the analysis field
                                        represents.
                                      examples:
                                        - Whether the issue is urgent
                                        - Whether the issue is resolved
                                  required:
                                    - type
                                    - name
                                    - description
                                - type: object
                                  properties:
                                    type:
                                      type: string
                                      const: number
                                      description: >-
                                        The data type of the analysis field, set
                                        to number.
                                    name:
                                      type: string
                                      description: The name of the analysis field.
                                      examples:
                                        - call_duration
                                        - customer_rating
                                    description:
                                      type: string
                                      description: >-
                                        A description of what the analysis field
                                        represents.
                                      examples:
                                        - Duration of the call in minutes
                                        - Customer satisfaction rating
                                  required:
                                    - type
                                    - name
                                    - description
                        required:
                          - type
                          - name
                          - description
                          - variables
                      - type: object
                        properties:
                          type:
                            type: string
                            const: mcp
                            description: The tool type for MCP.
                          name:
                            type: string
                            description: Name of the MCP tool.
                          description:
                            type: string
                            description: Description of the MCP tool.
                          mcp_id:
                            type: string
                            description: Unique ID of the MCP.
                          input_schema:
                            type: object
                            description: The input schema of the MCP tool.
                            additionalProperties:
                              type: string
                            child_attributes_hidden: true
                        required:
                          - type
                          - name
                          - description
                          - mcp_id
                          - input_schema
                    description: Configuration for a single tool available to the model.
                  description: >-
                    List of tools the model may call (e.g., end call, transfer
                    call, or custom tools).
                  nullable: true
                begin_message:
                  type: string
                  nullable: true
                  description: >-
                    First utterance said by the agent. If empty, agent waits for
                    user to speak. If not set, LLM generates dynamically.
          required:
            - llm
    Error:
      required:
        - success
        - message
        - data
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        data:
          type: object
  securitySchemes:
    api_key:
      type: apiKey
      in: header
      name: api_key

````