Developers

Terms

A term is one designation of a concept in one language. The terms of one concept form a term entry, which carries what all of them share: definitions, topics, tags and term entry fields.

Base URLhttps://api.lexeri.comAuthenticationBearer tokenFormatJSON

Endpoints of this resource

GET/terms

List and search terms

Lists the published terms of the termbase, 500 per page by default. Filters combine with AND.

search finds terms whose value contains the query or is similar to it, best matches first. Without search, terms are sorted by value.

The list carries a short form of each term; fields adds more, GET /terms/{identifier} returns all of it.

Query parameters

searchstring
Text the term's value contains or is similar to. Case-insensitive.
locale_codestring
Only terms in this language. Repeat as locale_code[] for several. Includes the terms of the language's fallback language (see hide_fallback_locale) and terms marked as not to be translated (dnt).
hide_fallback_localeboolean
With locale_code, leave out the terms of the fallback language.
statestring
Only terms with this usage state. Repeat as state[] for several.
term_typestring | null
Only terms of this type.Allowed values: fullForm, abbreviation, acronym, short, variant, colloquial, combination
tagstring
Only terms whose term entry carries this tag. Repeat as tag[] for several; an entry must carry all of them.
topicstring · uuid
Only terms whose term entry belongs to this topic (identifier). Subtopics are not included.
term_entry_identifierstring
Only terms of the term entry with this ID of your own (term_entry.term_entry_identifier), not its identifier.
initial_characterstring
Only terms whose value begins with this text.
missing_locale_codestring
Only terms whose term entry has no term in this language yet — what still needs translating.
missing_term_entry_fieldsstring
Only terms whose term entry lacks these, comma-separated: topic, images, definition. A missing definition is looked for in missing_field_locale_code.
missing_field_locale_codestring
The language of the definition missing_term_entry_fields=definition looks for.
last_updated_afterstring · date
Only terms changed on or after this day, a change of the term entry included.
term_entry_statestring
With include_drafts, only terms of term entries in this state.Allowed values: published, draft, suggested, rejected
include_draftsboolean
Also return terms that are not published yet (term requests, imports, extractions, tasks).
term_entry_field_{identifier}string
Only terms whose term entry has this value in the custom field {identifier}, e.g. term_entry_field_f1e2d3c4=Fenster. Works for picklist, number and boolean fields. For date fields use term_entry_field_{identifier}_start and _end.
term_field_{identifier}string
Like term_entry_field_{identifier}, for the custom fields of terms.
sortingstring
Sort by last change (last_updated) or last comment (last_commented) instead of value.
fieldsstring
Adds to each term, comma-separated or as fields[]: locale_code, locale, preferred_term, term_entry, term_entry_identifier, publishing_info.
pageintegerDefault: 1
Page to return, from 1.
per_pageintegerDefault: 500
Terms per page, at most 500.

Responses

  • 200 OKOne page of terms.
  • 401 UnauthorizedThe token is missing, invalid, expired or revoked, its user has no access to the termbase any more, or it lacks the required scope.

Response headers

x-pageinteger
The page returned.
x-per-pageinteger
Terms per page.
x-totalinteger
Terms on all pages.
x-total-pagesinteger
Number of pages.
Fields of each item (14)
identifierstring · uuidrequired
valuestringrequired
The term.
value_formattingobject[]
Subscript and superscript in the value, as ranges over it: start and end (exclusive) count UTF-16 code units, so CO2 with a subscript 2 is [{"start": 2, "end": 3, "type": "sub"}].
3 fields
startintegerrequired
endintegerrequired
typestringrequired
Allowed values: sub, sup
statestringrequired
preferred, admitted, deprecated, not_recommended or the identifier of a custom state of the termbase.
usagestring | null
How to use the term — or why not to.
created_atstring · date-timerequired
publishedboolean
Only with fields=publishing_info. Whether the term itself is published.
has_unpublished_changesboolean
Only with fields=publishing_info. Whether a task, import or term request holds a change of it.
term_entry_publishedboolean
Only with fields=publishing_info. Whether its term entry is published.
locale_codestring
Only with fields=locale_code, or always when locale_code has a fallback language.
localeobject
4 fields
codestringrequired
The locale code.
namestring | nullrequired
Name of the language, in translation_locale_code if given.
plural_formsstring | null
The grammatical numbers the language distinguishes, comma-separated (one,other). An empty string means the language has no grammatical number, null that it is unknown.
tagsstring[]
preferred_termobject | []
Only with fields=preferred_term. The term to use instead, in the same language; an empty array when there is none.
9 fields
identifierstring · uuidrequired
valuestringrequired
The term.
value_formattingobject[]
Subscript and superscript in the value, as ranges over it: start and end (exclusive) count UTF-16 code units, so CO2 with a subscript 2 is [{"start": 2, "end": 3, "type": "sub"}].
3 fields
startintegerrequired
endintegerrequired
typestringrequired
Allowed values: sub, sup
statestringrequired
preferred, admitted, deprecated, not_recommended or the identifier of a custom state of the termbase.
usagestring | null
How to use the term — or why not to.
created_atstring · date-timerequired
publishedboolean
Only with fields=publishing_info. Whether the term itself is published.
has_unpublished_changesboolean
Only with fields=publishing_info. Whether a task, import or term request holds a change of it.
term_entry_publishedboolean
Only with fields=publishing_info. Whether its term entry is published.
term_entry_identifierstring · uuid
Only with fields=term_entry_identifier. The identifier of its term entry.
term_entryobject
8 fields
identifierstring · uuidrequired
term_entry_identifierstring | null
An ID of your own for the term entry.
statestringrequired
published in the termbase, draft being worked on in an import or a task, suggested proposed in a term request or term extraction, rejected turned down there.
titlestring | null
The entry's leading term, in locale_code if given.
title_locale_codestring | null
title_formattingobject[]
Subscript and superscript in the value, as ranges over it: start and end (exclusive) count UTF-16 code units, so CO2 with a subscript 2 is [{"start": 2, "end": 3, "type": "sub"}].
3 fields
startintegerrequired
endintegerrequired
typestringrequired
Allowed values: sub, sup
fieldsobject
Values of custom fields, keyed by their identifier (see GET /termbases/{identifier}).
topicsobject[]required
5 fields
identifierstring · uuidrequired
titles{ [key]: string }required
Title by locale code.
titlestring | nullrequired
The title in translation_locale_code, else in the first language that has one.
is_root_topicbooleanrequired
Whether the topic is at the top level.
has_childrenbooleanrequired
Whether topics are nested below it.
curl -G https://api.lexeri.com/terms \  -H "Authorization: Bearer $LEXERI_API_TOKEN" \  --data-urlencode "search=luftdicht" \  --data-urlencode "locale_code=de" \  --data-urlencode "fields=locale_code,preferred_term,term_entry_identifier"
200 OKExample response
[  {    "identifier": "7d510628-4df7-4429-89c7-51f8d23e0224",    "value": "Luftdichte",    "value_formatting": [],    "usage": "Bezeichnet die Dichte der Luft, nicht die Eigenschaft der Gebäudehülle.",    "state": "not_recommended",    "created_at": "2026-10-11T20:19:08.847Z",    "locale_code": "de",    "preferred_term": {      "identifier": "284fdf93-6cb5-4bed-b2d3-d3d530e97511",      "value": "Luftdichtheit",      "value_formatting": [],      "usage": "Fachbegriff nach DIN 4108-7.",      "state": "preferred",      "created_at": "2026-10-11T20:19:08.837Z"    },    "term_entry_identifier": "cf46f6cc-d6b9-4d2a-b9fc-deaf8f9177a4"  },  {    "identifier": "284fdf93-6cb5-4bed-b2d3-d3d530e97511",    "value": "Luftdichtheit",    "value_formatting": [],    "usage": "Fachbegriff nach DIN 4108-7.",    "state": "preferred",    "created_at": "2026-10-11T20:19:08.837Z",    "locale_code": "de",    "preferred_term": [],    "term_entry_identifier": "cf46f6cc-d6b9-4d2a-b9fc-deaf8f9177a4"  }]

