---
title: "Add Term"
method: POST
path: "/glossaries/{glossaryId}/terms"
tags: ["Glossaries"]
---

# Add Term

`POST /glossaries/{glossaryId}/terms`

## Request

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

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

__Note:__ If `conceptId` is not specified, a new concept will be automatically created for the term.

## Path parameters

- `glossaryId` integer, required

## Request body

- TermCreateForm
  - `languageId` string, required: Term Language Identifier. Get via [List Supported Languages](#operation/api.languages.getMany)
  - `text` string, required: Term
  - `description` string: Term description
  - `partOfSpeech` 'adjective' | 'adposition' | 'adverb' | 'auxiliary' | 'coordinating conjunction' | 'determiner' | 'interjection' | 'noun' | 'numeral' | 'particle' | 'pronoun' | 'proper noun' | 'subordinating conjunction' | 'verb' | 'other': Term part of speech
  - `status` 'preferred' | 'admitted' | 'not recommended' | 'obsolete' | 'draft': Term status
  - `type` 'full form' | 'acronym' | 'abbreviation' | 'short form' | 'phrase' | 'variant': Term type
  - `gender` 'masculine' | 'feminine' | 'neuter' | 'other': Gender
  - `note` string: Any kind of note, such as a usage note, explanation, or instruction
  - `url` string: Base URL
  - `conceptId` integer: Defines whether to add translation to the existing term. Get `concept_id` via [List Terms](#operation/api.glossaries.terms.getMany) or via [List Concepts](#operation/api.glossaries.concepts.getMany)
  - `translationOfTermId` integer: Defines whether to add translation to the existing term. Get `id` via [List Terms](#operation/api.glossaries.terms.getMany)
  - `fields` EnterpriseAdditionalFields: Fields. Keys get via [List Fields](#operation/api.fields.getMany)

## Response `201`

Term was successfully created

- EnterpriseTermResource: 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` Term, required
    - `id` integer
    - `userId` integer
    - `glossaryId` integer
    - `languageId` string
    - `text` string
    - `description` string
    - `partOfSpeech` string
    - `status` string
    - `type` string
    - `gender` string
    - `note` string
    - `url` string
    - `conceptId` integer
    - `lemma` string
    - `createdAt` string, date-time: UTC timezone
    - `updatedAt` string, date-time: UTC timezone
    - `fields` EnterpriseAdditionalFields: Fields. Keys get via [List Fields](#operation/api.fields.getMany)

## Other responses

- `400`: Invalid Request Parameters
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Glossary or language with specified id was not found
- `405`: Method Not Allowed
- `409`: Conflict
- `503`: Service Unavailable

---

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