> ## 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 engine status



## OpenAPI

````yaml /openapi/phrase-byo-mt.json post /status
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:
  /status:
    post:
      tags:
        - Engine status
      summary: Get engine status
      operationId: getStatus
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StatusRequest'
      responses:
        '200':
          description: Engine status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusResponse'
        '429':
          $ref: '#/components/responses/Backoff'
        default:
          $ref: '#/components/responses/Error'
      security:
        - OAuth2:
            - status:read
        - ApiKeyAuth: []
components:
  schemas:
    StatusRequest:
      type: object
      properties:
        metadata:
          $ref: '#/components/schemas/Metadata'
    StatusResponse:
      type: object
      required:
        - status
      properties:
        status:
          $ref: '#/components/schemas/Status'
    Metadata:
      type: object
      description: >
        Any custom data in form of key/value pairs.


        Phrase automatically resolves the following placeholders in
        request-level metadata values:


        - `{project_uid}` — TMS project UID

        - `{job_uid}` — TMS job UID

        - `{idm_organization_uid}` — Phrase organization UID
      example:
        formality: informal
        model: model123
        domain: legal
        project_uid: '{project_uid}'
        job_uid: '{job_uid}'
        idm_organization_uid: '{idm_organization_uid}'
      additionalProperties:
        type: string
    Status:
      type: string
      description: >-
        Engine status codes, 'ok' for fully operational, 'not_ok' for others
        (e.g. warm-up...)
      enum:
        - ok
        - not_ok
    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

````