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

# Create VoiceAIPod

> Registers a new voice provider integration for the authenticated tenant.

## Authentication
All requests require an `Authorization` header using Bearer token authentication:
`Authorization: Bearer <api_key>`



## OpenAPI

````yaml POST /api/v2/voiceai-pod
openapi: 3.1.0
info:
  title: VoiceAIWrapper API
  description: >-
    REST API for managing campaigns, leads, clients, web widgets, and voice
    providers on VoiceAIWrapper.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.voiceaiwrapper.app
security:
  - bearerAuth: []
paths:
  /api/v2/voiceai-pod:
    post:
      tags:
        - Voice Providers
      summary: Create VoiceAIPod
      description: >-
        Registers a new voice provider integration for the authenticated tenant.


        ## Authentication

        All requests require an `Authorization` header using Bearer token
        authentication:

        `Authorization: Bearer <api_key>`
      operationId: createVoiceProvider
      requestBody:
        required: true
        description: Voice provider credentials and configuration
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateVoiceProviderRequest'
      responses:
        '201':
          description: >-
            Voice provider created successfully. Returns voice_provider_id,
            provider type, and concurrency limit.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Voice Provider created successfully
                  data:
                    type: object
                    properties:
                      voice_provider_id:
                        type: string
                      voice_provider:
                        type: string
                        example: VAPI
                      concurrency_limit:
                        type: integer
                        example: 10
        '400':
          description: >-
            Invalid request data. Common causes: invalid JSON, missing
            voice_provider field, or unsupported provider type.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: Validation error
                  errors:
                    type: object
        '401':
          description: Authentication failed. Ensure the Bearer token is present and valid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '500':
          description: Internal server error. Contact support if this persists.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: Internal server error
                  error:
                    type: string
components:
  schemas:
    CreateVoiceProviderRequest:
      type: object
      required:
        - voice_provider
      properties:
        voice_provider:
          type: string
          enum:
            - VAPI
            - RETELL
            - ELEVEN_LABS
            - BOLNA
          description: Voice provider type. Required.
          example: VAPI
        vapi_private_key:
          type: string
          description: VAPI private API key. Required for VAPI provider.
          example: vapi_private_abc123
        vapi_public_key:
          type: string
          description: VAPI public API key. Optional for VAPI provider.
          example: vapi_public_abc123
        vapi_organization_id:
          type: string
          description: VAPI organisation ID. Optional for VAPI provider.
          example: org_abc123
        vapi_organization_name:
          type: string
          description: VAPI organisation display name. Optional for VAPI provider.
          example: My Org
        retell_api_key:
          type: string
          description: Retell API key. Required for RETELL provider.
          example: retell_key_abc123
        retell_organization_name:
          type: string
          description: Retell organisation display name. Optional for RETELL provider.
          example: My Retell Org
        elevenlabs_api_key:
          type: string
          description: ElevenLabs API key. Required for ELEVEN_LABS provider.
          example: xi_abc123
        elevenlabs_organization_name:
          type: string
          description: >-
            ElevenLabs organisation display name. Optional for ELEVEN_LABS
            provider.
          example: My ElevenLabs Org
        elevenlabs_webhook_id:
          type: string
          description: ElevenLabs webhook ID. Optional for ELEVEN_LABS provider.
          example: wh_abc123
        elevenlabs_webhook_secret_key:
          type: string
          description: ElevenLabs webhook secret key. Optional for ELEVEN_LABS provider.
          example: whsec_abc123
        bolna_api_key:
          type: string
          description: Bolna API key. Required for BOLNA provider.
          example: bolna_key_abc123
        bolna_organization_name:
          type: string
          description: Bolna organisation display name. Optional for BOLNA provider.
          example: My Bolna Org
        concurrency_limit:
          type: integer
          description: >-
            Maximum concurrent calls for this provider. Optional. Applicable to
            VAPI and BOLNA.
          example: 10
    ErrorMessage:
      type: object
      properties:
        message:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````