---
title: "Translation Alignment"
method: POST
path: "/projects/{projectId}/translations/alignment"
tags: ["String Translations"]
---

# Translation Alignment

`POST /projects/{projectId}/translations/alignment`

## Request

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

**Required scopes:** `project.translation` (Read and Write).

## Path parameters

- `projectId` integer, required

## Request body

- TranslationAlignmentForm
  - `sourceLanguageId` string, required: Source Language Identifier. Get via [List Supported Languages](#operation/api.languages.getMany)
  - `targetLanguageId` string, required: Target Language Identifier. Get via [List Supported Languages](#operation/api.languages.getMany)
  - `text` string, required: Text for alignment

## Response `200`

Translation Alignment

- TranslationAlignmentResource: 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` TranslationAlignment, required
    - `words` WordAlignments[]
      - `text` string
      - `alignments` Alignment[]
        - `sourceWord` string
        - `sourceLemma` string
        - `targetWord` string
        - `targetLemma` string
        - `match` integer
        - `probability` number

## Other responses

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

---

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