| title | Monolingual glossaries (v2 endpoints) |
|---|---|
| public | true |
| sidebarTitle | Overview |
| description | Manage glossaries using the v2 endpoints |
See here for information on current v3 endpoints. Using v3 allows you to create, manage, and edit glossaries with entries in multiple language pairs, while still supporting monolingual functionality. See here for an overview of the difference.
The /v2/glossary-language-pairs endpoint is also deprecated. Use GET /v3/languages?resource=glossary instead.
This page describes how to use the v2 endpoints to work with monolingual glossaries - glossaries that map phrases in one language to phrases in another language. If you're new to glossaries, we suggest you use v3 instead.
curl -X POST 'https://api.deepl.com/v2/glossaries' \
--header 'Authorization: DeepL-Auth-Key [yourAuthKey]' \
--header 'Content-Type: application/json' \
--data '{
"name": "My Glossary",
"source_lang": "en",
"target_lang": "de",
"entries": "Hello\tGuten Tag",
"entries_format": "tsv"
}'{
"glossary_id": "def3a26b-3e84-45b3-84ae-0c0aaf3525f7",
"ready": true,
"name": "My Glossary",
"source_lang": "en",
"target_lang": "de",
"creation_time": "2021-08-03T14:16:18.329Z",
"entry_count": 1
}POST /v2/glossaries HTTP/2
Host: api.deepl.com
Authorization: DeepL-Auth-Key [yourAuthKey]
User-Agent: YourApp/1.2.3
Content-Length: 112
Content-Type: application/json
{"name":"My Glossary","source_lang":"en","target_lang":"de","entries":"Hello\tGuten Tag","entries_format":"tsv"}{
"glossary_id": "def3a26b-3e84-45b3-84ae-0c0aaf3525f7",
"ready": true,
"name": "My Glossary",
"source_lang": "en",
"target_lang": "de",
"creation_time": "2021-08-03T14:16:18.329Z",
"entry_count": 1
}cat >glossary.csv <<EOL
Hello,Hallo
World,Welt
EOL
curl -X POST 'https://api.deepl.com/v2/glossaries' \
--header 'Authorization: DeepL-Auth-Key [yourAuthKey]' \
--header 'Content-Type: application/json' \
--data "$(jq -Rs '{
"name": "My Glossary",
"source_lang": "en",
"target_lang": "de",
"entries": .,
"entries_format": "csv"
}' glossary.csv)"{
"glossary_id": "def3a26b-3e84-45b3-84ae-0c0aaf3525f7",
"ready": true,
"name": "My Glossary",
"source_lang": "en",
"target_lang": "de",
"creation_time": "2021-08-03T14:16:18.329Z",
"entry_count": 2
}POST /v2/glossaries HTTP/2
Host: api.deepl.com
Authorization: DeepL-Auth-Key [yourAuthKey]
User-Agent: YourApp/1.2.3
Content-Length: 112
Content-Type: application/json
{"name":"My Glossary","source_lang":"en","target_lang":"de","entries":"Hello,Hallo\nWorld,Welt","entries_format":"csv"}{
"glossary_id": "def3a26b-3e84-45b3-84ae-0c0aaf3525f7",
"ready": true,
"name": "My Glossary",
"source_lang": "en",
"target_lang": "de",
"creation_time": "2021-08-03T14:16:18.329Z",
"entry_count": 2
}List all glossaries and their meta-information, but not the glossary entries.
The example below uses our API Pro endpoint `https://api.deepl.com`. If you're an API Free user, remember to update your requests to use `https://api-free.deepl.com` instead.curl -X GET 'https://api.deepl.com/v2/glossaries' \
--header 'Authorization: DeepL-Auth-Key [yourAuthKey]' {
"glossaries": [
{
"glossary_id": "def3a26b-3e84-45b3-84ae-0c0aaf3525f7",
"name": "My Glossary",
"ready": true,
"source_lang": "EN",
"target_lang": "DE",
"creation_time": "2021-08-03T14:16:18.329Z",
"entry_count": 1
}
]
}GET /v2/glossaries HTTP/2
Host: api.deepl.com
Authorization: DeepL-Auth-Key [yourAuthKey]
User-Agent: YourApp/1.2.3{
"glossaries": [
{
"glossary_id": "def3a26b-3e84-45b3-84ae-0c0aaf3525f7",
"name": "My Glossary",
"ready": true,
"source_lang": "EN",
"target_lang": "DE",
"creation_time": "2021-08-03T14:16:18.329Z",
"entry_count": 1
}
]
}Retrieve meta information for a single glossary, omitting the glossary entries.
The example below uses our API Pro endpoint `https://api.deepl.com`. If you're an API Free user, remember to update your requests to use `https://api-free.deepl.com` instead.curl -X GET 'https://api.deepl.com/v2/glossaries/{glossary_id}' \
--header 'Authorization: DeepL-Auth-Key [yourAuthKey]'{
"glossary_id": "def3a26b-3e84-45b3-84ae-0c0aaf3525f7",
"ready": true,
"name": "My Glossary",
"source_lang": "en",
"target_lang": "de",
"creation_time": "2021-08-03T14:16:18.329Z",
"entry_count": 1
}GET /v2/glossaries/{glossary_id} HTTP/2
Host: api.deepl.com
Authorization: DeepL-Auth-Key [yourAuthKey]
User-Agent: YourApp/1.2.3{
"glossary_id": "def3a26b-3e84-45b3-84ae-0c0aaf3525f7",
"ready": true,
"name": "My Glossary",
"source_lang": "en",
"target_lang": "de",
"creation_time": "2021-08-03T14:16:18.329Z",
"entry_count": 1
}List the entries of a single glossary in the format specified by the Accept header.
The example below uses our API Pro endpoint https://api.deepl.com. If you're an API Free user, remember to update your requests to use https://api-free.deepl.com instead.
curl -X GET 'https://api.deepl.com/v2/glossaries/{glossary_id}/entries' \
--header 'Authorization: DeepL-Auth-Key [yourAuthKey]' \
--header 'Accept: text/tab-separated-values'Hello! Guten Tag!
Hello! Guten Tag!
Deletes the specified glossary.
The example below uses our API Pro endpoint `https://api.deepl.com`. If you're an API Free user, remember to update your requests to use `https://api-free.deepl.com` instead.curl -X DELETE 'https://api.deepl.com/v2/glossaries/{glossary_id}' \
--header 'Authorization: DeepL-Auth-Key [yourAuthKey]'DELETE /v2/glossaries/{glossary_id} HTTP/2
Host: api.deepl.com
Authorization: DeepL-Auth-Key [yourAuthKey]
User-Agent: YourApp/1.2.3The /glossary-language-pairs endpoint lists all the language pairs - the source and target languages - that glossaries support.
curl -X GET 'https://api.deepl.com/v2/glossary-language-pairs' \
--header 'Authorization: DeepL-Auth-Key [yourAuthKey]'{
"supported_languages": [
{
"source_lang": "de",
"target_lang": "en"
},
{
"source_lang": "en",
"target_lang": "de"
}
]
}GET /v2/glossary-language-pairs HTTP/2
Host: api.deepl.com
Authorization: DeepL-Auth-Key [yourAuthKey]
User-Agent: YourApp/1.2.3{
"supported_languages": [
{
"source_lang": "de",
"target_lang": "en"
},
{
"source_lang": "en",
"target_lang": "de"
}
]
}v2 glossaries are immutable: once created, the glossary entries for a given glossary ID cannot be modified.
As a workaround for effectively editable glossaries, we suggest to identify glossaries by name instead of ID in your application and then use the following procedure for modifications:
- download and store the current glossary's entries
- locally modify the glossary entries
- delete the existing glossary
- create a new glossary with the same name