> ## 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 with MT

> Sends one or more source strings to the machine translation (MT) engine identified by the MT settings UID and returns the translated strings in the same order as the input. This call is synchronous — the response contains the translations directly, not a job reference.

Use this endpoint to obtain on-demand MT output outside of a translation job, for example to pre-translate content in a custom workflow or to compare output quality across configured MT settings.

The MT settings identified by mtSettingsUid must belong to the same organization as the authenticated user. If the MT engine type has been retired for the organization's pricing plan, the call returns 400.

**Errors:**

| HTTP status | errorCode | Cause | Remediation |
|---|---|---|---|
| 400 | BAD_REQUEST | Request body is malformed, a required field is missing, a language code is not a valid locale, sourceTexts is empty, or the MT engine type is retired for this plan. | Verify that from and to are valid language codes, sourceTexts contains at least one string, and the MT settings refer to an active engine type. |
| 403 | AuthAccessDenied | The authenticated user does not belong to the same organization as the MT settings. | Use MT settings that belong to your organization. |
| 404 | ResourceNotFound | No MT settings exist for the provided mtSettingsUid. | Check the UID value; retrieve valid UIDs from the MT settings list endpoint. |




## OpenAPI

````yaml /openapi/phrase-tms-v1.json post /api2/v1/machineTranslations/{mtSettingsUid}/translate
openapi: 3.0.0
info:
  description: |-
    Welcome to Phrase's TMS API documentation. 

     Please visit our [help center](https://support.phrase.com/hc/en-us/sections/5709662083612) for more information about the APIs. 

     If you have any questions, please contact [Support](https://support.phrase.com/hc/requests/new). 

     Please, include the `User-Agent` header with the name of your application or project. It might be a good idea to include some sort of contact information as well, so that we can get in touch if necessary. Examples of excellent `User-Agent` headers:
     > User-Agent: Example mobile app (example@phrase.com) <br/> User-Agent: ACME Inc Java 1.8 Client (http://acmeinc.com/contact)
  version: '1'
  title: Phrase TMS API
servers:
  - url: https://cloud.memsource.com/web
security:
  - ApiToken: []
  - OAuth2: []
tags:
  - name: Additional Workflow Step
  - name: Analysis
  - name: Async Request
  - name: Authentication
  - name: Automations
  - name: Bilingual File
  - name: Business Unit
  - name: Buyer
  - name: Client
  - name: Connector
  - name: Conversations
  - name: Cost Center
  - name: Custom Fields
  - name: Custom File Type
  - name: Domain
  - name: Due Date Scheme
  - name: Email Template
  - name: File
  - name: Glossary
  - name: Import settings
  - name: Job
  - name: Language AI
  - name: Language Assets
  - name: Language Quality Assessment
  - name: Machine Translation
  - name: Machine Translation Settings
  - name: Mapping
  - name: Net Rate Scheme
  - name: Notifications
  - name: Price List
  - name: Project
  - name: Project Template
  - name: Provider
  - name: Quality Assurance
  - name: Quality Profile
  - name: Quote
  - name: Reference File
  - name: SCIM
  - name: Segment
  - name: Segmentation Rules
  - name: Service
  - name: Spell Check
  - name: SubDomain
  - name: Supported Languages
  - name: Term Base
  - name: Translation
  - name: Translation Memory
  - name: User
  - name: Vendor
  - name: Webhook
  - name: Workflow Step
  - name: XML Assistant
paths:
  /api2/v1/machineTranslations/{mtSettingsUid}/translate:
    post:
      tags:
        - Machine Translation
      summary: Translate with MT
      description: >
        Sends one or more source strings to the machine translation (MT) engine
        identified by the MT settings UID and returns the translated strings in
        the same order as the input. This call is synchronous — the response
        contains the translations directly, not a job reference.


        Use this endpoint to obtain on-demand MT output outside of a translation
        job, for example to pre-translate content in a custom workflow or to
        compare output quality across configured MT settings.


        The MT settings identified by mtSettingsUid must belong to the same
        organization as the authenticated user. If the MT engine type has been
        retired for the organization's pricing plan, the call returns 400.


        **Errors:**


        | HTTP status | errorCode | Cause | Remediation |

        |---|---|---|---|

        | 400 | BAD_REQUEST | Request body is malformed, a required field is
        missing, a language code is not a valid locale, sourceTexts is empty, or
        the MT engine type is retired for this plan. | Verify that from and to
        are valid language codes, sourceTexts contains at least one string, and
        the MT settings refer to an active engine type. |

        | 403 | AuthAccessDenied | The authenticated user does not belong to the
        same organization as the MT settings. | Use MT settings that belong to
        your organization. |

        | 404 | ResourceNotFound | No MT settings exist for the provided
        mtSettingsUid. | Check the UID value; retrieve valid UIDs from the MT
        settings list endpoint. |
      operationId: machineTranslation
      parameters:
        - name: mtSettingsUid
          in: path
          description: UID of the MT settings identifying the MT engine to use.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TranslationRequestExtendedDtoV1'
        description: Translation request body.
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MachineTranslateResponse'
        '400':
          description: Bad Request
        '401':
          description: Not authorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '405':
          description: Method not allowed
        '408':
          description: Timeout
        '410':
          description: Gone
        '415':
          description: Unsupported media type
        '429':
          description: Too many requests
        '500':
          description: Internal server error
        '501':
          description: Not implemented
components:
  schemas:
    TranslationRequestExtendedDtoV1:
      type: object
      required:
        - from
        - sourceTexts
        - to
      properties:
        filename:
          type: string
          description: >-
            Filename associated with the source content. Some MT engines use
            this for context or domain selection.
        from:
          type: string
          description: >-
            Source language code (for example, en or en-US). Must be a valid
            language code.
        sourceTexts:
          type: array
          description: >-
            Source strings to translate, returned in the same order as the
            translations. Must contain at least one item.
          items:
            type: string
          maxItems: 2147483647
          minItems: 1
        to:
          type: string
          description: >-
            Target language code (for example, de or de-DE). Must be a valid
            language code.
      description: >-
        Request body for an MT translation request, specifying source and target
        languages and the texts to translate.
    MachineTranslateResponse:
      type: object
      properties:
        translations:
          type: array
          description: Translated strings in the same order as the input sourceTexts.
          items:
            type: string
      description: >-
        Response from an MT translation request, containing the translated
        strings.
  securitySchemes:
    ApiToken:
      description: >-
        Get a token from `auth/login` [endpoint](#operation/login) and then pass
        it in the `Authorization` HTTP header in every subsequent API call. For
        more information visit our [help
        center](https://support.phrase.com/hc/en-us/articles/5709662181404-API-Authentication-TMS-#token-0-0).
      type: apiKey
      name: Authorization
      in: header
    OAuth2:
      description: >-
        A standard OAuth 2.0 authorization code flow. For more information visit
        our [help
        center](https://support.phrase.com/hc/en-us/articles/5709662181404-API-Authentication-TMS-#oauth-2-0-0-1).
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://cloud.memsource.com/web/oauth/authorize
          tokenUrl: https://cloud.memsource.com/web/oauth/token
          scopes: {}

````