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

# Get verification phrase

> Choose a language or regenerate a phrase.

> Operations are enabled individually by server configuration. Disabled operations return 503 without a task. Music credit deduction is currently disabled.

## Input

First complete suno\_voice\_upload and wait for ready:true. Pass its voice\_upload\_task\_id. Languages: en, zh, es, fr, pt, de, ja, ko, hi, ru; default en. This endpoint issues a phrase synchronously; it does not create a generation task.

```json theme={null}
{
  "voice_upload_task_id": "APIstable upload task ID",
  "language": "en"
}
```

## Output

expires\_at:null does not mean unlimited validity. The phrase is tied to a sample session that expires 24 hours after successful preparation; the provider may expire the phrase earlier. After the session expires, upload a new sample. HTTP 404/409/410 identify missing, incompatible or expired resources; provider failures return 503 and malformed replies 502.

```json theme={null}
{
  "code": 200,
  "msg": "success",
  "data": {
    "phrase_id": "APIstable phrase ID",
    "phrase_text": "Read the returned phrase in your own voice.",
    "language": "en",
    "expires_at": null
  }
}
```


## OpenAPI

````yaml openapi.json POST /api/v1/voices/verification_phrase
openapi: 3.1.0
info:
  title: APIstable API
  version: 1.0.0-preview
  description: >-
    Public /api/v1 protocol. Valid API keys have the same account-scoped access.
    Read the selected model documentation for its ID, supported inputs, result
    format and availability before submitting. No client submission idempotency
    or max_credits. Availability, pricing, file retention and callback formats
    follow the selected model contract. Unconfigured operations return 503.
servers:
  - url: https://apistable.ai
    description: APIstable API
security: []
paths:
  /api/v1/voices/verification_phrase:
    post:
      summary: Get or regenerate a verification phrase
      operationId: voiceVerificationPhrase
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              type: object
              properties:
                voice_upload_task_id:
                  type: string
                  minLength: 1
                  maxLength: 200
                  description: APIstable resource ID; never a supplier ID.
                language:
                  default: en
                  type: string
                  enum:
                    - en
                    - zh
                    - es
                    - fr
                    - pt
                    - de
                    - ja
                    - ko
                    - hi
                    - ru
              required:
                - voice_upload_task_id
              additionalProperties: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - msg
                  - data
                properties:
                  code:
                    const: 200
                  msg:
                    type: string
                  data:
                    type: object
                    properties:
                      phrase_id:
                        type: string
                      phrase_text:
                        type: string
                      language:
                        type: string
                      expires_at:
                        type: 'null'
        '400':
          description: '40002: Invalid input.'
        '401':
          description: '40101: Invalid API key.'
        '404':
          description: '40401: Resource not found in this account.'
        '409':
          description: '40901: Resource provider-account mismatch.'
        '410':
          description: '41001: Resource expired.'
        '502':
          description: '50201: Malformed provider response.'
        '503':
          description: Operation or provider unavailable
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Every valid key can submit and query its own account. Revoked keys are
        rejected.

````

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