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

# Create Telephony Type

> Create Telephony Type.

### Authorizations

<ParamField header="X-Api-Key" type="string" required>
  Your Agni API key used to authenticate the request. Pass it in the `X-Api-Key` header. Find or rotate it from your Ravan AI account settings.
</ParamField>

***

### Body

<ParamField body="type" type="string">
  The telephony provider type to configure. Use the provider value supported by your account.
</ParamField>

<ParamField body="owner_type" type="string">
  The owner type for the connected account or resource. Use the provider-specific value expected by the integration.
</ParamField>

<ParamField body="friendly_name" type="string">
  A human-readable label for the phone number. Use a name that helps your team identify its purpose.
</ParamField>

<ParamField body="client_id" type="string">
  The OAuth client ID from the connected provider.
</ParamField>

<ParamField body="client_secret" type="string">
  The OAuth client secret from the connected provider. Treat this value as sensitive.
</ParamField>

***

### Response

<ResponseField name="success" type="boolean">
  Whether the request succeeded.
</ResponseField>

<ResponseField name="message" type="string">
  Human-readable status message.
</ResponseField>

<ResponseField name="data" type="object">
  Returned data.

  <Expandable title="data">
    <ResponseField name="id" type="string">
      id field.
    </ResponseField>

    <ResponseField name="type" type="string">
      type field.
    </ResponseField>

    <ResponseField name="owner_type" type="string">
      owner\_type field.
    </ResponseField>

    <ResponseField name="friendly_name" type="string">
      friendly\_name field.
    </ResponseField>

    <ResponseField name="status" type="string">
      status field.
    </ResponseField>

    <ResponseField name="created_at" type="string">
      created\_at field.
    </ResponseField>

    <ResponseField name="termination_uri" type="string">
      termination\_uri field.
    </ResponseField>

    <ResponseField name="sip_username" type="string">
      sip\_username field.
    </ResponseField>

    <ResponseField name="sip_password" type="string">
      sip\_password field.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "message": "Request completed successfully",
    "data": {
      "id": "id_123",
      "type": "twilio",
      "owner_type": "twilio",
      "friendly_name": "Support Bot",
      "status": "active",
      "created_at": "2026-03-14T12:00:00Z",
      "termination_uri": "sip:example@provider.com",
      "sip_username": "sip-user",
      "sip_password": "secret-password"
    }
  }
  ```
</ResponseExample>


## OpenAPI

````yaml POST /api/v1/phone-numbers/create/telephony/
openapi: 3.0.1
info:
  title: Agni API
  version: 1.0.0
  description: >-
    Agni API for managing agents, tools, widget settings, telephony, and
    integrations.
servers:
  - url: https://api.ravan.ai
security:
  - X-Api-Key: []
tags:
  - name: AgentService
  - name: AgentToolService
  - name: WidgetSettingsService
  - name: PhoneService
  - name: AppointmentService
  - name: GHLService
  - name: CalComService
  - name: CampaignService
  - name: ContactService
  - name: CallingService
  - name: RAGService
  - name: ModelService
  - name: HealthService
paths:
  /api/v1/phone-numbers/create/telephony/:
    post:
      tags:
        - PhoneService
      summary: Create Telephony Type
      operationId: CreateTelephonyType
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTelephonyTypeRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateTelephonyTypeResponse'
components:
  schemas:
    CreateTelephonyTypeRequest:
      type: object
      properties:
        type:
          type: string
          description: Telephony provider type (e.g. twilio, vonage)
        owner_type:
          type: string
          description: Owner type (e.g. organization, user)
        friendly_name:
          type: string
          description: Human-readable label for this telephony config
        client_id:
          type: string
          description: Provider client/account ID
        client_secret:
          type: string
          description: Provider client secret or auth token
    CreateTelephonyTypeResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        data:
          type: object
          properties:
            id:
              type: string
            type:
              type: string
            owner_type:
              type: string
            friendly_name:
              type: string
            status:
              type: string
            created_at:
              type: string
            termination_uri:
              type: string
            sip_username:
              type: string
            sip_password:
              type: string
  securitySchemes:
    X-Api-Key:
      type: apiKey
      in: header
      name: X-Api-Key

````