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

# Update AI Agent

> Update an existing AI agent.



## OpenAPI

````yaml /api-reference/openapi.json put /v2/ai-agents/{agent_id}
openapi: 3.1.0
info:
  title: Verbex Platform API
  description: API for managing AI agents, calls, phone numbers, and more.
  version: 1.0.0
servers: []
security: []
paths:
  /v2/ai-agents/{agent_id}:
    put:
      tags:
        - AI Agents v2
      summary: Update AI Agent
      description: Update an existing AI agent.
      operationId: update_ai_agent_v2_ai_agents__agent_id__put
      parameters:
        - name: agent_id
          in: path
          required: true
          schema:
            type: string
            title: Agent Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAIAgentRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIAgentResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    UpdateAIAgentRequest:
      properties:
        agent_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Agent Name
          description: >-
            The display name for the AI agent that will be used in logs,
            analytics and user interfaces
        language_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Language Code
          description: >-
            BCP-47 language code (e.g., 'en-US', 'es-ES') that specifies the
            primary language for the agent's speech and understanding
        llm:
          anyOf:
            - oneOf:
                - $ref: '#/components/schemas/UpdateSimplePiaLLMRequest'
                - $ref: '#/components/schemas/UpdateAgenticPiaLLMRequest'
                - $ref: '#/components/schemas/UpdateCustomPiaLLMRequest'
            - type: 'null'
          title: Llm
          description: >-
            Updated configuration for the Language Learning Model (LLM) that
            powers the agent's conversational abilities
        stt:
          anyOf:
            - oneOf:
                - $ref: '#/components/schemas/UpdateDeepgramSTTRequest'
                - $ref: '#/components/schemas/UpdateGoogleSTTRequest'
                - $ref: '#/components/schemas/UpdatePiaSTTRequest'
              discriminator:
                propertyName: provider
                mapping:
                  deepgram:
                    $ref: '#/components/schemas/UpdateDeepgramSTTRequest'
                  google:
                    $ref: '#/components/schemas/UpdateGoogleSTTRequest'
                  pia:
                    $ref: '#/components/schemas/UpdatePiaSTTRequest'
            - type: 'null'
          title: Stt
          description: >-
            Updated configuration for the Speech-to-Text service that converts
            user speech to text for processing
        tts:
          anyOf:
            - oneOf:
                - $ref: '#/components/schemas/UpdateElevenLabsTTSRequest'
                - $ref: '#/components/schemas/UpdateGoogleTTSRequest'
                - $ref: '#/components/schemas/UpdateAzureTTSRequest'
                - $ref: '#/components/schemas/UpdateCartesiaTTSRequest'
                - $ref: '#/components/schemas/UpdatePiaTTSRequest'
              discriminator:
                propertyName: provider
                mapping:
                  azure:
                    $ref: '#/components/schemas/UpdateAzureTTSRequest'
                  cartesia:
                    $ref: '#/components/schemas/UpdateCartesiaTTSRequest'
                  elevenlabs:
                    $ref: '#/components/schemas/UpdateElevenLabsTTSRequest'
                  google:
                    $ref: '#/components/schemas/UpdateGoogleTTSRequest'
                  pia:
                    $ref: '#/components/schemas/UpdatePiaTTSRequest'
            - type: 'null'
          title: Tts
          description: >-
            Updated configuration for the Text-to-Speech service that converts
            the agent's responses to natural speech
        knowledge_base_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Knowledge Base Id
          description: >-
            ID reference to a knowledge base containing domain-specific
            information the agent can use to enhance responses
        minimum_speech_duration_for_interruptions:
          anyOf:
            - type: number
              maximum: 15
              minimum: 0
            - type: 'null'
          title: Minimum Speech Duration For Interruptions
          description: >-
            Minimum duration in seconds that a user must speak before the agent
            can be interrupted, helps prevent premature interruptions
        minimum_words_before_interruption:
          anyOf:
            - type: integer
              maximum: 5
              minimum: 0
            - type: 'null'
          title: Minimum Words Before Interruption
          description: >-
            Minimum number of words that must be spoken before allowing
            interruption, provides more natural conversation flow
        wait_time_before_detecting_end_of_speech:
          anyOf:
            - type: number
              maximum: 15
              minimum: 0
            - type: 'null'
          title: Wait Time Before Detecting End Of Speech
          description: >-
            Time in seconds to wait for additional speech before concluding the
            user has finished speaking
        ambient_sound:
          anyOf:
            - type: string
              enum:
                - office
                - cafe
                - restaurant
                - park
                - street
                - home
                - library
                - airport
                - train_station
                - beach
                - none
            - type: 'null'
          title: Ambient Sound
          description: >-
            Type of background ambient sound to play during calls to create a
            more immersive and natural environment
        ambient_sound_volume:
          anyOf:
            - type: number
              maximum: 2
              minimum: 0
            - type: 'null'
          title: Ambient Sound Volume
          description: >-
            Volume level for the ambient background sound, ranging from 0
            (muted) to 2 (maximum volume)
        webhook_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Webhook Url
          description: >-
            HTTPS URL endpoint where real-time call events and updates will be
            sent via webhook notifications
        end_call_after_silence_seconds:
          anyOf:
            - type: number
              maximum: 30
              minimum: 10
            - type: 'null'
          title: End Call After Silence Seconds
          description: >-
            Number of seconds of continuous silence after which the call will
            automatically end to prevent hanging calls
        max_call_duration_seconds:
          anyOf:
            - type: number
              maximum: 3600
              minimum: 30
            - type: 'null'
          title: Max Call Duration Seconds
          description: >-
            Maximum allowed duration for a single call in seconds (between 30
            seconds and 1 hour) to prevent indefinite calls
        welcome_message:
          anyOf:
            - type: string
            - type: 'null'
          title: Welcome Message
          description: >-
            Custom greeting message that the agent will speak at the beginning
            of each call
        voicemail_detection_timeout_seconds:
          anyOf:
            - type: number
              minimum: 0
            - type: 'null'
          title: Voicemail Detection Timeout Seconds
          description: >-
            Maximum time in seconds to wait while attempting to detect if the
            call was answered by a voicemail system
        dynamic_data_config:
          anyOf:
            - items:
                $ref: '#/components/schemas/UpdateDynamicDataConfigItemRequest'
              type: array
            - type: 'null'
          title: Dynamic Data Config
          description: >-
            Configuration for external data sources that the agent can query in
            real-time during calls to provide up-to-date information
        post_call_analysis:
          anyOf:
            - items:
                anyOf:
                  - $ref: >-
                      #/components/schemas/UpdateStringPostCallAnalysisItemRequest
                  - $ref: '#/components/schemas/UpdateEnumPostCallAnalysisItemRequest'
                  - $ref: >-
                      #/components/schemas/UpdateBooleanPostCallAnalysisItemRequest
                  - $ref: >-
                      #/components/schemas/UpdateNumberPostCallAnalysisItemRequest
              type: array
            - type: 'null'
          title: Post Call Analysis
          description: >-
            Configuration for automated analysis tasks to be performed after
            each call, such as sentiment analysis or call summarization
      type: object
      title: UpdateAIAgentRequest
    AIAgentResponse:
      properties:
        ai_agent_id:
          type: string
          title: Ai Agent Id
          description: Unique identifier for the AI agent
        agent_name:
          type: string
          title: Agent Name
          description: Name of the AI agent
        language_code:
          type: string
          title: Language Code
          description: Language code for the AI agent in BCP-47 format
          default: en-US
        llm:
          oneOf:
            - $ref: '#/components/schemas/SimplePiaLLMResponse'
            - $ref: '#/components/schemas/AgenticPiaLLMResponse'
            - $ref: '#/components/schemas/CustomPiaLLMResponse'
          title: Llm
          description: Language model configuration for the AI agent
          discriminator:
            propertyName: llm_type
            mapping:
              agentic:
                $ref: '#/components/schemas/AgenticPiaLLMResponse'
              custom:
                $ref: '#/components/schemas/CustomPiaLLMResponse'
              simple:
                $ref: '#/components/schemas/SimplePiaLLMResponse'
        stt:
          anyOf:
            - $ref: '#/components/schemas/DeepgramSTTResponse'
            - $ref: '#/components/schemas/GoogleSTTResponse'
            - $ref: '#/components/schemas/PiaSTTResponse'
          title: Stt
          description: Speech-to-text configuration for the AI agent
        tts:
          oneOf:
            - $ref: '#/components/schemas/ElevenLabsTTSResponse'
            - $ref: '#/components/schemas/GoogleTTSResponse'
            - $ref: '#/components/schemas/AzureTTSResponse'
            - $ref: '#/components/schemas/CartesiaTTSResponse'
            - $ref: '#/components/schemas/PiaTTSResponse'
          title: Tts
          description: Text-to-speech configuration for the AI agent
          discriminator:
            propertyName: provider
            mapping:
              azure:
                $ref: '#/components/schemas/AzureTTSResponse'
              cartesia:
                $ref: '#/components/schemas/CartesiaTTSResponse'
              elevenlabs:
                $ref: '#/components/schemas/ElevenLabsTTSResponse'
              google:
                $ref: '#/components/schemas/GoogleTTSResponse'
              pia:
                $ref: '#/components/schemas/PiaTTSResponse'
        knowledge_base_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Knowledge Base Id
          description: ID of the associated knowledge base, if any
        enable_user_interruptions:
          type: boolean
          title: Enable User Interruptions
          description: Whether to allow users to interrupt the AI agent while speaking
          default: true
        minimum_speech_duration_for_interruptions:
          type: number
          maximum: 15
          minimum: 0
          title: Minimum Speech Duration For Interruptions
          description: >-
            Minimum duration of speech in seconds before interruptions are
            allowed
          default: 0.5
        minimum_words_before_interruption:
          type: integer
          maximum: 5
          minimum: 0
          title: Minimum Words Before Interruption
          description: >-
            Minimum number of words that must be spoken before interruption is
            allowed
          default: 0
        wait_time_before_detecting_end_of_speech:
          type: number
          maximum: 15
          minimum: 0
          title: Wait Time Before Detecting End Of Speech
          description: Time in seconds to wait before considering speech has ended
          default: 0.5
        ambient_sound:
          type: string
          enum:
            - office
            - cafe
            - restaurant
            - park
            - street
            - home
            - library
            - airport
            - train_station
            - beach
            - none
          title: Ambient Sound
          description: Type of ambient background sound to use during calls
          default: none
        ambient_sound_volume:
          type: number
          maximum: 2
          minimum: 0
          title: Ambient Sound Volume
          description: Volume level for ambient sound, from 0 (muted) to 2 (loud)
          default: 1
        webhook_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Webhook Url
          description: URL to send webhook notifications about call events
        end_call_after_silence_seconds:
          type: number
          maximum: 30
          minimum: 10
          title: End Call After Silence Seconds
          description: Number of seconds of silence before automatically ending the call
          default: 10
        max_call_duration_seconds:
          type: number
          maximum: 3600
          minimum: 30
          title: Max Call Duration Seconds
          description: Maximum duration of a call in seconds
          default: 1800
        welcome_message:
          anyOf:
            - type: string
            - type: 'null'
          title: Welcome Message
          description: Custom welcome message to play at the start of calls
        voicemail_detection_timeout_seconds:
          type: number
          minimum: 0
          title: Voicemail Detection Timeout Seconds
          description: Time in seconds to wait for voicemail detection
          default: 90
        dynamic_data_config:
          anyOf:
            - items:
                $ref: '#/components/schemas/DynamicDataConfigItemResponse'
              type: array
            - type: 'null'
          title: Dynamic Data Config
          description: Configuration for dynamic data sources that can be used during calls
        post_call_analysis:
          anyOf:
            - items:
                anyOf:
                  - $ref: '#/components/schemas/StringPostCallAnalysisItemResponse'
                  - $ref: '#/components/schemas/EnumPostCallAnalysisItemResponse'
                  - $ref: '#/components/schemas/BooleanPostCallAnalysisItemResponse'
                  - $ref: '#/components/schemas/NumberPostCallAnalysisItemResponse'
              type: array
            - type: 'null'
          title: Post Call Analysis
          description: Configuration for analysis items to be processed after calls
        created_by_user_id:
          type: string
          title: Created By User Id
          description: ID of the user who created this AI agent
      type: object
      required:
        - ai_agent_id
        - agent_name
        - llm
        - stt
        - tts
        - created_by_user_id
      title: AIAgentResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    UpdateSimplePiaLLMRequest:
      properties:
        llm_type:
          type: string
          const: simple
          title: Llm Type
          description: >-
            Specifies this as a simple LLM that processes inputs and generates
            responses directly without complex decision trees or external API
            calls
        model_provider:
          anyOf:
            - type: string
              enum:
                - openai
                - anthropic
                - verbex
                - openai_compatible
            - type: 'null'
          title: Model Provider
          description: >-
            The AI model provider to use. Choose from OpenAI (GPT models),
            Anthropic (Claude models), or verbex
        model_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Model Name
          description: >-
            The specific model to use from the chosen provider (e.g., 'gpt-4'
            for OpenAI or 'claude-2' for Anthropic)
        model_temperature:
          anyOf:
            - type: number
              maximum: 1
              minimum: 0
            - type: 'null'
          title: Model Temperature
          description: >-
            Controls randomness in the model's responses. 0 is most
            deterministic, 1 is most creative
        llm_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Llm Name
          description: Name of the LLM to use
        llm_description:
          anyOf:
            - type: string
            - type: 'null'
          title: Llm Description
          description: Description of the LLM to use
        base_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Base Url
          description: Base URL for the LLM API endpoint
        api_key:
          anyOf:
            - type: string
            - type: 'null'
          title: Api Key
          description: API key for authentication with the LLM service
        max_tokens:
          anyOf:
            - type: integer
            - type: 'null'
          title: Max Tokens
          description: Maximum number of tokens allowed in the response
        required_dynamic_data:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Required Dynamic Data
          description: >-
            List of dynamic data fields that must be available for the LLM to
            function properly
        system_prompt:
          anyOf:
            - type: string
            - type: 'null'
          title: System Prompt
          description: >-
            The base prompt that defines the LLM's behavior, personality, and
            operating parameters
        tools:
          anyOf:
            - items:
                type: object
              type: array
            - type: 'null'
          title: Tools
          description: >-
            List of function definitions that the LLM can use to perform
            external actions or API calls
      type: object
      required:
        - llm_type
      title: UpdateSimplePiaLLMRequest
    UpdateAgenticPiaLLMRequest:
      properties:
        llm_type:
          type: string
          const: agentic
          title: Llm Type
          description: >-
            Specifies this as an agentic LLM that uses graph-based decision
            making for complex conversation flows
        graph_data:
          anyOf:
            - type: object
            - type: 'null'
          title: Graph Data
          description: >-
            Graph structure defining the agent's decision-making flow, state
            transitions, and conversation paths
      type: object
      required:
        - llm_type
      title: UpdateAgenticPiaLLMRequest
    UpdateCustomPiaLLMRequest:
      properties:
        llm_type:
          type: string
          const: custom
          title: Llm Type
          description: Specifies this as a custom LLM implementation hosted externally
        custom_llm_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Custom Llm Url
          description: >-
            The URL endpoint where your custom LLM implementation is hosted and
            can be accessed via API calls
        model_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Model Name
          description: >-
            Name of the specific model to use from the provider. It will be
            passed to the custom LLM implementation
        api_key:
          anyOf:
            - type: string
            - type: 'null'
          title: Api Key
          description: >-
            API key for the custom LLM implementation. It can be used to verify
            requests are coming from Verbex Platform
      type: object
      required:
        - llm_type
      title: UpdateCustomPiaLLMRequest
    UpdateDeepgramSTTRequest:
      properties:
        provider:
          type: string
          const: deepgram
          title: Provider
          description: Specifies Deepgram as the Speech-to-Text provider
          default: deepgram
        model:
          type: string
          enum:
            - nova-2-general
            - nova-2-phonecall
            - nova-meeting
            - nova-2-meeting
            - nova-2-finance
            - nova-2-conversationalai
            - nova-2-voicemail
            - nova-2-video
            - nova-2-medical
            - nova-2-drivethru
            - nova-2-automotive
            - enhanced-general
            - enhanced-meeting
            - enhanced-phonecall
            - enhanced-finance
            - base
            - meeting
            - phonecall
            - finance
            - conversationalai
            - voicemail
            - video
            - whisper-tiny
            - whisper-base
            - whisper-small
            - whisper-medium
            - whisper-large
          title: Model
          description: >-
            The specific Deepgram model to use for speech recognition. Each
            model is optimized for different use cases like phone calls,
            meetings, medical conversations, etc.
      type: object
      required:
        - model
      title: UpdateDeepgramSTTRequest
    UpdateGoogleSTTRequest:
      properties:
        provider:
          type: string
          const: google
          title: Provider
          description: Specifies Google Cloud Speech-to-Text as the STT provider
          default: google
        model:
          type: string
          enum:
            - default
            - phone_call
            - long
          title: Model
          description: >-
            The specific Google STT model to use - 'default' for general use,
            'phone_call' for telephony audio, or 'long' for extended audio
            content
      type: object
      required:
        - model
      title: UpdateGoogleSTTRequest
    UpdatePiaSTTRequest:
      properties:
        provider:
          type: string
          const: pia
          title: Provider
          description: Specifies Pia's proprietary Speech-to-Text service as the provider
          default: pia
        model:
          type: string
          const: pia_bangla_v1
          title: Model
          description: >-
            The specific Pia STT model to use - currently supporting Bangla
            language transcription with the v1 model
      type: object
      required:
        - model
      title: UpdatePiaSTTRequest
    UpdateElevenLabsTTSRequest:
      properties:
        provider:
          type: string
          const: elevenlabs
          title: Provider
          description: Specifies ElevenLabs as the Text-to-Speech provider
          default: elevenlabs
        voice_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Voice Id
          description: Unique identifier for the selected ElevenLabs voice
        voice_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Voice Name
          description: Human-readable name of the selected voice
        model_name:
          anyOf:
            - type: string
              enum:
                - eleven_turbo_v2_5
                - eleven_turbo_v2
                - eleven_multilingual_v2
                - eleven_monolingual_v1
            - type: 'null'
          title: Model Name
          description: The specific ElevenLabs model version to use for voice synthesis
        voice_temperature:
          anyOf:
            - type: number
              maximum: 1
              minimum: 0
            - type: 'null'
          title: Voice Temperature
          description: >-
            Controls variation in voice output - higher values increase
            variability and expressiveness
          default: 0.2
      type: object
      title: UpdateElevenLabsTTSRequest
    UpdateGoogleTTSRequest:
      properties:
        provider:
          type: string
          const: google
          title: Provider
          description: Specifies Google Cloud Text-to-Speech as the provider
          default: google
        voice_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Voice Id
          description: Unique identifier for the selected Google TTS voice
      type: object
      required:
        - voice_id
      title: UpdateGoogleTTSRequest
    UpdateAzureTTSRequest:
      properties:
        provider:
          type: string
          const: azure
          title: Provider
          description: Specifies Azure Cognitive Services as the Text-to-Speech provider
          default: azure
        voice_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Voice Id
          description: Unique identifier for the selected Azure voice
      type: object
      required:
        - voice_id
      title: UpdateAzureTTSRequest
    UpdateCartesiaTTSRequest:
      properties:
        provider:
          type: string
          const: cartesia
          title: Provider
          description: Specifies Cartesia's Text-to-Speech service as the provider
          default: cartesia
        voice_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Voice Id
          description: Unique identifier for the selected Cartesia voice
        voice_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Voice Name
          description: Human-readable name of the selected voice
        model_name:
          anyOf:
            - type: string
              enum:
                - sonic-multilingual
                - sonic-english
            - type: 'null'
          title: Model Name
          description: >-
            The specific Cartesia model to use - either the multilingual model
            or the English-optimized model
        voice_temperature:
          anyOf:
            - type: number
              maximum: 1
              minimum: 0
            - type: 'null'
          title: Voice Temperature
          description: >-
            Controls variation in voice output - higher values increase
            variability and expressiveness
          default: 0.2
      type: object
      required:
        - voice_id
      title: UpdateCartesiaTTSRequest
    UpdatePiaTTSRequest:
      properties:
        provider:
          type: string
          const: pia
          title: Provider
          description: Specifies Pia's proprietary Text-to-Speech service as the provider
          default: pia
        voice_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Voice Id
          description: Unique identifier for the selected Pia voice
        voice_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Voice Name
          description: Human-readable name of the selected voice
        model_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Model Name
          description: The specific Pia TTS model version to use for voice synthesis
      type: object
      required:
        - voice_id
      title: UpdatePiaTTSRequest
    UpdateDynamicDataConfigItemRequest:
      properties:
        url:
          anyOf:
            - type: string
            - type: 'null'
          title: Url
          description: The endpoint URL to fetch dynamic data from
        method:
          anyOf:
            - type: string
            - type: 'null'
          title: Method
          description: HTTP method to use for the request (GET, POST, etc.)
        timeout:
          anyOf:
            - type: integer
            - type: 'null'
          title: Timeout
          description: Maximum time in seconds to wait for the request to complete
        headers:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          title: Headers
          description: HTTP headers to include in the request
        body:
          anyOf:
            - type: object
            - type: 'null'
          title: Body
          description: Request body data for POST/PUT requests
        query:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          title: Query
          description: URL query parameters to include in the request
        cache:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Cache
          description: Whether to cache the response data to reduce API calls
          default: true
        response_data:
          anyOf:
            - items:
                $ref: >-
                  #/components/schemas/UpdateDynamicDataResponseConfigItemRequest
              type: array
            - type: 'null'
          title: Response Data
          description: >-
            Configuration for extracting and processing specific data fields
            from the endpoint response
      type: object
      title: UpdateDynamicDataConfigItemRequest
    UpdateStringPostCallAnalysisItemRequest:
      properties:
        type:
          type: string
          const: string
          title: Type
          description: Specifies that this analysis item will return a text string result
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Unique identifier for this analysis item
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: >-
            Detailed explanation of what this analysis item measures or
            determines from the call
        system_prompt:
          anyOf:
            - type: string
            - type: 'null'
          title: System Prompt
          description: >-
            Instructions for the AI system on how to analyze the call and
            generate this specific analysis item
        examples:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Examples
          description: >-
            Sample responses to guide the AI in generating appropriate text
            analysis results
      type: object
      required:
        - type
      title: UpdateStringPostCallAnalysisItemRequest
    UpdateEnumPostCallAnalysisItemRequest:
      properties:
        type:
          type: string
          const: enum
          title: Type
          description: >-
            Specifies that this analysis item will return one value from a
            predefined set
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Unique identifier for this analysis item
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: >-
            Detailed explanation of what this analysis item measures or
            determines from the call
        system_prompt:
          anyOf:
            - type: string
            - type: 'null'
          title: System Prompt
          description: >-
            Instructions for the AI system on how to analyze the call and
            generate this specific analysis item
        choices:
          items:
            type: string
          type: array
          title: Choices
          description: >-
            The complete list of possible values that this analysis item can
            return
      type: object
      required:
        - type
      title: UpdateEnumPostCallAnalysisItemRequest
    UpdateBooleanPostCallAnalysisItemRequest:
      properties:
        type:
          type: string
          const: boolean
          title: Type
          description: Specifies that this analysis item will return a true/false result
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Unique identifier for this analysis item
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: >-
            Detailed explanation of what this analysis item measures or
            determines from the call
        system_prompt:
          anyOf:
            - type: string
            - type: 'null'
          title: System Prompt
          description: >-
            Instructions for the AI system on how to analyze the call and
            generate this specific analysis item
      type: object
      required:
        - type
      title: UpdateBooleanPostCallAnalysisItemRequest
    UpdateNumberPostCallAnalysisItemRequest:
      properties:
        type:
          type: string
          const: number
          title: Type
          description: Specifies that this analysis item will return a numeric value
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Unique identifier for this analysis item
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: >-
            Detailed explanation of what this analysis item measures or
            determines from the call
        system_prompt:
          anyOf:
            - type: string
            - type: 'null'
          title: System Prompt
          description: >-
            Instructions for the AI system on how to analyze the call and
            generate this specific analysis item
      type: object
      required:
        - type
      title: UpdateNumberPostCallAnalysisItemRequest
    SimplePiaLLMResponse:
      properties:
        llm_id:
          type: string
          title: Llm Id
          description: Unique identifier for the Language Learning Model (LLM)
        llm_type:
          type: string
          const: simple
          title: Llm Type
          description: >-
            Indicates this is a simple LLM type that uses standard model
            providers
        model_provider:
          type: string
          enum:
            - openai
            - anthropic
            - verbex
            - openai_compatible
          title: Model Provider
          description: >-
            The provider of the language model - OpenAI, Anthropic, verbex, or
            OpenAI Compatible
        model_name:
          type: string
          title: Model Name
          description: >-
            Name of the specific model from the provider (e.g. 'gpt-4',
            'claude-2')
        model_temperature:
          type: number
          maximum: 1
          minimum: 0
          title: Model Temperature
          description: >-
            Controls randomness in model outputs - 0 is focused/deterministic, 1
            is more creative/random
          default: 0
        llm_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Llm Name
          description: Name of the LLM to use
        llm_description:
          anyOf:
            - type: string
            - type: 'null'
          title: Llm Description
          description: Description of the LLM to use
        base_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Base Url
          description: Base URL for the LLM API endpoint
        api_key:
          anyOf:
            - type: string
            - type: 'null'
          title: Api Key
          description: API key for authentication with the LLM service
        max_tokens:
          anyOf:
            - type: integer
            - type: 'null'
          title: Max Tokens
          description: Maximum number of tokens allowed in the response
        required_dynamic_data:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Required Dynamic Data
          description: >-
            List of dynamic data fields that must be provided to this LLM during
            operation
        system_prompt:
          type: string
          title: System Prompt
          description: >-
            The base prompt that defines the LLM's behavior, role and operating
            parameters
        tools:
          anyOf:
            - items:
                type: object
              type: array
            - type: 'null'
          title: Tools
          description: >-
            List of tools/functions available to the LLM for external
            interactions and API calls
      type: object
      required:
        - llm_id
        - llm_type
        - model_provider
        - model_name
        - system_prompt
      title: SimplePiaLLMResponse
    AgenticPiaLLMResponse:
      properties:
        llm_id:
          type: string
          title: Llm Id
          description: Unique identifier for the Language Learning Model (LLM)
        llm_type:
          type: string
          const: agentic
          title: Llm Type
          description: >-
            Indicates this is an agentic LLM that uses graph-based decision
            making
        graph_data:
          type: object
          title: Graph Data
          description: >-
            Graph structure defining the agent's behavior, decision-making flow
            and state transitions
      type: object
      required:
        - llm_id
        - llm_type
        - graph_data
      title: AgenticPiaLLMResponse
    CustomPiaLLMResponse:
      properties:
        llm_id:
          type: string
          title: Llm Id
          description: Unique identifier for the Language Learning Model (LLM)
        llm_type:
          type: string
          const: custom
          title: Llm Type
          description: Indicates this is a custom LLM implementation
        custom_llm_url:
          type: string
          title: Custom Llm Url
          description: URL endpoint where the custom LLM implementation is hosted
        model_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Model Name
          description: >-
            Name of the specific model to use from the provider. It will be
            passed to the custom LLM implementation
        api_key:
          anyOf:
            - type: string
            - type: 'null'
          title: Api Key
          description: >-
            API key for the custom LLM implementation. It can be used to verify
            requests are coming from Verbex Platform
      type: object
      required:
        - llm_id
        - llm_type
        - custom_llm_url
      title: CustomPiaLLMResponse
    DeepgramSTTResponse:
      properties:
        provider:
          type: string
          const: deepgram
          title: Provider
          description: Indicates Deepgram is being used as the STT provider
        model:
          type: string
          enum:
            - nova-2-general
            - nova-2-phonecall
            - nova-meeting
            - nova-2-meeting
            - nova-2-finance
            - nova-2-conversationalai
            - nova-2-voicemail
            - nova-2-video
            - nova-2-medical
            - nova-2-drivethru
            - nova-2-automotive
            - enhanced-general
            - enhanced-meeting
            - enhanced-phonecall
            - enhanced-finance
            - base
            - meeting
            - phonecall
            - finance
            - conversationalai
            - voicemail
            - video
            - whisper-tiny
            - whisper-base
            - whisper-small
            - whisper-medium
            - whisper-large
          title: Model
          description: >-
            Specific Deepgram model being used for speech recognition, each
            optimized for different use cases
      type: object
      required:
        - provider
        - model
      title: DeepgramSTTResponse
    GoogleSTTResponse:
      properties:
        provider:
          type: string
          const: google
          title: Provider
          description: Indicates Google Speech-to-Text is being used as the STT provider
        model:
          type: string
          enum:
            - default
            - phone_call
            - long
          title: Model
          description: >-
            Specific Google STT model - 'default' for general use, 'phone_call'
            for telephony, 'long' for extended audio
      type: object
      required:
        - provider
        - model
      title: GoogleSTTResponse
    PiaSTTResponse:
      properties:
        provider:
          type: string
          const: pia
          title: Provider
          description: Indicates Pia's proprietary STT service is being used
        model:
          type: string
          const: pia_bangla_v1
          title: Model
          description: Specific Pia STT model - currently supporting Bangla language
      type: object
      required:
        - provider
        - model
      title: PiaSTTResponse
    ElevenLabsTTSResponse:
      properties:
        provider:
          type: string
          const: elevenlabs
          title: Provider
          description: Indicates ElevenLabs is being used as the TTS provider
        voice_id:
          type: string
          title: Voice Id
          description: Unique identifier for the selected ElevenLabs voice
        voice_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Voice Name
          description: Human-readable name of the selected voice
        model_name:
          anyOf:
            - type: string
              enum:
                - eleven_turbo_v2_5
                - eleven_turbo_v2
                - eleven_multilingual_v2
                - eleven_monolingual_v1
            - type: 'null'
          title: Model Name
          description: Specific ElevenLabs model version being used for voice synthesis
        voice_temperature:
          anyOf:
            - type: number
              maximum: 1
              minimum: 0
            - type: 'null'
          title: Voice Temperature
          description: >-
            Controls variation in voice output - higher values increase
            variability
          default: 0.2
      type: object
      required:
        - provider
        - voice_id
        - voice_name
      title: ElevenLabsTTSResponse
    GoogleTTSResponse:
      properties:
        provider:
          type: string
          const: google
          title: Provider
          description: Indicates Google Cloud TTS is being used as the provider
        voice_id:
          type: string
          title: Voice Id
          description: Unique identifier for the selected Google TTS voice
      type: object
      required:
        - provider
        - voice_id
      title: GoogleTTSResponse
    AzureTTSResponse:
      properties:
        provider:
          type: string
          const: azure
          title: Provider
          description: Indicates Azure Cognitive Services is being used as the TTS provider
        voice_id:
          type: string
          title: Voice Id
          description: Unique identifier for the selected Azure voice
      type: object
      required:
        - provider
        - voice_id
      title: AzureTTSResponse
    CartesiaTTSResponse:
      properties:
        provider:
          type: string
          const: cartesia
          title: Provider
          description: Indicates Cartesia's TTS service is being used
        voice_id:
          type: string
          title: Voice Id
          description: Unique identifier for the selected Cartesia voice
        voice_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Voice Name
          description: Human-readable name of the selected voice
        model_name:
          anyOf:
            - type: string
              enum:
                - sonic-multilingual
                - sonic-english
            - type: 'null'
          title: Model Name
          description: >-
            Specific Cartesia model being used - either multilingual or
            English-optimized
        voice_temperature:
          anyOf:
            - type: number
              maximum: 1
              minimum: 0
            - type: 'null'
          title: Voice Temperature
          description: >-
            Controls variation in voice output - higher values increase
            variability
          default: 0.2
      type: object
      required:
        - provider
        - voice_id
      title: CartesiaTTSResponse
    PiaTTSResponse:
      properties:
        provider:
          type: string
          const: pia
          title: Provider
          description: Indicates Pia's proprietary TTS service is being used
        voice_id:
          type: string
          title: Voice Id
          description: Unique identifier for the selected Pia voice
        voice_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Voice Name
          description: Human-readable name of the selected voice
        model_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Model Name
          description: Name of the specific Pia TTS model being used
      type: object
      required:
        - provider
        - voice_id
      title: PiaTTSResponse
    DynamicDataConfigItemResponse:
      properties:
        url:
          type: string
          title: Url
          description: Endpoint URL for retrieving dynamic data
        method:
          type: string
          title: Method
          description: HTTP method to use when calling the endpoint (GET, POST, etc)
        timeout:
          type: integer
          title: Timeout
          description: Maximum time in seconds to wait for the endpoint response
        headers:
          additionalProperties:
            type: string
          type: object
          title: Headers
          description: HTTP headers to include in the request
        body:
          type: object
          title: Body
          description: Request body data to send to the endpoint
        query:
          additionalProperties:
            type: string
          type: object
          title: Query
          description: URL query parameters to include in the request
        cache:
          type: boolean
          title: Cache
          description: Whether to cache the response data for subsequent use
        response_data:
          items:
            $ref: '#/components/schemas/DynamicDataResponseConfigItemResponse'
          type: array
          title: Response Data
          description: Configuration for parsing and using the endpoint response data
      type: object
      required:
        - url
        - method
        - timeout
        - headers
        - body
        - query
        - cache
        - response_data
      title: DynamicDataConfigItemResponse
    StringPostCallAnalysisItemResponse:
      properties:
        type:
          type: string
          const: string
          title: Type
          description: Indicates this analysis item returns a text string
        name:
          type: string
          title: Name
          description: Identifier for this analysis item
        description:
          type: string
          title: Description
          description: >-
            Detailed description of what this analysis item measures or
            determines
        system_prompt:
          type: string
          title: System Prompt
          description: Prompt used to guide the AI in performing this analysis
        examples:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Examples
          description: Example responses to guide the analysis
      type: object
      required:
        - type
        - name
        - description
        - system_prompt
      title: StringPostCallAnalysisItemResponse
    EnumPostCallAnalysisItemResponse:
      properties:
        type:
          type: string
          const: enum
          title: Type
          description: >-
            Indicates this analysis item returns one of a predefined set of
            values
        name:
          type: string
          title: Name
          description: Identifier for this analysis item
        description:
          type: string
          title: Description
          description: >-
            Detailed description of what this analysis item measures or
            determines
        system_prompt:
          type: string
          title: System Prompt
          description: Prompt used to guide the AI in performing this analysis
        choices:
          items:
            type: string
          type: array
          title: Choices
          description: List of possible values this analysis item can return
      type: object
      required:
        - type
        - name
        - description
        - system_prompt
        - choices
      title: EnumPostCallAnalysisItemResponse
    BooleanPostCallAnalysisItemResponse:
      properties:
        type:
          type: string
          const: boolean
          title: Type
          description: Indicates this analysis item returns a true/false result
        name:
          type: string
          title: Name
          description: Identifier for this analysis item
        description:
          type: string
          title: Description
          description: >-
            Detailed description of what this analysis item measures or
            determines
        system_prompt:
          type: string
          title: System Prompt
          description: Prompt used to guide the AI in performing this analysis
      type: object
      required:
        - type
        - name
        - description
        - system_prompt
      title: BooleanPostCallAnalysisItemResponse
    NumberPostCallAnalysisItemResponse:
      properties:
        type:
          type: string
          const: number
          title: Type
          description: Indicates this analysis item returns a numeric value
        name:
          type: string
          title: Name
          description: Identifier for this analysis item
        description:
          type: string
          title: Description
          description: >-
            Detailed description of what this analysis item measures or
            determines
        system_prompt:
          type: string
          title: System Prompt
          description: Prompt used to guide the AI in performing this analysis
      type: object
      required:
        - type
        - name
        - description
        - system_prompt
      title: NumberPostCallAnalysisItemResponse
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    UpdateDynamicDataResponseConfigItemRequest:
      properties:
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: >-
            Identifier for this dynamic data field that can be referenced in
            prompts and responses
        data:
          anyOf:
            - type: string
            - type: 'null'
          title: Data
          description: The actual data value or template to be populated during runtime
        context:
          anyOf:
            - type: string
            - type: 'null'
          title: Context
          description: >-
            Additional context or instructions about how this data should be
            used
      type: object
      title: UpdateDynamicDataResponseConfigItemRequest
    DynamicDataResponseConfigItemResponse:
      properties:
        name:
          type: string
          title: Name
          description: Identifier for this dynamic data field
        data:
          type: string
          title: Data
          description: The actual data value retrieved from the external source
        context:
          type: string
          title: Context
          description: Additional context or metadata about this data field
      type: object
      required:
        - name
        - data
        - context
      title: DynamicDataResponseConfigItemResponse

````