POST/terms

Create a term

Required scope:edit_terms

Creates a term. Without term_entry_id it starts a new term entry, which subject, tags, topics and term_entry_fields describe; with term_entry_id it joins that existing entry (a synonym or a translation) and those four are ignored.

The term is published at once. Nothing is created if the request is answered with an error.

Send a state: without one the term is stored with the placeholder active, which is no usage state.

Body parameters · JSON

valuestringrequired
The term.
term_entry_idstring · uuid
The identifier of the term entry to add the term to. Without it, a new term entry is created.
subjectstring
Subject area of the new term entry.
tagsstring[]
Tags of the new term entry.
topicsstring[] · uuid
Identifiers of the topics of the new term entry.
term_entry_fieldsobject
Values of custom fields, keyed by their identifier (see GET /termbases/{identifier}).
locale_codestringrequired
Language of the term.
statestring
preferred, admitted, deprecated, not_recommended or the identifier of a custom state of the termbase.
term_typestring | null
fullForm full form, abbreviation abbreviation, acronym acronym, short short form, variant variant, colloquial colloquial term, combination term combination.
part_of_speechstring | null
Allowed values: noun, proper_noun, verb, adj, adv
grammatical_genderstring | null
Allowed values: masculine, feminine, neuter, other
grammatical_numberstring | null
The plural category (Unicode CLDR) the term is in, e.g. one singular, other plural in German and English.Allowed values: zero, one, two, few, many, other
usagestring
How to use the term — or why not to.
sourcestring
Where the term comes from, as free text.
contextstring
A sentence the term was found in.
ignore_caseboolean
Find the term regardless of upper and lower case in term checks.
value_formattingobject[]
Subscript and superscript in the value, as ranges over it: start and end (exclusive) count UTF-16 code units, so CO2 with a subscript 2 is [{"start": 2, "end": 3, "type": "sub"}].
3 fields
startintegerrequired
endintegerrequired
typestringrequired
Allowed values: sub, sup
fieldsobject
Values of custom fields, keyed by their identifier (see GET /termbases/{identifier}).

Responses

  • 200 OKThe new term.
  • 401 UnauthorizedThe token is missing, invalid, expired or revoked, its user has no access to the termbase any more, or it lacks the required scope.
  • 404 Not FoundNot found in the token's termbase.
  • 422 Unprocessable EntityA parameter has an invalid value, e.g. a required custom field is empty or value is blank.
