---
title: "Update Termbase"
method: PUT
path: "/termbases/{termbaseId}"
tags: ["Termbase"]
---

# Update Termbase

`PUT /termbases/{termbaseId}`

Updates the termbase.
The termbase can be updated with a termbase template by providing the termbaseTemplateId or by providing a custom termbaseStructure. 

If only a `termbaseTemplateId ` was provided, the termbase will be updated using data from the template. 
If only a `termbaseStructure` was provided, the termbase will be updated using data from the structure. 
If both, `termbaseTemplateId` and `termbaseStructure` are added in the request, the `termbaseStructure` takes precedence.

## Headers

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

## Request body

- TermbaseUpdateRequest — Termbase update request.
  - `name` string — The name of the termbase.
  - `description` string, nullable — The description of the termbase.
  - `copyright` string, nullable — The copyright of the termbase.
  - `termbaseTemplateId` string — The termbase template identifier.
  - `termbaseStructure` TermbaseStructureUpdateRequest — The termbase structure update request.
    - `languages` LanguageRequest[] — The languages of the termbase. If not supplied, the termbase will be updated using the languages from the specified template. Otherwise it will override the languages from the template.
      - `languageCode` string, required
    - `fields` TermbaseFieldUpdateRequest[] — Describes the field structure. If not supplied, the termbase will be updated using the fields from the specified template. Otherwise it will override the fields from the template.
      - `id` string — The identifier of the termbase field to updated. If missing will add a new field.
      - `name` string, required — The name of the termbase field. Must be unique.
      - `description` string, nullable — The description of the termbase field.
      - `level` 'entry' | 'language' | 'term', required — The level of which this field applies.
      - `dataType` 'text' | 'double' | 'date' | 'picklist' | 'boolean', required — The data type of the field.
      - `pickListValues` string[] — The pick list options. Only if dataType is "picklist".
      - `allowCustomValues` boolean — Specifies if the field allows custom values. Must be true if pickListValues is empty.
      - `allowMultiple` boolean — Specifies if the field can be used multiple times.
      - `isMandatory` boolean — Specifies if the field is mandatory.

## Response `204`

No Content

## Other responses

- `400` — Error codes: * "invalid": Invalid input in the query parameter mentioned in the “name” field on the error response. * "empty": Empty mandatory value mentioned in the "name" field on the error response. * "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. * "duplicate": The field name must be unique within the list.
- `401` — The user could not be identified.
- `403` — Error codes: * "forbidden": - The authenticated user is not allowed to update the termbase. * "benefitNotAvailable": - Your subscription does not include access to the requested type of benefit.
- `404` — Error codes: * "notFound": - The specified termbase identifier was not found.
- `409` — Error codes: * "duplicate": There is already a termbase with the same name. * "invalidStatus": The termbase cannot be updated as is currently being processed.

---

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