> ## 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.

# Create AI Agent

> Create a new AI agent with the provided configuration.



## OpenAPI

````yaml /api-reference/openapi.json post /v2/ai-agents/
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/:
    post:
      tags:
        - AI Agents v2
      summary: Create AI Agent
      description: Create a new AI agent with the provided configuration.
      operationId: create_ai_agent_v2_ai_agents__post
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAIAgentRequest'
      responses:
        '201':
          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:
    CreateAIAgentRequest:
      properties:
        agent_name:
          type: string
          title: Agent Name
          description: Name identifier for the AI agent
        language_code:
          type: string
          title: Language Code
          description: Language code for the agent (e.g., 'en-US' for US English)
          default: en-US
        llm:
          oneOf:
            - $ref: '#/components/schemas/CreateSimplePiaLLMRequest'
            - $ref: '#/components/schemas/CreateAgenticPiaLLMRequest'
            - $ref: '#/components/schemas/CreateCustomPiaLLMRequest'
          title: Llm
          description: Language model configuration for the agent
          discriminator:
            propertyName: llm_type
            mapping:
              agentic:
                $ref: '#/components/schemas/CreateAgenticPiaLLMRequest'
              custom:
                $ref: '#/components/schemas/CreateCustomPiaLLMRequest'
              simple:
                $ref: '#/components/schemas/CreateSimplePiaLLMRequest'
        tts:
          oneOf:
            - $ref: '#/components/schemas/CreateElevenLabsTTSRequest'
            - $ref: '#/components/schemas/CreateGoogleTTSRequest'
            - $ref: '#/components/schemas/CreateAzureTTSRequest'
            - $ref: '#/components/schemas/CreateCartesiaTTSRequest'
            - $ref: '#/components/schemas/CreatePiaTTSRequest'
          title: Tts
          description: Text-to-Speech configuration for voice synthesis
          discriminator:
            propertyName: provider
            mapping:
              azure:
                $ref: '#/components/schemas/CreateAzureTTSRequest'
              cartesia:
                $ref: '#/components/schemas/CreateCartesiaTTSRequest'
              elevenlabs:
                $ref: '#/components/schemas/CreateElevenLabsTTSRequest'
              google:
                $ref: '#/components/schemas/CreateGoogleTTSRequest'
              pia:
                $ref: '#/components/schemas/CreatePiaTTSRequest'
        stt:
          oneOf:
            - $ref: '#/components/schemas/CreateDeepgramSTTRequest'
            - $ref: '#/components/schemas/CreateGoogleSTTRequest'
            - $ref: '#/components/schemas/CreatePiaSTTRequest'
          title: Stt
          description: Speech-to-Text configuration for voice recognition
          discriminator:
            propertyName: provider
            mapping:
              deepgram:
                $ref: '#/components/schemas/CreateDeepgramSTTRequest'
              google:
                $ref: '#/components/schemas/CreateGoogleSTTRequest'
              pia:
                $ref: '#/components/schemas/CreatePiaSTTRequest'
        knowledge_base_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Knowledge Base Id
          description: ID of the knowledge base to use for enhanced responses
        enable_user_interruptions:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Enable User Interruptions
          description: Whether to allow users to interrupt the agent while speaking
          default: true
        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) of speech before allowing interruption
          default: 0.5
        minimum_words_before_interruption:
          anyOf:
            - type: integer
              maximum: 5
              minimum: 0
            - type: 'null'
          title: Minimum Words Before Interruption
          description: Minimum number of words spoken before allowing interruption
          default: 0
        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 to wait before detecting end of speech
          default: 0.5
        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 ambient background sound to add to the call
          default: none
        ambient_sound_volume:
          anyOf:
            - type: number
              maximum: 2
              minimum: 0
            - type: 'null'
          title: Ambient Sound Volume
          description: Volume level for ambient sound (0-2, where 1 is normal volume)
          default: 1
        webhook_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Webhook Url
          description: URL to receive webhook notifications about call events
        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 silence before automatically ending the call
          default: 10
        max_call_duration_seconds:
          anyOf:
            - type: number
              maximum: 3600
              minimum: 30
            - type: 'null'
          title: Max Call Duration Seconds
          description: Maximum duration of the call in seconds (30-3600)
          default: 1800
        welcome_message:
          anyOf:
            - type: string
            - type: 'null'
          title: Welcome Message
          description: Custom message to be spoken when the call begins
        voicemail_detection_timeout_seconds:
          anyOf:
            - type: number
              minimum: 0
            - type: 'null'
          title: Voicemail Detection Timeout Seconds
          description: Time to wait for detecting voicemail before taking action
          default: 90
        dynamic_data_config:
          anyOf:
            - items:
                $ref: '#/components/schemas/CreateDynamicDataConfigItemRequest'
              type: array
            - type: 'null'
          title: Dynamic Data Config
          description: Configuration for dynamic data sources used by the agent
        post_call_analysis:
          anyOf:
            - items:
                oneOf:
                  - $ref: >-
                      #/components/schemas/CreateStringPostCallAnalysisItemRequest
                  - $ref: '#/components/schemas/CreateEnumPostCallAnalysisItemRequest'
                  - $ref: >-
                      #/components/schemas/CreateBooleanPostCallAnalysisItemRequest
                  - $ref: >-
                      #/components/schemas/CreateNumberPostCallAnalysisItemRequest
                discriminator:
                  propertyName: type
                  mapping:
                    boolean:
                      $ref: >-
                        #/components/schemas/CreateBooleanPostCallAnalysisItemRequest
                    enum:
                      $ref: >-
                        #/components/schemas/CreateEnumPostCallAnalysisItemRequest
                    number:
                      $ref: >-
                        #/components/schemas/CreateNumberPostCallAnalysisItemRequest
                    string:
                      $ref: >-
                        #/components/schemas/CreateStringPostCallAnalysisItemRequest
              type: array
            - type: 'null'
          title: Post Call Analysis
          description: Configuration for analysis items to be processed after the call
      type: object
      required:
        - agent_name
        - llm
        - tts
        - stt
      title: CreateAIAgentRequest
    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
    CreateSimplePiaLLMRequest:
      properties:
        llm_type:
          type: string
          const: simple
          title: Llm Type
        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 to use 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 more focused, 1 is more
            creative. Range 0-1
          default: 0
        required_dynamic_data:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Required Dynamic Data
          description: List of dynamic data fields required by this LLM for operation
        system_prompt:
          type: string
          title: System Prompt
          description: The base prompt that defines the LLM's behavior and role
        tools:
          anyOf:
            - items:
                type: object
              type: array
            - type: 'null'
          title: Tools
          description: >-
            List of tools/functions available to the LLM for external
            interactions
        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_token:
          anyOf:
            - type: integer
            - type: 'null'
          title: Max Token
          description: Maximum number of tokens allowed in the response
      type: object
      required:
        - llm_type
        - model_provider
        - model_name
        - system_prompt
      title: CreateSimplePiaLLMRequest
    CreateAgenticPiaLLMRequest:
      properties:
        llm_type:
          type: string
          const: agentic
          title: Llm Type
        graph_data:
          type: object
          title: Graph Data
          description: >-
            Graph structure defining the agent's behavior and decision-making
            flow
      type: object
      required:
        - llm_type
        - graph_data
      title: CreateAgenticPiaLLMRequest
    CreateCustomPiaLLMRequest:
      properties:
        llm_type:
          type: string
          const: custom
          title: Llm Type
        custom_llm_url:
          type: string
          title: Custom Llm Url
          description: URL endpoint for the custom LLM implementation
        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
        - custom_llm_url
      title: CreateCustomPiaLLMRequest
    CreateElevenLabsTTSRequest:
      properties:
        provider:
          type: string
          const: elevenlabs
          title: Provider
          description: Specifies ElevenLabs as the TTS provider
          default: elevenlabs
        voice_id:
          type: string
          title: Voice Id
          description: The unique identifier of the ElevenLabs voice to use for synthesis
        voice_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Voice Name
          description: A human-readable name for the voice, used for display purposes
        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 to use. Turbo models offer faster
            synthesis, multilingual supports multiple languages, and monolingual
            is optimized for single language
        voice_temperature:
          anyOf:
            - type: number
              maximum: 1
              minimum: 0
            - type: 'null'
          title: Voice Temperature
          description: >-
            Controls the randomness in voice generation. Lower values (closer to
            0) produce more consistent output, while higher values add more
            variation
          default: 0.2
      type: object
      required:
        - voice_id
      title: CreateElevenLabsTTSRequest
    CreateGoogleTTSRequest:
      properties:
        provider:
          type: string
          const: google
          title: Provider
          description: Specifies Google Cloud Text-to-Speech as the TTS provider
          default: google
        voice_id:
          type: string
          title: Voice Id
          description: >-
            The unique identifier of the Google Cloud TTS voice to use for
            synthesis (e.g., 'en-US-Standard-A')
      type: object
      required:
        - voice_id
      title: CreateGoogleTTSRequest
    CreateAzureTTSRequest:
      properties:
        provider:
          type: string
          const: azure
          title: Provider
          description: >-
            Specifies Azure Cognitive Services Text-to-Speech as the TTS
            provider
          default: azure
        voice_id:
          type: string
          title: Voice Id
          description: The unique identifier of the Azure TTS voice to use for synthesis
      type: object
      required:
        - voice_id
      title: CreateAzureTTSRequest
    CreateCartesiaTTSRequest:
      properties:
        provider:
          type: string
          const: cartesia
          title: Provider
          description: Specifies Cartesia as the TTS provider
          default: cartesia
        voice_id:
          type: string
          title: Voice Id
          description: The unique identifier of the Cartesia voice to use for synthesis
        voice_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Voice Name
          description: A human-readable name for the voice, used for display purposes
        model_name:
          anyOf:
            - type: string
              enum:
                - sonic-multilingual
                - sonic-english
            - type: 'null'
          title: Model Name
          description: >-
            The specific Cartesia model to use. 'sonic-multilingual' supports
            multiple languages, while 'sonic-english' is optimized for English
        voice_temperature:
          anyOf:
            - type: number
              maximum: 1
              minimum: 0
            - type: 'null'
          title: Voice Temperature
          description: >-
            Controls the randomness in voice generation. Lower values produce
            more consistent output, while higher values add more variation
          default: 0.2
      type: object
      required:
        - voice_id
      title: CreateCartesiaTTSRequest
    CreatePiaTTSRequest:
      properties:
        provider:
          type: string
          const: pia
          title: Provider
          description: >-
            Specifies Pia's proprietary Text-to-Speech service as the TTS
            provider
          default: pia
        voice_id:
          type: string
          title: Voice Id
          description: The unique identifier of the Pia voice to use for synthesis
        voice_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Voice Name
          description: A human-readable name for the voice, used for display purposes
        model_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Model Name
          description: The specific Pia TTS model to use for voice synthesis
      type: object
      required:
        - voice_id
      title: CreatePiaTTSRequest
    CreateDeepgramSTTRequest:
      properties:
        provider:
          type: string
          const: deepgram
          title: 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 to use for speech recognition
      type: object
      required:
        - provider
        - model
      title: CreateDeepgramSTTRequest
    CreateGoogleSTTRequest:
      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:
            - long
            - short
            - telephony
            - medical_dictation
            - medical_conversation
            - chirp
          title: Model
          description: >-
            The specific Google STT model to use. 'long' is optimized for longer
            audio, 'short' for brief clips, 'telephony' for phone calls,
            'medical_dictation' for medical dictation, 'medical_conversation'
            for medical dialogues, and 'chirp' for enhanced general
            transcription
          default: long
      type: object
      title: CreateGoogleSTTRequest
    CreatePiaSTTRequest:
      properties:
        provider:
          type: string
          const: pia
          title: Provider
          description: >-
            Specifies Pia's proprietary Speech-to-Text service as the STT
            provider
          default: pia
        model:
          type: string
          const: pia_bangla_v1
          title: Model
          description: >-
            The Pia STT model to use - currently supporting Bangla language
            transcription with the v1 model
          default: pia_bangla_v1
      type: object
      title: CreatePiaSTTRequest
    CreateDynamicDataConfigItemRequest:
      properties:
        url:
          type: string
          title: Url
          description: >-
            The endpoint URL from which to fetch dynamic data during
            conversations
        method:
          type: string
          title: Method
          description: >-
            The HTTP method to use when calling the endpoint (GET, POST, PUT,
            etc.)
          default: GET
        timeout:
          type: integer
          title: Timeout
          description: >-
            Maximum time in milliseconds to wait for the endpoint response
            before timing out
          default: 2000
        headers:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          title: Headers
          description: >-
            HTTP headers to include in the request (e.g., authorization tokens,
            content type)
        body:
          anyOf:
            - type: object
            - type: 'null'
          title: Body
          description: Request body data to send to the endpoint 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:
          type: boolean
          title: Cache
          description: >-
            Whether to cache the response data to avoid repeated API calls for
            the same information
          default: true
        response_data:
          items:
            $ref: '#/components/schemas/CreateDynamicDataResponseConfigItemRequest'
          type: array
          title: Response Data
          description: >-
            Configuration for extracting and processing specific data fields
            from the endpoint response
      type: object
      required:
        - url
        - response_data
      title: CreateDynamicDataConfigItemRequest
    CreateStringPostCallAnalysisItemRequest:
      properties:
        type:
          type: string
          const: string
          title: Type
          description: Specifies that this analysis item will return a text string result
          default: string
        name:
          type: string
          title: Name
          description: Unique identifier for this analysis item
        description:
          type: string
          title: Description
          description: >-
            Detailed explanation of what this analysis item measures or
            determines from the call
        system_prompt:
          type: string
          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:
        - name
        - description
        - system_prompt
      title: CreateStringPostCallAnalysisItemRequest
    CreateEnumPostCallAnalysisItemRequest:
      properties:
        type:
          type: string
          const: enum
          title: Type
          description: >-
            Specifies that this analysis item will return one value from a
            predefined set
          default: enum
        name:
          type: string
          title: Name
          description: Unique identifier for this analysis item
        description:
          type: string
          title: Description
          description: >-
            Detailed explanation of what this analysis item measures or
            determines from the call
        system_prompt:
          type: string
          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:
        - name
        - description
        - system_prompt
        - choices
      title: CreateEnumPostCallAnalysisItemRequest
    CreateBooleanPostCallAnalysisItemRequest:
      properties:
        type:
          type: string
          const: boolean
          title: Type
          description: Specifies that this analysis item will return a true/false result
          default: boolean
        name:
          type: string
          title: Name
          description: Unique identifier for this analysis item
        description:
          type: string
          title: Description
          description: >-
            Detailed explanation of what this analysis item measures or
            determines from the call
        system_prompt:
          type: string
          title: System Prompt
          description: >-
            Instructions for the AI system on how to analyze the call and
            generate this specific analysis item
      type: object
      required:
        - name
        - description
        - system_prompt
      title: CreateBooleanPostCallAnalysisItemRequest
    CreateNumberPostCallAnalysisItemRequest:
      properties:
        type:
          type: string
          const: number
          title: Type
          description: Specifies that this analysis item will return a numeric value
          default: number
        name:
          type: string
          title: Name
          description: Unique identifier for this analysis item
        description:
          type: string
          title: Description
          description: >-
            Detailed explanation of what this analysis item measures or
            determines from the call
        system_prompt:
          type: string
          title: System Prompt
          description: >-
            Instructions for the AI system on how to analyze the call and
            generate this specific analysis item
      type: object
      required:
        - name
        - description
        - system_prompt
      title: CreateNumberPostCallAnalysisItemRequest
    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
    CreateDynamicDataResponseConfigItemRequest:
      properties:
        name:
          type: string
          title: Name
          description: Unique identifier for this dynamic data response item
        data:
          type: string
          title: Data
          description: JSONPath expression to extract the desired data from the response
        context:
          anyOf:
            - type: string
            - type: 'null'
          title: Context
          description: >-
            Additional context or metadata about this data field to help the AI
            agent understand and use the data appropriately
      type: object
      required:
        - name
        - data
      title: CreateDynamicDataResponseConfigItemRequest
    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

````