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

# Create a new issue

> Report a problem with a TTS generation by creating a new issue. Issues are tracked internally by the Deepdub team and used to improve voice quality. The `problemAudioFile` field can optionally include base64-encoded audio attached to the issue, and `problemSeconds` indicates the timestamp in the audio where the problem appears.

## Reporting generation problems

Use this endpoint to flag a TTS generation that didn't sound right — a mispronunciation, an unwanted artifact, or any other quality issue. Reports are reviewed by the Deepdub team and feed into model improvements.

To make a report actionable, include:

* `generationId` — the ID of the affected generation
* `generatedText` — the exact text passed to TTS
* `problemWord` — the specific word or phrase that was generated incorrectly
* `voicePromptId` — the voice prompt that was used
* `problemSeconds` — timestamp (in seconds) where the problem occurs
* `type` *(optional)* — `hallucinations` (the default) or `glossary`
* `phoneticHeard` *(optional)* — how the word actually sounded, written phonetically
* `phoneticExpected` *(optional)* — how the word should have sounded, written phonetically
* `problemAudioFile` *(optional)* — base64-encoded clip of the problem audio
* `additionalComments` *(optional)* — anything else that helps reproduce or explain the issue

Use `type` to say what kind of problem you're reporting: `hallucinations` for words the model got wrong or invented, `glossary` for terms that need a permanent pronunciation entry. Omitting it defaults to `hallucinations`; any other value returns `400`.

The `phoneticHeard` and `phoneticExpected` pair is the fastest way to make a mispronunciation actionable — it tells the team exactly what the model produced and what it should have produced, without anyone having to listen to the audio.

The response includes an `id` you can use with the [GET](/api-reference/issues/get-issue), [PUT](/api-reference/issues/update-issue), and [DELETE](/api-reference/issues/delete-issue) endpoints.


## OpenAPI

````yaml post /issues
openapi: 3.0.0
info:
  title: Deepdub API
  description: >-
    Deepdub's Text-to-Speech API enables high-quality, expressive speech
    generation with voice cloning, accent control, and real-time streaming
    capabilities.
  contact:
    email: support@deepdub.ai
  version: '1.0'
servers:
  - url: https://restapi.deepdub.ai/api/v1
    description: US (default)
  - url: https://restapi.eu.deepdub.ai/api/v1
    description: EU
security:
  - ApiKeyAuth: []
externalDocs:
  description: OpenAPI
  url: https://restapi.deepdub.ai/api/v1/swagger/index.html
paths:
  /issues:
    post:
      tags:
        - Issues
      summary: Create a new issue
      description: >-
        Report a problem with a TTS generation by creating a new issue. Issues
        are tracked internally by the Deepdub team and used to improve voice
        quality. The `problemAudioFile` field can optionally include
        base64-encoded audio attached to the issue, and `problemSeconds`
        indicates the timestamp in the audio where the problem appears.
      operationId: createIssue
      parameters:
        - description: API Key
          name: x-api-key
          in: header
          required: true
          schema:
            type: string
            default: dd-00000000000000000000000065c9cbfe
          example: dd-00000000000000000000000065c9cbfe
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/model.CreateIssueRequest'
            example:
              generationId: abc123-def456
              generatedText: Hello world, welcome to Deepdub.
              problemWord: Deepdub
              voicePromptId: bd1b00bb-be1c-4679-8eaa-0fcbfd4ff773
              additionalComments: Mispronunciation of brand name
              problemSeconds: 2.5
      responses:
        '201':
          description: Issue created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.IssueResponse'
        '400':
          description: Bad request — missing required fields
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.IssueErrorResponse'
              example:
                message: generationId is required
        '401':
          description: Unauthorized — invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.IssueErrorResponse'
              example:
                message: Unauthorized
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model.IssueErrorResponse'
              example:
                message: Failed to create issue
components:
  schemas:
    model.CreateIssueRequest:
      description: Payload for creating a new issue against a TTS generation
      type: object
      required:
        - generationId
        - generatedText
        - problemWord
        - voicePromptId
      properties:
        generationId:
          description: ID of the generation that has the problem
          type: string
          example: abc123-def456
        generatedText:
          description: Text that was passed to the TTS endpoint
          type: string
          example: Hello world, welcome to Deepdub.
        problemWord:
          description: Word (or phrase) that was generated incorrectly
          type: string
          example: Deepdub
        voicePromptId:
          description: ID of the voice prompt used in the generation
          type: string
          example: bd1b00bb-be1c-4679-8eaa-0fcbfd4ff773
        type:
          description: >-
            Category of problem being reported. Omit to default to
            `hallucinations`. Any other value returns 400.
          type: string
          enum:
            - hallucinations
            - glossary
          default: hallucinations
          example: hallucinations
        additionalComments:
          description: Free-form comments describing the problem
          type: string
          example: Mispronunciation of brand name
        problemAudioFile:
          description: Optional base64-encoded audio clip to attach to the issue
          type: string
        problemSeconds:
          description: Seconds in the audio where the problem appears
          type: number
          example: 2.5
        phoneticHeard:
          description: Optional phonetic transcription of how the word actually sounded
          type: string
          example: deep-dubb
        phoneticExpected:
          description: Optional phonetic transcription of how the word should sound
          type: string
          example: deep-dub
    model.IssueResponse:
      description: Issue details
      type: object
      properties:
        id:
          type: string
          example: iss_12345abcde
        state:
          description: Current state of the issue.
          type: string
          enum:
            - open
            - uploaded_for_correction
            - in_progress
            - resolved
            - rejected
          example: open
        rejectionReason:
          description: Why the issue was rejected. Present only when `state` is `rejected`.
          type: string
          example: duplicate report
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        generationId:
          type: string
        generatedText:
          type: string
        problemWord:
          type: string
        voicePromptId:
          type: string
        type:
          description: Category of problem being reported.
          type: string
          enum:
            - hallucinations
            - glossary
        locale:
          description: Locale of the reported generation, when known.
          type: string
          example: en-US
        additionalComments:
          type: string
        problemSeconds:
          type: number
        phoneticHeard:
          description: Phonetic transcription of how the word actually sounded
          type: string
        phoneticExpected:
          description: Phonetic transcription of how the word should sound
          type: string
    model.IssueErrorResponse:
      description: Error response from the issues endpoints
      type: object
      properties:
        message:
          type: string
          example: Issue not found
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication. Must start with `dd-` prefix.

````