# API-Referenz Seminare (App-Kennung seminar) > 50 App-Tools. Aufruf immer mit `POST /api/app-tools`, Header `X-API-KEY`, Body `{"name": "", "input": {…}}`. Welche Tools ein Schlüssel nutzen darf, zeigt `GET /api/app-tools` der Instanz. Quelle: https://support.unitedsynergy.com/api/referenz/seminar/ ## Datenobjekte Die Standard-Aktionen je Datenobjekt: list (suchen und blättern), get (einen Datensatz lesen), create, update und delete. Nicht jedes Objekt bietet alle fünf an. ### Seminar-Katalog: `seminar.katalog.*` #### seminar.katalog.list Liste/Suche: Seminar-Katalog - Art: Lesen - Rechte: Seminar lesen - Datenklassen: B (intern) - Eingabe: - `search` (string): Freitextsuche - `filters` (object): Feld=Wert-Filter - `limit` (integer) - `offset` (integer) - `orderBy` (string) - Beispiel: `{"name":"seminar.katalog.list","input":{}}` #### seminar.katalog.get Detail: Seminar-Katalog - Art: Lesen - Rechte: Seminar lesen - Datenklassen: B (intern) - Eingabe: - `id` (string, Pflicht) - Beispiel: `{"name":"seminar.katalog.get","input":{"id":""}}` #### seminar.katalog.create Anlegen: Seminar-Katalog - Art: Anlegen, vor dem Ausführen ausdrücklich bestätigen lassen - Rechte: Seminar anlegen - Datenklassen: B (intern) - Eingabe: - `nummer` (string) - `titel` (string, Pflicht) - `programmId` (string) - `kategorieCode` (string) - `typCode` (string) - `inhalt` (string) - `ziel` (string) - `zielgruppe` (string) - `methodik` (string) - `voraussetzungen` (string) - `zusatznutzen` (string) - `ansprechpartnerPersonId` (string) - `seoTitle` (string) - `seoDescription` (string) - `seoKeywords` (string) - `targetPage` (string) - `linkDetail` (string) - `online` (boolean) - Beispiel: `{"name":"seminar.katalog.create","input":{"titel":""}}` #### seminar.katalog.update Ändern: Seminar-Katalog - Art: Ändern, vor dem Ausführen ausdrücklich bestätigen lassen - Rechte: Seminar ändern - Datenklassen: B (intern) - Eingabe: - `id` (string, Pflicht): ID des Datensatzes - `nummer` (string) - `titel` (string) - `programmId` (string) - `kategorieCode` (string) - `typCode` (string) - `inhalt` (string) - `ziel` (string) - `zielgruppe` (string) - `methodik` (string) - `voraussetzungen` (string) - `zusatznutzen` (string) - `ansprechpartnerPersonId` (string) - `seoTitle` (string) - `seoDescription` (string) - `seoKeywords` (string) - `targetPage` (string) - `linkDetail` (string) - `online` (boolean) - Beispiel: `{"name":"seminar.katalog.update","input":{"id":""}}` #### seminar.katalog.delete Löschen: Seminar-Katalog - Art: Löschen, vor dem Ausführen ausdrücklich bestätigen lassen - Rechte: Seminar löschen - Datenklassen: B (intern) - Eingabe: - `id` (string, Pflicht) - Beispiel: `{"name":"seminar.katalog.delete","input":{"id":""}}` ### Seminar-Programme: `seminar.programm.*` #### seminar.programm.list Liste/Suche: Seminar-Programme - Art: Lesen - Rechte: Seminar lesen - Datenklassen: C (vertraulich) - Eingabe: - `search` (string): Freitextsuche - `filters` (object): Feld=Wert-Filter - `limit` (integer) - `offset` (integer) - `orderBy` (string) - Beispiel: `{"name":"seminar.programm.list","input":{}}` #### seminar.programm.get Detail: Seminar-Programme - Art: Lesen - Rechte: Seminar lesen - Datenklassen: C (vertraulich) - Eingabe: - `id` (string, Pflicht) - Beispiel: `{"name":"seminar.programm.get","input":{"id":""}}` #### seminar.programm.create Anlegen: Seminar-Programme - Art: Anlegen, vor dem Ausführen ausdrücklich bestätigen lassen - Rechte: Seminar anlegen - Datenklassen: C (vertraulich) - Eingabe: - `bezeichnung` (string, Pflicht) - `code` (string) - `online` (boolean) - `seoTitle` (string) - Beispiel: `{"name":"seminar.programm.create","input":{"bezeichnung":""}}` #### seminar.programm.update Ändern: Seminar-Programme - Art: Ändern, vor dem Ausführen ausdrücklich bestätigen lassen - Rechte: Seminar ändern - Datenklassen: C (vertraulich) - Eingabe: - `id` (string, Pflicht): ID des Datensatzes - `bezeichnung` (string) - `code` (string) - `online` (boolean) - `seoTitle` (string) - Beispiel: `{"name":"seminar.programm.update","input":{"id":""}}` ### Seminar-Veranstaltungen: `seminar.veranstaltung.*` #### seminar.veranstaltung.list Liste/Suche: Seminar-Veranstaltungen - Art: Lesen - Rechte: Seminar lesen - Datenklassen: B (intern) - Eingabe: - `search` (string): Freitextsuche - `filters` (object): Feld=Wert-Filter - `limit` (integer) - `offset` (integer) - `orderBy` (string) - Beispiel: `{"name":"seminar.veranstaltung.list","input":{}}` #### seminar.veranstaltung.get Detail: Seminar-Veranstaltungen - Art: Lesen - Rechte: Seminar lesen - Datenklassen: B (intern) - Eingabe: - `id` (string, Pflicht) - Beispiel: `{"name":"seminar.veranstaltung.get","input":{"id":""}}` #### seminar.veranstaltung.create Anlegen: Seminar-Veranstaltungen - Art: Anlegen, vor dem Ausführen ausdrücklich bestätigen lassen - Rechte: Seminar anlegen - Datenklassen: B (intern) - Eingabe: - `katalogId` (string) - `nummer` (string) - `bezeichnung` (string) - `statusCode` (string) - `typCode` (string) - `von` (string) - `bis` (string) - `uhrzeitVon` (string) - `uhrzeitBis` (string) - `raumId` (string) - `raumText` (string) - `ort` (string) - `plz` (string) - `dozentPersonId` (string) - `maxTeilnehmer` (number) - `steuersatz` (number) - `bestaetigtFrist` (string) - `intervallCode` (string) - `katalogNummer` (string): Verweis auf Katalog.nummer, wird zu Seminar-ID aufgelöst (Katalog muss zuerst importiert sein) - Beispiel: `{"name":"seminar.veranstaltung.create","input":{}}` #### seminar.veranstaltung.update Ändern: Seminar-Veranstaltungen - Art: Ändern, vor dem Ausführen ausdrücklich bestätigen lassen - Rechte: Seminar ändern - Datenklassen: B (intern) - Eingabe: - `id` (string, Pflicht): ID des Datensatzes - `katalogId` (string) - `nummer` (string) - `bezeichnung` (string) - `statusCode` (string) - `typCode` (string) - `von` (string) - `bis` (string) - `uhrzeitVon` (string) - `uhrzeitBis` (string) - `raumId` (string) - `raumText` (string) - `ort` (string) - `plz` (string) - `dozentPersonId` (string) - `maxTeilnehmer` (number) - `steuersatz` (number) - `bestaetigtFrist` (string) - `intervallCode` (string) - `katalogNummer` (string): Verweis auf Katalog.nummer, wird zu Seminar-ID aufgelöst (Katalog muss zuerst importiert sein) - Beispiel: `{"name":"seminar.veranstaltung.update","input":{"id":""}}` #### seminar.veranstaltung.delete Löschen: Seminar-Veranstaltungen - Art: Löschen, vor dem Ausführen ausdrücklich bestätigen lassen - Rechte: Seminar löschen - Datenklassen: B (intern) - Eingabe: - `id` (string, Pflicht) - Beispiel: `{"name":"seminar.veranstaltung.delete","input":{"id":""}}` ## Wertelisten Auswahllisten der App wie Status, Arten oder Kategorien. Du pflegst sie mit denselben fünf Aktionen. Die Werte (code) nutzt du in den Feldern der Datenobjekte. ### Abschlussarten: `seminar.abschluss.*` #### seminar.abschluss.list Liste/Suche: Katalog „Abschlussarten" (seminar) - Art: Lesen - Rechte: Einstellungen verwalten - Datenklassen: B (intern) - Eingabe: - `onlyAktiv` (boolean): Nur aktive Einträge - Beispiel: `{"name":"seminar.abschluss.list","input":{}}` #### seminar.abschluss.get Detail: Katalog „Abschlussarten" (seminar) - Art: Lesen - Rechte: Einstellungen verwalten - Datenklassen: B (intern) - Eingabe: - `id` (string, Pflicht) - Beispiel: `{"name":"seminar.abschluss.get","input":{"id":""}}` #### seminar.abschluss.create Anlegen: Katalog „Abschlussarten" (seminar) - Art: Anlegen, vor dem Ausführen ausdrücklich bestätigen lassen - Rechte: Einstellungen verwalten - Datenklassen: B (intern) - Eingabe: - `label` (string, Pflicht): Anzeige-Text - `code` (string): Optional, sonst aus label abgeleitet. Immutable - `color` (string): Tailwind-Paar, z.B. "bg-blue-100 text-blue-700" - `icon` (string): Lucide-Icon-Name - `beschreibung` (string) - Beispiel: `{"name":"seminar.abschluss.create","input":{"label":"