Fields of the response (28)
identifierstring · uuidrequired
The term's identifier for the current version; an identifier of its own for each earlier one.
valuestringrequired
The term.
value_formattingobject[]
Subscript and superscript in the value, as ranges over it: start and end (exclusive) count UTF-16 code units, so CO2 with a subscript 2 is [{"start": 2, "end": 3, "type": "sub"}].
3 fields
startintegerrequired
endintegerrequired
typestringrequired
Allowed values: sub, sup
locale_codestringrequired
localeobject
4 fields
codestringrequired
The locale code.
namestring | nullrequired
Name of the language, in translation_locale_code if given.
plural_formsstring | null
The grammatical numbers the language distinguishes, comma-separated (one,other). An empty string means the language has no grammatical number, null that it is unknown.
tagsstring[]
statestringrequired
preferred, admitted, deprecated, not_recommended or the identifier of a custom state of the termbase.
term_typestring | null
fullForm full form, abbreviation abbreviation, acronym acronym, short short form, variant variant, colloquial colloquial term, combination term combination.
part_of_speechstring | null
Allowed values: noun, proper_noun, verb, adj, adv
grammatical_genderstring | null
Allowed values: masculine, feminine, neuter, other
grammatical_numberstring | null
The plural category (Unicode CLDR) the term is in, e.g. one singular, other plural in German and English.Allowed values: zero, one, two, few, many, other
usagestring | null
How to use the term — or why not to.
sourcestring | null
Where the term comes from, as free text. Structured sources are in sources.
subjectstring | null
Subject area of the term entry.
contextstring | null
A sentence the term was found in.
fieldsobject
Values of custom fields, keyed by their identifier (see GET /termbases/{identifier}).
ignore_caseboolean | null
Whether the term check finds the term regardless of upper and lower case.
variantsstring[]
Spelling variants the term check finds as well.
deletedbooleanrequired
True for earlier versions and deleted terms.
changelogobject[]required
What changed compared to the version before.
4 fields
identifierstringrequired
The attribute, or the identifier of a custom field.
namestring
Name of the custom field.
old_valueany
The value before, of any type; null when there was none.
new_valueany
The value after, of any type; null when it was removed.
comments_countinteger | null
creatorobjectrequired
6 fields
identifierstring · uuidrequired
namestringrequired
first_namestring | null
last_namestring | null
emailstring | null
image_urlstring | null
URL of the user's avatar.
term_entryobjectrequired
14 fields
identifierstring · uuidrequired
term_entry_identifierstring | null
An ID of your own for the term entry.
statestringrequired
published in the termbase, draft being worked on in an import or a task, suggested proposed in a term request or term extraction, rejected turned down there.
titlestring | null
The entry's leading term, in locale_code if given.
title_locale_codestring | null
title_formattingobject[]
Subscript and superscript in the value, as ranges over it: start and end (exclusive) count UTF-16 code units, so CO2 with a subscript 2 is [{"start": 2, "end": 3, "type": "sub"}].
3 fields
startintegerrequired
endintegerrequired
typestringrequired
Allowed values: sub, sup
fieldsobject
Values of custom fields, keyed by their identifier (see GET /termbases/{identifier}).
topicsobject[]required
5 fields
identifierstring · uuidrequired
titles{ [key]: string }required
Title by locale code.
titlestring | nullrequired
The title in translation_locale_code, else in the first language that has one.
is_root_topicbooleanrequired
Whether the topic is at the top level.
has_childrenbooleanrequired
Whether topics are nested below it.
tagsstring[]required
locale_fieldsobject
Values of the per-language custom fields, by locale code.
definitionsobject[]required
At most one definition per language.
5 fields
identifierstring · uuidrequired
textstringrequired
sourcestring | null
sourcesobject[]
6 fields
identifierstringrequired
typestringrequired
Allowed values: text, link, reference_document
textstring | null
linkstring | null
metadataobject | null
E.g. the page of a reference document.
reference_documentobject | null
The reference document cited.
localeobject
4 fields
codestringrequired
The locale code.
namestring | nullrequired
Name of the language, in translation_locale_code if given.
plural_formsstring | null
The grammatical numbers the language distinguishes, comma-separated (one,other). An empty string means the language has no grammatical number, null that it is unknown.
tagsstring[]
preferred_termsobject[]required
The preferred terms of the entry, in all languages.
13 fields
identifierstring · uuidrequired
valuestringrequired
value_formattingobject[]
Subscript and superscript in the value, as ranges over it: start and end (exclusive) count UTF-16 code units, so CO2 with a subscript 2 is [{"start": 2, "end": 3, "type": "sub"}].
3 fields
startintegerrequired
endintegerrequired
typestringrequired
Allowed values: sub, sup
locale_codestringrequired
statestringrequired
preferred, admitted, deprecated, not_recommended or the identifier of a custom state of the termbase.
term_typestring | null
fullForm full form, abbreviation abbreviation, acronym acronym, short short form, variant variant, colloquial colloquial term, combination term combination.
part_of_speechstring | null
Allowed values: noun, proper_noun, verb, adj, adv
grammatical_genderstring | null
Allowed values: masculine, feminine, neuter, other
grammatical_numberstring | null
The plural category (Unicode CLDR) the term is in, e.g. one singular, other plural in German and English.Allowed values: zero, one, two, few, many, other
usagestring | null
sourcestring | null
fieldsobject
Values of custom fields, keyed by their identifier (see GET /termbases/{identifier}).
ignore_caseboolean | null
Whether the term check finds the term regardless of upper and lower case.
number_of_treesinteger
Number of concept hierarchies the entry belongs to.
has_unpublished_term_changesboolean
Whether a task, import or term request holds changes of its terms.
number_of_usage_examplesinteger
number_of_versionsinteger
sourcesobject[]required
6 fields
identifierstringrequired
typestringrequired
Allowed values: text, link, reference_document
textstring | null
linkstring | null
metadataobject | null
E.g. the page of a reference document.
reference_documentobject | null
The reference document cited.
created_atstring · date-timerequired
updated_atstring · date-timerequired
termbaseobject
Only in GET /terms/{identifier}.
6 fields
identifierstring · uuidrequired
namestringrequired
descriptionstring | null
source_locale_codestring | null
created_atstring · date-time
updated_atstring · date-time
curl -X POST https://api.lexeri.com/terms \  -H "Authorization: Bearer $LEXERI_API_TOKEN" \  -H "Content-Type: application/json" \  -d '{    "value": "Blower-Door-Test",    "locale_code": "de",    "state": "preferred",    "term_type": "fullForm",    "part_of_speech": "noun",    "grammatical_gender": "masculine",    "grammatical_number": "one",    "usage": "Messverfahren für die Luftdichtheit nach DIN EN ISO 9972.",    "fields": {      "a9b8c7d6": "Bindestriche beibehalten."    },    "topics": ["23f9c4bd-9bb4-47f0-9950-33551a70ec70"],    "term_entry_fields": {      "f1e2d3c4": "Fenster"    }  }'
200 OKExample response
{  "identifier": "4a1c2e3f-5b6d-4e7f-8a9b-0c1d2e3f4a5b",  "value": "Blower-Door-Test",  "value_formatting": [],  "locale_code": "de",  "state": "preferred",  "term_type": "fullForm",  "part_of_speech": "noun",  "grammatical_gender": "masculine",  "grammatical_number": "one",  "usage": "Messverfahren für die Luftdichtheit nach DIN EN ISO 9972.",  "source": null,  "subject": null,  "context": null,  "fields": {    "a9b8c7d6": "Bindestriche beibehalten."  },  "ignore_case": false,  "variants": [],  "deleted": false,  "changelog": [],  "comments_count": null,  "creator": {    "identifier": "ecb20516-ae20-44bf-8c91-0503fa7bd59a",    "email": "anna.berger@example.com",    "first_name": "Anna",    "last_name": "Berger",    "name": "Anna Berger",    "image_url": "https://www.gravatar.com/avatar/00000000000000000000000000000000?d=identicon&s=300"  },  "locale": {    "code": "de",    "name": "Deutsch",    "plural_forms": "one,other",    "tags": []  },  "term_entry": {    "identifier": "6178d9f8-8ab5-409c-9c48-4c847041d313",    "term_entry_identifier": "BP-0043",    "state": "published",    "title": "Blower-Door-Test",    "title_locale_code": "de",    "title_formatting": [],    "fields": {      "f1e2d3c4": "Fenster"    },    "locale_fields": {},    "tags": [],    "topics": [      {        "identifier": "23f9c4bd-9bb4-47f0-9950-33551a70ec70",        "titles": {          "de": "Gebäudehülle",          "en": "Building envelope"        },        "title": "Gebäudehülle",        "is_root_topic": true,        "has_children": false      }    ],    "definitions": [],    "preferred_terms": [      {        "identifier": "4a1c2e3f-5b6d-4e7f-8a9b-0c1d2e3f4a5b",        "state": "preferred",        "locale_code": "de",        "value": "Blower-Door-Test",        "value_formatting": [],        "grammatical_number": "one",        "grammatical_gender": "masculine",        "part_of_speech": "noun",        "term_type": "fullForm",        "usage": "Messverfahren für die Luftdichtheit nach DIN EN ISO 9972.",        "source": null,        "fields": {          "a9b8c7d6": "Bindestriche beibehalten."        },        "ignore_case": false      }    ],    "number_of_trees": 0,    "has_unpublished_term_changes": false  },  "number_of_usage_examples": 0,  "number_of_versions": 1,  "sources": [],  "created_at": "2026-10-11T20:19:09.441Z",  "updated_at": "2026-10-11T20:19:09.441Z"}

