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

# List voices



## OpenAPI

````yaml /api-reference/openapi.json get /v1/voices
openapi: 3.0.0
info:
  title: Zeptar API
  description: >-
    The Zeptar API is organized around REST. All requests and responses are
    JSON. Endpoints are scoped to the authenticated user’s active organization
    unless the path specifies an organization explicitly.
  version: v1
  contact: {}
servers:
  - url: https://api.zeptar.com
    description: Production
  - url: http://localhost:3001
    description: Local development
security: []
tags:
  - name: dashboard
    description: Workspace analytics dashboard
  - name: api-keys
    description: Create, list, update, and revoke API keys
  - name: request-log
    description: Browse, filter, and export the history of authenticated API requests
  - name: voices
    description: Voices available for speech synthesis
  - name: llm
    description: Large language models available for agents
  - name: convai/agents
    description: CRUD on conversational AI agents
  - name: convai/conversations
    description: Start a preview conversation against an agent
  - name: conversations
    description: Browse conversation history, transcripts, tags, and analysis
  - name: organizations
    description: List and look up workspaces (organizations)
  - name: organizations/members
    description: Add and remove members from an org
  - name: me
    description: The current authenticated user
  - name: me/workspace-invitations
    description: Pending workspace invites for the current user
paths:
  /v1/voices:
    get:
      tags:
        - voices
      summary: List voices
      operationId: VoicesController_listVoices
      parameters:
        - name: provider
          required: true
          in: query
          description: TTS provider to filter by (required).
          schema:
            type: string
            example: elevenlabs
        - name: search
          required: false
          in: query
          description: >-
            Full-text search against voice name and description
            (case-insensitive).
          schema:
            example: warm
            type: string
        - name: language
          required: false
          in: query
          description: Filter by language code, e.g. "en".
          schema:
            type: string
            example: en
        - name: gender
          required: false
          in: query
          description: 'Filter by gender: "male", "female", or "neutral".'
          schema:
            type: string
            example: female
        - name: accent
          required: false
          in: query
          description: Filter by accent, e.g. "American", "British".
          schema:
            type: string
            example: American
        - name: age
          required: false
          in: query
          description: 'Filter by age: "young", "middle_aged", or "old".'
          schema:
            type: string
            example: young
        - name: category
          required: false
          in: query
          description: Filter by category, e.g. "conversational", "narrative_story".
          schema:
            type: string
            example: conversational
        - name: cursor
          required: false
          in: query
          description: Base64-encoded pagination cursor returned by the previous page.
          schema:
            example: MzA=
            type: string
        - name: limit
          required: false
          in: query
          description: Number of voices per page. Default 30, max 100.
          schema:
            minimum: 1
            maximum: 100
            example: 30
            type: number
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoiceListResponseDto'
components:
  schemas:
    VoiceListResponseDto:
      type: object
      properties:
        voices:
          type: array
          items:
            $ref: '#/components/schemas/VoiceCatalogEntryDto'
        next_cursor:
          type: object
          nullable: true
          description: Opaque cursor for the next page, or null when this is the last page.
          example: MzA=
      required:
        - voices
        - next_cursor
    VoiceCatalogEntryDto:
      type: object
      properties:
        id:
          type: string
          example: cgSgspJ2msm6clMCkdW9
        name:
          type: string
          example: Jessica
        provider:
          type: string
          example: elevenlabs
        model:
          type: string
          example: eleven_turbo_v2_5
        description:
          type: string
          example: Playful, bright, warm.
        gender:
          type: string
          example: female
        accent:
          type: string
          example: American
        age:
          type: string
          example: young
        language:
          type: string
          example: en
        category:
          type: string
          example: conversational
        preview_url:
          type: string
          example: >-
            https://storage.googleapis.com/eleven-public-prod/premade/voices/cgSgspJ2msm6clMCkdW9/56a97bf8-b69b-448f-846c-c3a11683d45a.mp3
        avatar_url:
          type: string
          example: /agent-orb.webp
      required:
        - id
        - name
        - provider
        - model

````