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

# List STT providers

> List the speech-to-text providers you can use in an agent, with the models each one offers per language. This catalog is read-only.

To reference an entry when you [create](/api-reference/ai-agents-v3/create-ai-agent) or [update](/api-reference/ai-agents-v3/update-ai-agent) an agent:

| Agent field | Where it is in this response |
| --- | --- |
| `stt.provider_id` | `data[].id` |
| `stt.model_id` | `data[].languages[].models[].id` |

The catalog is global. Providers are sorted by `priority`, then by creation time. Pass `sort_direction` to reverse the order.

## Filters

| Parameter | Notes |
| --- | --- |
| `language_code` | Only providers that support this language code. |
| `status` | `ACTIVE`, `INACTIVE` or `DELETED`. Defaults to `ACTIVE`. |
| `page_size` | `1`–`100`, default `10`. |
| `sort_direction` | `asc` or `desc`, default `desc`. |

<Note>
This list still uses the older paged shape, not the v3 envelope. The providers are in the top-level `data` array and the cursor is the top-level `next_page_token`. There is no `status` or `message`. When `next_page_token` is absent, you have reached the last page.
</Note>



## OpenAPI

````yaml /api-reference/openapi.json get /v3/stt/providers
openapi: 3.1.0
info:
  title: Verbex Platform API
  description: API for managing AI agents, calls, phone numbers, and more.
  version: 1.0.0
servers: []
security: []
tags:
  - name: Knowledge Bases
    description: >-
      Create and manage knowledge bases, ingest documents into them, and search
      them semantically.


      **Authentication.** Every request carries a bearer token: `Authorization:
      Bearer <API_TOKEN>`. That is the only credential a client sends. The
      gateway resolves your identity from it and injects the tenant headers the
      service reads internally, so clients never send `x-user-org-id` or
      `x-verbex-id` themselves.


      **Tenancy is enforced on every route.** A knowledge base belongs to one
      organization and one user. Requesting one your token does not own returns
      `404 Knowledge base not found`, never `403`. This is deliberate: a
      nonexistent ID, a malformed ID and someone else's ID are indistinguishable
      in the response, so the API cannot be used to probe for other tenants'
      data. If you get a `404` on an ID you are certain exists, suspect the
      token before you suspect the ID.


      **Ingestion is asynchronous.** File upload and website crawl both answer
      `202` as soon as the material is stored and the job is queued. Parsing,
      chunking, embedding and indexing happen afterwards in a worker. Poll the
      document status endpoint until it reports `completed` before expecting
      search to see the content. That gap is the most common source of "why
      isn't my data showing up".


      **There is no document update endpoint.** Every submission mints a new
      `document_id`, so re-uploading a file or re-crawling the same URLs creates
      a second document while the first remains. To refresh material, delete
      then resubmit — and note that the sequence is not atomic.
  - name: AI Agents v3
    description: >-
      Create, read, update and delete AI agents. v3 selects the LLM,
      speech-to-text model and voice by catalog id, and wraps every response in
      a standard envelope. It replaces the deprecated AI Agents v2 operations,
      which stop working on November 30, 2026. See [Migrate from v2 to
      v3](/api-reference/ai-agents-v3/migrate-from-v2).
  - name: LLM Models
    description: >-
      The LLM model catalog. Look up the `llm_model_id` to send as `llm.llm_id`
      when you create or update an agent.
  - name: Speech Providers
    description: >-
      The speech-to-text and text-to-speech provider catalogs. Look up the
      `provider_id`, `model_id` and `voice_id` to send when you create or update
      an agent.
