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

# List pronunciation dictionaries

> List named pronunciation dictionaries and their complete contents.

<Note>
  List responses include the complete contents of each dictionary, so pages contain at most five dictionaries. Treat `nextPageToken` as opaque and pass it back unchanged to retrieve the next page.
</Note>


## OpenAPI

````yaml get /pronunciations/v1/workspaces/{workspaceId}/pronunciationDictionaries
openapi: 3.0.0
info:
  title: Inworld Pronunciation Dictionaries API
  version: v1
  description: >-
    Create and manage named pronunciation dictionaries. Each dictionary contains
    its complete set of pronunciation entries; create and update validate the
    supplied contents before committing them atomically.
  contact:
    name: Inworld AI
    url: https://inworld.ai
    email: support@inworld.ai
servers:
  - url: https://api.inworld.ai
security:
  - inworld_basic: []
tags:
  - name: Pronunciation dictionaries
    description: Manage workspace-owned named pronunciation dictionaries.
paths:
  /pronunciations/v1/workspaces/{workspaceId}/pronunciationDictionaries:
    get:
      tags:
        - Pronunciation dictionaries
      summary: List pronunciation dictionaries
      description: >-
        Lists named pronunciation dictionaries in the workspace. Every result
        includes the dictionary's complete pronunciation contents. Results use a
        stable service-defined order.
      operationId: Pronunciations_ListPronunciationDictionaries
      parameters:
        - $ref: '#/components/parameters/workspaceId'
        - name: pageSize
          in: query
          required: false
          description: >-
            Maximum number of dictionaries to return. Omit or set to `0` to use
            the default of 5. Values above 5 are reduced to 5; negative values
            are rejected.
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 5
        - name: pageToken
          in: query
          required: false
          description: >-
            Opaque token returned as `nextPageToken` by the preceding list
            request. Keep the workspace unchanged when continuing a page
            sequence.
          schema:
            type: string
      responses:
        '200':
          description: A page of complete pronunciation dictionaries.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPronunciationDictionariesResponse'
              example:
                pronunciationDictionaries:
                  - name: >-
                      workspaces/my-workspace/pronunciationDictionaries/2d470a1e-0262-4f22-9b46-5353d454d988
                    displayName: Product names
                    pronunciations:
                      - displayHeadword: Hello
                        languageCode: en-US
                        phoneSymbols:
                          - h
                          - ə
                          - l
                          - oʊ
                    etag: tLKwUsvfq4TjPZQYhA9Dg3pM
                    createTime: '2026-08-14T18:22:31.145Z'
                    updateTime: '2026-08-14T18:22:31.145Z'
                nextPageToken: eyJkIjoiLi4uIn0
        default:
          $ref: '#/components/responses/error'
      x-codeSamples:
        - lang: bash
          label: cURL
          source: |-
            curl --get \
              "https://api.inworld.ai/pronunciations/v1/workspaces/${INWORLD_WORKSPACE_ID}/pronunciationDictionaries" \
              --header "Authorization: Basic ${INWORLD_API_KEY}" \
              --data-urlencode "pageSize=5"
        - lang: python
          label: Python
          source: |-
            import os
            import requests

            workspace_id = os.environ["INWORLD_WORKSPACE_ID"]
            url = (
                "https://api.inworld.ai/pronunciations/v1/"
                f"workspaces/{workspace_id}/pronunciationDictionaries"
            )
            response = requests.get(
                url,
                headers={"Authorization": f"Basic {os.environ['INWORLD_API_KEY']}"},
                params={"pageSize": 5},
            )
            response.raise_for_status()
            print(response.json())
        - lang: javascript
          label: JavaScript
          source: |-
            const workspaceId = process.env.INWORLD_WORKSPACE_ID;
            const url = new URL(
              `https://api.inworld.ai/pronunciations/v1/workspaces/${workspaceId}/pronunciationDictionaries`,
            );
            url.searchParams.set('pageSize', '5');

            const response = await fetch(url, {
              headers: { Authorization: `Basic ${process.env.INWORLD_API_KEY}` },
            });

            if (!response.ok) throw new Error(await response.text());
            console.log(await response.json());
