API-Referenz
Alle Endpunkte der Lexeri API mit Parametern, Antworten und Beispielen in cURL, JavaScript und Python. Die Beschreibungen stammen aus der OpenAPI-Spezifikation der API und sind englisch.
https://api.lexeri.comAuthentifizierungBearer-TokenFormatJSONVersion2026-10The Lexeri API gives integrations access to one termbase: search and maintain its terms, list its topics, export it and check texts against it. It is a REST API that speaks JSON.
Ressourcen
- TermbasesThe termbase the API token belongs to.1 Endpunkt
- TermsA 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.6 Endpunkte
- Usage examplesSentences that show how a term is used — or must not be used.3 Endpunkte
- TopicsTopics group term entries by subject. They can be nested.2 Endpunkte
- ExportsExports write the termbase to a file. They run in the background: create an export, then poll it until
stateisfinishedand download the file fromdownload_url.3 Endpunkte - Term checksA 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,vlsandzh, each also with a region (de-CH).1 Endpunkt
Base URL
https://api.lexeri.com
Authentication
Every request carries an API token in the Authorization header:
Authorization: Bearer <api token>API tokens are created in the termbase settings (tab API) by users who may create them there — by default admins and terminology managers. A token belongs to one termbase and acts on behalf of the user it was created for:
- It can do at most what that user may do in the termbase today. If the user is removed from the termbase or loses a permission, the token loses it too.
- It expires on the date chosen at creation (or never). Expired or revoked tokens are answered with
401. - The termbase identifier in a path must be the token's own termbase.
Scopes
A token is created with a set of scopes. An endpoint that needs a scope the token lacks answers 401 with
{"message": "required scope missing: <scope>"}.
| Scope | Allows |
|---|---|
show, read | Reading the termbase, its terms, versions, usage examples and topics. Every token has them. |
edit_terms | Creating, changing and deleting terms and usage examples. |
edit_term_entries | Creating topics. |
export_termbase | Creating and downloading exports. |
check_text | Checking texts for terms (live check). |
Tokens can carry further scopes (request_terms, manage_term_requests, edit_ontologies, edit_termbase)
for endpoints that are not part of this documentation yet.
Changes go live immediately
Terms created, changed or deleted through the API are published right away. They do not pass through a task or term request.
Errors
Errors are answered with a JSON body carrying a message:
{"message": "required scope missing: edit_terms"}| Status | Meaning |
|---|---|
401 | The token is missing, invalid, expired or revoked, its user has no access to the termbase any more, or it lacks a required scope. |
404 | The resource does not exist or does not belong to the token's termbase. |
406 | A required parameter is missing or empty: param is missing or the value is empty or invalid: <name>. |
422 | A parameter has an invalid value. Exports answer with {"errors": {"<field>": ["<problem>"]}} instead. |
500 | Unexpected error. Please contact us if it persists. |
Messages are meant for humans and may change; do not parse them.
Pagination
GET /terms is paginated with page (from 1) and per_page (at most 500, default 500). Every response
carries the headers x-page, x-per-page, x-total and x-total-pages.
Locale codes
Languages are identified by codes such as de or en, optionally with a region, e.g. de-CH or en-GB.
The supported languages are listed in the help center:
Unterstützte Sprachen.
Usage states of terms
A term's state is one of the built-in states preferred, admitted, deprecated and not_recommended,
or the identifier of a custom state of the termbase (custom_term_states in GET /termbases/{identifier}).
Custom fields
A termbase can define its own fields for term entries and terms. Their definitions are part of
GET /termbases/{identifier} (term_entry_fields, term_fields). Values are keyed by the field's
identifier: write them with fields (terms) or term_entry_fields (new term entries), filter the term list
with term_field_<identifier> and term_entry_field_<identifier>.
Help
Questions and feedback: info@lexeri.com
Changelog
October 2026
- Rebuilt from an OpenAPI specification that is checked against the API in our test suite.
- Removed endpoints that did not work with API tokens: topic details, updating and deleting topics, topic images, reference documents, and updating or creating termbases. They will return once they support API tokens.
- Corrected status codes: listing exports answers
200, creating a term200. Creating an export always creates a new one. - Documented the actual fields of every response and the filters of
GET /terms. GET /termshonoursper_page(at most 500), acceptsfieldsas a list and returns only published terms.- The live check requires the scope
check_text. Unknown export types are rejected with422.