# API-Referenz Datenintegration (App-Kennung datenintegration) > 2 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/datenintegration/ ## Weitere Aktionen Eigene Aktionen der App, zum Beispiel Auswertungen, Versand, Zuordnungen oder Abläufe über mehrere Datensätze. #### datenintegration.import Importiert Zeilen (rows) in ein registriertes Datenobjekt, mit Dedup über identity-Felder. dryRun=true (Default) prüft nur. mode=insert (nur neu) oder upsert (anlegen/aktualisieren). Resource-IDs via list_resources. - Art: Anlegen, vor dem Ausführen ausdrücklich bestätigen lassen - Rechte: Datenintegration anlegen - Datenklassen: B (intern), C (vertraulich) - Datenschutz: Schreibt Fachdaten tenant-isoliert über die jeweilige Resource. Resource-eigene Datenklasse + Schreibsperre (z.B. Klasse D) gelten weiter. - Eingabe: - `resource` (string, Pflicht): Resource-ID, z.B. "bildung.thema" oder "crm.konto" - `rows` (object[], Pflicht): Daten-Zeilen als Objekte { feldKey: wert } gemäß den Feldern der Resource - `mode` (string): insert = nur Neuanlage (vorhandene überspringen) · upsert = anlegen oder aktualisieren. Werte: `insert`, `upsert` - `dryRun` (boolean): true (Default) = nur prüfen, nichts schreiben. false = wirklich importieren - Beispiel: `{"name":"datenintegration.import","input":{"resource":"","rows":[]}}` #### datenintegration.list_resources Listet alle importier-/exportierbaren Datenobjekte (Resource-ID, Felder, Datenklasse, importierbar?). Discovery vor dem Import. - Art: Lesen - Rechte: Datenintegration lesen - Datenklassen: A (öffentlich) - Eingabe: - `module` (string): Optionaler Filter auf einen Modul-Slug, z.B. "bildung" - Beispiel: `{"name":"datenintegration.list_resources","input":{}}`