Download OpenAPI specification:
HTTP interface of the live server.
Only the public section is released for integrations: sign in with an API key and create, read, list and change assignments. This part is stable – it is only ever extended; nothing goes away and nothing changes its meaning. Everything under internal serves the web app and the tools and may change without notice.
content-type: application/json).code (e.g. policy.missing_right), category, status and message. Decide on code, never on message. 401: key missing or invalid. 403: the account lacks the right.Every request carries the API key in a header: x-api-key: live_api_…. An admin issues the key for an account; it is shown only once and acts with that account's rights.
POST /api/dto/fsg3 with order, subject and creditor. The executing partner is assigned by postal code. The answer names the assignmentId and the reference number ref.
GET /api/dto/fsg3/{ref} – complete, with status, dates and results (results.<service>.<field>).
GET /api/dto/fsg3 with a filter (filter=status=pending), search (search=), order (sort=subjectDisplayName&dir=asc) and page size (limit=). While the answer carries nextCursor, the same request plus cursor=<nextCursor> returns the next page.
PATCH /api/dto/fsg3/{ref} with the fields to change: fields not named stay, null clears a field, { "status": { "status": "cancelled" } } changes the status. There is no delete; cancelling is a status change.
The field names are English; each field names its column in the fsg3 format.
This page shows a complete example for each of these endpoints.
The released, stable interface: sign in with an API key and create, read, list and change assignments. It is only ever extended.
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
}