Download OpenAPI specification:
HTTP-Schnittstelle des live-Servers.
Für Anbindungen ist nur der Bereich public freigegeben: Anmeldung per API-Key sowie Aufträge anlegen, lesen, auflisten und ändern. Dieser Teil ist stabil – er wird nur noch erweitert, nichts fällt weg und nichts ändert seine Bedeutung. Alle Endpunkte unter internal dienen der Web-App und den Werkzeugen und können sich ohne Ankündigung ändern.
content-type: application/json).code (z. B. policy.missing_right), category, status und message. Entscheiden Sie über code, nie über message. 401: Schlüssel fehlt oder ist ungültig. 403: Dem Konto fehlt das Recht.Jede Anfrage trägt den API-Key im Kopf: x-api-key: live_api_…. Den Key stellt ein Admin für ein Konto aus; er wird nur einmal angezeigt und handelt mit den Rechten dieses Kontos.
POST /api/dto/fsg3 mit order, subject und creditor. Der Ausführende wird über die PLZ des Schuldners zugeordnet. Die Antwort nennt assignmentId und das Aktenzeichen ref.
GET /api/dto/fsg3/{ref} – vollständig, mit Status, Datumswerten und Ergebnissen (results.<Leistung>.<Feld>).
GET /api/dto/fsg3 mit Filter (filter=status=pending), Suche (search=), Sortierung (sort=subjectDisplayName&dir=asc) und Seitengröße (limit=). Solange die Antwort nextCursor trägt, liefert dieselbe Anfrage plus cursor=<nextCursor> die Folgeseite.
PATCH /api/dto/fsg3/{ref} mit den zu ändernden Feldern: Nicht genannte Felder bleiben, null leert ein Feld, { "status": { "status": "cancelled" } } wechselt den Status. Löschen gibt es nicht; storniert wird per Statuswechsel.
Die Feldnamen sind englisch; die Zuordnung zu den Spalten des fsg3-Formats steht bei jedem Feld.
Zu jedem dieser Endpunkte zeigt diese Seite ein vollständiges Beispiel.
Die freigegebene, stabile Schnittstelle: Anmeldung per API-Key und Aufträge anlegen, lesen, auflisten und ändern. Sie wird nur noch erweitert.
Schritt 4 des Standardablaufs: Aufträge auflisten, jede Zeile in derselben Form wie beim Lesen.
Filter, Sortierung und Seiten lassen sich kombinieren. Die erste Seite liefert nextCursor; dieselbe Anfrage mit cursor=<nextCursor> liefert die Folgeseite, bis nextCursor fehlt.
Beispiel erste Seite: GET /api/dto/fsg3?filter=status%3Dto_confirm&sort=subjectDisplayName&limit=2 mit dem Kopf x-api-key.
| filter | string Example: filter=status=to_confirm Filter, wiederholbar: |
| search | string Freitextsuche (Name, Aktenzeichen, Adresse). |
| sort | string Example: sort=subjectDisplayName Sortierfeld, z. B. |
| dir | string Enum: "asc" "desc"
|
| limit | integer [ 1 .. 1000 ] Example: limit=2 Seitengröße (Vorgabe 100, höchstens 1000). |
| cursor | string
|
| offset | integer >= 0 Alternative zum Cursor: Position der Seite. |
| lifecycle | string
|
{- "filter": [
- "status=to_confirm"
], - "total": 3,
- "offset": 0,
- "limit": 2,
- "returned": 2,
- "nextCursor": "eyJrIjoiZXlKemIzSjBWbUZzZFdVaU9pSndaWFJ5WVNCaVpXbHpjR2xsYkNJc0ltRnpjMmxuYm0xbGJuUkpaQ0k2SWpObU5tUXlZekZsSW4wIiwibiI6Mn0",
- "rows": [
- {
- "id": "3f6d2c1e-7b4a-4c1e-9a53-2b8e0c4d7f10",
- "ref": "100036",
- "tenantId": "tenant-demo1",
- "moduleId": "module/fsg",
- "lifecycleState": "active",
- "clientId": "a403fc5a-0213-485a-95f1-091a5daf51f7",
- "clientRef": "IADB-4201",
- "clientDisplayName": "DEBICO AG",
- "partnerId": "b1c2d3e4-0000-4000-8000-000000000001",
- "partnerRef": "IADB-5001",
- "partnerDisplayName": "Anton Aus GmbH",
- "subjectDisplayName": "Petra Beispiel",
- "assignee": null,
- "status": {
- "status": "to_confirm",
- "statusLabel": "Zu bestätigen",
- "deliveryDate": 1790222260000
}, - "order": {
- "serviceIds": [
- "AD340"
], - "clientReference": "ERP-4711",
- "creditorReference": "GL-2026-0815",
- "claimDescription": "Adressermittlung",
- "principalClaim": 100,
- "totalClaim": 100,
- "bankAccountHolder": "DEBICO AG",
- "bankBic": "GENODEF1M04",
- "bankIban": "DE02120300000000202051"
}, - "subject": {
- "firstName": "Petra",
- "name1": "Beispiel",
- "street": "Musterweg 1",
- "postalCode": "33106",
- "city": "Paderborn"
}, - "creditor": {
- "name1": "Gläubiger GmbH",
- "street": "Gläubigerweg 1",
- "postalCode": "33613",
- "city": "Bielefeld"
}, - "results": { },
- "modified": 1790222267453
}, - {
- "id": "5b0e…",
- "ref": "100037",
- "tenantId": "tenant-demo1",
- "moduleId": "module/fsg",
- "lifecycleState": "active",
- "clientId": "a403fc5a-0213-485a-95f1-091a5daf51f7",
- "clientRef": "IADB-4201",
- "clientDisplayName": "DEBICO AG",
- "partnerId": "b1c2d3e4-0000-4000-8000-000000000001",
- "partnerRef": "IADB-5001",
- "partnerDisplayName": "Anton Aus GmbH",
- "subjectDisplayName": "Paul Beispiel",
- "assignee": null,
- "status": {
- "status": "to_confirm",
- "statusLabel": "Zu bestätigen",
- "deliveryDate": 1790222260000
}, - "order": {
- "serviceIds": [
- "AD340"
], - "clientReference": "ERP-4711",
- "creditorReference": "GL-2026-0815",
- "claimDescription": "Adressermittlung",
- "principalClaim": 100,
- "totalClaim": 100,
- "bankAccountHolder": "DEBICO AG",
- "bankBic": "GENODEF1M04",
- "bankIban": "DE02120300000000202051"
}, - "subject": {
- "firstName": "Petra",
- "name1": "Beispiel",
- "street": "Musterweg 1",
- "postalCode": "33106",
- "city": "Paderborn"
}, - "creditor": {
- "name1": "Gläubiger GmbH",
- "street": "Gläubigerweg 1",
- "postalCode": "33613",
- "city": "Bielefeld"
}, - "results": { },
- "modified": 1790222267453
}
]
}Schritt 2 des Standardablaufs: einen FSG-Auftrag anlegen. Der Ausführende wird wie beim Import über die PLZ des Schuldners zugeordnet. Die Antwort nennt das Aktenzeichen, unter dem der Auftrag gelesen und geändert wird.
| id | string Eigene Auftrags-ID (optional). Ein zweites Anlegen mit derselben ID wird abgewiesen. |
| tenantId | string Mandant; entfällt, wenn der Key genau einem Mandanten gehört. |
| clientId | string Einspeisender; entfällt, wenn der Key zu einem Einspeisenden gehört. |
required | object |
required | object |
object | |
object | |
| property name* additional property | any |
{- "id": "3f6d2c1e-7b4a-4c1e-9a53-2b8e0c4d7f10",
- "tenantId": "tenant-demo1",
- "clientId": "a403fc5a-0213-485a-95f1-091a5daf51f7",
- "order": {
- "clientReference": "ERP-4711",
- "creditorReference": "GL-2026-0815",
- "typeLabel": "std",
- "serviceIds": [
- "AD340"
], - "claimDescription": "Adressermittlung",
- "principalClaim": 100,
- "costs": 0,
- "interest": 0,
- "payments": 0,
- "totalClaim": 100,
- "dailyInterest": 0,
- "showVatToSubject": false,
- "bankAccountHolder": "DEBICO AG",
- "bankBic": "GENODEF1M04",
- "bankIban": "DE02120300000000202051"
}, - "subject": {
- "firstName": "Petra",
- "name1": "Beispiel",
- "street": "Musterweg 1",
- "postalCode": "33106",
- "city": "Paderborn"
}, - "creditor": {
- "name1": "Gläubiger GmbH",
- "street": "Gläubigerweg 1",
- "postalCode": "33613",
- "city": "Bielefeld"
}
}{- "assignmentId": "3f6d2c1e-7b4a-4c1e-9a53-2b8e0c4d7f10",
- "ref": "100036",
- "dataVersion": 1790222260000
}Schritt 3 des Standardablaufs: einen Auftrag vollständig lesen – Auftragsdaten, Schuldner, Gläubiger, Status mit Datumswerten und die Ergebnisse je Leistung. Es erscheint nur, was das Konto auch in der App sehen darf.
| ref required | string Example: 100036 Aktenzeichen des Auftrags; die Auftrags-ID geht ebenso. |
{- "assignment": {
- "id": "3f6d2c1e-7b4a-4c1e-9a53-2b8e0c4d7f10",
- "ref": "100036",
- "tenantId": "tenant-demo1",
- "moduleId": "module/fsg",
- "lifecycleState": "active",
- "clientId": "a403fc5a-0213-485a-95f1-091a5daf51f7",
- "clientRef": "IADB-4201",
- "clientDisplayName": "DEBICO AG",
- "partnerId": "b1c2d3e4-0000-4000-8000-000000000001",
- "partnerRef": "IADB-5001",
- "partnerDisplayName": "Anton Aus GmbH",
- "subjectDisplayName": "Petra Beispiel",
- "assignee": {
- "id": "account-toni",
- "displayName": "Anton Ausführender"
}, - "status": {
- "status": "processed",
- "statusLabel": "Bearbeitet",
- "deliveryDate": 1790222260000,
- "confirmationDate": 1790308660000,
- "processedDate": 1790913460000
}, - "order": {
- "serviceIds": [
- "AD340"
], - "clientReference": "ERP-4711",
- "creditorReference": "GL-2026-0815",
- "claimDescription": "Adressermittlung",
- "principalClaim": 100,
- "totalClaim": 100,
- "bankAccountHolder": "DEBICO AG",
- "bankBic": "GENODEF1M04",
- "bankIban": "DE02120300000000202051"
}, - "subject": {
- "firstName": "Petra",
- "name1": "Beispiel",
- "street": "Musterweg 1",
- "postalCode": "33106",
- "city": "Paderborn"
}, - "creditor": {
- "name1": "Gläubiger GmbH",
- "street": "Gläubigerweg 1",
- "postalCode": "33613",
- "city": "Bielefeld"
}, - "results": {
- "AD340": {
- "visit1Date": "2026-09-30",
- "metAtVisit1": true,
- "livingSituation": "Einfamilienhaus",
- "mailbox": "Name am Briefkasten",
- "idNumber": "L01X00T47"
}
}, - "modified": 1790913460000
}
}Schritt 5 des Standardablaufs: einen Auftrag ändern.
Nur die genannten Felder ändern sich, null leert ein Feld, status.status wechselt den Status – sofern das Konto das in der App darf. Der Aufruf gilt ganz oder gar nicht: ein unbekanntes, nicht änderbares oder nicht erlaubtes Feld weist ihn ab, bevor etwas geschrieben wird. Löschen gibt es nicht; storniert wird per Statuswechsel. Die Antwort ist der Auftrag nach der Änderung.
| ref required | string Example: 100036 Aktenzeichen des Auftrags; die Auftrags-ID geht ebenso. |
object | |
object | |
object | |
object | |
| property name* additional property | any |
{- "order": {
- "claimDescription": "Adressermittlung, dringend"
}
}{- "assignment": {
- "id": "3f6d2c1e-7b4a-4c1e-9a53-2b8e0c4d7f10",
- "ref": "100036",
- "tenantId": "tenant-demo1",
- "moduleId": "module/fsg",
- "lifecycleState": "active",
- "clientId": "a403fc5a-0213-485a-95f1-091a5daf51f7",
- "clientRef": "IADB-4201",
- "clientDisplayName": "DEBICO AG",
- "partnerId": "b1c2d3e4-0000-4000-8000-000000000001",
- "partnerRef": "IADB-5001",
- "partnerDisplayName": "Anton Aus GmbH",
- "subjectDisplayName": "Petra Beispiel",
- "assignee": null,
- "status": {
- "status": "to_confirm",
- "statusLabel": "Zu bestätigen",
- "deliveryDate": 1790222260000
}, - "order": {
- "serviceIds": [
- "AD340"
], - "clientReference": "ERP-4711",
- "creditorReference": "GL-2026-0815",
- "claimDescription": "Adressermittlung, dringend",
- "principalClaim": 100,
- "totalClaim": 100,
- "bankAccountHolder": "DEBICO AG",
- "bankBic": "GENODEF1M04",
- "bankIban": "DE02120300000000202051"
}, - "subject": {
- "firstName": "Petra",
- "name1": "Beispiel",
- "street": "Musterweg 1",
- "postalCode": "33106",
- "city": "Paderborn"
}, - "creditor": {
- "name1": "Gläubiger GmbH",
- "street": "Gläubigerweg 1",
- "postalCode": "33613",
- "city": "Bielefeld"
}, - "results": { },
- "modified": 1790222290000
}, - "dataVersion": 1790222290000
}