GET/terms/:identifier

Get a term

Returns a term with its term entry, the entry's definitions and preferred terms, and the term's sources.

Path parameters

identifierstring · uuidrequired
Identifier of the term.

Query parameters

translation_locale_codestring
Language in which names of languages and titles of topics are returned, e.g. en.
fieldsstring
publishing_info adds published, has_unpublished_changes and term_entry_published.

Responses

  • 200 OKThe term.
  • 401 UnauthorizedThe token is missing, invalid, expired or revoked, its user has no access to the termbase any more, or it lacks the required scope.
  • 404 Not FoundNot found in the token's termbase.
Fields of the response (28)
identifierstring · uuidrequired
The term's identifier for the current version; an identifier of its own for each earlier one.
valuestringrequired
The term.
value_formattingobject[]
Subscript and superscript in the value, as ranges over it: start and end (exclusive) count UTF-16 code units, so CO2 with a subscript 2 is [{"start": 2, "end": 3, "type": "sub"}].
3 fields
startintegerrequired
endintegerrequired
typestringrequired
Allowed values: sub, sup
locale_codestringrequired
localeobject
4 fields
codestringrequired
The locale code.
namestring | nullrequired
Name of the language, in translation_locale_code if given.
plural_formsstring | null
The grammatical numbers the language distinguishes, comma-separated (one,other). An empty string means the language has no grammatical number, null that it is unknown.
tagsstring[]
statestringrequired
preferred, admitted, deprecated, not_recommended or the identifier of a custom state of the termbase.
term_typestring | null
fullForm full form, abbreviation abbreviation, acronym acronym, short short form, variant variant, colloquial colloquial term, combination term combination.
part_of_speechstring | null
Allowed values: noun, proper_noun, verb, adj, adv
grammatical_genderstring | null
Allowed values: masculine, feminine, neuter, other
grammatical_numberstring | null
The plural category (Unicode CLDR) the term is in, e.g. one singular, other plural in German and English.Allowed values: zero, one, two, few, many, other
usagestring | null
How to use the term — or why not to.
sourcestring | null
Where the term comes from, as free text. Structured sources are in sources.
subjectstring | null
Subject area of the term entry.
contextstring | null
A sentence the term was found in.
fieldsobject
Values of custom fields, keyed by their identifier (see GET /termbases/{identifier}).
ignore_caseboolean | null
Whether the term check finds the term regardless of upper and lower case.
variantsstring[]
Spelling variants the term check finds as well.
deletedbooleanrequired
True for earlier versions and deleted terms.
changelogobject[]required
What changed compared to the version before.
4 fields
identifierstringrequired
The attribute, or the identifier of a custom field.
namestring
Name of the custom field.
old_valueany
The value before, of any type; null when there was none.
new_valueany
The value after, of any type; null when it was removed.
comments_countinteger | null
creatorobjectrequired
6 fields
identifierstring · uuidrequired
namestringrequired
first_namestring | null
last_namestring | null
emailstring | null
image_urlstring | null
URL of the user's avatar.
term_entryobjectrequired
14 fields
identifierstring · uuidrequired
term_entry_identifierstring | null
An ID of your own for the term entry.
statestringrequired
published in the termbase, draft being worked on in an import or a task, suggested proposed in a term request or term extraction, rejected turned down there.
titlestring | null
The entry's leading term, in locale_code if given.
title_locale_codestring | null
title_formattingobject[]
Subscript and superscript in the value, as ranges over it: start and end (exclusive) count UTF-16 code units, so CO2 with a subscript 2 is [{"start": 2, "end": 3, "type": "sub"}].
3 fields
startintegerrequired
endintegerrequired
typestringrequired
Allowed values: sub, sup
fieldsobject
Values of custom fields, keyed by their identifier (see GET /termbases/{identifier}).
topicsobject[]required
5 fields
identifierstring · uuidrequired
titles{ [key]: string }required
Title by locale code.
titlestring | nullrequired
The title in translation_locale_code, else in the first language that has one.
is_root_topicbooleanrequired
Whether the topic is at the top level.
has_childrenbooleanrequired
Whether topics are nested below it.
tagsstring[]required
locale_fieldsobject
Values of the per-language custom fields, by locale code.
definitionsobject[]required
At most one definition per language.
5 fields
identifierstring · uuidrequired
textstringrequired
sourcestring | null
sourcesobject[]
6 fields
identifierstringrequired
typestringrequired
Allowed values: text, link, reference_document
textstring | null
linkstring | null
metadataobject | null
E.g. the page of a reference document.
reference_documentobject | null
The reference document cited.
localeobject
4 fields
codestringrequired
The locale code.
namestring | nullrequired
Name of the language, in translation_locale_code if given.
plural_formsstring | null
The grammatical numbers the language distinguishes, comma-separated (one,other). An empty string means the language has no grammatical number, null that it is unknown.
tagsstring[]
preferred_termsobject[]required
The preferred terms of the entry, in all languages.
13 fields
identifierstring · uuidrequired
valuestringrequired
value_formattingobject[]
Subscript and superscript in the value, as ranges over it: start and end (exclusive) count UTF-16 code units, so CO2 with a subscript 2 is [{"start": 2, "end": 3, "type": "sub"}].
3 fields
startintegerrequired
endintegerrequired
typestringrequired
Allowed values: sub, sup
locale_codestringrequired
statestringrequired
preferred, admitted, deprecated, not_recommended or the identifier of a custom state of the termbase.
term_typestring | null
fullForm full form, abbreviation abbreviation, acronym acronym, short short form, variant variant, colloquial colloquial term, combination term combination.
part_of_speechstring | null
Allowed values: noun, proper_noun, verb, adj, adv
grammatical_genderstring | null
Allowed values: masculine, feminine, neuter, other
grammatical_numberstring | null
The plural category (Unicode CLDR) the term is in, e.g. one singular, other plural in German and English.Allowed values: zero, one, two, few, many, other
usagestring | null
sourcestring | null
fieldsobject
Values of custom fields, keyed by their identifier (see GET /termbases/{identifier}).
ignore_caseboolean | null
Whether the term check finds the term regardless of upper and lower case.
number_of_treesinteger
Number of concept hierarchies the entry belongs to.
has_unpublished_term_changesboolean
Whether a task, import or term request holds changes of its terms.
number_of_usage_examplesinteger
number_of_versionsinteger
sourcesobject[]required
6 fields
identifierstringrequired
typestringrequired
Allowed values: text, link, reference_document
textstring | null
linkstring | null
metadataobject | null
E.g. the page of a reference document.
reference_documentobject | null
The reference document cited.
created_atstring · date-timerequired
updated_atstring · date-timerequired
termbaseobject
Only in GET /terms/{identifier}.
6 fields
identifierstring · uuidrequired
namestringrequired
descriptionstring | null
source_locale_codestring | null
created_atstring · date-time
updated_atstring · date-time
curl https://api.lexeri.com/terms/284fdf93-6cb5-4bed-b2d3-d3d530e97511 \  -H "Authorization: Bearer $LEXERI_API_TOKEN"
200 OKExample response
{  "identifier": "284fdf93-6cb5-4bed-b2d3-d3d530e97511",  "value": "Luftdichtheit",  "value_formatting": [],  "locale_code": "de",  "state": "preferred",  "term_type": "fullForm",  "part_of_speech": "noun",  "grammatical_gender": "feminine",  "grammatical_number": "one",  "usage": "Fachbegriff nach DIN 4108-7.",  "source": "DIN 4108-7",  "subject": null,  "context": null,  "fields": {    "a9b8c7d6": "Nicht mit Winddichtheit verwechseln."  },  "ignore_case": false,  "variants": [],  "deleted": false,  "changelog": [],  "comments_count": null,  "creator": {    "identifier": "ecb20516-ae20-44bf-8c91-0503fa7bd59a",    "email": "anna.berger@example.com",    "first_name": "Anna",    "last_name": "Berger",    "name": "Anna Berger",    "image_url": "https://www.gravatar.com/avatar/00000000000000000000000000000000?d=identicon&s=300"  },  "locale": {    "code": "de",    "name": "Deutsch",    "plural_forms": "one,other",    "tags": []  },  "term_entry": {    "identifier": "cf46f6cc-d6b9-4d2a-b9fc-deaf8f9177a4",    "term_entry_identifier": "BP-0042",    "state": "published",    "title": "Luftdichtheit",    "title_locale_code": "de",    "title_formatting": [],    "fields": {      "f1e2d3c4": "Fenster"    },    "locale_fields": {},    "tags": [      "Normen"    ],    "topics": [      {        "identifier": "23f9c4bd-9bb4-47f0-9950-33551a70ec70",        "titles": {          "de": "Gebäudehülle",          "en": "Building envelope"        },        "title": "Gebäudehülle",        "is_root_topic": true,        "has_children": false      }    ],    "definitions": [      {        "identifier": "507c6fae-cc5d-4458-be86-270f8a24e6c0",        "text": "Eigenschaft der Gebäudehülle, keine Luft unkontrolliert durch Fugen und Ritzen strömen zu lassen.",        "source": "DIN 4108-7",        "sources": [],        "locale": {          "code": "de",          "name": "Deutsch",          "plural_forms": "one,other",          "tags": []        }      }    ],    "preferred_terms": [      {        "identifier": "284fdf93-6cb5-4bed-b2d3-d3d530e97511",        "state": "preferred",        "locale_code": "de",        "value": "Luftdichtheit",        "value_formatting": [],        "grammatical_number": "one",        "grammatical_gender": "feminine",        "part_of_speech": "noun",        "term_type": "fullForm",        "usage": "Fachbegriff nach DIN 4108-7.",        "source": "DIN 4108-7",        "fields": {          "a9b8c7d6": "Nicht mit Winddichtheit verwechseln."        },        "ignore_case": false      },      {        "identifier": "9b89e4c8-b4bd-47db-bfc7-01f71524194e",        "state": "preferred",        "locale_code": "en",        "value": "airtightness",        "value_formatting": [],        "grammatical_number": "one",        "grammatical_gender": null,        "part_of_speech": "noun",        "term_type": "fullForm",        "usage": null,        "source": null,        "fields": {},        "ignore_case": false      }    ],    "number_of_trees": 0,    "has_unpublished_term_changes": false  },  "number_of_usage_examples": 1,  "number_of_versions": 1,  "sources": [],  "termbase": {    "identifier": "6b0f3c8e-2f4d-4c1a-9e7b-1d2a3c4b5e6f",    "name": "Bauphysik",    "description": "Terminologie für Bauphysik und Gebäudetechnik",    "source_locale_code": "de",    "created_at": "2026-10-11T20:19:08.778Z",    "updated_at": "2026-10-11T20:19:08.782Z"  },  "created_at": "2026-10-11T20:19:08.837Z",  "updated_at": "2026-10-11T20:19:08.837Z"}

