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

# Get Recording Status

> Retrieve the processing status of a recording. This endpoint supports three modes:

1. **Overall Status** (`summary=true`): Returns a high-level status string indicating the recording's overall state (PENDING, IN_PROGRESS, COMPLETED, or FAILED).

2. **All Languages Breakdown** (no params): Returns completion status for each processing step (transcription, translation, dubbing, summary) grouped by language code. Only completed steps are included in the response.

3. **Single Language Breakdown** (`language=<code>`): Returns completion status for processing steps of a specific language. Only completed steps are included in the response.



## OpenAPI

````yaml /openapi/phrase-studio.json get /v1/recordings/{recordingId}/status
openapi: 3.0.3
info:
  title: Studio API
  description: >-
    API for creating projects and reading transcription, translation, and
    dubbing results.
  version: 1.0.0
servers:
  - url: https://api.studio.us.phrase.com
    description: Production US Environment
  - url: https://api.studio.eu.phrase.com
    description: Production EU Environment
security: []
tags:
  - name: Projects
    description: Manage transcription, translation, and dubbing projects
  - name: Recordings
    description: Access recording status and output data
  - name: Subtitle Profiles
    description: Manage subtitle formatting profiles
  - name: Pronunciations
    description: Manage custom pronunciation rules
  - name: Glossaries
    description: Manage translation glossaries
  - name: Insights
    description: Manage AI-powered insight prompts
  - name: Safe Communications
    description: Access safe communication evaluation templates
paths:
  /v1/recordings/{recordingId}/status:
    get:
      tags:
        - Recordings
      summary: Get Recording Status
      description: >-
        Retrieve the processing status of a recording. This endpoint supports
        three modes:


        1. **Overall Status** (`summary=true`): Returns a high-level status
        string indicating the recording's overall state (PENDING, IN_PROGRESS,
        COMPLETED, or FAILED).


        2. **All Languages Breakdown** (no params): Returns completion status
        for each processing step (transcription, translation, dubbing, summary)
        grouped by language code. Only completed steps are included in the
        response.


        3. **Single Language Breakdown** (`language=<code>`): Returns completion
        status for processing steps of a specific language. Only completed steps
        are included in the response.
      operationId: getRecordingStatusUnified
      parameters:
        - name: recordingId
          in: path
          required: true
          description: Recording ID
          schema:
            type: string
        - name: summary
          in: query
          required: false
          description: >-
            When set to `true`, returns only the overall recording status as a
            simple status string (PENDING, IN_PROGRESS, COMPLETED, or FAILED).
            Cannot be used together with the `language` parameter.
          schema:
            type: boolean
            default: false
        - name: language
          in: query
          required: false
          description: >-
            Language code (e.g., 'en', 'es', 'fr') to retrieve completion status
            for a specific language's processing steps. When provided, only the
            steps completed for that language are returned. Cannot be used
            together with the `summary` parameter.
          schema:
            type: string
      responses:
        '200':
          description: Recording status retrieved successfully
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    description: Overall status response (when summary=true)
                    properties:
                      status:
                        type: string
                        description: Overall recording processing status
                        enum:
                          - PENDING
                          - IN_PROGRESS
                          - COMPLETED
                          - FAILED
                    required:
                      - status
                  - type: object
                    description: >-
                      Per-language breakdown response (when no parameters
                      provided). Keys are language codes, values are objects
                      showing which steps are completed for that language.
                    additionalProperties:
                      type: object
                      description: >-
                        Completion status for each processing step. Only
                        completed steps appear in the response.
                      properties:
                        transcription:
                          type: boolean
                          description: True if transcription is completed for this language
                        translation:
                          type: boolean
                          description: True if translation is completed for this language
                        dubbing:
                          type: boolean
                          description: True if dubbing is completed for this language
                        summary:
                          type: boolean
                          description: True if summary is completed for this language
                  - type: object
                    description: >-
                      Single language breakdown response (when language
                      parameter provided). Shows which steps are completed for
                      the specified language.
                    properties:
                      transcription:
                        type: boolean
                        description: True if transcription is completed
                      translation:
                        type: boolean
                        description: True if translation is completed
                      dubbing:
                        type: boolean
                        description: True if dubbing is completed
                      summary:
                        type: boolean
                        description: True if summary is completed
              examples:
                overall:
                  summary: Overall status (summary=true)
                  value:
                    status: IN_PROGRESS
                allLangs:
                  summary: All languages breakdown (no parameters)
                  value:
                    en:
                      transcription: true
                    tr:
                      transcription: true
                      translation: true
                      dubbing: true
                singleLang:
                  summary: Single language breakdown (language=en)
                  value:
                    transcription: true
                    translation: true
                    summary: true
        '400':
          description: Bad Request (invalid ID or parameters)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalid_params:
                  summary: Invalid parameters
                  value:
                    success: false
                    statusCode: 400
                    message: Bad Request
                    timestamp: '2025-01-01T00:00:00.000Z'
        '401':
          description: Unauthorized (invalid API key)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalid_api_key:
                  summary: Invalid API key
                  value:
                    success: false
                    statusCode: 401
                    message: Unauthorized
                    timestamp: '2025-01-01T00:00:00.000Z'
        '403':
          description: Forbidden (access denied)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                forbidden:
                  summary: Access denied
                  value:
                    success: false
                    statusCode: 403
                    message: Access denied
                    timestamp: '2025-01-01T00:00:00.000Z'
        '404':
          description: Recording not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                not_found:
                  summary: Recording not found
                  value:
                    success: false
                    statusCode: 404
                    message: Recording not found
                    timestamp: '2025-01-01T00:00:00.000Z'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                server_error:
                  summary: Unexpected error
                  value:
                    success: false
                    statusCode: 500
                    message: Internal server error
                    timestamp: '2025-01-01T00:00:00.000Z'
      security:
        - apiKeyAuth: []
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        statusCode:
          type: integer
          example: 400
        message:
          type: string
          example: Bad Request
        timestamp:
          type: string
          format: date-time
          example: '2025-01-01T00:00:00.000Z'
      required:
        - success
        - statusCode
        - message
        - timestamp
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key

````