> ## Documentation Index
> Fetch the complete documentation index at: https://developer.watson-orchestrate.ibm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Phone Channel



## OpenAPI

````yaml post /v1/channels/phone
openapi: 3.1.0
info:
  title: WxO Server API
  summary: API for the next gen watsonx Orchestrate stack
  description: >+

    The watsonx Orchestrate Server provides a set of APIs to power the watsonx
    Orchestrate AI assistant. This includes the following core services:


    * Orchestrate Assistant - a built-in AI assistant that powers the
    Orchestrate end-user experience.

    * Custom Assistants - a service layer for interacting with existing AI
    assistatns (such as those in watsonx Assistant).

    * Message Threads - a chat history and async message tracking store.

    * Document Store - manage collections of documents in nearly any format
    including text, pdf, html and many more.

    * Information Extraction - automatically extract clean text and images from
    any document in the Document Store.  Also extract other useful metadata like
    questions answered, keywords, and named entities.

    * Embedding - generate vector embeddings for text and images in the Document
    Store.

    * Vector Index and Retrieval - automatically index documents with rich
    metadata for vector search or hybrid search.

    * Search Engine - create a Gen AI powered search engine that works like Bing
    or Google.

    * Query Engine - configure your own RAG (Retrieval Augmented Generation)
    engine supporting advanced retrieval patterns and automated data management.

    * Model Proxy - create your own LLM model endpoints for chat completions and
    embeddings.  Supports IBM watsonx.ai, IBM BAM, OpenAI, MistralAI, or Ollama
    for local models.


    WxO API Server utilizes the following open source projects:


    * [PostgreSQL](https://www.postgresql.org/)

    * [PGVector](https://github.com/pgvector/pgvector)

    * [LlamaIndex](https://docs.llamaindex.ai/en/stable/)

    * [LangChain](https://python.langchain.com/docs/get_started/introduction)

    * [FastAPI](https://fastapi.tiangolo.com/)

    * [Unstructured](https://unstructured.io/)

    * [Celery](https://docs.celeryproject.org/en/stable/)

  version: 0.1.0
servers:
  - url: https://{api_endpoint}
    description: version
security: []
paths:
  /v1/channels/phone:
    post:
      tags:
        - Phone channel global
      summary: Create Phone Channel
      operationId: create_phone_channel_v1_channels_phone_post
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePhoneConfig'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
components:
  schemas:
    CreatePhoneConfig:
      properties:
        name:
          type: string
          maxLength: 64
          title: Name
        description:
          anyOf:
            - type: string
              maxLength: 1024
            - type: 'null'
          title: Description
        service_provider:
          $ref: '#/components/schemas/ServiceProvider'
          default: sip_trunk
        custom_invite_headers:
          anyOf:
            - items:
                $ref: '#/components/schemas/CustomInviteHeader'
              type: array
            - type: 'null'
          title: Custom Invite Headers
          default: []
        put_caller_on_hold_on_transfer:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Put Caller On Hold On Transfer
          default: true
        send_provisional_response:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Send Provisional Response
          default: true
        security:
          $ref: '#/components/schemas/PhoneSecurity'
        error_handling:
          $ref: '#/components/schemas/PhoneErrorHandling'
          default: {}
      type: object
      required:
        - name
        - security
      title: CreatePhoneConfig
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ServiceProvider:
      type: string
      enum:
        - sip_trunk
        - genesys_audio_connector
      title: ServiceProvider
    CustomInviteHeader:
      properties:
        name:
          type: string
          title: Name
      type: object
      required:
        - name
      title: CustomInviteHeader
    PhoneSecurity:
      properties:
        api_key:
          anyOf:
            - type: string
              maxLength: 1024
            - type: 'null'
          title: Api Key
        client_secret:
          anyOf:
            - type: string
              maxLength: 1024
            - type: 'null'
          title: Client Secret
        secure_trunking:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Secure Trunking
          default: false
        authentication:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Authentication
          default: false
        username:
          anyOf:
            - type: string
              maxLength: 512
            - type: 'null'
          title: Username
        password:
          anyOf:
            - type: string
              maxLength: 512
            - type: 'null'
          title: Password
        password_is_set:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Password Is Set
          default: false
      type: object
      title: PhoneSecurity
    PhoneErrorHandling:
      properties:
        fallback_sip_uri:
          anyOf:
            - type: string
              maxLength: 1024
            - type: 'null'
          title: Fallback Sip Uri
        transfer_failure:
          anyOf:
            - $ref: '#/components/schemas/PhoneErrorTransferFailureHandling'
            - type: 'null'
          default: {}
        call_failure:
          anyOf:
            - $ref: '#/components/schemas/PhoneErrorCallFailureHandling'
            - type: 'null'
          default: {}
      type: object
      title: PhoneErrorHandling
    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
    PhoneErrorTransferFailureHandling:
      properties:
        reply_message:
          anyOf:
            - type: string
              maxLength: 1024
            - type: 'null'
          title: Reply Message
        disconnect_call:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Disconnect Call
          default: false
      type: object
      title: PhoneErrorTransferFailureHandling
    PhoneErrorCallFailureHandling:
      properties:
        reply_message:
          anyOf:
            - type: string
              maxLength: 1024
            - type: 'null'
          title: Reply Message
      type: object
      title: PhoneErrorCallFailureHandling
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````