PATCH/terms/:identifier

Change a term

Required scope:edit_terms

Changes the attributes sent; the others stay. The change is published at once and recorded as a new version (GET /terms/{identifier}/versions); the term keeps its identifier.

fields replaces all custom field values of the term: send the ones to keep, too. subject belongs to the term entry and changes it for all of its terms.

Path parameters

identifierstring · uuidrequired
Identifier of the term.

Body parameters · JSON

valuestring
The term.
subjectstring
Subject area of the term entry; changes it for all of its terms.
locale_codestring
Language of the term.
statestring
preferred, admitted, deprecated, not_recommended or the identifier of a custom state of the termbase.
term_typestring | null
fullForm full form, abbreviation abbreviation, acronym acronym, short short form, variant variant, colloquial colloquial term, combination term combination.
part_of_speechstring | null
Allowed values: noun, proper_noun, verb, adj, adv
grammatical_genderstring | null
Allowed values: masculine, feminine, neuter, other
grammatical_numberstring | null
The plural category (Unicode CLDR) the term is in, e.g. one singular, other plural in German and English.Allowed values: zero, one, two, few, many, other
usagestring
How to use the term — or why not to.
sourcestring
Where the term comes from, as free text.
contextstring
A sentence the term was found in.
ignore_caseboolean
Find the term regardless of upper and lower case in term checks.
value_formattingobject[]
Subscript and superscript in the value, as ranges over it: start and end (exclusive) count UTF-16 code units, so CO2 with a subscript 2 is [{"start": 2, "end": 3, "type": "sub"}].
3 fields
startintegerrequired
endintegerrequired
typestringrequired
Allowed values: sub, sup
fieldsobject
Values of custom fields, keyed by their identifier (see GET /termbases/{identifier}).

