Developers

Term checks

A live check finds the terms of the termbase in a text and tells which of them should be replaced, and by what. Term checks need a language model for the text's language. Supported are da, de, en, es, fi, fr, hr, it, ja, ko, mk, nl, pl, pt, ro, sl, sv, vls and zh, each also with a region (de-CH).

Base URLhttps://api.lexeri.comAuthenticationBearer tokenFormatJSON

Endpoints of this resource

POST/term_checks/live

Check a text for terms

Required scope:check_text

Finds the terms of the termbase in a text. Each match names the term found (matching_term) and, if that term should not be used, the term to use instead (preferred_term, missing when there is none). Matches take inflected forms into account (Luftdichtheiten finds Luftdichtheit) and report misspellings.

Meant for short texts such as a paragraph; the text is analysed while you wait.

Body parameters · JSON

textstringrequired
The text to check.
locale_codestringrequired
Language of the text.
suggestion_locale_codestring
Language of the suggested preferred_term, if not the text's.
topic_identifiersstring[] · uuid
Only find terms of term entries in one of these topics.
tagsstring[]
Only find terms of term entries carrying all of these tags.
fieldsstring
definition adds the definition of each match's term entry.

Responses

  • 200 OKThe matches, one per term found.
  • 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.
  • 406 Not AcceptableA required parameter is missing or empty.
  • 422 Unprocessable EntityThe language of the text is not supported.
Fields of each item (13)
matching_termobjectrequired
The term found in the text.
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.
preferred_termobject
The term to use instead. Missing when the matching term is fine or its entry has no preferred term.
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.
phrasesstring[]required
How the term occurs in the text.
misspellingsstring[]required
Occurrences that misspell the term.
always_misspelledboolean
Whether every occurrence misspells the term.
has_homonymsboolean
Whether other term entries contain a term with the same form; the match may then mean one of those.
homonym_lemmastring | null
locale_codestring | null
order_numberinteger | null
sentencesobject[]required
The occurrences.
3 fields
textstringrequired
The text the term was found in.
matching_phrasestring
The occurrence.
misspelledboolean
Present and true when the occurrence is misspelled.
string_keysstring[]
term_entryobjectrequired
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.
definitionstring | null
Only with fields=definition. The definition in the term's language, else any.
curl -X POST https://api.lexeri.com/term_checks/live \  -H "Authorization: Bearer $LEXERI_API_TOKEN" \  -H "Content-Type: application/json" \  -d '{    "locale_code": "de",    "text": "Die Luftdichte der Gebäudehülle wird mit dem Blower-Door-Test gemessen."  }'
200 OKExample response
[  {    "matching_term": {      "identifier": "7d510628-4df7-4429-89c7-51f8d23e0224",      "state": "not_recommended",      "locale_code": "de",      "value": "Luftdichte",      "value_formatting": [],      "grammatical_number": "one",      "grammatical_gender": "feminine",      "part_of_speech": "noun",      "term_type": "fullForm",      "usage": "Bezeichnet die Dichte der Luft, nicht die Eigenschaft der Gebäudehülle.",      "source": null,      "fields": {},      "ignore_case": false    },    "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"    },    "phrases": [      "Luftdichte"    ],    "misspellings": [],    "always_misspelled": false,    "has_homonyms": false,    "homonym_lemma": null,    "locale_code": null,    "order_number": null,    "sentences": [      {        "text": "Die Luftdichte der Gebäudehülle wird mit dem Blower-Door-Test gemessen.",        "matching_phrase": "Luftdichte"      }    ],    "string_keys": [],    "term_entry": {      "identifier": "cf46f6cc-d6b9-4d2a-b9fc-deaf8f9177a4",      "term_entry_identifier": "BP-0042",      "fields": {        "f1e2d3c4": "Fenster"      },      "state": "published",      "title": "Luftdichtheit",      "title_locale_code": "de",      "title_formatting": [],      "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        }      ]    }  }]