Bank
/api/v1/bank-accountsAlle Bankkonten mit Saldo (Anfangssaldo + importierte Umsätze) und Schlusssaldo des letzten CAMT-Auszugs.
Berechtigung: banking:read
Query-Parameter
includeArchived"true" | "false"auch archivierte KontenlimitintegerAnzahl Einträge (1–100)1–100 · Standard: 25cursorstring`nextCursor` der vorherigen Seitemax. 500 Zeichen
Antwort 200
object"list"PflichtdataArray<BankAccountResource>PflichtidstringPflichtmax. 128 ZeichennamestringPflichtibanstringPflichtbicstring | nullPflichtbankNamestring | nullPflichtcurrency"EUR"PflichtopeningBalanceCentsintegerPflichtBetrag in Cent-100000000000–100000000000openingDatestring (date) | nullPflichtDatum (YYYY-MM-DD)balanceCentsintegerPflichtAnfangssaldo + Summe aller importierten Umsätze-100000000000–100000000000statementBalanceCentsinteger | nullPflichtSchlusssaldo laut letztem CAMT-Auszug-100000000000–100000000000statementBalanceDatestring (date) | nullPflichtDatum (YYYY-MM-DD)transactionCountintegerPflicht-9007199254740991–9007199254740991lastImportAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)lastBookingDatestring (date) | nullPflichtDatum (YYYY-MM-DD)connectionBankConnection | nullPflichtproviderstringPflichtAnbieter der Live-Anbindung (PSD2/FinTS), z. B. "finapi"status"pending" | "active" | "expired" | "error"PflichtconsentExpiresAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)lastSyncAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
archivedbooleanPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
hasMorebooleanPflichtnextCursorstring | nullPflicht
curl 'https://www.debt-flow.io/api/v1/bank-accounts' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"object": "list",
"data": [
{
"id": "string",
"name": "string",
"iban": "string",
"bic": "string",
"bankName": "string",
"currency": "EUR",
"openingBalanceCents": 0,
"openingDate": "2026-11-01",
"balanceCents": 0,
"statementBalanceCents": 0,
"statementBalanceDate": "2026-11-01",
"transactionCount": 0,
"lastImportAt": "2026-11-01T09:30:00.000Z",
"lastBookingDate": "2026-11-01",
"connection": {
"provider": null,
"status": null,
"consentExpiresAt": null,
"lastSyncAt": null
},
"archived": false,
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}
],
"hasMore": false,
"nextCursor": "string"
}/api/v1/bank-accountsLegt ein Bankkonto an (IBAN mit Prüfziffer). Je IBAN ist nur ein aktives Konto erlaubt.
Berechtigung: banking:write
Header
Idempotency-KeystringEindeutiger Schlüssel (8–255 Zeichen). Wiederholte Anfragen mit gleichem Schlüssel liefern 24 h lang dieselbe Antwort.max. 255 Zeichen
Body (JSON) · BankAccountCreate
namestringPflichtAnzeigename, z. B. "Geschäftskonto Sparkasse"max. 80 ZeichenibanstringPflichtbicstring | ""bankNamestringmax. 80 ZeichenopeningBalanceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0openingDatestring (date)Datum (YYYY-MM-DD)
Antwort 201 · BankAccountResource
idstringPflichtmax. 128 ZeichennamestringPflichtibanstringPflichtbicstring | nullPflichtbankNamestring | nullPflichtcurrency"EUR"PflichtopeningBalanceCentsintegerPflichtBetrag in Cent-100000000000–100000000000openingDatestring (date) | nullPflichtDatum (YYYY-MM-DD)balanceCentsintegerPflichtAnfangssaldo + Summe aller importierten Umsätze-100000000000–100000000000statementBalanceCentsinteger | nullPflichtSchlusssaldo laut letztem CAMT-Auszug-100000000000–100000000000statementBalanceDatestring (date) | nullPflichtDatum (YYYY-MM-DD)transactionCountintegerPflicht-9007199254740991–9007199254740991lastImportAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)lastBookingDatestring (date) | nullPflichtDatum (YYYY-MM-DD)connectionBankConnection | nullPflichtproviderstringPflichtAnbieter der Live-Anbindung (PSD2/FinTS), z. B. "finapi"status"pending" | "active" | "expired" | "error"PflichtconsentExpiresAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)lastSyncAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
archivedbooleanPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/bank-accounts' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"name": "string",
"iban": "string",
"bic": "string",
"bankName": "string",
"openingBalanceCents": 0,
"openingDate": "2026-11-01"
}'{
"id": "string",
"name": "string",
"iban": "string",
"bic": "string",
"bankName": "string",
"currency": "EUR",
"openingBalanceCents": 0,
"openingDate": "2026-11-01",
"balanceCents": 0,
"statementBalanceCents": 0,
"statementBalanceDate": "2026-11-01",
"transactionCount": 0,
"lastImportAt": "2026-11-01T09:30:00.000Z",
"lastBookingDate": "2026-11-01",
"connection": {
"provider": "string",
"status": "pending",
"consentExpiresAt": "2026-11-01T09:30:00.000Z",
"lastSyncAt": "2026-11-01T09:30:00.000Z"
},
"archived": false,
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/bank-accounts/{id}Berechtigung: banking:read
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Antwort 200 · BankAccountResource
idstringPflichtmax. 128 ZeichennamestringPflichtibanstringPflichtbicstring | nullPflichtbankNamestring | nullPflichtcurrency"EUR"PflichtopeningBalanceCentsintegerPflichtBetrag in Cent-100000000000–100000000000openingDatestring (date) | nullPflichtDatum (YYYY-MM-DD)balanceCentsintegerPflichtAnfangssaldo + Summe aller importierten Umsätze-100000000000–100000000000statementBalanceCentsinteger | nullPflichtSchlusssaldo laut letztem CAMT-Auszug-100000000000–100000000000statementBalanceDatestring (date) | nullPflichtDatum (YYYY-MM-DD)transactionCountintegerPflicht-9007199254740991–9007199254740991lastImportAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)lastBookingDatestring (date) | nullPflichtDatum (YYYY-MM-DD)connectionBankConnection | nullPflichtproviderstringPflichtAnbieter der Live-Anbindung (PSD2/FinTS), z. B. "finapi"status"pending" | "active" | "expired" | "error"PflichtconsentExpiresAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)lastSyncAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
archivedbooleanPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl 'https://www.debt-flow.io/api/v1/bank-accounts/ID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"name": "string",
"iban": "string",
"bic": "string",
"bankName": "string",
"currency": "EUR",
"openingBalanceCents": 0,
"openingDate": "2026-11-01",
"balanceCents": 0,
"statementBalanceCents": 0,
"statementBalanceDate": "2026-11-01",
"transactionCount": 0,
"lastImportAt": "2026-11-01T09:30:00.000Z",
"lastBookingDate": "2026-11-01",
"connection": {
"provider": "string",
"status": "pending",
"consentExpiresAt": "2026-11-01T09:30:00.000Z",
"lastSyncAt": "2026-11-01T09:30:00.000Z"
},
"archived": false,
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/bank-accounts/{id}Name, BIC, Bank, Anfangssaldo oder Archivierung ändern. Die IBAN ist nicht änderbar.
Berechtigung: banking:write
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Body (JSON) · BankAccountUpdate
namestringmax. 80 Zeichenbicstring | ""bankNamestringmax. 80 ZeichenopeningBalanceCentsintegerBetrag in Cent-100000000000–100000000000openingDatestring (date) | ""archivedboolean
Antwort 200 · BankAccountResource
idstringPflichtmax. 128 ZeichennamestringPflichtibanstringPflichtbicstring | nullPflichtbankNamestring | nullPflichtcurrency"EUR"PflichtopeningBalanceCentsintegerPflichtBetrag in Cent-100000000000–100000000000openingDatestring (date) | nullPflichtDatum (YYYY-MM-DD)balanceCentsintegerPflichtAnfangssaldo + Summe aller importierten Umsätze-100000000000–100000000000statementBalanceCentsinteger | nullPflichtSchlusssaldo laut letztem CAMT-Auszug-100000000000–100000000000statementBalanceDatestring (date) | nullPflichtDatum (YYYY-MM-DD)transactionCountintegerPflicht-9007199254740991–9007199254740991lastImportAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)lastBookingDatestring (date) | nullPflichtDatum (YYYY-MM-DD)connectionBankConnection | nullPflichtproviderstringPflichtAnbieter der Live-Anbindung (PSD2/FinTS), z. B. "finapi"status"pending" | "active" | "expired" | "error"PflichtconsentExpiresAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)lastSyncAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
archivedbooleanPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl -X PATCH 'https://www.debt-flow.io/api/v1/bank-accounts/ID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"name": "string",
"bic": "string",
"bankName": "string",
"openingBalanceCents": 0,
"openingDate": "2026-11-01",
"archived": false
}'{
"id": "string",
"name": "string",
"iban": "string",
"bic": "string",
"bankName": "string",
"currency": "EUR",
"openingBalanceCents": 0,
"openingDate": "2026-11-01",
"balanceCents": 0,
"statementBalanceCents": 0,
"statementBalanceDate": "2026-11-01",
"transactionCount": 0,
"lastImportAt": "2026-11-01T09:30:00.000Z",
"lastBookingDate": "2026-11-01",
"connection": {
"provider": "string",
"status": "pending",
"consentExpiresAt": "2026-11-01T09:30:00.000Z",
"lastSyncAt": "2026-11-01T09:30:00.000Z"
},
"archived": false,
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/bank-accounts/{id}Nur Konten ohne Umsätze. Konten mit Umsätzen werden archiviert (PATCH archived: true).
Berechtigung: banking:write
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Antwort 204
Erfolg, keine Antwort
curl -X DELETE 'https://www.debt-flow.io/api/v1/bank-accounts/ID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"/api/v1/bank-import-presetsMitgelieferte Spaltenzuordnungen gängiger Bank-Exporte. Wird beim Import automatisch erkannt oder per presetId gewählt.
Berechtigung: banking:read
Antwort 200
dataArray<BankImportPreset>PflichtidstringPflichtbankNamestringPflichtnotestring | nullPflichtmappingBankCsvMappingPflichtdelimiter";" | "," | "\t" | "|"PflichtTrennzeichenencoding"utf-8" | "windows-1252"PflichtZeichensatzdecimalSeparator"," | "."PflichtDezimaltrennzeichen der BeträgedateFormat"auto" | "DD.MM.YYYY" | "DD.MM.YY" | "YYYY-MM-DD" | "DD/MM/YYYY" | "MM/DD/YYYY"PflichtStandard: "auto"headerRowinteger | nullPflicht0–50columnsobjectPflicht
curl 'https://www.debt-flow.io/api/v1/bank-import-presets' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"data": [
{
"id": "string",
"bankName": "string",
"note": "string",
"mapping": {
"delimiter": ";",
"encoding": "utf-8",
"decimalSeparator": ",",
"dateFormat": "auto",
"headerRow": null,
"columns": {
"bookingDate": null,
"valueDate": null,
"amount": null,
"debit": null,
"credit": null,
"indicator": null,
"currency": null,
"counterpartyName": null,
"payerName": null,
"payeeName": null,
"counterpartyIban": null,
"counterpartyBic": null,
"purpose": null,
"bookingText": null,
"endToEndId": null,
"mandateId": null,
"creditorId": null,
"bankReference": null
}
}
}
]
}/api/v1/bank-import-profilesBerechtigung: banking:read
Query-Parameter
limitintegerAnzahl Einträge (1–100)1–100 · Standard: 25cursorstring`nextCursor` der vorherigen Seitemax. 500 Zeichen
Antwort 200
object"list"PflichtdataArray<BankImportProfile>PflichtidstringPflichtmax. 128 ZeichennamestringPflichtbankNamestring | nullPflichtmappingBankCsvMappingPflichtdelimiter";" | "," | "\t" | "|"PflichtTrennzeichenencoding"utf-8" | "windows-1252"PflichtZeichensatzdecimalSeparator"," | "."PflichtDezimaltrennzeichen der BeträgedateFormat"auto" | "DD.MM.YYYY" | "DD.MM.YY" | "YYYY-MM-DD" | "DD/MM/YYYY" | "MM/DD/YYYY"PflichtStandard: "auto"headerRowinteger | nullPflicht0–50columnsobjectPflicht
headerSignaturestringPflichtFingerabdruck der Kopfzeile; erkennt passende Dateien automatischlastUsedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)createdAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
hasMorebooleanPflichtnextCursorstring | nullPflicht
curl 'https://www.debt-flow.io/api/v1/bank-import-profiles' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"object": "list",
"data": [
{
"id": "string",
"name": "string",
"bankName": "string",
"mapping": {
"delimiter": ";",
"encoding": "utf-8",
"decimalSeparator": ",",
"dateFormat": "auto",
"headerRow": null,
"columns": {
"bookingDate": null,
"valueDate": null,
"amount": null,
"debit": null,
"credit": null,
"indicator": null,
"currency": null,
"counterpartyName": null,
"payerName": null,
"payeeName": null,
"counterpartyIban": null,
"counterpartyBic": null,
"purpose": null,
"bookingText": null,
"endToEndId": null,
"mandateId": null,
"creditorId": null,
"bankReference": null
}
},
"headerSignature": "string",
"lastUsedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}
],
"hasMore": false,
"nextCursor": "string"
}/api/v1/bank-import-profilesSpeichert eine Spaltenzuordnung. Dateien mit derselben Kopfzeile werden künftig automatisch damit gelesen.
Berechtigung: banking:write
Header
Idempotency-KeystringEindeutiger Schlüssel (8–255 Zeichen). Wiederholte Anfragen mit gleichem Schlüssel liefern 24 h lang dieselbe Antwort.max. 255 Zeichen
Body (JSON) · BankImportProfileCreate
namestringPflichtmax. 80 ZeichenbankNamestringmax. 80 ZeichenmappingBankCsvMappingPflichtdelimiter";" | "," | "\t" | "|"PflichtTrennzeichenencoding"utf-8" | "windows-1252"PflichtZeichensatzdecimalSeparator"," | "."PflichtDezimaltrennzeichen der BeträgedateFormat"auto" | "DD.MM.YYYY" | "DD.MM.YY" | "YYYY-MM-DD" | "DD/MM/YYYY" | "MM/DD/YYYY"PflichtStandard: "auto"headerRowinteger | nullPflicht0–50columnsobjectPflichtbookingDatestringPflichtmax. 120 ZeichenvalueDatestringmax. 120 Zeichenamountstringmax. 120 Zeichendebitstringmax. 120 Zeichencreditstringmax. 120 Zeichenindicatorstringmax. 120 Zeichencurrencystringmax. 120 ZeichencounterpartyNamestringmax. 120 ZeichenpayerNamestringmax. 120 ZeichenpayeeNamestringmax. 120 ZeichencounterpartyIbanstringmax. 120 ZeichencounterpartyBicstringmax. 120 ZeichenpurposeArray<string>Pflichtmax. 120 ZeichenbookingTextstringmax. 120 ZeichenendToEndIdstringmax. 120 ZeichenmandateIdstringmax. 120 ZeichencreditorIdstringmax. 120 ZeichenbankReferencestringmax. 120 Zeichen
headersArray<string>PflichtKopfzeile der Beispieldatei (für die automatische Erkennung)max. 200 Zeichen
Antwort 201 · BankImportProfile
idstringPflichtmax. 128 ZeichennamestringPflichtbankNamestring | nullPflichtmappingBankCsvMappingPflichtdelimiter";" | "," | "\t" | "|"PflichtTrennzeichenencoding"utf-8" | "windows-1252"PflichtZeichensatzdecimalSeparator"," | "."PflichtDezimaltrennzeichen der BeträgedateFormat"auto" | "DD.MM.YYYY" | "DD.MM.YY" | "YYYY-MM-DD" | "DD/MM/YYYY" | "MM/DD/YYYY"PflichtStandard: "auto"headerRowinteger | nullPflicht0–50columnsobjectPflichtbookingDatestringPflichtmax. 120 ZeichenvalueDatestringmax. 120 Zeichenamountstringmax. 120 Zeichendebitstringmax. 120 Zeichencreditstringmax. 120 Zeichenindicatorstringmax. 120 Zeichencurrencystringmax. 120 ZeichencounterpartyNamestringmax. 120 ZeichenpayerNamestringmax. 120 ZeichenpayeeNamestringmax. 120 ZeichencounterpartyIbanstringmax. 120 ZeichencounterpartyBicstringmax. 120 ZeichenpurposeArray<string>Pflichtmax. 120 ZeichenbookingTextstringmax. 120 ZeichenendToEndIdstringmax. 120 ZeichenmandateIdstringmax. 120 ZeichencreditorIdstringmax. 120 ZeichenbankReferencestringmax. 120 Zeichen
headerSignaturestringPflichtFingerabdruck der Kopfzeile; erkennt passende Dateien automatischlastUsedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)createdAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/bank-import-profiles' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"name": "string",
"bankName": "string",
"mapping": {
"delimiter": ";",
"encoding": "utf-8",
"decimalSeparator": ",",
"dateFormat": "auto",
"headerRow": null,
"columns": {
"bookingDate": "string",
"valueDate": "string",
"amount": "string",
"debit": "string",
"credit": "string",
"indicator": "string",
"currency": "string",
"counterpartyName": "string",
"payerName": "string",
"payeeName": "string",
"counterpartyIban": "string",
"counterpartyBic": "string",
"purpose": [],
"bookingText": "string",
"endToEndId": "string",
"mandateId": "string",
"creditorId": "string",
"bankReference": "string"
}
},
"headers": [
"string"
]
}'{
"id": "string",
"name": "string",
"bankName": "string",
"mapping": {
"delimiter": ";",
"encoding": "utf-8",
"decimalSeparator": ",",
"dateFormat": "auto",
"headerRow": null,
"columns": {
"bookingDate": "string",
"valueDate": "string",
"amount": "string",
"debit": "string",
"credit": "string",
"indicator": "string",
"currency": "string",
"counterpartyName": "string",
"payerName": "string",
"payeeName": "string",
"counterpartyIban": "string",
"counterpartyBic": "string",
"purpose": [],
"bookingText": "string",
"endToEndId": "string",
"mandateId": "string",
"creditorId": "string",
"bankReference": "string"
}
},
"headerSignature": "string",
"lastUsedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/bank-import-profiles/{id}Berechtigung: banking:read
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Antwort 200 · BankImportProfile
idstringPflichtmax. 128 ZeichennamestringPflichtbankNamestring | nullPflichtmappingBankCsvMappingPflichtdelimiter";" | "," | "\t" | "|"PflichtTrennzeichenencoding"utf-8" | "windows-1252"PflichtZeichensatzdecimalSeparator"," | "."PflichtDezimaltrennzeichen der BeträgedateFormat"auto" | "DD.MM.YYYY" | "DD.MM.YY" | "YYYY-MM-DD" | "DD/MM/YYYY" | "MM/DD/YYYY"PflichtStandard: "auto"headerRowinteger | nullPflicht0–50columnsobjectPflichtbookingDatestringPflichtmax. 120 ZeichenvalueDatestringmax. 120 Zeichenamountstringmax. 120 Zeichendebitstringmax. 120 Zeichencreditstringmax. 120 Zeichenindicatorstringmax. 120 Zeichencurrencystringmax. 120 ZeichencounterpartyNamestringmax. 120 ZeichenpayerNamestringmax. 120 ZeichenpayeeNamestringmax. 120 ZeichencounterpartyIbanstringmax. 120 ZeichencounterpartyBicstringmax. 120 ZeichenpurposeArray<string>Pflichtmax. 120 ZeichenbookingTextstringmax. 120 ZeichenendToEndIdstringmax. 120 ZeichenmandateIdstringmax. 120 ZeichencreditorIdstringmax. 120 ZeichenbankReferencestringmax. 120 Zeichen
headerSignaturestringPflichtFingerabdruck der Kopfzeile; erkennt passende Dateien automatischlastUsedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)createdAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl 'https://www.debt-flow.io/api/v1/bank-import-profiles/ID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"name": "string",
"bankName": "string",
"mapping": {
"delimiter": ";",
"encoding": "utf-8",
"decimalSeparator": ",",
"dateFormat": "auto",
"headerRow": null,
"columns": {
"bookingDate": "string",
"valueDate": "string",
"amount": "string",
"debit": "string",
"credit": "string",
"indicator": "string",
"currency": "string",
"counterpartyName": "string",
"payerName": "string",
"payeeName": "string",
"counterpartyIban": "string",
"counterpartyBic": "string",
"purpose": [],
"bookingText": "string",
"endToEndId": "string",
"mandateId": "string",
"creditorId": "string",
"bankReference": "string"
}
},
"headerSignature": "string",
"lastUsedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/bank-import-profiles/{id}Berechtigung: banking:write
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Body (JSON) · BankImportProfileUpdate
namestringmax. 80 ZeichenbankNamestringmax. 80 ZeichenmappingBankCsvMappingdelimiter";" | "," | "\t" | "|"PflichtTrennzeichenencoding"utf-8" | "windows-1252"PflichtZeichensatzdecimalSeparator"," | "."PflichtDezimaltrennzeichen der BeträgedateFormat"auto" | "DD.MM.YYYY" | "DD.MM.YY" | "YYYY-MM-DD" | "DD/MM/YYYY" | "MM/DD/YYYY"PflichtStandard: "auto"headerRowinteger | nullPflicht0–50columnsobjectPflichtbookingDatestringPflichtmax. 120 ZeichenvalueDatestringmax. 120 Zeichenamountstringmax. 120 Zeichendebitstringmax. 120 Zeichencreditstringmax. 120 Zeichenindicatorstringmax. 120 Zeichencurrencystringmax. 120 ZeichencounterpartyNamestringmax. 120 ZeichenpayerNamestringmax. 120 ZeichenpayeeNamestringmax. 120 ZeichencounterpartyIbanstringmax. 120 ZeichencounterpartyBicstringmax. 120 ZeichenpurposeArray<string>Pflichtmax. 120 ZeichenbookingTextstringmax. 120 ZeichenendToEndIdstringmax. 120 ZeichenmandateIdstringmax. 120 ZeichencreditorIdstringmax. 120 ZeichenbankReferencestringmax. 120 Zeichen
Antwort 200 · BankImportProfile
idstringPflichtmax. 128 ZeichennamestringPflichtbankNamestring | nullPflichtmappingBankCsvMappingPflichtdelimiter";" | "," | "\t" | "|"PflichtTrennzeichenencoding"utf-8" | "windows-1252"PflichtZeichensatzdecimalSeparator"," | "."PflichtDezimaltrennzeichen der BeträgedateFormat"auto" | "DD.MM.YYYY" | "DD.MM.YY" | "YYYY-MM-DD" | "DD/MM/YYYY" | "MM/DD/YYYY"PflichtStandard: "auto"headerRowinteger | nullPflicht0–50columnsobjectPflichtbookingDatestringPflichtmax. 120 ZeichenvalueDatestringmax. 120 Zeichenamountstringmax. 120 Zeichendebitstringmax. 120 Zeichencreditstringmax. 120 Zeichenindicatorstringmax. 120 Zeichencurrencystringmax. 120 ZeichencounterpartyNamestringmax. 120 ZeichenpayerNamestringmax. 120 ZeichenpayeeNamestringmax. 120 ZeichencounterpartyIbanstringmax. 120 ZeichencounterpartyBicstringmax. 120 ZeichenpurposeArray<string>Pflichtmax. 120 ZeichenbookingTextstringmax. 120 ZeichenendToEndIdstringmax. 120 ZeichenmandateIdstringmax. 120 ZeichencreditorIdstringmax. 120 ZeichenbankReferencestringmax. 120 Zeichen
headerSignaturestringPflichtFingerabdruck der Kopfzeile; erkennt passende Dateien automatischlastUsedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)createdAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl -X PATCH 'https://www.debt-flow.io/api/v1/bank-import-profiles/ID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"name": "string",
"bankName": "string",
"mapping": {
"delimiter": ";",
"encoding": "utf-8",
"decimalSeparator": ",",
"dateFormat": "auto",
"headerRow": null,
"columns": {
"bookingDate": "string",
"valueDate": "string",
"amount": "string",
"debit": "string",
"credit": "string",
"indicator": "string",
"currency": "string",
"counterpartyName": "string",
"payerName": "string",
"payeeName": "string",
"counterpartyIban": "string",
"counterpartyBic": "string",
"purpose": [],
"bookingText": "string",
"endToEndId": "string",
"mandateId": "string",
"creditorId": "string",
"bankReference": "string"
}
}
}'{
"id": "string",
"name": "string",
"bankName": "string",
"mapping": {
"delimiter": ";",
"encoding": "utf-8",
"decimalSeparator": ",",
"dateFormat": "auto",
"headerRow": null,
"columns": {
"bookingDate": "string",
"valueDate": "string",
"amount": "string",
"debit": "string",
"credit": "string",
"indicator": "string",
"currency": "string",
"counterpartyName": "string",
"payerName": "string",
"payeeName": "string",
"counterpartyIban": "string",
"counterpartyBic": "string",
"purpose": [],
"bookingText": "string",
"endToEndId": "string",
"mandateId": "string",
"creditorId": "string",
"bankReference": "string"
}
},
"headerSignature": "string",
"lastUsedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/bank-import-profiles/{id}/api/v1/bank-importsBerechtigung: banking:read
Query-Parameter
bankAccountIdstringmax. 128 ZeichenlimitintegerAnzahl Einträge (1–100)1–100 · Standard: 25cursorstring`nextCursor` der vorherigen Seitemax. 500 Zeichen
Antwort 200
object"list"PflichtdataArray<BankImport>PflichtidstringPflichtmax. 128 ZeichenbankAccountIdstringPflichtmax. 128 Zeichenformat"csv" | "camt053" | "camt052" | "camt054"PflichtfileNamestring | nullPflichtprofileIdstring | nullPflichtpresetIdstring | nullPflichtstatus"completed" | "reverted"PflichtcountsobjectPflichtrowsintegerPflichtgelesene Buchungen-9007199254740991–9007199254740991importedintegerPflichtneu übernommen-9007199254740991–9007199254740991duplicatesintegerPflichtbereits vorhanden (übersprungen)-9007199254740991–9007199254740991skippedintegerPflichtnicht übernommen (vorgemerkt, leer, fehlerhaft)-9007199254740991–9007199254740991suggestedintegerPflichtneue Umsätze mit Zuordnungsvorschlag-9007199254740991–9007199254740991
periodFromstring (date) | nullPflichtDatum (YYYY-MM-DD)periodTostring (date) | nullPflichtDatum (YYYY-MM-DD)sumCentsintegerPflichtSumme der neu übernommenen Umsätze-100000000000–100000000000errorsArray<object>Pflichtrowinteger | nullPflicht-9007199254740991–9007199254740991messagestringPflicht
warningsArray<string>PflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
hasMorebooleanPflichtnextCursorstring | nullPflicht
curl 'https://www.debt-flow.io/api/v1/bank-imports' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"object": "list",
"data": [
{
"id": "string",
"bankAccountId": "string",
"format": "csv",
"fileName": "string",
"profileId": "string",
"presetId": "string",
"status": "completed",
"counts": {
"rows": 0,
"imported": 0,
"duplicates": 0,
"skipped": 0,
"suggested": 0
},
"periodFrom": "2026-11-01",
"periodTo": "2026-11-01",
"sumCents": 0,
"errors": [
{
"row": null,
"message": "string"
}
],
"warnings": [
"string"
],
"createdAt": "2026-11-01T09:30:00.000Z"
}
],
"hasMore": false,
"nextCursor": "string"
}/api/v1/bank-importsLädt eine CSV-Datei (Sparkasse, Volksbank, Deutsche Bank, ING, Commerzbank, N26, DKB, Postbank, Holvi, Kontist, Qonto oder beliebige Bank mit Spaltenzuordnung) oder eine CAMT-Datei (camt.053, camt.052, camt.054) hoch. Bereits vorhandene Buchungen werden erkannt und übersprungen. Für neue Umsätze werden Zuordnungsvorschläge berechnet. CSV-Zuordnung: Feld mapping (JSON, Schema BankCsvMapping), profileId oder presetId; ohne Angabe wird automatisch erkannt. Fehlt eine Pflichtspalte, antwortet die API mit 422 mapping_required.
Berechtigung: banking:write
Body (multipart/form-data)
filestring (binary)Pflichttext/csv, text/plain, text/xml, application/xml, application/vnd.ms-excel, application/csv, application/octet-stream, application/zip, application/x-zip-compressed, , max. 10240 KBbankAccountIdstringPflichtmax. 128 Zeichenformat"auto" | "csv" | "camt053" | "camt052" | "camt054"Standard: "auto"profileIdstringmax. 128 ZeichenpresetIdstringmax. 40 ZeichenmappingstringCSV-Zuordnung als JSON (BankCsvMapping)max. 10000 ZeichenignoreIbanMismatch"true" | "false"
Antwort 201 · BankImport
idstringPflichtmax. 128 ZeichenbankAccountIdstringPflichtmax. 128 Zeichenformat"csv" | "camt053" | "camt052" | "camt054"PflichtfileNamestring | nullPflichtprofileIdstring | nullPflichtpresetIdstring | nullPflichtstatus"completed" | "reverted"PflichtcountsobjectPflichtrowsintegerPflichtgelesene Buchungen-9007199254740991–9007199254740991importedintegerPflichtneu übernommen-9007199254740991–9007199254740991duplicatesintegerPflichtbereits vorhanden (übersprungen)-9007199254740991–9007199254740991skippedintegerPflichtnicht übernommen (vorgemerkt, leer, fehlerhaft)-9007199254740991–9007199254740991suggestedintegerPflichtneue Umsätze mit Zuordnungsvorschlag-9007199254740991–9007199254740991
periodFromstring (date) | nullPflichtDatum (YYYY-MM-DD)periodTostring (date) | nullPflichtDatum (YYYY-MM-DD)sumCentsintegerPflichtSumme der neu übernommenen Umsätze-100000000000–100000000000errorsArray<object>Pflichtrowinteger | nullPflicht-9007199254740991–9007199254740991messagestringPflicht
warningsArray<string>PflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
Mögliche Fehler: 400, 401, 403, 404, 409, 413, 415, 422, 429, 500
curl -X POST 'https://www.debt-flow.io/api/v1/bank-imports' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-F 'file=@datei' \
-F 'bankAccountId=…' \
-F 'format=…' \
-F 'profileId=…' \
-F 'presetId=…' \
-F 'mapping=…' \
-F 'ignoreIbanMismatch=…'{
"id": "string",
"bankAccountId": "string",
"format": "csv",
"fileName": "string",
"profileId": "string",
"presetId": "string",
"status": "completed",
"counts": {
"rows": 0,
"imported": 0,
"duplicates": 0,
"skipped": 0,
"suggested": 0
},
"periodFrom": "2026-11-01",
"periodTo": "2026-11-01",
"sumCents": 0,
"errors": [
{
"row": 0,
"message": "string"
}
],
"warnings": [
"string"
],
"createdAt": "2026-11-01T09:30:00.000Z"
}/api/v1/bank-imports/{id}Berechtigung: banking:read
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Antwort 200 · BankImport
idstringPflichtmax. 128 ZeichenbankAccountIdstringPflichtmax. 128 Zeichenformat"csv" | "camt053" | "camt052" | "camt054"PflichtfileNamestring | nullPflichtprofileIdstring | nullPflichtpresetIdstring | nullPflichtstatus"completed" | "reverted"PflichtcountsobjectPflichtrowsintegerPflichtgelesene Buchungen-9007199254740991–9007199254740991importedintegerPflichtneu übernommen-9007199254740991–9007199254740991duplicatesintegerPflichtbereits vorhanden (übersprungen)-9007199254740991–9007199254740991skippedintegerPflichtnicht übernommen (vorgemerkt, leer, fehlerhaft)-9007199254740991–9007199254740991suggestedintegerPflichtneue Umsätze mit Zuordnungsvorschlag-9007199254740991–9007199254740991
periodFromstring (date) | nullPflichtDatum (YYYY-MM-DD)periodTostring (date) | nullPflichtDatum (YYYY-MM-DD)sumCentsintegerPflichtSumme der neu übernommenen Umsätze-100000000000–100000000000errorsArray<object>Pflichtrowinteger | nullPflicht-9007199254740991–9007199254740991messagestringPflicht
warningsArray<string>PflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl 'https://www.debt-flow.io/api/v1/bank-imports/ID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"bankAccountId": "string",
"format": "csv",
"fileName": "string",
"profileId": "string",
"presetId": "string",
"status": "completed",
"counts": {
"rows": 0,
"imported": 0,
"duplicates": 0,
"skipped": 0,
"suggested": 0
},
"periodFrom": "2026-11-01",
"periodTo": "2026-11-01",
"sumCents": 0,
"errors": [
{
"row": 0,
"message": "string"
}
],
"warnings": [
"string"
],
"createdAt": "2026-11-01T09:30:00.000Z"
}/api/v1/bank-imports/{id}/revertLöscht die mit diesem Import angelegten Umsätze. Nur möglich, solange keiner davon zugeordnet ist.
Berechtigung: banking:write
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Header
Idempotency-KeystringEindeutiger Schlüssel (8–255 Zeichen). Wiederholte Anfragen mit gleichem Schlüssel liefern 24 h lang dieselbe Antwort.max. 255 Zeichen
Antwort 200 · BankImport
idstringPflichtmax. 128 ZeichenbankAccountIdstringPflichtmax. 128 Zeichenformat"csv" | "camt053" | "camt052" | "camt054"PflichtfileNamestring | nullPflichtprofileIdstring | nullPflichtpresetIdstring | nullPflichtstatus"completed" | "reverted"PflichtcountsobjectPflichtrowsintegerPflichtgelesene Buchungen-9007199254740991–9007199254740991importedintegerPflichtneu übernommen-9007199254740991–9007199254740991duplicatesintegerPflichtbereits vorhanden (übersprungen)-9007199254740991–9007199254740991skippedintegerPflichtnicht übernommen (vorgemerkt, leer, fehlerhaft)-9007199254740991–9007199254740991suggestedintegerPflichtneue Umsätze mit Zuordnungsvorschlag-9007199254740991–9007199254740991
periodFromstring (date) | nullPflichtDatum (YYYY-MM-DD)periodTostring (date) | nullPflichtDatum (YYYY-MM-DD)sumCentsintegerPflichtSumme der neu übernommenen Umsätze-100000000000–100000000000errorsArray<object>Pflichtrowinteger | nullPflicht-9007199254740991–9007199254740991messagestringPflicht
warningsArray<string>PflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/bank-imports/ID/revert' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"bankAccountId": "string",
"format": "csv",
"fileName": "string",
"profileId": "string",
"presetId": "string",
"status": "completed",
"counts": {
"rows": 0,
"imported": 0,
"duplicates": 0,
"skipped": 0,
"suggested": 0
},
"periodFrom": "2026-11-01",
"periodTo": "2026-11-01",
"sumCents": 0,
"errors": [
{
"row": 0,
"message": "string"
}
],
"warnings": [
"string"
],
"createdAt": "2026-11-01T09:30:00.000Z"
}/api/v1/bank-imports/previewLiest eine CSV- oder CAMT-Datei, ohne etwas zu speichern: erkanntes Format, Kopfzeile, vorgeschlagene Spaltenzuordnung (gespeichertes Profil, Bank-Vorlage oder automatische Erkennung), fehlende Pflichtspalten, CAMT-Auszüge mit IBAN-Abgleich und die ersten gelesenen Buchungen.
Berechtigung: banking:write
Body (multipart/form-data)
filestring (binary)Pflichttext/csv, text/plain, text/xml, application/xml, application/vnd.ms-excel, application/csv, application/octet-stream, application/zip, application/x-zip-compressed, , max. 10240 KBbankAccountIdstringmax. 128 ZeichenprofileIdstringmax. 128 ZeichenpresetIdstringmax. 40 Zeichenmappingstringmax. 10000 Zeichen
Antwort 200 · BankImportPreview
format"csv" | "camt053" | "camt052" | "camt054"Pflichtcsvobject | nullPflichtheadersArray<string>Pflichtdelimiter";" | "," | "\t" | "|"PflichtdecimalSeparator"," | "."PflichtheaderRowintegerPflicht-9007199254740991–9007199254740991sampleRowsArray<Array<string>>PflichtdetectedPresetIdstring | nullPflichtdetectedProfileIdstring | nullPflichtmappingBankCsvMapping | nullPflichtVorschlag (Profil, Vorlage oder automatische Erkennung)delimiter";" | "," | "\t" | "|"PflichtTrennzeichenencoding"utf-8" | "windows-1252"PflichtZeichensatzdecimalSeparator"," | "."PflichtDezimaltrennzeichen der BeträgedateFormat"auto" | "DD.MM.YYYY" | "DD.MM.YY" | "YYYY-MM-DD" | "DD/MM/YYYY" | "MM/DD/YYYY"PflichtStandard: "auto"headerRowinteger | nullPflicht0–50columnsobjectPflicht
missingArray<string>PflichtPflichtangaben, die noch zugeordnet werden müssen
statementsArray<object>Pflichtibanstring | nullPflichtfromstring (date) | nullPflichtDatum (YYYY-MM-DD)tostring (date) | nullPflichtDatum (YYYY-MM-DD)entriesintegerPflicht-9007199254740991–9007199254740991closingBalanceCentsinteger | nullPflichtBetrag in Cent-100000000000–100000000000matchesAccountboolean | nullPflicht
rowsArray<object>Pflichterste gelesene Buchungenrowinteger | nullPflicht-9007199254740991–9007199254740991bookingDatestring (date)PflichtDatum (YYYY-MM-DD)valueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)amountCentsintegerPflichtBetrag in Cent-100000000000–100000000000currencystringPflichtcounterpartyNamestring | nullPflichtcounterpartyIbanstring | nullPflichtpurposestringPflichtbookingTextstring | nullPflicht
totalRowsintegerPflicht-9007199254740991–9007199254740991errorsArray<object>Pflichtrowinteger | nullPflicht-9007199254740991–9007199254740991messagestringPflicht
Mögliche Fehler: 400, 401, 403, 404, 413, 415, 422, 429, 500
curl -X POST 'https://www.debt-flow.io/api/v1/bank-imports/preview' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-F 'file=@datei' \
-F 'bankAccountId=…' \
-F 'profileId=…' \
-F 'presetId=…' \
-F 'mapping=…'{
"format": "csv",
"csv": {
"headers": [
"string"
],
"delimiter": ";",
"decimalSeparator": ",",
"headerRow": 0,
"sampleRows": [
[
"string"
]
],
"detectedPresetId": "string",
"detectedProfileId": "string",
"mapping": {
"delimiter": null,
"encoding": null,
"decimalSeparator": null,
"dateFormat": null,
"headerRow": null,
"columns": null
},
"missing": [
"string"
]
},
"statements": [
{
"iban": "string",
"from": "2026-11-01",
"to": "2026-11-01",
"entries": 0,
"closingBalanceCents": 0,
"matchesAccount": false
}
],
"rows": [
{
"row": 0,
"bookingDate": "2026-11-01",
"valueDate": "2026-11-01",
"amountCents": 0,
"currency": "string",
"counterpartyName": "string",
"counterpartyIban": "string",
"purpose": "string",
"bookingText": "string"
}
],
"totalRows": 0,
"errors": [
{
"row": 0,
"message": "string"
}
]
}/api/v1/bank-rulesBeim Bestätigen einer Zuordnung merkt sich DebtFlow, zu welchem Kontakt eine Gegen-IBAN gehört. Das verbessert künftige Vorschläge.
Berechtigung: banking:read
Query-Parameter
limitintegerAnzahl Einträge (1–100)1–100 · Standard: 25cursorstring`nextCursor` der vorherigen Seitemax. 500 Zeichen
Antwort 200
object"list"PflichtdataArray<BankRule>PflichtidstringPflichtmax. 128 Zeichentype"counterparty"PflichtcounterpartyIbanstringPflichtcounterpartyNamestring | nullPflichtcontactIdstringPflichthitsintegerPflicht-9007199254740991–9007199254740991createdAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
hasMorebooleanPflichtnextCursorstring | nullPflicht
curl 'https://www.debt-flow.io/api/v1/bank-rules' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"object": "list",
"data": [
{
"id": "string",
"type": "counterparty",
"counterpartyIban": "string",
"counterpartyName": "string",
"contactId": "string",
"hits": 0,
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}
],
"hasMore": false,
"nextCursor": "string"
}/api/v1/bank-rules/{id}/api/v1/bank-transactionsNeueste zuerst. Filter: Konto, Status (open = noch nicht oder nur teilweise zugeordnet), Zeitraum, Import.
Berechtigung: banking:read
Query-Parameter
bankAccountIdstringmax. 128 Zeichenstatus"unmatched" | "suggested" | "partially_matched" | "matched" | "ignored" | "open"open = unmatched + suggested + partially_matchedfromstring (date)Buchungstag abtostring (date)Buchungstag bisimportIdstringmax. 128 ZeichenlimitintegerAnzahl Einträge (1–100)1–100 · Standard: 25cursorstring`nextCursor` der vorherigen Seitemax. 500 Zeichen
Antwort 200
object"list"PflichtdataArray<BankTransaction>PflichtidstringPflichtmax. 128 ZeichenbankAccountIdstringPflichtmax. 128 ZeichenbookingDatestring (date)PflichtDatum (YYYY-MM-DD)valueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)amountCentsintegerPflichtEingang positiv, Ausgang negativ-100000000000–100000000000currencystringPflichtcounterpartyNamestring | nullPflichtcounterpartyIbanstring | nullPflichtcounterpartyBicstring | nullPflichtpurposestringPflichtbookingTextstring | nullPflichtendToEndIdstring | nullPflichtmandateIdstring | nullPflichtcreditorIdstring | nullPflichtbankReferencestring | nullPflichtsource"csv" | "camt" | "api" | "live"PflichtimportIdstring | nullPflichtstatus"unmatched" | "suggested" | "partially_matched" | "matched" | "ignored"PflichtmatchedCentsintegerPflichtBetrag in Cent-100000000000–100000000000openCentsintegerPflichtnoch nicht zugeordneter Betrag (positiv)-100000000000–100000000000matchesArray<BankMatch>Pflichttype"invoice" | "debt" | "installment_plan" | "receipt" | "payment"PflichtidstringPflichtmax. 128 ZeichenamountCentsintegerPflichtzugeordneter Betrag (positiv)-100000000000–100000000000labelstringPflichtpaymentIdstring | nullPflichterzeugte Zahlung (payments, invoicePayments oder Rate)matchedAtstring (date-time)PflichtZeitpunkt (ISO 8601)matchedByobject | nullPflicht
suggestionsArray<BankMatchSuggestion>PflichttargetsArray<object>PflichtconfidencenumberPflicht0–1; ab 0.85 sicher0–1reasonsArray<enum>PflichtWerte: reference, reference_partial, amount_exact, amount_total, amount_partial, amount_sum, iban, name, date_close
notestring | nullPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
hasMorebooleanPflichtnextCursorstring | nullPflicht
curl 'https://www.debt-flow.io/api/v1/bank-transactions' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"object": "list",
"data": [
{
"id": "string",
"bankAccountId": "string",
"bookingDate": "2026-11-01",
"valueDate": "2026-11-01",
"amountCents": 0,
"currency": "string",
"counterpartyName": "string",
"counterpartyIban": "string",
"counterpartyBic": "string",
"purpose": "string",
"bookingText": "string",
"endToEndId": "string",
"mandateId": "string",
"creditorId": "string",
"bankReference": "string",
"source": "csv",
"importId": "string",
"status": "unmatched",
"matchedCents": 0,
"openCents": 0,
"matches": [
{
"type": null,
"id": null,
"amountCents": null,
"label": null,
"paymentId": null,
"matchedAt": null,
"matchedBy": null
}
],
"suggestions": [
{
"targets": null,
"confidence": null,
"reasons": null
}
],
"note": "string",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}
],
"hasMore": false,
"nextCursor": "string"
}/api/v1/bank-transactionsÜbernimmt bis zu 1000 Umsätze für ein Konto, z. B. aus einer eigenen FinTS- oder PSD2-Anbindung. Dieselbe Dublettenerkennung wie beim Datei-Import: eine erneute Lieferung legt nichts doppelt an. transactionIds enthält die IDs aller gelieferten Umsätze in Eingabereihenfolge (neu oder bereits vorhanden).
Berechtigung: banking:write
Header
Idempotency-KeystringEindeutiger Schlüssel (8–255 Zeichen). Wiederholte Anfragen mit gleichem Schlüssel liefern 24 h lang dieselbe Antwort.max. 255 Zeichen
Body (JSON) · BankTransactionBulkCreate
bankAccountIdstringPflichtmax. 128 ZeichentransactionsArray<BankTransactionInput>PflichtbookingDatestring (date)PflichtDatum (YYYY-MM-DD)valueDatestring (date)Datum (YYYY-MM-DD)amountCentsintegerPflichtBetrag in Cent-100000000000–100000000000currency"EUR"Standard: "EUR"counterpartyNamestringmax. 200 ZeichencounterpartyIbanstringmax. 40 ZeichencounterpartyBicstringmax. 11 Zeichenpurposestringmax. 1000 Zeichen · Standard: ""bookingTextstringmax. 200 ZeichenendToEndIdstringmax. 100 ZeichenmandateIdstringmax. 100 ZeichencreditorIdstringmax. 100 ZeichenbankReferencestringmax. 100 Zeichen
Antwort 201 · BankTransactionBulkResult
importedintegerPflicht-9007199254740991–9007199254740991duplicatesintegerPflicht-9007199254740991–9007199254740991transactionIdsArray<string>Pflicht
curl -X POST 'https://www.debt-flow.io/api/v1/bank-transactions' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"bankAccountId": "string",
"transactions": [
{
"bookingDate": "2026-11-01",
"valueDate": "2026-11-01",
"amountCents": 0,
"currency": "EUR",
"counterpartyName": "string",
"counterpartyIban": "string",
"counterpartyBic": "string",
"purpose": "",
"bookingText": "string",
"endToEndId": "string",
"mandateId": "string",
"creditorId": "string",
"bankReference": "string"
}
]
}'{
"imported": 0,
"duplicates": 0,
"transactionIds": [
"string"
]
}/api/v1/bank-transactions/{id}Berechtigung: banking:read
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Antwort 200 · BankTransaction
idstringPflichtmax. 128 ZeichenbankAccountIdstringPflichtmax. 128 ZeichenbookingDatestring (date)PflichtDatum (YYYY-MM-DD)valueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)amountCentsintegerPflichtEingang positiv, Ausgang negativ-100000000000–100000000000currencystringPflichtcounterpartyNamestring | nullPflichtcounterpartyIbanstring | nullPflichtcounterpartyBicstring | nullPflichtpurposestringPflichtbookingTextstring | nullPflichtendToEndIdstring | nullPflichtmandateIdstring | nullPflichtcreditorIdstring | nullPflichtbankReferencestring | nullPflichtsource"csv" | "camt" | "api" | "live"PflichtimportIdstring | nullPflichtstatus"unmatched" | "suggested" | "partially_matched" | "matched" | "ignored"PflichtmatchedCentsintegerPflichtBetrag in Cent-100000000000–100000000000openCentsintegerPflichtnoch nicht zugeordneter Betrag (positiv)-100000000000–100000000000matchesArray<BankMatch>Pflichttype"invoice" | "debt" | "installment_plan" | "receipt" | "payment"PflichtidstringPflichtmax. 128 ZeichenamountCentsintegerPflichtzugeordneter Betrag (positiv)-100000000000–100000000000labelstringPflichtpaymentIdstring | nullPflichterzeugte Zahlung (payments, invoicePayments oder Rate)matchedAtstring (date-time)PflichtZeitpunkt (ISO 8601)matchedByobject | nullPflichttypestringPflichtidstringPflicht
suggestionsArray<BankMatchSuggestion>PflichttargetsArray<object>Pflichttype"invoice" | "debt" | "installment_plan" | "receipt" | "payment"PflichtidstringPflichtmax. 128 ZeichenamountCentsintegerPflichtzugeordneter Betrag (positiv)-100000000000–100000000000labelstringPflicht
confidencenumberPflicht0–1; ab 0.85 sicher0–1reasonsArray<enum>PflichtWerte: reference, reference_partial, amount_exact, amount_total, amount_partial, amount_sum, iban, name, date_close
notestring | nullPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl 'https://www.debt-flow.io/api/v1/bank-transactions/ID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"bankAccountId": "string",
"bookingDate": "2026-11-01",
"valueDate": "2026-11-01",
"amountCents": 0,
"currency": "string",
"counterpartyName": "string",
"counterpartyIban": "string",
"counterpartyBic": "string",
"purpose": "string",
"bookingText": "string",
"endToEndId": "string",
"mandateId": "string",
"creditorId": "string",
"bankReference": "string",
"source": "csv",
"importId": "string",
"status": "unmatched",
"matchedCents": 0,
"openCents": 0,
"matches": [
{
"type": "invoice",
"id": "string",
"amountCents": 0,
"label": "string",
"paymentId": "string",
"matchedAt": "2026-11-01T09:30:00.000Z",
"matchedBy": {
"type": null,
"id": null
}
}
],
"suggestions": [
{
"targets": [
{
"type": null,
"id": null,
"amountCents": null,
"label": null
}
],
"confidence": 0,
"reasons": [
"reference"
]
}
],
"note": "string",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/bank-transactions/{id}Notiz setzen oder den Umsatz als erledigt ohne Zuordnung markieren (ignored: true, z. B. Umbuchung, Privatentnahme, Bankgebühr). Buchungsdaten der Bank sind nicht änderbar.
Berechtigung: banking:write
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Body (JSON) · BankTransactionUpdate
notestring | nullmax. 500 Zeichenignoredbooleantrue = ohne Zuordnung erledigt, false = wieder offen
Antwort 200 · BankTransaction
idstringPflichtmax. 128 ZeichenbankAccountIdstringPflichtmax. 128 ZeichenbookingDatestring (date)PflichtDatum (YYYY-MM-DD)valueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)amountCentsintegerPflichtEingang positiv, Ausgang negativ-100000000000–100000000000currencystringPflichtcounterpartyNamestring | nullPflichtcounterpartyIbanstring | nullPflichtcounterpartyBicstring | nullPflichtpurposestringPflichtbookingTextstring | nullPflichtendToEndIdstring | nullPflichtmandateIdstring | nullPflichtcreditorIdstring | nullPflichtbankReferencestring | nullPflichtsource"csv" | "camt" | "api" | "live"PflichtimportIdstring | nullPflichtstatus"unmatched" | "suggested" | "partially_matched" | "matched" | "ignored"PflichtmatchedCentsintegerPflichtBetrag in Cent-100000000000–100000000000openCentsintegerPflichtnoch nicht zugeordneter Betrag (positiv)-100000000000–100000000000matchesArray<BankMatch>Pflichttype"invoice" | "debt" | "installment_plan" | "receipt" | "payment"PflichtidstringPflichtmax. 128 ZeichenamountCentsintegerPflichtzugeordneter Betrag (positiv)-100000000000–100000000000labelstringPflichtpaymentIdstring | nullPflichterzeugte Zahlung (payments, invoicePayments oder Rate)matchedAtstring (date-time)PflichtZeitpunkt (ISO 8601)matchedByobject | nullPflichttypestringPflichtidstringPflicht
suggestionsArray<BankMatchSuggestion>PflichttargetsArray<object>Pflichttype"invoice" | "debt" | "installment_plan" | "receipt" | "payment"PflichtidstringPflichtmax. 128 ZeichenamountCentsintegerPflichtzugeordneter Betrag (positiv)-100000000000–100000000000labelstringPflicht
confidencenumberPflicht0–1; ab 0.85 sicher0–1reasonsArray<enum>PflichtWerte: reference, reference_partial, amount_exact, amount_total, amount_partial, amount_sum, iban, name, date_close
notestring | nullPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl -X PATCH 'https://www.debt-flow.io/api/v1/bank-transactions/ID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"note": "string",
"ignored": false
}'{
"id": "string",
"bankAccountId": "string",
"bookingDate": "2026-11-01",
"valueDate": "2026-11-01",
"amountCents": 0,
"currency": "string",
"counterpartyName": "string",
"counterpartyIban": "string",
"counterpartyBic": "string",
"purpose": "string",
"bookingText": "string",
"endToEndId": "string",
"mandateId": "string",
"creditorId": "string",
"bankReference": "string",
"source": "csv",
"importId": "string",
"status": "unmatched",
"matchedCents": 0,
"openCents": 0,
"matches": [
{
"type": "invoice",
"id": "string",
"amountCents": 0,
"label": "string",
"paymentId": "string",
"matchedAt": "2026-11-01T09:30:00.000Z",
"matchedBy": {
"type": null,
"id": null
}
}
],
"suggestions": [
{
"targets": [
{
"type": null,
"id": null,
"amountCents": null,
"label": null
}
],
"confidence": 0,
"reasons": [
"reference"
]
}
],
"note": "string",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/bank-transactions/{id}/candidatesAlle offenen Rechnungen, Forderungen, Raten und erfassten Zahlungen (bei Eingängen) bzw. Belege (bei Ausgaben), bewertet nach Passung zum Umsatz – für die manuelle Zuordnung.
Berechtigung: banking:read
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Query-Parameter
type"invoice" | "debt" | "installment_plan" | "receipt" | "payment"qstringSuche in Bezeichnung, Kontakt und Nummermax. 100 Zeichenlimitinteger1–200 · Standard: 100
Antwort 200
dataArray<BankMatchCandidate>Pflichttype"invoice" | "debt" | "installment_plan" | "receipt" | "payment"PflichtidstringPflichtmax. 128 ZeichenlabelstringPflichtcontactIdstring | nullPflichtcontactNamestring | nullPflichtreferencestring | nullPflichtopenCentsintegerPflichtBetrag in Cent-100000000000–100000000000totalCentsintegerPflichtBetrag in Cent-100000000000–100000000000datestring (date) | nullPflichtDatum (YYYY-MM-DD)confidencenumberPflicht0–1reasonsArray<enum>PflichtWerte: reference, reference_partial, amount_exact, amount_total, amount_partial, amount_sum, iban, name, date_close
curl 'https://www.debt-flow.io/api/v1/bank-transactions/ID/candidates' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"data": [
{
"type": "invoice",
"id": "string",
"label": "string",
"contactId": "string",
"contactName": "string",
"reference": "string",
"openCents": 0,
"totalCents": 0,
"date": "2026-11-01",
"confidence": 0,
"reasons": [
"reference"
]
}
]
}/api/v1/bank-transactions/{id}/matchOrdnet den Umsatz einem oder mehreren Posten zu und erzeugt die Zahlung: Forderung → Zahlung (bei vollständiger Zahlung als bezahlt markiert), Rate → Ratenzahlung, Rechnung → Zahlungseingang (Status teilweise/bezahlt), Beleg → bezahlt, erfasste Zahlung → nur verknüpft. Ereignisse: payment.received, bank_transaction.matched, ggf. invoice.paid / debt.paid. Rechte je Ziel: Rechnung zusätzlich invoices:write, Beleg zusätzlich receipts:write.
Berechtigung: banking:write, payments:write
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Header
Idempotency-KeystringEindeutiger Schlüssel (8–255 Zeichen). Wiederholte Anfragen mit gleichem Schlüssel liefern 24 h lang dieselbe Antwort.max. 255 Zeichen
Body (JSON) · BankMatchRequest
targetsArray<object>PflichtZiele; ohne amountCents wird der offene Betrag (höchstens der Restbetrag des Umsatzes) zugeordnettype"invoice" | "debt" | "installment_plan" | "receipt" | "payment"PflichtidstringPflichtmax. 128 ZeichenamountCentsintegerBetrag in Centmax. 100000000000
markDebtPaidbooleanForderung als bezahlt markieren, wenn sie damit vollständig beglichen istStandard: truenotestringmax. 500 Zeichen
Antwort 200 · BankTransaction
idstringPflichtmax. 128 ZeichenbankAccountIdstringPflichtmax. 128 ZeichenbookingDatestring (date)PflichtDatum (YYYY-MM-DD)valueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)amountCentsintegerPflichtEingang positiv, Ausgang negativ-100000000000–100000000000currencystringPflichtcounterpartyNamestring | nullPflichtcounterpartyIbanstring | nullPflichtcounterpartyBicstring | nullPflichtpurposestringPflichtbookingTextstring | nullPflichtendToEndIdstring | nullPflichtmandateIdstring | nullPflichtcreditorIdstring | nullPflichtbankReferencestring | nullPflichtsource"csv" | "camt" | "api" | "live"PflichtimportIdstring | nullPflichtstatus"unmatched" | "suggested" | "partially_matched" | "matched" | "ignored"PflichtmatchedCentsintegerPflichtBetrag in Cent-100000000000–100000000000openCentsintegerPflichtnoch nicht zugeordneter Betrag (positiv)-100000000000–100000000000matchesArray<BankMatch>Pflichttype"invoice" | "debt" | "installment_plan" | "receipt" | "payment"PflichtidstringPflichtmax. 128 ZeichenamountCentsintegerPflichtzugeordneter Betrag (positiv)-100000000000–100000000000labelstringPflichtpaymentIdstring | nullPflichterzeugte Zahlung (payments, invoicePayments oder Rate)matchedAtstring (date-time)PflichtZeitpunkt (ISO 8601)matchedByobject | nullPflichttypestringPflichtidstringPflicht
suggestionsArray<BankMatchSuggestion>PflichttargetsArray<object>Pflichttype"invoice" | "debt" | "installment_plan" | "receipt" | "payment"PflichtidstringPflichtmax. 128 ZeichenamountCentsintegerPflichtzugeordneter Betrag (positiv)-100000000000–100000000000labelstringPflicht
confidencenumberPflicht0–1; ab 0.85 sicher0–1reasonsArray<enum>PflichtWerte: reference, reference_partial, amount_exact, amount_total, amount_partial, amount_sum, iban, name, date_close
notestring | nullPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/bank-transactions/ID/match' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"targets": [
{
"type": "invoice",
"id": "string",
"amountCents": 0
}
],
"markDebtPaid": true,
"note": "string"
}'{
"id": "string",
"bankAccountId": "string",
"bookingDate": "2026-11-01",
"valueDate": "2026-11-01",
"amountCents": 0,
"currency": "string",
"counterpartyName": "string",
"counterpartyIban": "string",
"counterpartyBic": "string",
"purpose": "string",
"bookingText": "string",
"endToEndId": "string",
"mandateId": "string",
"creditorId": "string",
"bankReference": "string",
"source": "csv",
"importId": "string",
"status": "unmatched",
"matchedCents": 0,
"openCents": 0,
"matches": [
{
"type": "invoice",
"id": "string",
"amountCents": 0,
"label": "string",
"paymentId": "string",
"matchedAt": "2026-11-01T09:30:00.000Z",
"matchedBy": {
"type": null,
"id": null
}
}
],
"suggestions": [
{
"targets": [
{
"type": null,
"id": null,
"amountCents": null,
"label": null
}
],
"confidence": 0,
"reasons": [
"reference"
]
}
],
"note": "string",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/bank-transactions/{id}/unmatchHebt alle Zuordnungen des Umsatzes auf und nimmt die dabei erzeugten Zahlungen zurück (Ereignis payment.deleted). Rechte je Ziel: Rechnung zusätzlich invoices:write, Beleg zusätzlich receipts:write.
Berechtigung: banking:write, payments:write
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Header
Idempotency-KeystringEindeutiger Schlüssel (8–255 Zeichen). Wiederholte Anfragen mit gleichem Schlüssel liefern 24 h lang dieselbe Antwort.max. 255 Zeichen
Antwort 200 · BankTransaction
idstringPflichtmax. 128 ZeichenbankAccountIdstringPflichtmax. 128 ZeichenbookingDatestring (date)PflichtDatum (YYYY-MM-DD)valueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)amountCentsintegerPflichtEingang positiv, Ausgang negativ-100000000000–100000000000currencystringPflichtcounterpartyNamestring | nullPflichtcounterpartyIbanstring | nullPflichtcounterpartyBicstring | nullPflichtpurposestringPflichtbookingTextstring | nullPflichtendToEndIdstring | nullPflichtmandateIdstring | nullPflichtcreditorIdstring | nullPflichtbankReferencestring | nullPflichtsource"csv" | "camt" | "api" | "live"PflichtimportIdstring | nullPflichtstatus"unmatched" | "suggested" | "partially_matched" | "matched" | "ignored"PflichtmatchedCentsintegerPflichtBetrag in Cent-100000000000–100000000000openCentsintegerPflichtnoch nicht zugeordneter Betrag (positiv)-100000000000–100000000000matchesArray<BankMatch>Pflichttype"invoice" | "debt" | "installment_plan" | "receipt" | "payment"PflichtidstringPflichtmax. 128 ZeichenamountCentsintegerPflichtzugeordneter Betrag (positiv)-100000000000–100000000000labelstringPflichtpaymentIdstring | nullPflichterzeugte Zahlung (payments, invoicePayments oder Rate)matchedAtstring (date-time)PflichtZeitpunkt (ISO 8601)matchedByobject | nullPflichttypestringPflichtidstringPflicht
suggestionsArray<BankMatchSuggestion>PflichttargetsArray<object>Pflichttype"invoice" | "debt" | "installment_plan" | "receipt" | "payment"PflichtidstringPflichtmax. 128 ZeichenamountCentsintegerPflichtzugeordneter Betrag (positiv)-100000000000–100000000000labelstringPflicht
confidencenumberPflicht0–1; ab 0.85 sicher0–1reasonsArray<enum>PflichtWerte: reference, reference_partial, amount_exact, amount_total, amount_partial, amount_sum, iban, name, date_close
notestring | nullPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/bank-transactions/ID/unmatch' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"bankAccountId": "string",
"bookingDate": "2026-11-01",
"valueDate": "2026-11-01",
"amountCents": 0,
"currency": "string",
"counterpartyName": "string",
"counterpartyIban": "string",
"counterpartyBic": "string",
"purpose": "string",
"bookingText": "string",
"endToEndId": "string",
"mandateId": "string",
"creditorId": "string",
"bankReference": "string",
"source": "csv",
"importId": "string",
"status": "unmatched",
"matchedCents": 0,
"openCents": 0,
"matches": [
{
"type": "invoice",
"id": "string",
"amountCents": 0,
"label": "string",
"paymentId": "string",
"matchedAt": "2026-11-01T09:30:00.000Z",
"matchedBy": {
"type": null,
"id": null
}
}
],
"suggestions": [
{
"targets": [
{
"type": null,
"id": null,
"amountCents": null,
"label": null
}
],
"confidence": 0,
"reasons": [
"reference"
]
}
],
"note": "string",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/bank-transactions/auto-matchBerechnet die Vorschläge offener Umsätze neu (z. B. nach neuen Rechnungen). Bestätigt nichts – dafür POST /bank-transactions/{id}/match oder POST /bank-transactions/confirm-suggestions.
Berechtigung: banking:write
Header
Idempotency-KeystringEindeutiger Schlüssel (8–255 Zeichen). Wiederholte Anfragen mit gleichem Schlüssel liefern 24 h lang dieselbe Antwort.max. 255 Zeichen
Body (JSON)
bankAccountIdstringmax. 128 ZeichentransactionIdsArray<string>max. 128 Zeichen
Antwort 200 · BankAutoMatchResult
checkedintegerPflicht-9007199254740991–9007199254740991suggestedintegerPflicht-9007199254740991–9007199254740991highConfidenceintegerPflicht-9007199254740991–9007199254740991
curl -X POST 'https://www.debt-flow.io/api/v1/bank-transactions/auto-match' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{}'{
"checked": 0,
"suggested": 0,
"highConfidence": 0
}/api/v1/bank-transactions/confirm-suggestionsBestätigt für jeden angegebenen Umsatz den besten Vorschlag, sofern er die Mindestkonfidenz erreicht (Standard 0,85). Vorschläge auf Rechnungen bzw. Belege werden ohne invoices:write bzw. receipts:write übersprungen (skipped mit Grund).
Berechtigung: banking:write, payments:write
Header
Idempotency-KeystringEindeutiger Schlüssel (8–255 Zeichen). Wiederholte Anfragen mit gleichem Schlüssel liefern 24 h lang dieselbe Antwort.max. 255 Zeichen
Body (JSON) · BankConfirmSuggestions
transactionIdsArray<string>Pflichtmax. 128 ZeichenminConfidencenumber0–1 · Standard: 0.85
Antwort 200 · BankConfirmSuggestionsResult
confirmedArray<string>Pflichtmax. 128 ZeichenskippedArray<object>PflichtidstringPflichtmax. 128 ZeichenreasonstringPflicht
curl -X POST 'https://www.debt-flow.io/api/v1/bank-transactions/confirm-suggestions' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"transactionIds": [
"string"
],
"minConfidence": 0.85
}'{
"confirmed": [
"string"
],
"skipped": [
{
"id": "string",
"reason": "string"
}
]
}