paths:
  /v3/stt/providers:
    get:
      tags:
        - Speech Providers
      summary: List STT providers
      description: >-
        List the speech-to-text providers you can use in an agent, with the
        models each one offers per language. This catalog is read-only.


        To reference an entry when you
        [create](/api-reference/ai-agents-v3/create-ai-agent) or
        [update](/api-reference/ai-agents-v3/update-ai-agent) an agent:


        | Agent field | Where it is in this response |

        | --- | --- |

        | `stt.provider_id` | `data[].id` |

        | `stt.model_id` | `data[].languages[].models[].id` |


        The catalog is global. Providers are sorted by `priority`, then by
        creation time. Pass `sort_direction` to reverse the order.


        ## Filters


        | Parameter | Notes |

        | --- | --- |

        | `language_code` | Only providers that support this language code. |

        | `status` | `ACTIVE`, `INACTIVE` or `DELETED`. Defaults to `ACTIVE`. |

        | `page_size` | `1`–`100`, default `10`. |

        | `sort_direction` | `asc` or `desc`, default `desc`. |


        <Note>

        This list still uses the older paged shape, not the v3 envelope. The
        providers are in the top-level `data` array and the cursor is the
        top-level `next_page_token`. There is no `status` or `message`. When
        `next_page_token` is absent, you have reached the last page.

        </Note>
      operationId: list_stt_providers_v3
      parameters:
        - name: language_code
          in: query
          required: false
          description: Only providers that support this language code, for example `en-US`.
          schema:
            type: string
            title: Language Code
        - name: status
          in: query
          required: false
          description: Filter by lifecycle status.
          schema:
            type: string
            enum:
              - ACTIVE
              - INACTIVE
              - DELETED
            default: ACTIVE
            title: Status
        - name: page_size
          in: query
          required: false
          description: Number of results per page, `1`–`100`.
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 10
            title: Page Size
        - name: page_token
          in: query
          required: false
          description: >-
            Cursor from the previous response's `next_page_token`. Omit for the
            first page.
          schema:
            type: string
            title: Page Token
        - name: sort_direction
          in: query
          required: false
          description: Sort order.
          schema:
            type: string
            enum:
              - asc
              - desc
            default: desc
            title: Sort Direction
      responses:
        '200':
          description: Page of STT providers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SttProviderPage'
              example:
                data:
                  - id: 6a5c45808d2d94e9d0e255d3
                    provider_name: deepgram
                    display_name: Deepgram
                    status: ACTIVE
                    priority: 10
                    languages:
                      - language_code: en-US
                        language_name: English (US)
                        is_default: true
                        models:
                          - id: aec2493a-eba9-48d0-9e64-4aab4437f7f5
                            model_name: nova-2-phonecall
                            display_name: Nova 2 Phone Call
                            model_version: '2'
                            latency_in_ms: 300
                            tag: telephony
                            is_default: true
                            support_interruption_mode: true
                    created_at: '2026-05-04T08:00:00Z'
                    modified_at: '2026-09-12T11:20:00Z'
                next_page_token: >-
                  eyJwcmlvcml0eSI6MTAsIl9pZCI6IjZhNWM0NTgwOGQyZDk0ZTlkMGUyNTVkMyJ9
components:
  schemas:
    SttProviderPage:
      type: object
      title: PagedResponse<SttProvider>
      description: >-
        This list uses the older paged shape: the array is the top-level `data`,
        the cursor is the top-level `next_page_token`, and there is no `status`
        or `message`.
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/SttProvider'
          title: Data
          description: Providers on this page.
        next_page_token:
          type: string
          title: Next Page Token
          description: Cursor for the following page. Omitted on the last page.
    SttProvider:
      type: object
      title: SttProvider
      properties:
        id:
          type: string
          title: Id
          description: Provider id. Send it as `stt.provider_id`.
        provider_name:
          type: string
          title: Provider Name
          description: >-
            Provider key, for example `deepgram`. Also the path parameter of the
            get operation.
        display_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Display Name
          description: Provider name for display.
        status:
          type: string
          enum:
            - ACTIVE
            - INACTIVE
            - DELETED
          title: Status
          description: >-
            Lifecycle status. Only `ACTIVE` providers can be referenced by an
            agent.
        priority:
          anyOf:
            - type: integer
            - type: 'null'
          title: Priority
          description: Sort weight.
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
          description: Creation time.
        modified_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Modified At
          description: Last change time.
        languages:
          type: array
          items:
            $ref: '#/components/schemas/SttLanguage'
          title: Languages
          description: Languages the provider supports.
    SttLanguage:
      type: object
      title: SttLanguage
      properties:
        language_code:
          type: string
          title: Language Code
          description: BCP-47 language code.
        language_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Language Name
          description: Language name for display.
        is_default:
          type: boolean
          title: Is Default
          description: Whether this is the provider's default language.
        models:
          type: array
          items:
            $ref: '#/components/schemas/SttModel'
          title: Models
          description: Models offered for this language.
    SttModel:
      type: object
      title: SttModel
      properties:
        id:
          type: string
          title: Id
          description: Model id. Send it as `stt.model_id`.
        model_name:
          type: string
          title: Model Name
          description: Provider model name, for example `nova-2-phonecall`.
        display_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Display Name
          description: Model name for display.
        model_version:
          anyOf:
            - type: string
            - type: 'null'
          title: Model Version
          description: Model version.
        latency_in_ms:
          anyOf:
            - type: integer
            - type: 'null'
          title: Latency In Ms
          description: Expected latency in milliseconds.
        tag:
          anyOf:
            - type: string
              enum:
                - fast
                - accurate
                - balanced
                - medical
                - telephony
                - meeting
                - general
            - type: 'null'
          title: Tag
          description: What the model is tuned for.
        is_default:
          type: boolean
          title: Is Default
          description: Whether this is the default model for the language.
        support_interruption_mode:
          type: boolean
          title: Support Interruption Mode
          description: Whether the model supports the agent's `interruption_mode`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.