> ## 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.

# Translate multiple segments asynchronously - status polling



## OpenAPI

````yaml /openapi/phrase-byo-mt.json get /translateAsyncStatus/{id}
openapi: 3.0.3
info:
  title: BYO Engine API
  version: 1.0.6
  description: >
    This file can be viewed online in the [Swagger
    Editor](https://editor.swagger.io/).


    A minimal BYO Engine machine translation API specification.

    It supports the following operations and features:

    - supported languages

    - engine status

    - synchronous and asynchronous multi-segment translation operations

    - ad-hoc glossaries

    - custom metadata (request and segment level)


    For authentication you can use either the [OAuth client credentials
    flow](https://auth0.com/docs/get-started/authentication-and-authorization-flow/client-credentials-flow)
    or an API token.


    For the asynchronous endpoints please ensure thread safety and proper
    concurrency handling so that multiple request do not accidentally overwrite
    each other's data.


    For your reference, you can check out this simple [demo
    implementation](https://github.com/phrase/custom.adapter).


    ---
servers:
  - url: https://api.mtengine.example.com
    description: Sample base URL for an external MT engine
security:
  - OAuth2: []
  - ApiKeyAuth: []
paths:
  /translateAsyncStatus/{id}:
    get:
      tags:
        - Asynchronous translation
      summary: Translate multiple segments asynchronously - status polling
      operationId: translateAsyncStatus
      parameters:
        - name: id
          in: path
          required: true
          description: Unique identifier of the translation job
          schema:
            type: string
      responses:
        '200':
          description: Translate multiple segments asynchronously - status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TranslateAsyncStatusResponse'
        '429':
          $ref: '#/components/responses/Backoff'
        default:
          $ref: '#/components/responses/Error'
      security:
        - OAuth2:
            - translateAsyncStatus:read
        - ApiKeyAuth: []
components:
  schemas:
    TranslateAsyncStatusResponse:
      type: object
      required:
        - status
      properties:
        status:
          type: string
          enum:
            - running
            - done
            - failed
        detail:
          type: string
          example: Description of translation failure
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          example: Unauthorized, Invalid token
  responses:
    Backoff:
      description: Too many requests
      headers:
        Retry-After:
          description: Time in seconds before the client may retry the request
          schema:
            type: integer
    Error:
      description: Default response in case of any error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    OAuth2:
      type: oauth2
      description: |
        OAuth 2.0 for accessing the MT API.
        Supports client credentials (service-to-service).
      flows:
        clientCredentials:
          tokenUrl: https://auth.example.com/oauth/token
          scopes:
            languages:read: Read supported languages
            status:read: Read engine status
            translate:write: Submit translation request
            translateAsync:write: Submit asynchronous translation request
            translateAsyncStatus:read: Read asynchronous translation status
            translateAsyncResult:read: Read asynchronous translation result
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Token

````