---
title: "Update Concept"
method: PUT
path: "/glossaries/{glossaryId}/concepts/{conceptId}"
tags: ["Glossaries"]
---

# Update Concept

`PUT /glossaries/{glossaryId}/concepts/{conceptId}`

## Request

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

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

Updates the concept and the definition and note stored for each of its languages. `fields` writes the whole set of custom field values: a field the request omits, or whose value is empty, is cleared.

__Note:__ There is no separate method for concept creation. Concepts are automatically created when adding a term without specifying a `conceptId`.

## Path parameters

- `glossaryId` integer, required
- `conceptId` integer, required

## Request body

- ConceptUpdateForm
  - `subject` string: subject
  - `definition` string: This is a sample definition.
  - `translatable` boolean
  - `note` string: Any kind of note, such as a usage note, explanation, or instruction
  - `url` string: Base URL
  - `figure` string: Used for an external cross-reference, such as a URL, or to point to an external graphic file
  - `languagesDetails` ConceptUpdateLanguagesDetails[]
    - `languageId` string, required: Language Identifier. Get via [List Supported Languages](#operation/api.languages.getMany)
    - `definition` string, required: Some definition
    - `note` string: Any kind of note, such as a usage note, explanation, or instruction.
  - `fields` EnterpriseAdditionalFields: Fields. Keys get via [List Fields](#operation/api.fields.getMany)

## Response `200`

Concept was successfully updated

- EnterpriseConceptResource: 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` Concept, required
    - `id` integer
    - `userId` integer
    - `glossaryId` integer
    - `subject` string
    - `definition` string
    - `translatable` boolean
    - `note` string
    - `url` string: Base URL
    - `figure` string: Figure URL
    - `languagesDetails` ConceptLanguagesDetails[]
      - `languageId` string, nullable
      - `userId` integer, nullable
      - `definition` string, nullable
      - `note` string, nullable
      - `createdAt` string, date-time
      - `updatedAt` string, date-time, nullable
    - `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 Body
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Glossary or concept with specified id was not found
- `405`: Method Not Allowed
- `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)
