---
title: "Add MT"
method: POST
path: "/mts"
tags: ["Machine Translation Engines"]
---

# Add MT

`POST /mts`

## Request

- Base URL: `https://api.crowdin.com/api/v2`
- URL: `https://api.crowdin.com/api/v2/mts`
- Auth: none declared
- TypeScript: <https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2/docs/mts/post.ts> (a function with typed inputs; its response is checked against the schema)

**Required scopes:** `mt` (Read and Write).

## Request body

- EnterpriseMtCreateForm
  - `name` string, required: Machine Translation engine name
  - `type` 'google' | 'google_automl' | 'microsoft' | 'deepl' | 'amazon' | 'modernmt' | 'custom_mt', required: MT engine type
  - `credentials` union, required: MT engine credentials
    - MtCredentialsGoogle
      - `apiKey` string: Api key
    - MtCredentialsGoogleAutoml
      - `credentials` string: Your Google Translate credentials as a JSON (base64 encoded) file.
    - MtCredentialsMicrosoft
      - `apiKey` string: Api key
      - `model` string: Custom model (optional)
    - MtCredentialsDeepl
      - `apiKey` string: Api key
    - MtCredentialsAmazon
      - `accessKey` string: Api key
      - `secretKey` string: Secret key
    - MtCredentialsModernmt
      - `apiKey` string: Api key
    - MtCredentialsCustomMt
      - `url` string: Base URL
  - `groupId` integer: Group Identifier – defines group to which MT is added. Get via [List Groups](#operation/api.groups.getMany) * * If '0' – MT will be available for all projects and groups in your workspace
  - `enabledLanguageIds` string[]: Array of language ids. Get via [List Supported Languages](#operation/api.languages.getMany)
  - `enabledProjectIds` integer[]: Array of project ids. Get via [List Projects](#operation/api.projects.getMany)
  - `isEnabled` boolean: Defines whether to enabled MT engine.

## Response `201`

MT was added successfully

- EnterpriseMtResource: Base schema of resource container. Container is a wrapper object that contains payload in required `data` property and provides space for adding any other metadata.
  - `data` EnterpriseMt, required
    - `id` integer
    - `groupId` integer
    - `name` string
    - `type` string
    - `credentials` object
      - `crowdin_nmt` integer
      - `crowdin_nmt_multi_translations` integer
    - `supportedLanguageIds` string[]
    - `supportedLanguagePairs` object, nullable
    - `enabledLanguageIds` string[]
    - `enabledProjectIds` integer[]
    - `projectIds` integer[]
    - `isEnabled` boolean

## Other responses

- `400`: Invalid Request Parameters
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Group with specified id was not found
- `405`: Method Not Allowed

---

[API](https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2.md) - [All operations](https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2/revisions/dc68744c5384?raw)
