Topics
Topics group term entries by subject. They can be nested.
Base URL
https://api.lexeri.comAuthenticationBearer tokenFormatJSONEndpoints of this resource
GET/topics
List the topics
Required scope:show
Returns all topics of the termbase, nested ones included, sorted by title.
Query parameters
translation_locale_codestring- Language in which names of languages and titles of topics are returned, e.g.
en. fieldsstring- Adds to each topic, comma-separated:
number_of_terms,number_of_term_entries,ancestors(the topics above it),children(the topics right below it).
Responses
- 200 OKThe topics.
- 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.
Fields of each item (14)
identifierstring · uuidrequiredtitles{ [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.
descriptions{ [key]: string | null }required- Description by locale code.
descriptionstring | null- The description in
translation_locale_code, else in the first language that has one. documents_countintegerrequired- Number of reference documents of the topic.
comments_countinteger | nullcreated_atstring · date-timerequirednumber_of_termsinteger- Only with
fields=number_of_terms. number_of_term_entriesinteger- Only with
fields=number_of_term_entries. ancestorsobject[]- Only with
fields=ancestors. The topics above it, outermost first. 5 fields
identifierstring · uuidrequiredtitles{ [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.
childrenobject[]- Only with
fields=children. The topics right below it. 5 fields
identifierstring · uuidrequiredtitles{ [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 https://api.lexeri.com/topics \ -H "Authorization: Bearer $LEXERI_API_TOKEN"[ { "identifier": "23f9c4bd-9bb4-47f0-9950-33551a70ec70", "titles": { "de": "Gebäudehülle", "en": "Building envelope" }, "title": "Gebäudehülle", "descriptions": { "de": "Außenwände, Dach, Fenster und Bodenplatte" }, "description": "Außenwände, Dach, Fenster und Bodenplatte", "is_root_topic": true, "has_children": false, "documents_count": 0, "comments_count": 0, "created_at": "2026-10-11T20:19:08.879Z" }]POST/termbases/:identifier/topics
Create a topic
Required scope:edit_term_entries
Creates a topic, below parent_topic_identifier if given. Title and description are stored for locale_code.
Path parameters
identifierstring · uuidrequired- Identifier of the termbase. Must be the termbase of the API token.
Body parameters · JSON
titlestringrequired- Title of the topic.
locale_codestringrequired- Language of
titleanddescription. descriptionstring- What belongs to the topic.
parent_topic_identifierstring · uuid- The topic to create it below. An unknown identifier creates a topic at the top level.
Responses
- 201 CreatedThe new topic.
- 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.
Fields of the response (14)
identifierstring · uuidrequiredtitles{ [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.
descriptions{ [key]: string | null }required- Description by locale code.
descriptionstring | null- The description in
translation_locale_code, else in the first language that has one. documents_countintegerrequired- Number of reference documents of the topic.
comments_countinteger | nullcreated_atstring · date-timerequirednumber_of_termsinteger- Only with
fields=number_of_terms. number_of_term_entriesinteger- Only with
fields=number_of_term_entries. ancestorsobject[]- Only with
fields=ancestors. The topics above it, outermost first. 5 fields
identifierstring · uuidrequiredtitles{ [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.
childrenobject[]- Only with
fields=children. The topics right below it. 5 fields
identifierstring · uuidrequiredtitles{ [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 -X POST https://api.lexeri.com/termbases/6b0f3c8e-2f4d-4c1a-9e7b-1d2a3c4b5e6f/topics \ -H "Authorization: Bearer $LEXERI_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "title": "Lüftung", "description": "Lüftungsanlagen und Wärmerückgewinnung", "locale_code": "de" }'{ "identifier": "775bd41a-a27b-4570-9ab5-ef7ade691f80", "titles": { "de": "Lüftung" }, "title": "Lüftung", "descriptions": { "de": "Lüftungsanlagen und Wärmerückgewinnung" }, "description": "Lüftungsanlagen und Wärmerückgewinnung", "is_root_topic": true, "has_children": false, "documents_count": 0, "comments_count": 0, "created_at": "2026-10-11T20:19:09.592Z"}