Responses

  • 200 OKThe changed term.
  • 401 UnauthorizedThe token is missing, invalid, expired or revoked, its user has no access to the termbase any more, or it lacks the required scope.
  • 404 Not FoundNot found in the token's termbase.
  • 422 Unprocessable EntityA parameter has an invalid value, e.g. a required custom field is empty or value is blank.
Fields of the response (28)
identifierstring · uuidrequired
The term's identifier for the current version; an identifier of its own for each earlier one.
valuestringrequired
The term.
value_formattingobject[]
Subscript and superscript in the value, as ranges over it: start and end (exclusive) count UTF-16 code units, so CO2 with a subscript 2 is [{"start": 2, "end": 3, "type": "sub"}].
3 fields
startintegerrequired
endintegerrequired
typestringrequired
Allowed values: sub, sup
locale_codestringrequired
localeobject
4 fields
codestringrequired
The locale code.
namestring | nullrequired
Name of the language, in translation_locale_code if given.
plural_formsstring | null
The grammatical numbers the language distinguishes, comma-separated (one,other). An empty string means the language has no grammatical number, null that it is unknown.
tagsstring[]
statestringrequired
preferred, admitted, deprecated, not_recommended or the identifier of a custom state of the termbase.
term_typestring | null
fullForm full form, abbreviation abbreviation, acronym acronym, short short form, variant variant, colloquial colloquial term, combination term combination.
part_of_speechstring | null
Allowed values: noun, proper_noun, verb, adj, adv
grammatical_genderstring | null
Allowed values: masculine, feminine, neuter, other
grammatical_numberstring | null
The plural category (Unicode CLDR) the term is in, e.g. one singular, other plural in German and English.Allowed values: zero, one, two, few, many, other
usagestring | null
How to use the term — or why not to.
sourcestring | null
Where the term comes from, as free text. Structured sources are in sources.
subjectstring | null
Subject area of the term entry.
contextstring | null
A sentence the term was found in.
fieldsobject
Values of custom fields, keyed by their identifier (see GET /termbases/{identifier}).
ignore_caseboolean | null
Whether the term check finds the term regardless of upper and lower case.
variantsstring[]
Spelling variants the term check finds as well.
deletedbooleanrequired
True for earlier versions and deleted terms.
changelogobject[]required
What changed compared to the version before.
4 fields
identifierstringrequired
The attribute, or the identifier of a custom field.
namestring
Name of the custom field.
old_valueany
The value before, of any type; null when there was none.
new_valueany
The value after, of any type; null when it was removed.
comments_countinteger | null
creatorobjectrequired
6 fields
identifierstring · uuidrequired
namestringrequired
first_namestring | null
last_namestring | null
emailstring | null
image_urlstring | null
URL of the user's avatar.
term_entryobjectrequired
14 fields
identifierstring · uuidrequired
term_entry_identifierstring | null
An ID of your own for the term entry.
statestringrequired
published in the termbase, draft being worked on in an import or a task, suggested proposed in a term request or term extraction, rejected turned down there.
titlestring | null
The entry's leading term, in locale_code if given.
title_locale_codestring | null
title_formattingobject[]
Subscript and superscript in the value, as ranges over it: start and end (exclusive) count UTF-16 code units, so CO2 with a subscript 2 is [{"start": 2, "end": 3, "type": "sub"}].
3 fields
startintegerrequired
endintegerrequired
typestringrequired
Allowed values: sub, sup
fieldsobject
Values of custom fields, keyed by their identifier (see GET /termbases/{identifier}).
topicsobject[]required
5 fields
identifierstring · uuidrequired
titles{ [key]: string }required
Title by locale code.
titlestring | nullrequired
The title in translation_locale_code, else in the first language that has one.
is_root_topicbooleanrequired
Whether the topic is at the top level.
has_childrenbooleanrequired
Whether topics are nested below it.
tagsstring[]required
locale_fieldsobject
Values of the per-language custom fields, by locale code.
definitionsobject[]required
At most one definition per language.
5 fields
identifierstring · uuidrequired
textstringrequired
sourcestring | null
sourcesobject[]
6 fields
identifierstringrequired
typestringrequired
Allowed values: text, link, reference_document
textstring | null
linkstring | null
metadataobject | null
E.g. the page of a reference document.
reference_documentobject | null
The reference document cited.
localeobject
4 fields
codestringrequired
The locale code.
namestring | nullrequired
Name of the language, in translation_locale_code if given.
plural_formsstring | null
The grammatical numbers the language distinguishes, comma-separated (one,other). An empty string means the language has no grammatical number, null that it is unknown.
tagsstring[]
preferred_termsobject[]required
The preferred terms of the entry, in all languages.
13 fields
identifierstring · uuidrequired
valuestringrequired
value_formattingobject[]
Subscript and superscript in the value, as ranges over it: start and end (exclusive) count UTF-16 code units, so CO2 with a subscript 2 is [{"start": 2, "end": 3, "type": "sub"}].
3 fields
startintegerrequired
endintegerrequired
typestringrequired
Allowed values: sub, sup
locale_codestringrequired
statestringrequired
preferred, admitted, deprecated, not_recommended or the identifier of a custom state of the termbase.
term_typestring | null
fullForm full form, abbreviation abbreviation, acronym acronym, short short form, variant variant, colloquial colloquial term, combination term combination.
part_of_speechstring | null
Allowed values: noun, proper_noun, verb, adj, adv
grammatical_genderstring | null
Allowed values: masculine, feminine, neuter, other
grammatical_numberstring | null
The plural category (Unicode CLDR) the term is in, e.g. one singular, other plural in German and English.Allowed values: zero, one, two, few, many, other
usagestring | null
sourcestring | null
fieldsobject
Values of custom fields, keyed by their identifier (see GET /termbases/{identifier}).
ignore_caseboolean | null
Whether the term check finds the term regardless of upper and lower case.
number_of_treesinteger
Number of concept hierarchies the entry belongs to.
has_unpublished_term_changesboolean
Whether a task, import or term request holds changes of its terms.
number_of_usage_examplesinteger
number_of_versionsinteger
sourcesobject[]required
6 fields
identifierstringrequired
typestringrequired
Allowed values: text, link, reference_document
textstring | null
linkstring | null
metadataobject | null
E.g. the page of a reference document.
reference_documentobject | null
The reference document cited.
created_atstring · date-timerequired
updated_atstring · date-timerequired
termbaseobject
Only in GET /terms/{identifier}.
6 fields
identifierstring · uuidrequired
namestringrequired
descriptionstring | null
source_locale_codestring | null
created_atstring · date-time
updated_atstring · date-time
curl -X PATCH https://api.lexeri.com/terms/284fdf93-6cb5-4bed-b2d3-d3d530e97511 \  -H "Authorization: Bearer $LEXERI_API_TOKEN" \  -H "Content-Type: application/json" \  -d '{    "usage": "Fachbegriff nach DIN 4108-7. In Normtexten verwenden."  }'

