---
title: "Edit Custom Language"
method: PATCH
path: "/languages/{languageId}"
tags: ["Languages"]
---

# Edit Custom Language

`PATCH /languages/{languageId}`

## Request

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

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

## Path parameters

- `languageId` string, required

## Request body

- CustomLanguageOperation[]: A JSON Patch document as defined by <a href="https://tools.ietf.org/html/rfc6902#section-3" target="_blank">RFC 6902</a>
  - `op` 'replace' | 'test', required: Patch operation to perform
  - `path` '/name' | '/textDirection' | '/pluralCategoryNames' | '/threeLettersCode' | '/localeCode' | '/dialectOf', json-pointer, required: A JSON Pointer as defined by <a href="https://tools.ietf.org/html/rfc6901" target="_blank">RFC 6901</a>

## Response `200`

Language was successfully updated

- LanguageResource: 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` Language, required: Class LanguageResponseModel
    - `id` string
    - `name` string
    - `editorCode` string: - alias of internal code
    - `twoLettersCode` string: alias of iso6391 code
    - `threeLettersCode` string: alias of iso6393 code
    - `locale` string
    - `androidCode` string
    - `bcp47Code` string
    - `osxCode` string
    - `osxLocale` string
    - `pluralCategoryNames` string[]: plural category names
    - `pluralRules` string: string with plural rules
    - `pluralExamples` string[]: plural examples array
    - `textDirection` 'ltr' | 'rtl'
    - `dialectOf` string, nullable

## Other responses

- `400`: Invalid Request Body
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Language 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)
