---
title: "Edit TM"
method: PATCH
path: "/tms/{tmId}"
tags: ["Translation Memory"]
---

# Edit TM

`PATCH /tms/{tmId}`

## Request

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

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

Updates the name, language, or sharing of a TM. A `remove` on `/managerIds/{managerId}` with your own ID, sent as the only operation in the request, stops you managing the TM instead. To change another manager's access to the TM, use [Edit Manager](#operation/api.managers.patch).

__Note:__ You can't stop managing the default TM of a project you still manage; leave the project instead

## Path parameters

- `tmId` integer, required

## Request body

- TmOperation[]: 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' | 'remove', required: Patch operation to perform
  - `path` '/name' | '/languageId' | '/isShared' | '/managerIds/{managerId}', json-pointer, required: A JSON Pointer as defined by <a href="https://tools.ietf.org/html/rfc6901" target="_blank">RFC 6901</a>

## Response `200`

TM was successfully updated

- CrowdinTmResource: 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` Tm, required
    - `id` integer
    - `userId` integer, nullable
    - `name` string
    - `languageId` string, nullable
    - `languageIds` string[], nullable
    - `segmentsCount` integer: Translation units count
    - `defaultProjectIds` integer[]
    - `projectIds` integer[], nullable
    - `isShared` boolean: Whether TM should be shared to all projects within the account
    - `webUrl` string
    - `createdAt` string, date-time, nullable
    - `managerIds` integer[]: IDs of managers who can manage this resource. The resource owner sees all managers; a manager sees only their own ID. Other users get an empty list. Pending invitations aren't included. Get via [List Managers](#operation/api.managers.getMany)

## Other responses

- `400`: Invalid Request Parameters
- `403`: Forbidden
- `404`: TM with specified id was not found
- `405`: Method Not Allowed
- `409`: The TM is the default TM of a project you still manage

---

[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)