DELETE/terms/:identifier

Delete a term

Required scope:edit_terms

Deletes the term. Deleting the last term of a term entry deletes the whole entry with its definitions, notes and images.

Path parameters

identifierstring · uuidrequired
Identifier of the term.

Responses

  • 204 No ContentDeleted.
  • 401 UnauthorizedThe token is missing, invalid, expired or revoked, its user has no access to the termbase any more, or it lacks the required scope.
  • 404 Not FoundNot found in the token's termbase.
curl -X DELETE https://api.lexeri.com/terms/284fdf93-6cb5-4bed-b2d3-d3d530e97511 \  -H "Authorization: Bearer $LEXERI_API_TOKEN"

GET/terms/:identifier/versions

List the versions of a term

Returns every version of the term, newest first — the current one included. Each version's changelog lists what changed compared to the version before it. Earlier versions carry deleted: true and an identifier of their own.

Path parameters

identifierstring · uuidrequired
Identifier of the term.

Responses

  • 200 OKThe versions of the term.
  • 401 UnauthorizedThe token is missing, invalid, expired or revoked, its user has no access to the termbase any more, or it lacks the required scope.
  • 404 Not FoundNot found in the token's termbase.
Fields of each item (27)
identifierstring · uuidrequired
The term's identifier for the current version; an identifier of its own for each earlier one.
valuestringrequired
The term.
value_formattingobject[]
Subscript and superscript in the value, as ranges over it: start and end (exclusive) count UTF-16 code units, so CO2 with a subscript 2 is [{"start": 2, "end": 3, "type": "sub"}].
3 fields
startintegerrequired
endintegerrequired
typestringrequired
Allowed values: sub, sup
locale_codestringrequired
localeobject
4 fields
codestringrequired
The locale code.
namestring | nullrequired
Name of the language, in translation_locale_code if given.
plural_formsstring | null
The grammatical numbers the language distinguishes, comma-separated (one,other). An empty string means the language has no grammatical number, null that it is unknown.
tagsstring[]
statestringrequired
preferred, admitted, deprecated, not_recommended or the identifier of a custom state of the termbase.
term_typestring | null
fullForm full form, abbreviation abbreviation, acronym acronym, short short form, variant variant, colloquial colloquial term, combination term combination.
part_of_speechstring | null
Allowed values: noun, proper_noun, verb, adj, adv
grammatical_genderstring | null
Allowed values: masculine, feminine, neuter, other
grammatical_numberstring | null
The plural category (Unicode CLDR) the term is in, e.g. one singular, other plural in German and English.Allowed values: zero, one, two, few, many, other
usagestring | null
How to use the term — or why not to.
sourcestring | null
Where the term comes from, as free text. Structured sources are in sources.
subjectstring | null
Subject area of the term entry.
contextstring | null
A sentence the term was found in.
fieldsobject
Values of custom fields, keyed by their identifier (see GET /termbases/{identifier}).
ignore_caseboolean | null
Whether the term check finds the term regardless of upper and lower case.
variantsstring[]
Spelling variants the term check finds as well.
deletedbooleanrequired
True for earlier versions and deleted terms.
changelogobject[]required
What changed compared to the version before.
4 fields
identifierstringrequired
The attribute, or the identifier of a custom field.
namestring
Name of the custom field.
old_valueany
The value before, of any type; null when there was none.
new_valueany
The value after, of any type; null when it was removed.
comments_countinteger | null
creatorobject
6 fields
identifierstring · uuidrequired
namestringrequired
first_namestring | null
last_namestring | null
emailstring | null
image_urlstring | null
URL of the user's avatar.
term_entryobject
14 fields
identifierstring · uuidrequired
term_entry_identifierstring | null
An ID of your own for the term entry.
statestringrequired
published in the termbase, draft being worked on in an import or a task, suggested proposed in a term request or term extraction, rejected turned down there.
titlestring | null
The entry's leading term, in locale_code if given.
title_locale_codestring | null
title_formattingobject[]
Subscript and superscript in the value, as ranges over it: start and end (exclusive) count UTF-16 code units, so CO2 with a subscript 2 is [{"start": 2, "end": 3, "type": "sub"}].
3 fields
startintegerrequired
endintegerrequired
typestringrequired
Allowed values: sub, sup
fieldsobject
Values of custom fields, keyed by their identifier (see GET /termbases/{identifier}).
topicsobject[]required
5 fields
identifierstring · uuidrequired
titles{ [key]: string }required
Title by locale code.
titlestring | nullrequired
The title in translation_locale_code, else in the first language that has one.
is_root_topicbooleanrequired
Whether the topic is at the top level.
has_childrenbooleanrequired
Whether topics are nested below it.
tagsstring[]required
locale_fieldsobject
Values of the per-language custom fields, by locale code.
definitionsobject[]required
At most one definition per language.
5 fields
identifierstring · uuidrequired
textstringrequired
sourcestring | null
sourcesobject[]
6 fields
identifierstringrequired
typestringrequired
Allowed values: text, link, reference_document
textstring | null
linkstring | null
metadataobject | null
E.g. the page of a reference document.
reference_documentobject | null
The reference document cited.
localeobject
4 fields
codestringrequired
The locale code.
namestring | nullrequired
Name of the language, in translation_locale_code if given.
plural_formsstring | null
The grammatical numbers the language distinguishes, comma-separated (one,other). An empty string means the language has no grammatical number, null that it is unknown.
tagsstring[]
preferred_termsobject[]required
The preferred terms of the entry, in all languages.
13 fields
identifierstring · uuidrequired
valuestringrequired
value_formattingobject[]
Subscript and superscript in the value, as ranges over it: start and end (exclusive) count UTF-16 code units, so CO2 with a subscript 2 is [{"start": 2, "end": 3, "type": "sub"}].
3 fields
startintegerrequired
endintegerrequired
typestringrequired
Allowed values: sub, sup
locale_codestringrequired
statestringrequired
preferred, admitted, deprecated, not_recommended or the identifier of a custom state of the termbase.
term_typestring | null
fullForm full form, abbreviation abbreviation, acronym acronym, short short form, variant variant, colloquial colloquial term, combination term combination.
part_of_speechstring | null
Allowed values: noun, proper_noun, verb, adj, adv
grammatical_genderstring | null
Allowed values: masculine, feminine, neuter, other
grammatical_numberstring | null
The plural category (Unicode CLDR) the term is in, e.g. one singular, other plural in German and English.Allowed values: zero, one, two, few, many, other
usagestring | null
sourcestring | null
fieldsobject
Values of custom fields, keyed by their identifier (see GET /termbases/{identifier}).
ignore_caseboolean | null
Whether the term check finds the term regardless of upper and lower case.
number_of_treesinteger
Number of concept hierarchies the entry belongs to.
has_unpublished_term_changesboolean
Whether a task, import or term request holds changes of its terms.
number_of_usage_examplesinteger
number_of_versionsinteger
sourcesobject[]
6 fields
identifierstringrequired
typestringrequired
Allowed values: text, link, reference_document
textstring | null
linkstring | null
metadataobject | null
E.g. the page of a reference document.
reference_documentobject | null
The reference document cited.
created_atstring · date-timerequired
updated_atstring · date-timerequired
curl https://api.lexeri.com/terms/284fdf93-6cb5-4bed-b2d3-d3d530e97511/versions \  -H "Authorization: Bearer $LEXERI_API_TOKEN"