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

# Create Agent



## OpenAPI

````yaml post /v1/agents/create
openapi: 3.1.0
info:
  title: Vocode Hosted API
  description: |2-

            Vocode's Hosted API helps you automate phone calls in minutes. 🚀

            ## Numbers

            You can buy phone lines and place agents on them.

            ## Calls

            You can start, end, and get information about calls.
            
  termsOfService: http://example.com/terms/
  contact:
    name: Support
    email: support@vocode.dev
  version: 1.0.0
servers:
  - url: https://api.vocode.dev
    description: Production environment
    x-fern-server-name: Production
security: []
tags:
  - name: numbers
    description: Operations with phone numbers.
  - name: calls
    description: Manage calls.
paths:
  /v1/agents/create:
    post:
      tags:
        - agents
      summary: Create Agent
      operationId: create_agent
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentParams'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
components:
  schemas:
    AgentParams:
      properties:
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        prompt:
          anyOf:
            - type: string
              format: uuid
            - $ref: '#/components/schemas/PromptParams'
          title: Prompt
        language:
          allOf:
            - $ref: '#/components/schemas/Language'
          default: en
        actions:
          items:
            anyOf:
              - type: string
                format: uuid
              - oneOf:
                  - $ref: '#/components/schemas/TransferCallActionParams'
                  - $ref: '#/components/schemas/EndConversationActionParams'
                  - $ref: '#/components/schemas/DTMFActionParams'
                  - $ref: '#/components/schemas/AddToConferenceActionParams'
                  - $ref: '#/components/schemas/SetHoldActionParams'
                  - $ref: '#/components/schemas/ExternalActionParams'
                discriminator:
                  propertyName: type
                  mapping:
                    action_add_to_conference: '#/components/schemas/AddToConferenceActionParams'
                    action_dtmf: '#/components/schemas/DTMFActionParams'
                    action_end_conversation: '#/components/schemas/EndConversationActionParams'
                    action_external: '#/components/schemas/ExternalActionParams'
                    action_set_hold: '#/components/schemas/SetHoldActionParams'
                    action_transfer_call: '#/components/schemas/TransferCallActionParams'
          type: array
          title: Actions
          default: []
        voice:
          anyOf:
            - type: string
              format: uuid
            - oneOf:
                - $ref: '#/components/schemas/AzureVoiceParams'
                - $ref: '#/components/schemas/RimeVoiceParams'
                - $ref: '#/components/schemas/ElevenLabsVoiceParams'
                - $ref: '#/components/schemas/PlayHtVoiceParams'
                - $ref: '#/components/schemas/VocodeVoiceParams'
              discriminator:
                propertyName: type
                mapping:
                  voice_azure: '#/components/schemas/AzureVoiceParams'
                  voice_eleven_labs: '#/components/schemas/ElevenLabsVoiceParams'
                  voice_play_ht: '#/components/schemas/PlayHtVoiceParams'
                  voice_rime: '#/components/schemas/RimeVoiceParams'
                  voice_vocode: '#/components/schemas/VocodeVoiceParams'
          title: Voice
        initial_message:
          anyOf:
            - type: string
            - type: 'null'
          title: Initial Message
        webhook:
          anyOf:
            - type: string
              format: uuid
            - $ref: '#/components/schemas/WebhookParams'
            - type: 'null'
          title: Webhook
        vector_database:
          anyOf:
            - type: string
              format: uuid
            - $ref: '#/components/schemas/PineconeVectorDatabaseParams'
            - type: 'null'
          title: Vector Database
        interrupt_sensitivity:
          allOf:
            - $ref: '#/components/schemas/InterruptSensitivity'
          default: low
        context_endpoint:
          anyOf:
            - type: string
            - type: 'null'
          title: Context Endpoint
        noise_suppression:
          type: boolean
          title: Noise Suppression
          default: false
        endpointing_sensitivity:
          type: string
          enum:
            - auto
            - relaxed
            - sensitive
          title: Endpointing Sensitivity
          default: auto
        ivr_navigation_mode:
          type: string
          enum:
            - default
            - 'off'
          title: Ivr Navigation Mode
          default: 'off'
        conversation_speed:
          type: number
          title: Conversation Speed
          default: 1
        initial_message_delay:
          type: number
          title: Initial Message Delay
          default: 0
        openai_model_name_override:
          anyOf:
            - type: string
            - type: 'null'
          title: Openai Model Name Override
        ask_if_human_present_on_idle:
          type: boolean
          title: Ask If Human Present On Idle
          default: false
        openai_account_connection:
          anyOf:
            - $ref: '#/components/schemas/OpenAIAccountConnection'
            - type: string
              format: uuid
            - type: 'null'
          title: Openai Account Connection
        run_do_not_call_detection:
          type: boolean
          title: Run Do Not Call Detection
          default: false
        llm_fallback:
          anyOf:
            - $ref: '#/components/schemas/InternalLLMFallback'
            - type: 'null'
        deepgram_keywords:
          anyOf:
            - additionalProperties:
                anyOf:
                  - type: integer
                  - type: number
              type: object
            - type: 'null'
          title: Deepgram Keywords
        idle_time_seconds:
          anyOf:
            - type: integer
            - type: 'null'
          title: Idle Time Seconds
        llm_temperature:
          type: number
          title: Llm Temperature
          default: 0
      type: object
      required:
        - prompt
        - voice
      title: AgentParams
    Agent:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        user_id:
          type: string
          format: uuid
          title: User Id
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        prompt:
          $ref: '#/components/schemas/Prompt'
        language:
          allOf:
            - $ref: '#/components/schemas/Language'
          default: en
        actions:
          items:
            oneOf:
              - $ref: '#/components/schemas/TransferCallAction'
              - $ref: '#/components/schemas/EndConversationAction'
              - $ref: '#/components/schemas/DTMFAction'
              - $ref: '#/components/schemas/AddToConferenceAction'
              - $ref: '#/components/schemas/SetHoldAction'
              - $ref: '#/components/schemas/ExternalAction'
            discriminator:
              propertyName: type
              mapping:
                action_add_to_conference: '#/components/schemas/AddToConferenceAction'
                action_dtmf: '#/components/schemas/DTMFAction'
                action_end_conversation: '#/components/schemas/EndConversationAction'
                action_external: '#/components/schemas/ExternalAction'
                action_set_hold: '#/components/schemas/SetHoldAction'
                action_transfer_call: '#/components/schemas/TransferCallAction'
          type: array
          title: Actions
        voice:
          oneOf:
            - $ref: '#/components/schemas/AzureVoice'
            - $ref: '#/components/schemas/RimeVoice'
            - $ref: '#/components/schemas/ElevenLabsVoice'
            - $ref: '#/components/schemas/PlayHtVoice'
            - $ref: '#/components/schemas/VocodeVoice'
          title: Voice
          discriminator:
            propertyName: type
            mapping:
              voice_azure: '#/components/schemas/AzureVoice'
              voice_eleven_labs: '#/components/schemas/ElevenLabsVoice'
              voice_play_ht: '#/components/schemas/PlayHtVoice'
              voice_rime: '#/components/schemas/RimeVoice'
              voice_vocode: '#/components/schemas/VocodeVoice'
        initial_message:
          anyOf:
            - type: string
            - type: 'null'
          title: Initial Message
        webhook:
          anyOf:
            - $ref: '#/components/schemas/Webhook'
            - type: 'null'
        vector_database:
          anyOf:
            - $ref: '#/components/schemas/PineconeVectorDatabase'
            - type: 'null'
        interrupt_sensitivity:
          allOf:
            - $ref: '#/components/schemas/InterruptSensitivity'
          default: low
        context_endpoint:
          anyOf:
            - type: string
            - type: 'null'
          title: Context Endpoint
        noise_suppression:
          type: boolean
          title: Noise Suppression
          default: false
        endpointing_sensitivity:
          type: string
          enum:
            - auto
            - relaxed
            - sensitive
          title: Endpointing Sensitivity
          default: auto
        ivr_navigation_mode:
          type: string
          enum:
            - default
            - 'off'
          title: Ivr Navigation Mode
          default: 'off'
        conversation_speed:
          type: number
          title: Conversation Speed
          default: 1
        initial_message_delay:
          type: number
          title: Initial Message Delay
          default: 0
        openai_model_name_override:
          anyOf:
            - type: string
            - type: 'null'
          title: Openai Model Name Override
        ask_if_human_present_on_idle:
          type: boolean
          title: Ask If Human Present On Idle
          default: false
        openai_account_connection:
          anyOf:
            - $ref: '#/components/schemas/OpenAIAccountConnection'
            - type: 'null'
        run_do_not_call_detection:
          type: boolean
          title: Run Do Not Call Detection
          default: false
        llm_fallback:
          anyOf:
            - $ref: '#/components/schemas/InternalLLMFallback'
            - type: 'null'
        deepgram_keywords:
          anyOf:
            - additionalProperties:
                anyOf:
                  - type: integer
                  - type: number
              type: object
            - type: 'null'
          title: Deepgram Keywords
        idle_time_seconds:
          anyOf:
            - type: integer
            - type: 'null'
          title: Idle Time Seconds
        llm_temperature:
          type: number
          title: Llm Temperature
          default: 0
      type: object
      required:
        - id
        - user_id
        - prompt
        - actions
        - voice
      title: Agent
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    PromptParams:
      properties:
        content:
          type: string
          title: Content
          default: ''
        collect_fields:
          anyOf:
            - items:
                $ref: '#/components/schemas/CollectField'
              type: array
            - type: 'null'
          title: Collect Fields
        context_endpoint:
          anyOf:
            - type: string
            - type: 'null'
          title: Context Endpoint
        prompt_template:
          anyOf:
            - type: string
              format: uuid
            - $ref: '#/components/schemas/PromptTemplate'
            - type: 'null'
          title: Prompt Template
      type: object
      title: PromptParams
    Language:
      type: string
      enum:
        - en
        - es
        - de
        - hi
        - pt
        - fr
        - nl
        - id
        - it
        - ja
        - ko
      title: Language
    TransferCallActionParams:
      properties:
        type:
          type: string
          enum:
            - action_transfer_call
          const: action_transfer_call
          title: Type
        config:
          $ref: '#/components/schemas/TransferCallConfig'
        action_trigger:
          oneOf:
            - $ref: '#/components/schemas/FunctionCallActionTrigger'
            - $ref: '#/components/schemas/PhraseBasedActionTrigger-Input'
          title: Action Trigger
          default:
            type: action_trigger_function_call
            config: {}
          discriminator:
            propertyName: type
            mapping:
              action_trigger_function_call: '#/components/schemas/FunctionCallActionTrigger'
              action_trigger_phrase_based: '#/components/schemas/PhraseBasedActionTrigger-Input'
      type: object
      required:
        - type
        - config
      title: TransferCallActionParams
    EndConversationActionParams:
      properties:
        type:
          type: string
          enum:
            - action_end_conversation
          const: action_end_conversation
          title: Type
        config:
          $ref: '#/components/schemas/EmptyActionConfig'
        action_trigger:
          oneOf:
            - $ref: '#/components/schemas/FunctionCallActionTrigger'
            - $ref: '#/components/schemas/PhraseBasedActionTrigger-Input'
          title: Action Trigger
          default:
            type: action_trigger_function_call
            config: {}
          discriminator:
            propertyName: type
            mapping:
              action_trigger_function_call: '#/components/schemas/FunctionCallActionTrigger'
              action_trigger_phrase_based: '#/components/schemas/PhraseBasedActionTrigger-Input'
      type: object
      required:
        - type
      title: EndConversationActionParams
    DTMFActionParams:
      properties:
        type:
          type: string
          enum:
            - action_dtmf
          const: action_dtmf
          title: Type
        config:
          $ref: '#/components/schemas/EmptyActionConfig'
        action_trigger:
          allOf:
            - $ref: '#/components/schemas/FunctionCallActionTrigger'
          default:
            type: action_trigger_function_call
            config: {}
      type: object
      required:
        - type
      title: DTMFActionParams
    AddToConferenceActionParams:
      properties:
        type:
          type: string
          enum:
            - action_add_to_conference
          const: action_add_to_conference
          title: Type
        config:
          $ref: '#/components/schemas/AddToConferenceConfig'
        action_trigger:
          oneOf:
            - $ref: '#/components/schemas/FunctionCallActionTrigger'
            - $ref: '#/components/schemas/PhraseBasedActionTrigger-Input'
          title: Action Trigger
          default:
            type: action_trigger_function_call
            config: {}
          discriminator:
            propertyName: type
            mapping:
              action_trigger_function_call: '#/components/schemas/FunctionCallActionTrigger'
              action_trigger_phrase_based: '#/components/schemas/PhraseBasedActionTrigger-Input'
      type: object
      required:
        - type
        - config
      title: AddToConferenceActionParams
    SetHoldActionParams:
      properties:
        type:
          type: string
          enum:
            - action_set_hold
          const: action_set_hold
          title: Type
        config:
          $ref: '#/components/schemas/EmptyActionConfig'
        action_trigger:
          oneOf:
            - $ref: '#/components/schemas/FunctionCallActionTrigger'
            - $ref: '#/components/schemas/PhraseBasedActionTrigger-Input'
          title: Action Trigger
          default:
            type: action_trigger_function_call
            config: {}
          discriminator:
            propertyName: type
            mapping:
              action_trigger_function_call: '#/components/schemas/FunctionCallActionTrigger'
              action_trigger_phrase_based: '#/components/schemas/PhraseBasedActionTrigger-Input'
      type: object
      required:
        - type
      title: SetHoldActionParams
    ExternalActionParams:
      properties:
        type:
          type: string
          enum:
            - action_external
          const: action_external
          title: Type
        config:
          $ref: '#/components/schemas/ExternalActionConfig'
        action_trigger:
          allOf:
            - $ref: '#/components/schemas/FunctionCallActionTrigger'
          default:
            type: action_trigger_function_call
            config: {}
      type: object
      required:
        - type
        - config
      title: ExternalActionParams
    AzureVoiceParams:
      properties:
        type:
          type: string
          enum:
            - voice_azure
          const: voice_azure
          title: Type
        voice_name:
          type: string
          title: Voice Name
        pitch:
          type: integer
          title: Pitch
          default: 0
        rate:
          type: integer
          title: Rate
          default: 15
      type: object
      required:
        - type
        - voice_name
      title: AzureVoiceParams
    RimeVoiceParams:
      properties:
        type:
          type: string
          enum:
            - voice_rime
          const: voice_rime
          title: Type
        speaker:
          type: string
          title: Speaker
        speed_alpha:
          anyOf:
            - type: number
            - type: 'null'
          title: Speed Alpha
        model_id:
          anyOf:
            - type: string
              enum:
                - mist
                - v1
            - $ref: '#/components/schemas/Undefined'
            - type: 'null'
          title: Model Id
      type: object
      required:
        - type
        - speaker
      title: RimeVoiceParams
    ElevenLabsVoiceParams:
      properties:
        type:
          type: string
          enum:
            - voice_eleven_labs
          const: voice_eleven_labs
          title: Type
        voice_id:
          type: string
          title: Voice Id
        stability:
          anyOf:
            - type: number
            - type: 'null'
          title: Stability
        similarity_boost:
          anyOf:
            - type: number
            - type: 'null'
          title: Similarity Boost
        api_key:
          anyOf:
            - type: string
            - type: 'null'
          title: Api Key
        optimize_streaming_latency:
          anyOf:
            - type: integer
            - type: 'null'
          title: Optimize Streaming Latency
        model_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Model Id
        experimental_input_streaming:
          type: boolean
          title: Experimental Input Streaming
          default: false
      type: object
      required:
        - type
        - voice_id
      title: ElevenLabsVoiceParams
    PlayHtVoiceParams:
      properties:
        type:
          type: string
          enum:
            - voice_play_ht
          const: voice_play_ht
          title: Type
        voice_id:
          type: string
          title: Voice Id
        api_user_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Api User Id
        api_key:
          anyOf:
            - type: string
            - type: 'null'
          title: Api Key
        version:
          type: string
          enum:
            - '1'
            - '2'
          title: Version
          default: '2'
        speed:
          anyOf:
            - type: number
            - type: 'null'
          title: Speed
        quality:
          anyOf:
            - type: string
              enum:
                - faster
                - draft
                - low
                - medium
                - high
                - premium
            - type: 'null'
          title: Quality
        temperature:
          anyOf:
            - type: number
            - type: 'null'
          title: Temperature
        top_p:
          anyOf:
            - type: number
            - type: 'null'
          title: Top P
        text_guidance:
          anyOf:
            - type: number
            - type: 'null'
          title: Text Guidance
        voice_guidance:
          anyOf:
            - type: number
            - type: 'null'
          title: Voice Guidance
        experimental_remove_silence:
          type: boolean
          title: Experimental Remove Silence
          default: false
      type: object
      required:
        - type
        - voice_id
      title: PlayHtVoiceParams
    VocodeVoiceParams:
      properties:
        type:
          type: string
          enum:
            - voice_vocode
          const: voice_vocode
          title: Type
        voice_id:
          type: string
          enum:
            - joe
          const: joe
          title: Voice Id
      type: object
      required:
        - type
        - voice_id
      title: VocodeVoiceParams
    WebhookParams:
      properties:
        subscriptions:
          items:
            $ref: '#/components/schemas/EventType'
          type: array
          title: Subscriptions
        url:
          type: string
          title: Url
        method:
          allOf:
            - $ref: '#/components/schemas/HTTPMethod'
          default: POST
      type: object
      required:
        - subscriptions
        - url
      title: WebhookParams
    PineconeVectorDatabaseParams:
      properties:
        type:
          type: string
          enum:
            - vector_database_pinecone
          const: vector_database_pinecone
          title: Type
        index:
          type: string
          title: Index
        api_key:
          type: string
          title: Api Key
        api_environment:
          type: string
          title: Api Environment
      type: object
      required:
        - type
        - index
        - api_key
        - api_environment
      title: PineconeVectorDatabaseParams
    InterruptSensitivity:
      type: string
      enum:
        - low
        - high
      title: InterruptSensitivity
    OpenAIAccountConnection:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        user_id:
          type: string
          format: uuid
          title: User Id
        credentials:
          $ref: '#/components/schemas/OpenAICredentials'
        type:
          type: string
          enum:
            - account_connection_openai
          const: account_connection_openai
          title: Type
      type: object
      required:
        - id
        - user_id
        - credentials
        - type
      title: OpenAIAccountConnection
    InternalLLMFallback:
      properties:
        provider:
          type: string
          enum:
            - openai
            - azure
          title: Provider
        model_name:
          type: string
          title: Model Name
      type: object
      required:
        - provider
        - model_name
      title: InternalLLMFallback
    Prompt:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        user_id:
          type: string
          format: uuid
          title: User Id
        content:
          type: string
          title: Content
          default: ''
        collect_fields:
          anyOf:
            - items:
                $ref: '#/components/schemas/CollectField'
              type: array
            - type: 'null'
          title: Collect Fields
        context_endpoint:
          anyOf:
            - type: string
            - type: 'null'
          title: Context Endpoint
        prompt_template:
          anyOf:
            - $ref: '#/components/schemas/PromptTemplate'
            - type: 'null'
      type: object
      required:
        - id
        - user_id
      title: Prompt
    TransferCallAction:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        user_id:
          type: string
          format: uuid
          title: User Id
        type:
          type: string
          enum:
            - action_transfer_call
          const: action_transfer_call
          title: Type
        config:
          $ref: '#/components/schemas/TransferCallConfig'
        action_trigger:
          oneOf:
            - $ref: '#/components/schemas/FunctionCallActionTrigger'
            - $ref: '#/components/schemas/PhraseBasedActionTrigger-Output'
          title: Action Trigger
          default:
            type: action_trigger_function_call
            config: {}
          discriminator:
            propertyName: type
            mapping:
              action_trigger_function_call: '#/components/schemas/FunctionCallActionTrigger'
              action_trigger_phrase_based: '#/components/schemas/PhraseBasedActionTrigger-Output'
      type: object
      required:
        - id
        - user_id
        - type
        - config
      title: TransferCallAction
    EndConversationAction:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        user_id:
          type: string
          format: uuid
          title: User Id
        type:
          type: string
          enum:
            - action_end_conversation
          const: action_end_conversation
          title: Type
        config:
          $ref: '#/components/schemas/EmptyActionConfig'
        action_trigger:
          oneOf:
            - $ref: '#/components/schemas/FunctionCallActionTrigger'
            - $ref: '#/components/schemas/PhraseBasedActionTrigger-Output'
          title: Action Trigger
          default:
            type: action_trigger_function_call
            config: {}
          discriminator:
            propertyName: type
            mapping:
              action_trigger_function_call: '#/components/schemas/FunctionCallActionTrigger'
              action_trigger_phrase_based: '#/components/schemas/PhraseBasedActionTrigger-Output'
      type: object
      required:
        - id
        - user_id
        - type
      title: EndConversationAction
    DTMFAction:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        user_id:
          type: string
          format: uuid
          title: User Id
        type:
          type: string
          enum:
            - action_dtmf
          const: action_dtmf
          title: Type
        config:
          $ref: '#/components/schemas/EmptyActionConfig'
        action_trigger:
          allOf:
            - $ref: '#/components/schemas/FunctionCallActionTrigger'
          default:
            type: action_trigger_function_call
            config: {}
      type: object
      required:
        - id
        - user_id
        - type
      title: DTMFAction
    AddToConferenceAction:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        user_id:
          type: string
          format: uuid
          title: User Id
        type:
          type: string
          enum:
            - action_add_to_conference
          const: action_add_to_conference
          title: Type
        config:
          $ref: '#/components/schemas/AddToConferenceConfig'
        action_trigger:
          oneOf:
            - $ref: '#/components/schemas/FunctionCallActionTrigger'
            - $ref: '#/components/schemas/PhraseBasedActionTrigger-Output'
          title: Action Trigger
          default:
            type: action_trigger_function_call
            config: {}
          discriminator:
            propertyName: type
            mapping:
              action_trigger_function_call: '#/components/schemas/FunctionCallActionTrigger'
              action_trigger_phrase_based: '#/components/schemas/PhraseBasedActionTrigger-Output'
      type: object
      required:
        - id
        - user_id
        - type
        - config
      title: AddToConferenceAction
    SetHoldAction:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        user_id:
          type: string
          format: uuid
          title: User Id
        type:
          type: string
          enum:
            - action_set_hold
          const: action_set_hold
          title: Type
        config:
          $ref: '#/components/schemas/EmptyActionConfig'
        action_trigger:
          oneOf:
            - $ref: '#/components/schemas/FunctionCallActionTrigger'
            - $ref: '#/components/schemas/PhraseBasedActionTrigger-Output'
          title: Action Trigger
          default:
            type: action_trigger_function_call
            config: {}
          discriminator:
            propertyName: type
            mapping:
              action_trigger_function_call: '#/components/schemas/FunctionCallActionTrigger'
              action_trigger_phrase_based: '#/components/schemas/PhraseBasedActionTrigger-Output'
      type: object
      required:
        - id
        - user_id
        - type
      title: SetHoldAction
    ExternalAction:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        user_id:
          type: string
          format: uuid
          title: User Id
        type:
          type: string
          enum:
            - action_external
          const: action_external
          title: Type
        config:
          $ref: '#/components/schemas/ExternalActionConfig'
        action_trigger:
          allOf:
            - $ref: '#/components/schemas/FunctionCallActionTrigger'
          default:
            type: action_trigger_function_call
            config: {}
      type: object
      required:
        - id
        - user_id
        - type
        - config
      title: ExternalAction
    AzureVoice:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        user_id:
          type: string
          format: uuid
          title: User Id
        type:
          type: string
          enum:
            - voice_azure
          const: voice_azure
          title: Type
        voice_name:
          type: string
          title: Voice Name
        pitch:
          type: integer
          title: Pitch
          default: 0
        rate:
          type: integer
          title: Rate
          default: 15
      type: object
      required:
        - id
        - user_id
        - type
        - voice_name
      title: AzureVoice
    RimeVoice:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        user_id:
          type: string
          format: uuid
          title: User Id
        type:
          type: string
          enum:
            - voice_rime
          const: voice_rime
          title: Type
        speaker:
          type: string
          title: Speaker
        speed_alpha:
          anyOf:
            - type: number
            - type: 'null'
          title: Speed Alpha
        model_id:
          anyOf:
            - type: string
              enum:
                - mist
                - v1
            - $ref: '#/components/schemas/Undefined'
            - type: 'null'
          title: Model Id
      type: object
      required:
        - id
        - user_id
        - type
        - speaker
      title: RimeVoice
    ElevenLabsVoice:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        user_id:
          type: string
          format: uuid
          title: User Id
        type:
          type: string
          enum:
            - voice_eleven_labs
          const: voice_eleven_labs
          title: Type
        voice_id:
          type: string
          title: Voice Id
        stability:
          anyOf:
            - type: number
            - type: 'null'
          title: Stability
        similarity_boost:
          anyOf:
            - type: number
            - type: 'null'
          title: Similarity Boost
        api_key:
          anyOf:
            - type: string
            - type: 'null'
          title: Api Key
        optimize_streaming_latency:
          anyOf:
            - type: integer
            - type: 'null'
          title: Optimize Streaming Latency
        model_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Model Id
        experimental_input_streaming:
          type: boolean
          title: Experimental Input Streaming
          default: false
      type: object
      required:
        - id
        - user_id
        - type
        - voice_id
      title: ElevenLabsVoice
    PlayHtVoice:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        user_id:
          type: string
          format: uuid
          title: User Id
        type:
          type: string
          enum:
            - voice_play_ht
          const: voice_play_ht
          title: Type
        voice_id:
          type: string
          title: Voice Id
        api_user_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Api User Id
        api_key:
          anyOf:
            - type: string
            - type: 'null'
          title: Api Key
        version:
          type: string
          enum:
            - '1'
            - '2'
          title: Version
          default: '2'
        speed:
          anyOf:
            - type: number
            - type: 'null'
          title: Speed
        quality:
          anyOf:
            - type: string
              enum:
                - faster
                - draft
                - low
                - medium
                - high
                - premium
            - type: 'null'
          title: Quality
        temperature:
          anyOf:
            - type: number
            - type: 'null'
          title: Temperature
        top_p:
          anyOf:
            - type: number
            - type: 'null'
          title: Top P
        text_guidance:
          anyOf:
            - type: number
            - type: 'null'
          title: Text Guidance
        voice_guidance:
          anyOf:
            - type: number
            - type: 'null'
          title: Voice Guidance
        experimental_remove_silence:
          type: boolean
          title: Experimental Remove Silence
          default: false
      type: object
      required:
        - id
        - user_id
        - type
        - voice_id
      title: PlayHtVoice
    VocodeVoice:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        user_id:
          type: string
          format: uuid
          title: User Id
        type:
          type: string
          enum:
            - voice_vocode
          const: voice_vocode
          title: Type
        voice_id:
          type: string
          enum:
            - joe
          const: joe
          title: Voice Id
      type: object
      required:
        - id
        - user_id
        - type
        - voice_id
      title: VocodeVoice
    Webhook:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        user_id:
          type: string
          format: uuid
          title: User Id
        subscriptions:
          items:
            $ref: '#/components/schemas/EventType'
          type: array
          title: Subscriptions
        url:
          type: string
          title: Url
        method:
          allOf:
            - $ref: '#/components/schemas/HTTPMethod'
          default: POST
      type: object
      required:
        - id
        - user_id
        - subscriptions
        - url
      title: Webhook
    PineconeVectorDatabase:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        user_id:
          type: string
          format: uuid
          title: User Id
        type:
          type: string
          enum:
            - vector_database_pinecone
          const: vector_database_pinecone
          title: Type
        index:
          type: string
          title: Index
        api_key:
          type: string
          title: Api Key
        api_environment:
          type: string
          title: Api Environment
      type: object
      required:
        - id
        - user_id
        - type
        - index
        - api_key
        - api_environment
      title: PineconeVectorDatabase
    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
    CollectField:
      properties:
        field_type:
          type: string
          enum:
            - field_type_email
          const: field_type_email
          title: Field Type
        label:
          type: string
          title: Label
        name:
          type: string
          title: Name
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
      type: object
      required:
        - field_type
        - label
        - name
      title: CollectField
    PromptTemplate:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        user_id:
          type: string
          format: uuid
          title: User Id
        label:
          type: string
          title: Label
          default: ''
        required_context_keys:
          items:
            type: string
          type: array
          title: Required Context Keys
      type: object
      required:
        - id
        - user_id
        - required_context_keys
      title: PromptTemplate
    TransferCallConfig:
      properties:
        phone_number:
          type: string
          title: Phone Number
      type: object
      required:
        - phone_number
      title: TransferCallConfig
    FunctionCallActionTrigger:
      properties:
        type:
          type: string
          enum:
            - action_trigger_function_call
          const: action_trigger_function_call
          title: Type
        config:
          $ref: '#/components/schemas/FunctionCallActionTriggerConfig'
      type: object
      required:
        - type
      title: FunctionCallActionTrigger
    PhraseBasedActionTrigger-Input:
      properties:
        type:
          type: string
          enum:
            - action_trigger_phrase_based
          const: action_trigger_phrase_based
          title: Type
        config:
          $ref: '#/components/schemas/PhraseBasedActionTriggerConfig'
      type: object
      required:
        - type
        - config
      title: PhraseBasedActionTrigger
    EmptyActionConfig:
      properties: {}
      type: object
      title: EmptyActionConfig
    AddToConferenceConfig:
      properties:
        phone_number:
          type: string
          title: Phone Number
        place_primary_on_hold:
          type: boolean
          title: Place Primary On Hold
          default: true
      type: object
      required:
        - phone_number
      title: AddToConferenceConfig
    ExternalActionConfig:
      properties:
        processing_mode:
          type: string
          enum:
            - muted
          const: muted
          title: Processing Mode
          default: muted
        name:
          type: string
          title: Name
        description:
          type: string
          title: Description
        url:
          type: string
          title: Url
        input_schema:
          type: object
          title: Input Schema
        speak_on_send:
          type: boolean
          title: Speak On Send
        speak_on_receive:
          type: boolean
          title: Speak On Receive
        signature_secret:
          type: string
          title: Signature Secret
      type: object
      required:
        - name
        - description
        - url
        - input_schema
        - speak_on_send
        - speak_on_receive
      title: ExternalActionConfig
    Undefined:
      properties: {}
      additionalProperties: false
      type: object
      title: Undefined
    EventType:
      type: string
      enum:
        - event_message
        - event_action
        - event_phone_call_connected
        - event_phone_call_ended
        - event_phone_call_did_not_connect
        - event_transcript
        - event_recording
        - event_human_detection
      title: EventType
    HTTPMethod:
      type: string
      enum:
        - GET
        - POST
      title: HTTPMethod
    OpenAICredentials:
      properties:
        openai_api_key:
          type: string
          title: Openai Api Key
      type: object
      required:
        - openai_api_key
      title: OpenAICredentials
    PhraseBasedActionTrigger-Output:
      properties:
        type:
          type: string
          enum:
            - action_trigger_phrase_based
          const: action_trigger_phrase_based
          title: Type
        config:
          $ref: '#/components/schemas/PhraseBasedActionTriggerConfig'
      type: object
      required:
        - type
        - config
      title: PhraseBasedActionTrigger
    FunctionCallActionTriggerConfig:
      properties: {}
      type: object
      title: FunctionCallActionTriggerConfig
    PhraseBasedActionTriggerConfig:
      properties:
        phrase_triggers:
          items:
            $ref: '#/components/schemas/PhraseTrigger'
          type: array
          title: Phrase Triggers
      type: object
      required:
        - phrase_triggers
      title: PhraseBasedActionTriggerConfig
    PhraseTrigger:
      properties:
        phrase:
          type: string
          title: Phrase
        conditions:
          items:
            type: string
            enum:
              - phrase_condition_type_contains
            const: phrase_condition_type_contains
          type: array
          title: Conditions
      type: object
      required:
        - phrase
        - conditions
      title: PhraseTrigger
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````