---
title: "Create Termbase"
method: POST
path: "/termbases"
tags: ["Termbase"]
---

# Create Termbase

`POST /termbases`

Creates a new termbase.
The termbase can be created with a termbase template by providing the templateId or by providing a custom termbaseStructure. 
If only a `termbaseTemplateId` was provided, the termbase will be created using data from the template. 
If only a `termbaseStructure` was provided, the termbase will be created using data from the structure. 
If both, `termbaseTemplateId` and `termbaseStructure` are added in the request, the `termbaseStructure` takes precedence.

## Query parameters

- `fields` string

## Headers

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

## Request body

- TermbaseCreateRequest — Termbase create request.
  - `name` string, required — The name of the termbase.
  - `description` string, nullable — The description of the termbase.
  - `copyright` string, nullable — The copyright of the termbase.
  - `location` string — The folder identifier where the termbase should be created. If not specified, it will be created in the Root folder. If the user does not have access in Root, the request will fail with forbidden error.
  - `termbaseTemplateId` string — The termbase template identifier.
  - `termbaseStructure` TermbaseStructureCreateRequest — The termbase structure create request.
    - `languages` LanguageRequest[] — The languages of the termbase. If not supplied, the termbase will be created using the languages from the specified template. Otherwise it will override the languages from the template.
      - `languageCode` string, required
    - `fields` TermbaseFieldCreateRequest[] — Describes the field structure. If not supplied, the termbase will be created using the fields from the specified template. Otherwise it will override the fields from the template.
      - `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 values. Only if dataType is "picklist". Values must be unique.
      - `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 `201`

Created

- Termbase — The termbase.
  - `id` string, required — The identifier of the termbase.
  - `name` string — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The name of the termbase.</div>
  - `description` string, nullable — The description of the termbase.
  - `copyright` string, nullable — The copyright of the termbase.
  - `location` FolderV2 — Folder used for resource storage.
    - `id` string, required — The folder identifier.
    - `name` string — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The name of the folder.</div>
    - `hasParent` boolean, nullable — Indicates if the folder has a parent folder.
    - `path` FolderPath[] — The hierarchical path. It consists of all the items of the path in reverse order, the parent of the current folder being the first in the list, and the root of the account being the last.
      - `id` string, required — The folder identifier.
      - `name` string, required — The name of the folder.
      - `location` string — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div>The location identifier.
      - `hasParent` boolean, nullable — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div>Indicates if the folder has a parent folder.
  - `termbaseStructure` TermbaseStructure — The termbase structure.
    - `languages` Language[] — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The languages of the termbase.</div>
      - `languageCode` string, required — Language code. ex: "en-US", "de-DE".
      - `englishName` string — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">Human readable name.</div>
      - `direction` string
      - `parentLanguageCode` string
      - `defaultSpecificLanguageCode` string
      - `isNeutral` boolean, nullable
    - `fields` TermbaseField[] — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The termbase fields. (Not available for List Termbases endpoint).</div>
      - `id` string, required — The identifier of the termbase field.
      - `name` string — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The name of the termbase field.</div>
      - `description` string, nullable — The description of the termbase field
      - `type` 'system' | 'userDefined' — The type of the termbase field - system or userDefined.
      - `level` 'entry' | 'language' | 'term' — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The level of which this field applies.</div>
      - `dataType` 'text' | 'double' | 'date' | 'picklist' | 'boolean' — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The data type of the field.</div>
      - `pickListValues` string[] — The pick list options. Only if dataType is "picklist".
      - `allowCustomValues` boolean — Specifies if the field allows custom values.
      - `allowMultiple` boolean — Specifies if the field can be used multiple times.
      - `isMandatory` boolean — Specifies if the field is mandatory.
  - `numberOfEntries` number — The number of entries included in the termbase. (Not available for List Termbases endpoint)
  - `status` 'ready' | 'processingContent' | 'exportingContent' | 'deletingContent' — The status of the termbase. (Not available for List Termbases endpoint)
  - `createdAt` string, date-time — The date and time when the termbase was created. (Not available for List Termbases endpoint) <br> UTC Timezone <br> Allowed formats: <br> "YYYY-MM-DDThh:mmZ" <br> "YYYY-MM-DDThh:mm:ssZ" <br> "YYYY-MM-DDThh:mm:ss.sZ" <br> "YYYY-MM-DDThh:mm:ss.ssZ" <br> "YYYY-MM-DDThh:mm:ss.sss
  - `lastModifiedAt` string, date-time — The date and time when the termbase was last updated. (Not available for List Termbases endpoint) <br> UTC Timezone <br> Allowed formats: <br> "YYYY-MM-DDThh:mmZ" <br> "YYYY-MM-DDThh:mm:ssZ" <br> "YYYY-MM-DDThh:mm:ss.sZ" <br> "YYYY-MM-DDThh:mm:ss.ssZ" <br> "YYYY-MM-DDThh:mm:ss.sss

## 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.
- `401` — The user could not be identified.
- `403` — Error codes: * "forbidden": - The authenticated user is not allowed to create a termbase. * "benefitNotAvailable": - Your subscription does not include access to the requested type of benefit. * "quotaReached": - You have reached the maximum allowable number of termbases for your account.
- `404` — Error codes: * "notFound": - The specified location was not found.
- `409` — Error codes: * "duplicate": There is already a termbase with the same name.

---

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