---
title: "Import Glossary"
method: POST
path: "/glossaries/{glossaryId}/imports"
tags: ["Glossaries"]
---

# Import Glossary

`POST /glossaries/{glossaryId}/imports`

## Request

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

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

## Path parameters

- `glossaryId` integer, required

## Request body

- GlossaryImportForm
  - `storageId` integer, required: Storage Identifier. Get via [List Storages](#operation/api.storages.getMany) Supported file formats: * TBX * CSV * XLS/XLSX
  - `firstLineContainsHeader` boolean: Defines whether file includes first row header that should not be imported __Note:__ Used for upload of CSV or XLS/XLSX files only
  - `scheme` object: Defines data columns mapping. Acceptable value is combination of following constants: * `term_{%language_code%}` – column with terms * `description_{%language_code%}` – column with terms description * `partOfSpeech_{%language_code%}` – column with terms part of speech * `status_{%language_code%}` – column with terms status * `type_{%language_code%}` – column with terms type * `gender_{%language_code%}` – column with terms gender * `url_{%language_code%}` – column with terms url * `note_{%language_code%}` – column with terms note where `%language_code%` – placeholder for your language code * `conceptDefinition` – column with concepts definition * `conceptSubject` – column with concepts subject * `conceptNote` – column with concepts note * `conceptUrl` – column with concepts url * `conceptFigure` – column with concepts figure * `field_{%fieldSlug%}_{%language_code%}` – column with a term custom field value * `conceptField_{%fieldSlug%}` – column with a concept custom field value __Note:__ Only the custom fields whose columns are mapped here are written — a field this scheme omits keeps its stored value, and a mapped but empty cell clears it __Note:__ Used for upload of CSV or XLS/XLSX files only

## Response `202`

Glossary import was successfully started

- GlossaryImportResource: 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` GlossaryImport, required: Class GlossaryImportResponseModel
    - `identifier` string
    - `status` string
    - `progress` integer: in percentages
    - `attributes` object
      - `storageId` integer
      - `scheme` object
        - `term_en` integer
        - `description_en` integer
      - `firstLineContainsHeader` boolean
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
    - `startedAt` string, date-time, nullable
    - `finishedAt` string, date-time, nullable

## Other responses

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

## Changes

- **2026-11-06** `dc68744c5384`: 1 breaking, 3 warning
  - added `#/components/schemas/GlossaryImportFormBase, subschema #2` to the request body `allOf` list
  - removed the request property `firstLineContainsHeader`
  - removed the request property `scheme`
  - removed the request property `storageId`

[Operation history](https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2/changes/glossaries/:glossaryId/imports/post.md)

---

[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/6d2d771cdf67?raw)
