---
title: "Add Translation Unit"
method: POST
path: "/translations/translation-unit"
tags: ["Translation"]
---

# Add Translation Unit

`POST /translations/translation-unit`

Adds a translation unit. The system identifies matching translation units in the TM based on the provided BCM [fragment](https://developers.rws.com/languagecloud-api-docs/api/bcm/Sdl.Core.Bcm.BcmModel.Fragment.html). 

 For detailed concepts and examples see the [Translation API](../docs/translations/Translations.html) page.

## Query parameters

- `fields` string

## Headers

- `Authorization` string, required
- `X-LC-Tenant` string, required

## Request body

- TranslationAddRequest
  - `input` TranslationTuUpdateInputRequest, required
    - `content` string, required — The Translation Unit update content as a BCM fragment serialized in JSON string.
  - `definition` TranslationUpdateDefinition, required
    - `translationEngineId` string, required — The translation engine id. The translation engine must have a `TM` resource.
  - `settings` TranslationAddSettings
    - `fields` TranslationUpdateField[] — The Translation Unit fields to update. They are defined in the Field Template associated to your Translation Memory.
      - `name` string, required — Field name
      - `values` string[], required — Field values
    - `ifTargetSegmentsDiffer` 'addNew' | 'overwrite' | 'leaveUnchanged' | 'keepMostRecent' | 'merge' — Update behavior when the translation unit already exists but target differs.

## Response `200`

Ok

- TranslationUnitAddUpdateResponse
  - `success` boolean, required — A flag indicating whether the overall operation was successful executed
  - `insights` TranslationUnitInsightModel[] — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The operation insights.</div>
    - `resourceId` string, required — The translation memory identifier.
    - `translationHash` string, required — The translation unit hash code.
    - `action` 'discard' | 'add' | 'merge' | 'overwrite' | 'error' | 'delete', required — The action performed
  - `errorInsights` TranslationErrorDetailResponse[] — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The operation error insights.</div>
    - `name` string — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;"></div>
    - `code` string — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;"></div>
    - `value` string — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;"></div>

## Other responses

- `400` — Error codes: * "empty": Empty value for variable mentioned in the "name" field on the error response. * "invalid": Invalid input mentioned in the "name" field on the error response.
- `401` — The user could not be identified.
- `403` — Unauthorized to use translation engine.
- `404` — Error codes: * "notFound": - translation engine not found.

---

[API](https://skmtc.net/rws/apis/trados-cloud-platform-api.md) · [All operations](https://skmtc.net/rws/apis/trados-cloud-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/rws/trados-cloud-platform-api/revisions/d42dac7c28a3/schema)
