REST-Service
Unter der URL https://my.living-apps.de/rest/ ist eine REST-Schnittstelle
zugänglich, die Ihnen über HTTP ermöglicht, Daten aus Ihren LivingApps abzurufen,
neue Datensätze zu erzeugen, sowie vorhandene Datensätze zu ändern, oder zu
löschen.
Sie können über diese Schnittstelle auch Anzeige-Templates, interne Templates und E-Mail-Templates abrufen, erzeugen ändern und löschen.
Autorisierung
Um die REST-Schnittstelle benutzen zu können, benötigen Sie einen API-Key, den Sie unter bei anlegen können.
Dieser API-Key gewährt Ihren HTTP-Anfragen auf die REST-Schnittstelle dieselben Zugriffsrechte, die Sie als Benutzer auch haben.
In obigem Beispiel ist der Token folgender Text:
6809fb00tDfPWbTVNvyeGxFQSFvNYSPTwZybcEQTBsSeMLwVeYZauwSKrEuuvxjqcdqygkoPoQJTJClxdUnSPhenetVXBzJeWI
Diesen API-Key müssen Sie bei allen HTTP-Anfragen an die REST-Schnittstelle
im X-API-KEY-Header mitgeben:
X-API-KEY: 6809fb00tDfPWbTVNvyeGxFQSFvNYSPTwZybcEQTBsSeMLwVeYZauwSKrEuuvxjqcdqygkoPoQJTJClxdUnSPhenetVXBzJeWI
D.h. wenn Sie die Liste Ihrer LivingApps abrufen wollen, geht das beispielsweise
mit curl folgendermaßen:
$ curl -s -X 'GET' \
'https://my.living-apps.de/rest/apps' \
-H 'accept: application/json' \
-H 'X-API-KEY: 6809fb00tDfPWbTVNvyeGxFQSFvNYSPTwZybcEQTBsSeMLwVeYZauwSKrEuuvxjqcdqygkoPoQJTJClxdUnSPhenetVXBzJeWI'
Falls Sie requests in Python verwenden, geht das folgendermaßen:
Python 3.14.5 (main, May 10 2026, 10:21:34) [Clang 21.0.0 (clang-2100.0.123.102)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> api_key = "6809fb00tDfPWbTVNvyeGxFQSFvNYSPTwZybcEQTBsSeMLwVeYZauwSKrEuuvxjqcdqygkoPoQJTJClxdUnSPhenetVXBzJeWI"
>>> response = requests.get(
... "https://my.living-apps.de/rest/apps",
... headers={
... "Accept": "application/json",
... "X-API-KEY": api_key,
... },
... )
>>> response.json()
...
Verfügbare Endpoints
Alle Endpoints sind relativ zur Basis-URL https://my.living-apps.de/rest.
Im Folgenden sind sie nach Themengebieten gruppiert aufgeführt.
App-Gruppen
GET https://my.living-apps.de/rest/appgroupsGibt Informationen über alle Ihre App-Gruppen zurück.
POST https://my.living-apps.de/rest/appgroupsErzeugt eine neue App-Gruppe.
GET https://my.living-apps.de/rest/appgroups/{appgroup_id}Gibt Informationen über die App-Gruppe mit der ID
{appgroup_id}zurück.PUT https://my.living-apps.de/rest/appgroups/{appgroup_id}Ändert die App-Gruppe mit der ID
{appgroup_id}.PATCH https://my.living-apps.de/rest/appgroups/{appgroup_id}Ändert die App-Gruppe mit der ID
{appgroup_id}teilweise.DELETE https://my.living-apps.de/rest/appgroups/{appgroup_id}Löscht die App-Gruppe mit der ID
{appgroup_id}.
App-Gruppen-Parameter
GET https://my.living-apps.de/rest/appgroups/{appgroup_id}/paramsGibt die Parameter der App-Gruppe mit der ID
{appgroup_id}zurück.GET https://my.living-apps.de/rest/appgroups/{appgroup_id}/params/{path}Gibt den mit
{path}spezifizierten Parameter der App-Gruppe mit der ID{appgroup_id}zurück.POST https://my.living-apps.de/rest/appgroups/{appgroup_id}/params/{path}Erzeugt ein Element innerhalb eines Listen-Parameters in der App-Gruppe mit der ID
{appgroup_id}an der mit{path}spezifizierten Position.PUT https://my.living-apps.de/rest/appgroups/{appgroup_id}/params/{path}Erzeugt oder ändert den mit
{path}spezifizierten Parameter der App-Gruppe mit der ID{appgroup_id}.DELETE https://my.living-apps.de/rest/appgroups/{appgroup_id}/params/{path}Löscht den mit
{path}spezifizierten Parameter der App-Gruppe mit der ID{appgroup_id}.
App-Gruppen-Anhänge
GET https://my.living-apps.de/rest/appgroups/{appgroup_id}/attachmentsGibt die Anhänge der App-Gruppe mit der ID
{appgroup_id}zurück.POST https://my.living-apps.de/rest/appgroups/{appgroup_id}/attachmentsErzeugt einen neuen Anhang für die App-Gruppe mit der ID
{appgroup_id}.GET https://my.living-apps.de/rest/appgroups/{appgroup_id}/attachments/{attachment_id}Gibt den Anhang mit der ID
{attachment_id}der App-Gruppe mit der ID{appgroup_id}zurück.PUT https://my.living-apps.de/rest/appgroups/{appgroup_id}/attachments/{attachment_id}Ändert den Anhang mit der ID
{attachment_id}der App-Gruppe mit der ID{appgroup_id}.PATCH https://my.living-apps.de/rest/appgroups/{appgroup_id}/attachments/{attachment_id}Ändert den Anhang mit der ID
{attachment_id}der App-Gruppe mit der ID{appgroup_id}teilweise.DELETE https://my.living-apps.de/rest/appgroups/{appgroup_id}/attachments/{attachment_id}Löscht den Anhang mit der ID
{attachment_id}der App-Gruppe mit der ID{appgroup_id}.
LivingApps
GET https://my.living-apps.de/rest/appsGibt Informationen über alle Ihre LivingApps zurück.
GET https://my.living-apps.de/rest/catalog/appsGibt Informationen über alle LivingApps im Katalog zurück.
POST https://my.living-apps.de/rest/appsErzeugt eine neue LivingApp.
GET https://my.living-apps.de/rest/apps/{app_id}Gibt Informationen über die LivingApp mit der ID
{app_id}zurück.PUT https://my.living-apps.de/rest/apps/{app_id}Ändert die LivingApp mit der ID
{app_id}.PATCH https://my.living-apps.de/rest/apps/{app_id}Ändert die LivingApp mit der ID
{app_id}teilweise.GET https://my.living-apps.de/rest/apps/{app_id}/schemaGibt das maschinenlesbare JSON-Schema der LivingApp mit der ID
{app_id}zurück.
Felder (Controls)
GET https://my.living-apps.de/rest/apps/{app_id}/controlsGibt die Felder (Controls) der LivingApp mit der ID
{app_id}zurück.GET https://my.living-apps.de/rest/apps/{app_id}/controls/{control_identifier}Gibt das Feld mit dem Identifizierer
{control_identifier}der LivingApp mit der ID{app_id}zurück.
App-Anhänge
GET https://my.living-apps.de/rest/apps/{app_id}/attachmentsGibt die Anhänge der LivingApp mit der ID
{app_id}zurück.POST https://my.living-apps.de/rest/apps/{app_id}/attachmentsErzeugt einen neuen Anhang für die LivingApp mit der ID
{app_id}.GET https://my.living-apps.de/rest/apps/{app_id}/attachments/{attachment_id}Gibt den Anhang mit der ID
{attachment_id}der LivingApp mit der ID{app_id}zurück.PUT https://my.living-apps.de/rest/apps/{app_id}/attachments/{attachment_id}Ändert den Anhang mit der ID
{attachment_id}der LivingApp mit der ID{app_id}.PATCH https://my.living-apps.de/rest/apps/{app_id}/attachments/{attachment_id}Ändert den Anhang mit der ID
{attachment_id}der LivingApp mit der ID{app_id}teilweise.DELETE https://my.living-apps.de/rest/apps/{app_id}/attachments/{attachment_id}Löscht den Anhang mit der ID
{attachment_id}der LivingApp mit der ID{app_id}.
App-Parameter
GET https://my.living-apps.de/rest/apps/{app_id}/paramsGibt die Parameter der LivingApp mit der ID
{app_id}zurück.GET https://my.living-apps.de/rest/apps/{app_id}/params/{path}Gibt den Parameter der LivingApp mit der ID
{app_id}zurück, der mit{path}spezifiziert wurde.POST https://my.living-apps.de/rest/apps/{app_id}/params/{path}Erzeugt ein Element innerhalb eines Listen-Parameters in der LivingApp mit der ID
{app_id}an der mit{path}spezifizierten Position.PUT https://my.living-apps.de/rest/apps/{app_id}/params/{path}Erzeugt oder ändert den Parameter in der LivingApp mit der ID
{app_id}der mit{path}spezifiziert wurde.DELETE https://my.living-apps.de/rest/apps/{app_id}/params/{path}Löscht einen Parameters in der LivingApp mit der ID
{app_id}der mit{path}spezifiziert wurde.
Datensätze
GET https://my.living-apps.de/rest/apps/{app_id}/recordsGibt Informationen über die Datensätze der LivingApp mit der ID
{app_id}zurück.GET https://my.living-apps.de/rest/apps/{app_id}/records/{record_id}Gibt Informationen über den Datensatz mit der ID
{record_id}in der LivingApp mit der ID{app_id}zurück.POST https://my.living-apps.de/rest/apps/{app_id}/recordsLegt in der LivingApp mit der ID
{app_id}einen neuen Datensatz an.PUT https://my.living-apps.de/rest/apps/{app_id}/records/{record_id}Ändert den Datensatz mit der ID
{record_id}in der LivingApp mit der ID{app_id}. Nicht übergebene Feldwerte werden auf „leer“ gesetzt.PATCH https://my.living-apps.de/rest/apps/{app_id}/records/{record_id}Ändert den Datensatz mit der ID
{record_id}in der LivingApp mit der ID{app_id}. Nicht übergebene Feldwerte werden nicht geändert.DELETE https://my.living-apps.de/rest/apps/{app_id}/records/{record_id}Löscht den Datensatz mit der ID
{record_id}in der LivingApp mit der ID{app_id}.GET https://my.living-apps.de/rest/apps/{app_id}/aggregate_recordsAggregiert Werte von Datensätzen in der LivingApp mit der ID
{app_id}.
Datensatz-Anhänge
GET https://my.living-apps.de/rest/apps/{app_id}/records/{record_id}/attachmentsGibt die Anhänge des Datensatzes mit der ID
{record_id}in der LivingApp mit der ID{app_id}zurück.POST https://my.living-apps.de/rest/apps/{app_id}/records/{record_id}/attachmentsErzeugt einen neuen Anhang für den Datensatz mit der ID
{record_id}in der LivingApp mit der ID{app_id}.GET https://my.living-apps.de/rest/apps/{app_id}/records/{record_id}/attachments/{attachment_id}Gibt den Anhang mit der ID
{attachment_id}des Datensatzes mit der ID{record_id}zurück.PUT https://my.living-apps.de/rest/apps/{app_id}/records/{record_id}/attachments/{attachment_id}Ändert den Anhang mit der ID
{attachment_id}des Datensatzes mit der ID{record_id}.PATCH https://my.living-apps.de/rest/apps/{app_id}/records/{record_id}/attachments/{attachment_id}Ändert den Anhang mit der ID
{attachment_id}des Datensatzes mit der ID{record_id}teilweise.DELETE https://my.living-apps.de/rest/apps/{app_id}/records/{record_id}/attachments/{attachment_id}Löscht den Anhang mit der ID
{attachment_id}des Datensatzes mit der ID{record_id}.
Dateien
POST https://my.living-apps.de/rest/filesErzeugt einen temporären Upload-Datensatz auf den in einem der folgenden Requests mit der zurückgegebenen
urlverwiesen werden kann.
Länder
GET https://my.living-apps.de/rest/countriesGibt Informationen über alle konfigurierten Länder zurück.
GET https://my.living-apps.de/rest/countries/{isocode}Gibt Informationen über das Land mit dem ISO-Code
{isocode}zurück.
Benutzer
GET https://my.living-apps.de/rest/users/{user_id}Gibt Informationen über den Benutzer mit der ID
{user_id}zurück.GET https://my.living-apps.de/rest/userGibt Informationen über den angemeldeten Benutzer zurück.
PATCH https://my.living-apps.de/rest/userÄndert die Eigenschaften des angemeldeten Benutzers.
GET https://my.living-apps.de/rest/user/menusGibt die Menüs des angemeldeten Benutzers zurück.
PUT https://my.living-apps.de/rest/user/menusErsetzt die Menüs des angemeldeten Benutzers.
E-Mail-Templates
GET https://my.living-apps.de/rest/apps/{app_id}/emailtemplatesGibt die E-Mail-Templates der LivingApp mit der ID
{app_id}zurück.GET https://my.living-apps.de/rest/apps/{app_id}/emailtemplates/{template_identifier}Gibt das E-Mail-Template mit dem Identifizierer
{template_identifier}der LivingApp mit der ID{app_id}zurück.POST https://my.living-apps.de/rest/apps/{app_id}/emailtemplatesLegt in der LivingApp mit der ID
{app_id}ein neues E-Mail-Template an.PUT https://my.living-apps.de/rest/apps/{app_id}/emailtemplates/{template_identifier}Ändert das E-Mail-Template mit dem Identifizierer
{template_identifier}in der LivingApp mit der ID{app_id}.PATCH https://my.living-apps.de/rest/apps/{app_id}/emailtemplates/{template_identifier}Ändert das E-Mail-Template mit dem Identifizierer
{template_identifier}in der LivingApp mit der ID{app_id}teilweise.DELETE https://my.living-apps.de/rest/apps/{app_id}/emailtemplates/{template_identifier}Löscht das E-Mail-Template mit dem Identifizierer
{template_identifier}in der LivingApp mit der ID{app_id}.
Interne Templates
GET https://my.living-apps.de/rest/apps/{app_id}/internaltemplatesGibt die internen Templates der LivingApp mit der ID
{app_id}zurück.GET https://my.living-apps.de/rest/apps/{app_id}/internaltemplates/{internal_template_key}Gibt das interne Template mit dem Identifizierer
{internal_template_key}der LivingApp mit der ID{app_id}zurück.PUT https://my.living-apps.de/rest/apps/{app_id}/internaltemplates/{internal_template_key}Erzeugt oder ändert ein internes Template mit dem Identifizierer
{internal_template_key}in der LivingApp mit der ID{app_id}.DELETE https://my.living-apps.de/rest/apps/{app_id}/internaltemplates/{internal_template_key}Löscht das interne Template mit dem Identifizierer
{internal_template_key}in der LivingApp mit der ID{app_id}.
Anzeige-Templates
GET https://my.living-apps.de/rest/apps/{app_id}/viewtemplatesGibt die Anzeige-Templates der LivingApp mit der ID
{app_id}zurück.GET https://my.living-apps.de/rest/apps/{app_id}/viewtemplates/{template_identifier}Gibt das Anzeige-Template mit dem Identifizierer
{template_identifier}der LivingApp mit der ID{app_id}zurück.PUT https://my.living-apps.de/rest/apps/{app_id}/viewtemplates/{template_identifier}Erzeugt oder ändert in der LivingApp mit der ID
{app_id}ein Anzeige-Template mit dem Identifizierer{template_identifier}.DELETE https://my.living-apps.de/rest/apps/{app_id}/viewtemplates/{template_identifier}Löscht das Anzeige-Template mit dem Identifizierer
{template_identifier}in der LivingApp mit der ID{app_id}.
Views
GET https://my.living-apps.de/rest/apps/{app_id}/viewsGibt die Views der LivingApp mit der ID
{app_id}zurück.GET https://my.living-apps.de/rest/apps/{app_id}/views/{view_id}Gibt die View mit der ID
{view_id}der LivingApp mit der ID{app_id}zurück.GET https://my.living-apps.de/rest/apps/{app_id}/views/{view_id}/controls/{control_identifier}Gibt die View-spezifischen Informationen des Feldes
{control_identifier}in der View{view_id}der LivingApp mit der ID{app_id}zurück.PUT https://my.living-apps.de/rest/apps/{app_id}/views/{view_id}/controls/{control_identifier}Ersetzt die View-spezifischen Informationen des Feldes
{control_identifier}in der View{view_id}der LivingApp mit der ID{app_id}.PATCH https://my.living-apps.de/rest/apps/{app_id}/views/{view_id}/controls/{control_identifier}Ändert die View-spezifischen Informationen des Feldes
{control_identifier}in der View{view_id}der LivingApp mit der ID{app_id}teilweise.
Datenmanagement-Ansichten
GET https://my.living-apps.de/rest/apps/{app_id}/datamanageviewsGibt die Datenmanagement-Ansichten der LivingApp mit der ID
{app_id}zurück.GET https://my.living-apps.de/rest/apps/{app_id}/datamanageviews/{datamanageview_identifier}Gibt die Datenmanagement-Ansicht mit dem Identifizierer
{datamanageview_identifier}der LivingApp mit der ID{app_id}zurück.
Template-Library: Templates
GET https://my.living-apps.de/rest/librarytemplatesGibt alle Templates der Template-Library zurück.
GET https://my.living-apps.de/rest/librarytemplates/{library_template_key}Gibt das Template der Template-Library mit dem Identifizierer
{library_template_key}zurück.PUT https://my.living-apps.de/rest/librarytemplates/{library_template_key}Erzeugt oder ändert ein Template in der Template-Library mit dem Identifizierer
{library_template_key}.DELETE https://my.living-apps.de/rest/librarytemplates/{library_template_key}Löscht ein Template in der Template-Library mit dem Identifizierer
{library_template_key}.
Template-Library: Parameter
GET https://my.living-apps.de/rest/libraryparametersGibt alle Parameter der Template-Library zurück.
PUT https://my.living-apps.de/rest/libraryparameters/{library_parameter_identifier}Erzeugt oder ändert einen Parameter in der Template-Library mit dem Identifizierer
{library_parameter_identifier}.DELETE https://my.living-apps.de/rest/libraryparameters/{library_parameter_identifier}Löscht einen Parameter in der Template-Library mit dem Identifizierer
{library_parameter_identifier}.
Unter https://my.living-apps.de/rest/docs finden Sie eine Liste dieser
verfügbaren Endpoints und eine Erklärung der unterstützen Parameter.
Fehlermeldungen
Folgende Fehlermeldungen können bei der Verwendung des REST-Services auftreten:
- „LA-Login-Token“ ungültig (
la-login-token-invalid) - „Basic“-Autorisierung ungültig (
basic-auth-invalid) - Autorisierung fehlt (
authorization-missing) - Autorisierung ungültig (
authorization-invalid) - App-Gruppe nicht gefunden (
app-group-not-found) - LivingApp unbekannt (
unknown-app) - LivingApp nicht gefunden (
app-not-found) - Keine Zugriffrechte auf LivingApp (
no-app-permission) - Keine Rechte zum Erzeugen einer LivingApp (
no-permission-app-creation) - App-Parameter nicht gefunden (
app-parameter-not-found) - Datensatz nicht gefunden (
record-not-found) - Datensatz nicht lesbar (
record-not-readable) - Datensatz nicht änderbar (
record-not-writeable) - Anhang nicht gefunden (
attachment-not-found) - Control nicht gefunden (
control-not-found) - Formularvariante nicht gefunden (
view-not-found) - Formularvarianten-Feld nicht gefunden (
view-control-not-found) - Anzeige-Template nicht gefunden (
view-template-not-found) - Datenmanagement-Ansicht nicht gefunden (
data-manage-view-not-found) - Internes Template nicht gefunden (
internal-template-not-found) - E-Mail-Template nicht gefunden (
email-template-not-found) - Benutzer nicht gefunden (
user-not-found) - Land nicht gefunden (
country-not-found) - Ungültiger Feld-Wert (
illegal-field-value) - Ungültiger Ziel-Applikation (
invalid-target-app) - Ungültiger vSQL-Ausdruck (
invalid-vsql-expression) - Request-Parameter ungültig (
request-validation-failed) - Ungültiges UL4-Template (
invalid-ul4-template)
Interne Fehlermeldungen
Die folgenden Fehlermeldungen sind interne Fehler, die bei der normalen Verwendung des REST-Services nicht auftreten können (aber hier trotzdem der Vollständigheit halber aufgeführt werden).
Sollte einer dieser Fehler bei Ihnen auftreten, so wenden Sie sich bitte an LivingLogic.
- Unbekannter Benutzer (
unknown-user) - „LA-Login-Token“ fehlt (
la-login-token-missing) - Datensatz konnte nicht angelegt werden (
record-not-created) - Datensatz konnte nicht geändert werden (
record-not-updated) - Datensatz konnte nicht gelöscht werden (
record-not-deleted) - Menüeintrag nicht gefunden (
menu-item-not-found)