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

# List Voices

> Retrieve a paginated list of available text-to-speech voices. Use query parameters to filter by gender, provider, language, or accent, and to search by name or description.



## OpenAPI

````yaml get /v1/voices
openapi: 3.1.0
info:
  title: OpenMic v1 External API
  description: >-
    API specification for OpenMic v1 External API, providing endpoints for bot
    management, call handling, and phone number operations.
  version: 1.0.0
servers:
  - url: https://api.openmic.ai
    description: Production Environment
security:
  - api_key: []
tags:
  - name: Calls
    description: Endpoints related to phone call creation and management.
  - name: Bots
    description: Endpoints related to bot management and configuration.
  - name: Phone Numbers
    description: Endpoints related to phone number management and bot linking.
  - name: Knowledge Bases
  - name: FAQs
  - name: Campaigns
  - name: Tools
  - name: Contact Lists
  - name: Contacts
  - name: Voices
    description: >-
      Endpoints for browsing available text-to-speech voices. Voices are
      read-only and can be filtered by gender, provider, language, and accent.
  - name: SMS
    description: Endpoints for sending SMS messages.
paths:
  /v1/voices:
    get:
      tags:
        - Voices
      summary: List Voices
      description: >-
        Retrieve a paginated list of available text-to-speech voices. Use query
        parameters to filter by gender, provider, language, or accent, and to
        search by name or description.
      operationId: listVoicesExt
      parameters:
        - name: limit
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
          description: Maximum number of voices to return (1-100).
        - name: offset
          in: query
          schema:
            type: integer
            minimum: 0
            default: 0
          description: Number of voices to skip for pagination.
        - name: search
          in: query
          schema:
            type: string
          description: Search voices by name or description (case-insensitive).
        - name: gender
          in: query
          schema:
            type: string
          description: Filter by gender (e.g. 'male', 'female').
        - name: provider
          in: query
          schema:
            type: string
          description: Filter by TTS provider (e.g. 'elevenlabs', 'deepgram').
        - name: language
          in: query
          schema:
            type: string
          description: Filter by language code (e.g. 'en', 'es').
        - name: accent
          in: query
          schema:
            type: string
          description: Filter by accent (case-insensitive partial match).
        - name: sort_by
          in: query
          schema:
            type: string
            enum:
              - name
              - created_at
          description: Field to sort results by.
        - name: sort_order
          in: query
          schema:
            type: string
            enum:
              - asc
              - desc
            default: asc
          description: Sort direction.
      responses:
        '200':
          description: Paginated list of voices with available filter values.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListVoicesResponse'
components:
  schemas:
    ListVoicesResponse:
      type: object
      properties:
        voices:
          type: array
          items:
            $ref: '#/components/schemas/VoiceResponse'
        pagination:
          type: object
          properties:
            limit:
              type: integer
            offset:
              type: integer
            total:
              type: integer
            has_more:
              type: boolean
        filters:
          type: object
          description: >-
            Lists of distinct values available for each filter field, useful for
            building filter UIs.
          properties:
            available_genders:
              type: array
              items:
                type: string
            available_providers:
              type: array
              items:
                type: string
            available_languages:
              type: array
              items:
                type: string
            available_accents:
              type: array
              items:
                type: string
    VoiceResponse:
      type: object
      properties:
        id:
          type: integer
          description: Unique numeric ID of the voice.
        name:
          type: string
          description: Display name of the voice.
        voice_id:
          type: string
          description: Provider-specific voice identifier used when configuring a bot.
        sample_url:
          type: string
          description: URL to an audio sample of the voice.
        provider:
          type: string
          description: TTS provider (e.g. 'elevenlabs', 'deepgram').
        gender:
          type: string
          description: Gender of the voice (e.g. 'male', 'female').
        language:
          type: string
          description: Primary language code.
        languages:
          type: array
          items:
            type: string
          description: All supported language codes.
        accent:
          type: string
          description: Accent or regional variant, if applicable.
        age:
          type: string
          description: Approximate age group (e.g. 'young', 'middle-aged').
        ethnicity:
          type: string
          description: Ethnicity descriptor, if available.
        characteristics:
          type: array
          items:
            type: string
          description: Descriptive tags (e.g. 'warm', 'professional', 'energetic').
        description:
          type: string
          description: Free-text description of the voice.
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
  securitySchemes:
    api_key:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        API key authentication. Include your API key in the Authorization header
        as: `Authorization: Bearer <your-api-key>`

````