components:
  parameters:
    workspaceId:
      name: workspaceId
      in: path
      required: true
      description: >-
        ID of the workspace that owns the dictionary. It must match a workspace
        accessible to the API key.
      schema:
        type: string
        minLength: 1
        maxLength: 61
        pattern: ^[a-z0-9_-]+$
        example: my-workspace
  schemas:
    ListPronunciationDictionariesResponse:
      type: object
      required:
        - pronunciationDictionaries
        - nextPageToken
      properties:
        pronunciationDictionaries:
          type: array
          description: >-
            Named dictionaries in stable service-defined order, including their
            complete contents.
          items:
            $ref: '#/components/schemas/PronunciationDictionary'
        nextPageToken:
          type: string
          description: >-
            Opaque token for the next page, or an empty string when this is the
            final page.
      additionalProperties: false
    PronunciationDictionary:
      type: object
      description: >-
        A workspace-owned named pronunciation dictionary with its complete
        contents.
      required:
        - name
        - displayName
        - pronunciations
        - etag
        - createTime
        - updateTime
      properties:
        name:
          type: string
          readOnly: true
          description: >-
            Service-assigned resource name in the form
            `workspaces/{workspace}/pronunciationDictionaries/{uuid}`.
          example: >-
            workspaces/my-workspace/pronunciationDictionaries/2d470a1e-0262-4f22-9b46-5353d454d988
        displayName:
          $ref: '#/components/schemas/PronunciationDictionaryDisplayName'
        pronunciations:
          $ref: '#/components/schemas/PronunciationEntries'
        etag:
          type: string
          description: >-
            Optimistic-concurrency token. Include the current value when
            updating or deleting the dictionary.
        createTime:
          type: string
          format: date-time
          readOnly: true
          description: Time at which the dictionary was created.
        updateTime:
          type: string
          format: date-time
          readOnly: true
          description: Time at which the dictionary's metadata or contents last changed.
      additionalProperties: false
    rpcStatus:
      type: object
      properties:
        code:
          type: integer
          format: int32
          description: gRPC status code.
        message:
          type: string
          description: Developer-facing error message.
        details:
          type: array
          description: >-
            Structured error details. Validation failures can include
            `google.rpc.BadRequest` field violations without echoing
            customer-authored pronunciation content.
          items:
            $ref: '#/components/schemas/protobufAny'
    PronunciationDictionaryDisplayName:
      type: string
      minLength: 1
      maxLength: 64
      description: >-
        Non-blank human-readable dictionary name, containing at most 64 Unicode
        code points.
      example: Product names
    PronunciationEntries:
      type: array
      maxItems: 1000
      description: >-
        Complete dictionary contents. A dictionary can contain up to 1,000
        entries and must remain within the 512 KiB encoded dictionary limit.
        Entries must be unique after language-aware lexical canonicalization.
      items:
        $ref: '#/components/schemas/PronunciationEntry'
      default: []
    protobufAny:
      type: object
      properties:
        '@type':
          type: string
          description: A URL identifying the serialized protocol-buffer message type.
      additionalProperties: true
    PronunciationEntry:
      type: object
      description: >-
        One validated pronunciation override. The service can canonicalize
        supported phone aliases before returning the saved entry.
      required:
        - displayHeadword
        - languageCode
        - phoneSymbols
      properties:
        displayHeadword:
          type: string
          minLength: 1
          maxLength: 128
          description: >-
            Caller-facing spelling. It must be non-blank and tokenize to exactly
            one replaceable lexical token.
          example: Hello
        languageCode:
          type: string
          minLength: 1
          description: >-
            Supported canonical BCP-47 language code, such as `en-US`. Use the
            exact canonical spelling; `auto` and unspecified languages are not
            accepted.
          example: en-US
        phoneSymbols:
          type: array
          minItems: 1
          maxItems: 64
          description: >-
            Ordered phone tokens or supported aliases. Each token can contain at
            most 16 Unicode code points and must be valid for the selected
            language. Send symbols without `/` delimiters.
          items:
            type: string
            minLength: 1
            maxLength: 16
          example:
            - h
            - ə
            - l
            - oʊ
      additionalProperties: false
  responses:
    error:
      description: The request failed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/rpcStatus'
  securitySchemes:
    inworld_basic:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Your [authentication](../../../api-reference/introduction) credentials.
        For Basic authentication, send `Basic $INWORLD_API_KEY`. Use a Standard
        API key for the target workspace. Voices Read access permits list and
        get; Voices Write access permits all five methods.

````