Debts
/api/v1/contacts/{id}/financesAll debts of the contact with costs (total and recoverable), payments including instalments, remaining balance and repayment rate. Basis of the creditor AI (Gläubiger-KI).
Permission: debts:read
Path parameters
idstringrequiredResource IDmax. 128 characters
Response 200 · ContactFinances
object"contact_finances"requiredcontactIdstringrequiredprincipalCentsintegerrequiredTotal principal-100000000000–100000000000totalCostsCentsintegerrequiredAll costs-100000000000–100000000000chargeableCostsCentsintegerrequiredRecoverable costs (to be borne by the debtor)-100000000000–100000000000adjustedCentsintegerrequiredPrincipal amounts + recoverable costs-100000000000–100000000000paidCentsintegerrequiredPayments including instalments-100000000000–100000000000remainingCentsintegerrequiredadjustedCents − paidCents (at least 0)-100000000000–100000000000paymentPercentagenumberrequiredRepayment rate in per cent0–100isFullyPaidbooleanrequireddebtsArray<object>requireddebtIdstringrequireddescriptionstringrequiredstatus"open" | "paid"requiredprincipalCentsintegerrequiredAmount in cents-100000000000–100000000000costsCentsintegerrequiredAmount in cents-100000000000–100000000000chargeableCostsCentsintegerrequiredAmount in cents-100000000000–100000000000paidCentsintegerrequiredAmount in cents-100000000000–100000000000openCentsintegerrequiredsame as Debt.openCents-100000000000–100000000000paymentsArray<object>requiredidstringrequiredtype"single" | "installment"requiredamountCentsintegerrequiredAmount in cents-100000000000–100000000000datestring (date) | nullrequiredDate (YYYY-MM-DD)methodstringrequired
costsArray<object>requiredidstringrequiredamountCentsintegerrequiredAmount in cents-100000000000–100000000000datestring (date) | nullrequiredDate (YYYY-MM-DD)costTypestringrequireddescriptionstringrequiredisPaidbooleanrequiredisChargeablebooleanrequired
curl 'https://www.debt-flow.io/api/v1/contacts/ID/finances' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"object": "contact_finances",
"contactId": "string",
"principalCents": 0,
"totalCostsCents": 0,
"chargeableCostsCents": 0,
"adjustedCents": 0,
"paidCents": 0,
"remainingCents": 0,
"paymentPercentage": 0,
"isFullyPaid": false,
"debts": [
{
"debtId": "string",
"description": "string",
"status": "open",
"principalCents": 0,
"costsCents": 0,
"chargeableCostsCents": 0,
"paidCents": 0,
"openCents": 0,
"payments": [
{
"id": "string",
"type": "single",
"amountCents": 0,
"date": null,
"method": "string"
}
],
"costs": [
{
"id": "string",
"amountCents": 0,
"date": null,
"costType": "string",
"description": "string",
"isPaid": false,
"isChargeable": false
}
]
}
]
}/api/v1/debtsWith amounts in cents (principal, costs, payments including instalments, outstanding), phase and due date. Newest first.
Permission: debts:read
Query parameters
contactIdstringmax. 128 charactersclientIdstringmax. 128 charactersstatus"open" | "paid" | "all"Default: "all"phaseenumValues: new, reminder1, reminder2, reminder3, waiting, paymentplan, court, titled, enforcement, completedoverdue"true" | "false"limitintegerNumber of entries (1–100)1–100 · Default: 25cursorstring`nextCursor` of the previous pagemax. 500 characters
Response 200
object"list"requireddataArray<Debt>requiredidstringrequiredobject"debt"requiredcontactIdstringrequiredcontactNamestringrequiredclientIdstring | nullrequireddescriptionstringrequiredreferencestringrequiredsource"manual" | "invoice"requiredinvoice = handed over to dunning from an invoiceinvoiceIdstring | nullrequiredInvoice the debt originates from – payments are reconciledinvoiceNumberstring | nullrequiredcurrency"EUR"requiredprincipalCentsintegerrequiredPrincipal amount-100000000000–100000000000costsCentsintegerrequiredTotal costs-100000000000–100000000000paidCentsintegerrequiredTotal payments including instalments-100000000000–100000000000openCentsintegerrequiredOutstanding: principal + costs − payments (0 if paid)-100000000000–100000000000status"open" | "paid"requiredoverduebooleanrequireddueDatestring (date) | nullrequiredDate (YYYY-MM-DD)paidAtstring (date-time) | nullrequiredTimestamp (ISO 8601)phaseenumrequiredValues: new, reminder1, reminder2, reminder3, waiting, paymentplan, court, titled, enforcement, completedcourtStatus"pending" | "objection" | "hearing" | "judgment" | "appeal" | nullrequiredenforcementStatusenum | nullrequiredValues: monitoring, asset_disclosure, bank_attachment, property_attachment, wage_attachment, vehicle_attachment, completedisTitledbooleanrequiredEnforceable title (Vollstreckungstitel) exists (flag; details in `title`)inCourtbooleanrequiredCourt proceedings pending (flag)reminderLevelintegerrequired0–3followUpDatestring (date) | nullrequiredFollow-up (Wiedervorlage)autoPostalboolean | nullrequiredSend dunning letters automatically by post (null = default)notesstringrequiredtitleDebtTitle | nullrequiredtypeenumrequiredValues: vollstreckungsbescheid, urteil, versaeumnisurteil, vergleich, kostenfestsetzungsbeschluss, notarielle_urkunde, sonstigercourtstringmax. 200 charactersfileNumberstringFile reference (Aktenzeichen)max. 80 charactersdatestring (date)Date (YYYY-MM-DD)servedAtstring (date)DeliveryenforceableAtstring (date)Enforceable copy (vollstreckbare Ausfertigung)notesstringmax. 2000 characters
interestDebtInterestrequiredhasInstallmentPlanbooleanrequiredlastReminderSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)lastLetterSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)createdAtstring (date-time)requiredTimestamp (ISO 8601)updatedAtstring (date-time)requiredTimestamp (ISO 8601)
hasMorebooleanrequirednextCursorstring | nullrequired
curl 'https://www.debt-flow.io/api/v1/debts' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"object": "list",
"data": [
{
"id": "string",
"object": "debt",
"contactId": "string",
"contactName": "string",
"clientId": "string",
"description": "string",
"reference": "string",
"source": "manual",
"invoiceId": "string",
"invoiceNumber": "string",
"currency": "EUR",
"principalCents": 0,
"costsCents": 0,
"paidCents": 0,
"openCents": 0,
"status": "open",
"overdue": false,
"dueDate": "2026-11-01",
"paidAt": "2026-11-01T09:30:00.000Z",
"phase": "new",
"courtStatus": "pending",
"enforcementStatus": "monitoring",
"isTitled": false,
"inCourt": false,
"reminderLevel": 0,
"followUpDate": "2026-11-01",
"autoPostal": false,
"notes": "string",
"title": {
"type": null,
"court": null,
"fileNumber": null,
"date": null,
"servedAt": null,
"enforceableAt": null,
"notes": null
},
"interest": {
"mode": null
},
"hasInstallmentPlan": false,
"lastReminderSentAt": "2026-11-01T09:30:00.000Z",
"lastLetterSentAt": "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/debtsNew debt in phase new. Event debt.created.
Permission: debts:write
Headers
Idempotency-KeystringUnique key (8–255 characters). Repeated requests with the same key return the same response for 24 h.max. 255 characters
Body (JSON) · DebtCreate
contactIdstringrequiredmax. 128 charactersamountCentsintegerrequiredPrincipal amount in cents0–100000000000descriptionstringrequiredmax. 1000 charactersdueDatestring (date)requiredDate (YYYY-MM-DD)referencestringInvoice or file referencemax. 100 charactersclientIdstringmax. 128 charactersnotesstringmax. 10000 charactersautoPostalbooleaninterestDebtInterest
Response 201 · Debt
idstringrequiredobject"debt"requiredcontactIdstringrequiredcontactNamestringrequiredclientIdstring | nullrequireddescriptionstringrequiredreferencestringrequiredsource"manual" | "invoice"requiredinvoice = handed over to dunning from an invoiceinvoiceIdstring | nullrequiredInvoice the debt originates from – payments are reconciledinvoiceNumberstring | nullrequiredcurrency"EUR"requiredprincipalCentsintegerrequiredPrincipal amount-100000000000–100000000000costsCentsintegerrequiredTotal costs-100000000000–100000000000paidCentsintegerrequiredTotal payments including instalments-100000000000–100000000000openCentsintegerrequiredOutstanding: principal + costs − payments (0 if paid)-100000000000–100000000000status"open" | "paid"requiredoverduebooleanrequireddueDatestring (date) | nullrequiredDate (YYYY-MM-DD)paidAtstring (date-time) | nullrequiredTimestamp (ISO 8601)phaseenumrequiredValues: new, reminder1, reminder2, reminder3, waiting, paymentplan, court, titled, enforcement, completedcourtStatus"pending" | "objection" | "hearing" | "judgment" | "appeal" | nullrequiredenforcementStatusenum | nullrequiredValues: monitoring, asset_disclosure, bank_attachment, property_attachment, wage_attachment, vehicle_attachment, completedisTitledbooleanrequiredEnforceable title (Vollstreckungstitel) exists (flag; details in `title`)inCourtbooleanrequiredCourt proceedings pending (flag)reminderLevelintegerrequired0–3followUpDatestring (date) | nullrequiredFollow-up (Wiedervorlage)autoPostalboolean | nullrequiredSend dunning letters automatically by post (null = default)notesstringrequiredtitleDebtTitle | nullrequiredtypeenumrequiredValues: vollstreckungsbescheid, urteil, versaeumnisurteil, vergleich, kostenfestsetzungsbeschluss, notarielle_urkunde, sonstigercourtstringmax. 200 charactersfileNumberstringFile reference (Aktenzeichen)max. 80 charactersdatestring (date)Date (YYYY-MM-DD)servedAtstring (date)DeliveryenforceableAtstring (date)Enforceable copy (vollstreckbare Ausfertigung)notesstringmax. 2000 characters
interestDebtInterestrequiredhasInstallmentPlanbooleanrequiredlastReminderSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)lastLetterSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)createdAtstring (date-time)requiredTimestamp (ISO 8601)updatedAtstring (date-time)requiredTimestamp (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/debts' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"contactId": "string",
"amountCents": 0,
"description": "string",
"dueDate": "2026-11-01",
"reference": "string",
"clientId": "string",
"notes": "string",
"autoPostal": false,
"interest": {
"mode": "none"
}
}'{
"id": "string",
"object": "debt",
"contactId": "string",
"contactName": "string",
"clientId": "string",
"description": "string",
"reference": "string",
"source": "manual",
"invoiceId": "string",
"invoiceNumber": "string",
"currency": "EUR",
"principalCents": 0,
"costsCents": 0,
"paidCents": 0,
"openCents": 0,
"status": "open",
"overdue": false,
"dueDate": "2026-11-01",
"paidAt": "2026-11-01T09:30:00.000Z",
"phase": "new",
"courtStatus": "pending",
"enforcementStatus": "monitoring",
"isTitled": false,
"inCourt": false,
"reminderLevel": 0,
"followUpDate": "2026-11-01",
"autoPostal": false,
"notes": "string",
"title": {
"type": "vollstreckungsbescheid",
"court": "string",
"fileNumber": "string",
"date": "2026-11-01",
"servedAt": "2026-11-01",
"enforceableAt": "2026-11-01",
"notes": "string"
},
"interest": {
"mode": "none"
},
"hasInstallmentPlan": false,
"lastReminderSentAt": "2026-11-01T09:30:00.000Z",
"lastLetterSentAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/debts/{id}Permission: debts:read
Path parameters
idstringrequiredResource IDmax. 128 characters
Response 200 · Debt
idstringrequiredobject"debt"requiredcontactIdstringrequiredcontactNamestringrequiredclientIdstring | nullrequireddescriptionstringrequiredreferencestringrequiredsource"manual" | "invoice"requiredinvoice = handed over to dunning from an invoiceinvoiceIdstring | nullrequiredInvoice the debt originates from – payments are reconciledinvoiceNumberstring | nullrequiredcurrency"EUR"requiredprincipalCentsintegerrequiredPrincipal amount-100000000000–100000000000costsCentsintegerrequiredTotal costs-100000000000–100000000000paidCentsintegerrequiredTotal payments including instalments-100000000000–100000000000openCentsintegerrequiredOutstanding: principal + costs − payments (0 if paid)-100000000000–100000000000status"open" | "paid"requiredoverduebooleanrequireddueDatestring (date) | nullrequiredDate (YYYY-MM-DD)paidAtstring (date-time) | nullrequiredTimestamp (ISO 8601)phaseenumrequiredValues: new, reminder1, reminder2, reminder3, waiting, paymentplan, court, titled, enforcement, completedcourtStatus"pending" | "objection" | "hearing" | "judgment" | "appeal" | nullrequiredenforcementStatusenum | nullrequiredValues: monitoring, asset_disclosure, bank_attachment, property_attachment, wage_attachment, vehicle_attachment, completedisTitledbooleanrequiredEnforceable title (Vollstreckungstitel) exists (flag; details in `title`)inCourtbooleanrequiredCourt proceedings pending (flag)reminderLevelintegerrequired0–3followUpDatestring (date) | nullrequiredFollow-up (Wiedervorlage)autoPostalboolean | nullrequiredSend dunning letters automatically by post (null = default)notesstringrequiredtitleDebtTitle | nullrequiredtypeenumrequiredValues: vollstreckungsbescheid, urteil, versaeumnisurteil, vergleich, kostenfestsetzungsbeschluss, notarielle_urkunde, sonstigercourtstringmax. 200 charactersfileNumberstringFile reference (Aktenzeichen)max. 80 charactersdatestring (date)Date (YYYY-MM-DD)servedAtstring (date)DeliveryenforceableAtstring (date)Enforceable copy (vollstreckbare Ausfertigung)notesstringmax. 2000 characters
interestDebtInterestrequiredhasInstallmentPlanbooleanrequiredlastReminderSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)lastLetterSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)createdAtstring (date-time)requiredTimestamp (ISO 8601)updatedAtstring (date-time)requiredTimestamp (ISO 8601)
curl 'https://www.debt-flow.io/api/v1/debts/ID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"object": "debt",
"contactId": "string",
"contactName": "string",
"clientId": "string",
"description": "string",
"reference": "string",
"source": "manual",
"invoiceId": "string",
"invoiceNumber": "string",
"currency": "EUR",
"principalCents": 0,
"costsCents": 0,
"paidCents": 0,
"openCents": 0,
"status": "open",
"overdue": false,
"dueDate": "2026-11-01",
"paidAt": "2026-11-01T09:30:00.000Z",
"phase": "new",
"courtStatus": "pending",
"enforcementStatus": "monitoring",
"isTitled": false,
"inCourt": false,
"reminderLevel": 0,
"followUpDate": "2026-11-01",
"autoPostal": false,
"notes": "string",
"title": {
"type": "vollstreckungsbescheid",
"court": "string",
"fileNumber": "string",
"date": "2026-11-01",
"servedAt": "2026-11-01",
"enforceableAt": "2026-11-01",
"notes": "string"
},
"interest": {
"mode": "none"
},
"hasInstallmentPlan": false,
"lastReminderSentAt": "2026-11-01T09:30:00.000Z",
"lastLetterSentAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/debts/{id}Master data, follow-up date, client, enforceable title (title) and interest (interest). Change the phase via POST /debts/{id}/phase and the paid status via /mark-paid or /mark-unpaid respectively.
Permission: debts:write
Path parameters
idstringrequiredResource IDmax. 128 characters
Body (JSON) · DebtUpdate
descriptionstringmax. 1000 charactersamountCentsintegerAmount in cents0–100000000000dueDatestring (date)Date (YYYY-MM-DD)followUpDatestring (date) | nullDate (YYYY-MM-DD)referencestringmax. 100 charactersnotesstringmax. 10000 charactersautoPostalboolean | nullreminderLevelinteger0–3clientIdstring | nullmax. 128 charactersisTitledbooleaninCourtbooleantitleDebtTitle | nullRecord enforceable title (null removes it)typeenumrequiredValues: vollstreckungsbescheid, urteil, versaeumnisurteil, vergleich, kostenfestsetzungsbeschluss, notarielle_urkunde, sonstigercourtstringmax. 200 charactersfileNumberstringFile reference (Aktenzeichen)max. 80 charactersdatestring (date)Date (YYYY-MM-DD)servedAtstring (date)DeliveryenforceableAtstring (date)Enforceable copy (vollstreckbare Ausfertigung)notesstringmax. 2000 characters
interestDebtInterest
Response 200 · Debt
idstringrequiredobject"debt"requiredcontactIdstringrequiredcontactNamestringrequiredclientIdstring | nullrequireddescriptionstringrequiredreferencestringrequiredsource"manual" | "invoice"requiredinvoice = handed over to dunning from an invoiceinvoiceIdstring | nullrequiredInvoice the debt originates from – payments are reconciledinvoiceNumberstring | nullrequiredcurrency"EUR"requiredprincipalCentsintegerrequiredPrincipal amount-100000000000–100000000000costsCentsintegerrequiredTotal costs-100000000000–100000000000paidCentsintegerrequiredTotal payments including instalments-100000000000–100000000000openCentsintegerrequiredOutstanding: principal + costs − payments (0 if paid)-100000000000–100000000000status"open" | "paid"requiredoverduebooleanrequireddueDatestring (date) | nullrequiredDate (YYYY-MM-DD)paidAtstring (date-time) | nullrequiredTimestamp (ISO 8601)phaseenumrequiredValues: new, reminder1, reminder2, reminder3, waiting, paymentplan, court, titled, enforcement, completedcourtStatus"pending" | "objection" | "hearing" | "judgment" | "appeal" | nullrequiredenforcementStatusenum | nullrequiredValues: monitoring, asset_disclosure, bank_attachment, property_attachment, wage_attachment, vehicle_attachment, completedisTitledbooleanrequiredEnforceable title (Vollstreckungstitel) exists (flag; details in `title`)inCourtbooleanrequiredCourt proceedings pending (flag)reminderLevelintegerrequired0–3followUpDatestring (date) | nullrequiredFollow-up (Wiedervorlage)autoPostalboolean | nullrequiredSend dunning letters automatically by post (null = default)notesstringrequiredtitleDebtTitle | nullrequiredtypeenumrequiredValues: vollstreckungsbescheid, urteil, versaeumnisurteil, vergleich, kostenfestsetzungsbeschluss, notarielle_urkunde, sonstigercourtstringmax. 200 charactersfileNumberstringFile reference (Aktenzeichen)max. 80 charactersdatestring (date)Date (YYYY-MM-DD)servedAtstring (date)DeliveryenforceableAtstring (date)Enforceable copy (vollstreckbare Ausfertigung)notesstringmax. 2000 characters
interestDebtInterestrequiredhasInstallmentPlanbooleanrequiredlastReminderSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)lastLetterSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)createdAtstring (date-time)requiredTimestamp (ISO 8601)updatedAtstring (date-time)requiredTimestamp (ISO 8601)
curl -X PATCH 'https://www.debt-flow.io/api/v1/debts/ID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"description": "string",
"amountCents": 0,
"dueDate": "2026-11-01",
"followUpDate": "2026-11-01",
"reference": "string",
"notes": "string",
"autoPostal": false,
"reminderLevel": 0,
"clientId": "string",
"isTitled": false,
"inCourt": false,
"title": {
"type": "vollstreckungsbescheid",
"court": "string",
"fileNumber": "string",
"date": "2026-11-01",
"servedAt": "2026-11-01",
"enforceableAt": "2026-11-01",
"notes": "string"
},
"interest": {
"mode": "none"
}
}'{
"id": "string",
"object": "debt",
"contactId": "string",
"contactName": "string",
"clientId": "string",
"description": "string",
"reference": "string",
"source": "manual",
"invoiceId": "string",
"invoiceNumber": "string",
"currency": "EUR",
"principalCents": 0,
"costsCents": 0,
"paidCents": 0,
"openCents": 0,
"status": "open",
"overdue": false,
"dueDate": "2026-11-01",
"paidAt": "2026-11-01T09:30:00.000Z",
"phase": "new",
"courtStatus": "pending",
"enforcementStatus": "monitoring",
"isTitled": false,
"inCourt": false,
"reminderLevel": 0,
"followUpDate": "2026-11-01",
"autoPostal": false,
"notes": "string",
"title": {
"type": "vollstreckungsbescheid",
"court": "string",
"fileNumber": "string",
"date": "2026-11-01",
"servedAt": "2026-11-01",
"enforceableAt": "2026-11-01",
"notes": "string"
},
"interest": {
"mode": "none"
},
"hasInstallmentPlan": false,
"lastReminderSentAt": "2026-11-01T09:30:00.000Z",
"lastLetterSentAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/debts/{id}/api/v1/debts/{id}/costsPermission: debts:read
Path parameters
idstringrequiredResource IDmax. 128 characters
Response 200
object"list"requireddataArray<DebtCost>requiredidstringrequiredobject"cost"requireddebtIdstringrequiredamountCentsintegerrequiredAmount in cents-100000000000–100000000000datestring (date) | nullrequiredDate (YYYY-MM-DD)costTypestringrequireddescriptionstringrequiredinvoiceNumberstringrequiredisPaidbooleanrequiredisChargeablebooleanrequiredRecoverable (borne by the debtor)interestBearingbooleanrequiredIncluded in the interest calculation
curl 'https://www.debt-flow.io/api/v1/debts/ID/costs' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"object": "list",
"data": [
{
"id": "string",
"object": "cost",
"debtId": "string",
"amountCents": 0,
"date": "2026-11-01",
"costType": "string",
"description": "string",
"invoiceNumber": "string",
"isPaid": false,
"isChargeable": false,
"interestBearing": false
}
]
}/api/v1/debts/{id}/costsDunning, court, lawyer's or enforcement costs. Increases the outstanding amount.
Permission: debts:write
Path parameters
idstringrequiredResource IDmax. 128 characters
Headers
Idempotency-KeystringUnique key (8–255 characters). Repeated requests with the same key return the same response for 24 h.max. 255 characters
Body (JSON) · DebtCostCreate
amountCentsintegerrequiredAmount in cents0–100000000000costTypestringrequirede.g. dunning_fee, court_fee, lawyer_fee, bailiff_fee, othermax. 60 charactersdescriptionstringrequiredmax. 500 charactersdatestring (date)Date (YYYY-MM-DD)invoiceNumberstringmax. 60 charactersisPaidbooleanisChargeablebooleaninterestBearingboolean
Response 201 · DebtCost
idstringrequiredobject"cost"requireddebtIdstringrequiredamountCentsintegerrequiredAmount in cents-100000000000–100000000000datestring (date) | nullrequiredDate (YYYY-MM-DD)costTypestringrequireddescriptionstringrequiredinvoiceNumberstringrequiredisPaidbooleanrequiredisChargeablebooleanrequiredRecoverable (borne by the debtor)interestBearingbooleanrequiredIncluded in the interest calculation
curl -X POST 'https://www.debt-flow.io/api/v1/debts/ID/costs' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"amountCents": 0,
"costType": "string",
"description": "string",
"date": "2026-11-01",
"invoiceNumber": "string",
"isPaid": false,
"isChargeable": false,
"interestBearing": false
}'{
"id": "string",
"object": "cost",
"debtId": "string",
"amountCents": 0,
"date": "2026-11-01",
"costType": "string",
"description": "string",
"invoiceNumber": "string",
"isPaid": false,
"isChargeable": false,
"interestBearing": false
}/api/v1/debts/{id}/costs/{costId}Permission: debts:write
Path parameters
idstringrequiredmax. 128 characterscostIdstringrequiredmax. 128 characters
Response 204
Success, no content
curl -X DELETE 'https://www.debt-flow.io/api/v1/debts/ID/costs/COSTID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"/api/v1/debts/{id}/historyLog of all actions (phase changes, payments, letters …), newest first.
Permission: debts:read
Path parameters
idstringrequiredResource IDmax. 128 characters
Response 200
object"list"requireddataArray<DebtHistoryEntry>requiredidstringrequiredactionstringrequireddetailsstringrequiredperformedBystring | nullrequiredcreatedAtstring (date-time)requiredTimestamp (ISO 8601)
curl 'https://www.debt-flow.io/api/v1/debts/ID/history' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"object": "list",
"data": [
{
"id": "string",
"action": "string",
"details": "string",
"performedBy": "string",
"createdAt": "2026-11-01T09:30:00.000Z"
}
]
}/api/v1/debts/{id}/mark-paidSets the phase to completed (the previous phase is remembered). Event debt.paid.
Permission: debts:write
Path parameters
idstringrequiredResource IDmax. 128 characters
Headers
Idempotency-KeystringUnique key (8–255 characters). Repeated requests with the same key return the same response for 24 h.max. 255 characters
Response 200 · Debt
idstringrequiredobject"debt"requiredcontactIdstringrequiredcontactNamestringrequiredclientIdstring | nullrequireddescriptionstringrequiredreferencestringrequiredsource"manual" | "invoice"requiredinvoice = handed over to dunning from an invoiceinvoiceIdstring | nullrequiredInvoice the debt originates from – payments are reconciledinvoiceNumberstring | nullrequiredcurrency"EUR"requiredprincipalCentsintegerrequiredPrincipal amount-100000000000–100000000000costsCentsintegerrequiredTotal costs-100000000000–100000000000paidCentsintegerrequiredTotal payments including instalments-100000000000–100000000000openCentsintegerrequiredOutstanding: principal + costs − payments (0 if paid)-100000000000–100000000000status"open" | "paid"requiredoverduebooleanrequireddueDatestring (date) | nullrequiredDate (YYYY-MM-DD)paidAtstring (date-time) | nullrequiredTimestamp (ISO 8601)phaseenumrequiredValues: new, reminder1, reminder2, reminder3, waiting, paymentplan, court, titled, enforcement, completedcourtStatus"pending" | "objection" | "hearing" | "judgment" | "appeal" | nullrequiredenforcementStatusenum | nullrequiredValues: monitoring, asset_disclosure, bank_attachment, property_attachment, wage_attachment, vehicle_attachment, completedisTitledbooleanrequiredEnforceable title (Vollstreckungstitel) exists (flag; details in `title`)inCourtbooleanrequiredCourt proceedings pending (flag)reminderLevelintegerrequired0–3followUpDatestring (date) | nullrequiredFollow-up (Wiedervorlage)autoPostalboolean | nullrequiredSend dunning letters automatically by post (null = default)notesstringrequiredtitleDebtTitle | nullrequiredtypeenumrequiredValues: vollstreckungsbescheid, urteil, versaeumnisurteil, vergleich, kostenfestsetzungsbeschluss, notarielle_urkunde, sonstigercourtstringmax. 200 charactersfileNumberstringFile reference (Aktenzeichen)max. 80 charactersdatestring (date)Date (YYYY-MM-DD)servedAtstring (date)DeliveryenforceableAtstring (date)Enforceable copy (vollstreckbare Ausfertigung)notesstringmax. 2000 characters
interestDebtInterestrequiredhasInstallmentPlanbooleanrequiredlastReminderSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)lastLetterSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)createdAtstring (date-time)requiredTimestamp (ISO 8601)updatedAtstring (date-time)requiredTimestamp (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/debts/ID/mark-paid' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"object": "debt",
"contactId": "string",
"contactName": "string",
"clientId": "string",
"description": "string",
"reference": "string",
"source": "manual",
"invoiceId": "string",
"invoiceNumber": "string",
"currency": "EUR",
"principalCents": 0,
"costsCents": 0,
"paidCents": 0,
"openCents": 0,
"status": "open",
"overdue": false,
"dueDate": "2026-11-01",
"paidAt": "2026-11-01T09:30:00.000Z",
"phase": "new",
"courtStatus": "pending",
"enforcementStatus": "monitoring",
"isTitled": false,
"inCourt": false,
"reminderLevel": 0,
"followUpDate": "2026-11-01",
"autoPostal": false,
"notes": "string",
"title": {
"type": "vollstreckungsbescheid",
"court": "string",
"fileNumber": "string",
"date": "2026-11-01",
"servedAt": "2026-11-01",
"enforceableAt": "2026-11-01",
"notes": "string"
},
"interest": {
"mode": "none"
},
"hasInstallmentPlan": false,
"lastReminderSentAt": "2026-11-01T09:30:00.000Z",
"lastLetterSentAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/debts/{id}/mark-unpaidRestores the phase that applied before it was marked as paid.
Permission: debts:write
Path parameters
idstringrequiredResource IDmax. 128 characters
Headers
Idempotency-KeystringUnique key (8–255 characters). Repeated requests with the same key return the same response for 24 h.max. 255 characters
Response 200 · Debt
idstringrequiredobject"debt"requiredcontactIdstringrequiredcontactNamestringrequiredclientIdstring | nullrequireddescriptionstringrequiredreferencestringrequiredsource"manual" | "invoice"requiredinvoice = handed over to dunning from an invoiceinvoiceIdstring | nullrequiredInvoice the debt originates from – payments are reconciledinvoiceNumberstring | nullrequiredcurrency"EUR"requiredprincipalCentsintegerrequiredPrincipal amount-100000000000–100000000000costsCentsintegerrequiredTotal costs-100000000000–100000000000paidCentsintegerrequiredTotal payments including instalments-100000000000–100000000000openCentsintegerrequiredOutstanding: principal + costs − payments (0 if paid)-100000000000–100000000000status"open" | "paid"requiredoverduebooleanrequireddueDatestring (date) | nullrequiredDate (YYYY-MM-DD)paidAtstring (date-time) | nullrequiredTimestamp (ISO 8601)phaseenumrequiredValues: new, reminder1, reminder2, reminder3, waiting, paymentplan, court, titled, enforcement, completedcourtStatus"pending" | "objection" | "hearing" | "judgment" | "appeal" | nullrequiredenforcementStatusenum | nullrequiredValues: monitoring, asset_disclosure, bank_attachment, property_attachment, wage_attachment, vehicle_attachment, completedisTitledbooleanrequiredEnforceable title (Vollstreckungstitel) exists (flag; details in `title`)inCourtbooleanrequiredCourt proceedings pending (flag)reminderLevelintegerrequired0–3followUpDatestring (date) | nullrequiredFollow-up (Wiedervorlage)autoPostalboolean | nullrequiredSend dunning letters automatically by post (null = default)notesstringrequiredtitleDebtTitle | nullrequiredtypeenumrequiredValues: vollstreckungsbescheid, urteil, versaeumnisurteil, vergleich, kostenfestsetzungsbeschluss, notarielle_urkunde, sonstigercourtstringmax. 200 charactersfileNumberstringFile reference (Aktenzeichen)max. 80 charactersdatestring (date)Date (YYYY-MM-DD)servedAtstring (date)DeliveryenforceableAtstring (date)Enforceable copy (vollstreckbare Ausfertigung)notesstringmax. 2000 characters
interestDebtInterestrequiredhasInstallmentPlanbooleanrequiredlastReminderSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)lastLetterSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)createdAtstring (date-time)requiredTimestamp (ISO 8601)updatedAtstring (date-time)requiredTimestamp (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/debts/ID/mark-unpaid' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"object": "debt",
"contactId": "string",
"contactName": "string",
"clientId": "string",
"description": "string",
"reference": "string",
"source": "manual",
"invoiceId": "string",
"invoiceNumber": "string",
"currency": "EUR",
"principalCents": 0,
"costsCents": 0,
"paidCents": 0,
"openCents": 0,
"status": "open",
"overdue": false,
"dueDate": "2026-11-01",
"paidAt": "2026-11-01T09:30:00.000Z",
"phase": "new",
"courtStatus": "pending",
"enforcementStatus": "monitoring",
"isTitled": false,
"inCourt": false,
"reminderLevel": 0,
"followUpDate": "2026-11-01",
"autoPostal": false,
"notes": "string",
"title": {
"type": "vollstreckungsbescheid",
"court": "string",
"fileNumber": "string",
"date": "2026-11-01",
"servedAt": "2026-11-01",
"enforceableAt": "2026-11-01",
"notes": "string"
},
"interest": {
"mode": "none"
},
"hasInstallmentPlan": false,
"lastReminderSentAt": "2026-11-01T09:30:00.000Z",
"lastLetterSentAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/debts/{id}/messagesPermission: debts:read
Path parameters
idstringrequiredResource IDmax. 128 characters
Response 200
object"list"requireddataArray<DebtMessage>requiredidstringrequiredobject"debt_message"requireddebtIdstringrequiredtypestringrequirednote, email, phone, letter …textstringrequiredsentToEmailstring | nullrequiredsentBystringrequiredcreatedAtstring (date-time)requiredTimestamp (ISO 8601)
curl 'https://www.debt-flow.io/api/v1/debts/ID/messages' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"object": "list",
"data": [
{
"id": "string",
"object": "debt_message",
"debtId": "string",
"type": "string",
"text": "string",
"sentToEmail": "string",
"sentBy": "string",
"createdAt": "2026-11-01T09:30:00.000Z"
}
]
}/api/v1/debts/{id}/messagesRecord a note, phone call, email or similar. Nothing is sent.
Permission: debts:write
Path parameters
idstringrequiredResource IDmax. 128 characters
Headers
Idempotency-KeystringUnique key (8–255 characters). Repeated requests with the same key return the same response for 24 h.max. 255 characters
Body (JSON) · DebtMessageCreate
typeenumrequiredValues: note, email, phone, sms, letter, meeting, othertextstringrequiredmax. 10000 characterssentToEmailstring (email)max. 254 characters
Response 201 · DebtMessage
idstringrequiredobject"debt_message"requireddebtIdstringrequiredtypestringrequirednote, email, phone, letter …textstringrequiredsentToEmailstring | nullrequiredsentBystringrequiredcreatedAtstring (date-time)requiredTimestamp (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/debts/ID/messages' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"type": "note",
"text": "string",
"sentToEmail": "[email protected]"
}'{
"id": "string",
"object": "debt_message",
"debtId": "string",
"type": "string",
"text": "string",
"sentToEmail": "string",
"sentBy": "string",
"createdAt": "2026-11-01T09:30:00.000Z"
}/api/v1/debts/{id}/phasePhases: new → reminder1/2/3 → waiting → paymentplan → court (courtStatus) → titled → enforcement (enforcementStatus) → completed. Event debt.phase_changed with the previous phase in data.previous.
Permission: debts:write
Path parameters
idstringrequiredResource IDmax. 128 characters
Headers
Idempotency-KeystringUnique key (8–255 characters). Repeated requests with the same key return the same response for 24 h.max. 255 characters
Body (JSON) · DebtPhaseChange
phaseenumrequiredValues: new, reminder1, reminder2, reminder3, waiting, paymentplan, court, titled, enforcement, completedcourtStatus"pending" | "objection" | "hearing" | "judgment" | "appeal"only if phase=courtenforcementStatusenumonly if phase=enforcementValues: monitoring, asset_disclosure, bank_attachment, property_attachment, wage_attachment, vehicle_attachment, completed
Response 200 · Debt
idstringrequiredobject"debt"requiredcontactIdstringrequiredcontactNamestringrequiredclientIdstring | nullrequireddescriptionstringrequiredreferencestringrequiredsource"manual" | "invoice"requiredinvoice = handed over to dunning from an invoiceinvoiceIdstring | nullrequiredInvoice the debt originates from – payments are reconciledinvoiceNumberstring | nullrequiredcurrency"EUR"requiredprincipalCentsintegerrequiredPrincipal amount-100000000000–100000000000costsCentsintegerrequiredTotal costs-100000000000–100000000000paidCentsintegerrequiredTotal payments including instalments-100000000000–100000000000openCentsintegerrequiredOutstanding: principal + costs − payments (0 if paid)-100000000000–100000000000status"open" | "paid"requiredoverduebooleanrequireddueDatestring (date) | nullrequiredDate (YYYY-MM-DD)paidAtstring (date-time) | nullrequiredTimestamp (ISO 8601)phaseenumrequiredValues: new, reminder1, reminder2, reminder3, waiting, paymentplan, court, titled, enforcement, completedcourtStatus"pending" | "objection" | "hearing" | "judgment" | "appeal" | nullrequiredenforcementStatusenum | nullrequiredValues: monitoring, asset_disclosure, bank_attachment, property_attachment, wage_attachment, vehicle_attachment, completedisTitledbooleanrequiredEnforceable title (Vollstreckungstitel) exists (flag; details in `title`)inCourtbooleanrequiredCourt proceedings pending (flag)reminderLevelintegerrequired0–3followUpDatestring (date) | nullrequiredFollow-up (Wiedervorlage)autoPostalboolean | nullrequiredSend dunning letters automatically by post (null = default)notesstringrequiredtitleDebtTitle | nullrequiredtypeenumrequiredValues: vollstreckungsbescheid, urteil, versaeumnisurteil, vergleich, kostenfestsetzungsbeschluss, notarielle_urkunde, sonstigercourtstringmax. 200 charactersfileNumberstringFile reference (Aktenzeichen)max. 80 charactersdatestring (date)Date (YYYY-MM-DD)servedAtstring (date)DeliveryenforceableAtstring (date)Enforceable copy (vollstreckbare Ausfertigung)notesstringmax. 2000 characters
interestDebtInterestrequiredhasInstallmentPlanbooleanrequiredlastReminderSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)lastLetterSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)createdAtstring (date-time)requiredTimestamp (ISO 8601)updatedAtstring (date-time)requiredTimestamp (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/debts/ID/phase' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"phase": "new",
"courtStatus": "pending",
"enforcementStatus": "monitoring"
}'{
"id": "string",
"object": "debt",
"contactId": "string",
"contactName": "string",
"clientId": "string",
"description": "string",
"reference": "string",
"source": "manual",
"invoiceId": "string",
"invoiceNumber": "string",
"currency": "EUR",
"principalCents": 0,
"costsCents": 0,
"paidCents": 0,
"openCents": 0,
"status": "open",
"overdue": false,
"dueDate": "2026-11-01",
"paidAt": "2026-11-01T09:30:00.000Z",
"phase": "new",
"courtStatus": "pending",
"enforcementStatus": "monitoring",
"isTitled": false,
"inCourt": false,
"reminderLevel": 0,
"followUpDate": "2026-11-01",
"autoPostal": false,
"notes": "string",
"title": {
"type": "vollstreckungsbescheid",
"court": "string",
"fileNumber": "string",
"date": "2026-11-01",
"servedAt": "2026-11-01",
"enforceableAt": "2026-11-01",
"notes": "string"
},
"interest": {
"mode": "none"
},
"hasInstallmentPlan": false,
"lastReminderSentAt": "2026-11-01T09:30:00.000Z",
"lastLetterSentAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/debts/{id}/statementStatement as at the reference date with default interest calculated to the day (base rate + 5/9 percentage points or a fixed rate), allocation order costs → interest → principal (§ 367 BGB).
Permission: debts:read
Path parameters
idstringrequiredResource IDmax. 128 characters
Query parameters
untilstring (date)Reference date, default: today
Response 200 · DebtStatement
untilstring (date)requiredDate (YYYY-MM-DD)rateLabelstringrequiredprincipalCentsintegerrequiredAmount in cents-100000000000–100000000000costsCentsintegerrequiredAmount in cents-100000000000–100000000000interestCentsintegerrequiredAmount in cents-100000000000–100000000000paymentsCentsintegerrequiredAmount in cents-100000000000–100000000000openobjectrequiredprincipalCentsintegerrequiredAmount in cents-100000000000–100000000000interestCentsintegerrequiredAmount in cents-100000000000–100000000000costsCentsintegerrequiredAmount in cents-100000000000–100000000000totalCentsintegerrequiredAmount in cents-100000000000–100000000000
interestRowsArray<object>requiredfromstring (date)requiredDate (YYYY-MM-DD)tostring (date)requiredDate (YYYY-MM-DD)daysintegerrequired-9007199254740991–9007199254740991ratenumberrequiredbasisCentsintegerrequiredAmount in cents-100000000000–100000000000amountCentsintegerrequiredAmount in cents-100000000000–100000000000on"principal" | "costs"required
paymentRowsArray<object>requireddatestring (date)requiredDate (YYYY-MM-DD)amountCentsintegerrequiredAmount in cents-100000000000–100000000000labelstring | nullrequiredtoCostsCentsintegerrequiredAmount in cents-100000000000–100000000000toInterestCentsintegerrequiredAmount in cents-100000000000–100000000000toPrincipalCentsintegerrequiredAmount in cents-100000000000–100000000000surplusCentsintegerrequiredAmount in cents-100000000000–100000000000
costsArray<object>requireddatestring (date)requiredDate (YYYY-MM-DD)amountCentsintegerrequiredAmount in cents-100000000000–100000000000labelstringrequiredinterestBearingbooleanrequired
warningsArray<string>required
curl 'https://www.debt-flow.io/api/v1/debts/ID/statement' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"until": "2026-11-01",
"rateLabel": "string",
"principalCents": 0,
"costsCents": 0,
"interestCents": 0,
"paymentsCents": 0,
"open": {
"principalCents": 0,
"interestCents": 0,
"costsCents": 0,
"totalCents": 0
},
"interestRows": [
{
"from": "2026-11-01",
"to": "2026-11-01",
"days": 0,
"rate": 0,
"basisCents": 0,
"amountCents": 0,
"on": "principal"
}
],
"paymentRows": [
{
"date": "2026-11-01",
"amountCents": 0,
"label": "string",
"toCostsCents": 0,
"toInterestCents": 0,
"toPrincipalCents": 0,
"surplusCents": 0
}
],
"costs": [
{
"date": "2026-11-01",
"amountCents": 0,
"label": "string",
"interestBearing": false
}
],
"warnings": [
"string"
]
}/api/v1/interest-calculationsCalculates a statement of debt from the values provided, without saving anything. The Bundesbank base interest rates are built in.
Permission: debts:read
Body (JSON) · InterestCalculation
principalCentsintegerrequiredAmount in cents0–100000000000interestDebtInterestrequireduntilstring (date)requiredReference date (inclusive)costsArray<object>datestring (date)requiredDate (YYYY-MM-DD)amountCentsintegerrequiredAmount in cents0–100000000000labelstringmax. 200 characters · Default: "Kosten"interestBearingbooleanDefault: false
paymentsArray<object>datestring (date)requiredDate (YYYY-MM-DD)amountCentsintegerrequiredAmount in cents0–100000000000labelstringmax. 200 characters
Response 200 · DebtStatement
untilstring (date)requiredDate (YYYY-MM-DD)rateLabelstringrequiredprincipalCentsintegerrequiredAmount in cents-100000000000–100000000000costsCentsintegerrequiredAmount in cents-100000000000–100000000000interestCentsintegerrequiredAmount in cents-100000000000–100000000000paymentsCentsintegerrequiredAmount in cents-100000000000–100000000000openobjectrequiredprincipalCentsintegerrequiredAmount in cents-100000000000–100000000000interestCentsintegerrequiredAmount in cents-100000000000–100000000000costsCentsintegerrequiredAmount in cents-100000000000–100000000000totalCentsintegerrequiredAmount in cents-100000000000–100000000000
interestRowsArray<object>requiredfromstring (date)requiredDate (YYYY-MM-DD)tostring (date)requiredDate (YYYY-MM-DD)daysintegerrequired-9007199254740991–9007199254740991ratenumberrequiredbasisCentsintegerrequiredAmount in cents-100000000000–100000000000amountCentsintegerrequiredAmount in cents-100000000000–100000000000on"principal" | "costs"required
paymentRowsArray<object>requireddatestring (date)requiredDate (YYYY-MM-DD)amountCentsintegerrequiredAmount in cents-100000000000–100000000000labelstring | nullrequiredtoCostsCentsintegerrequiredAmount in cents-100000000000–100000000000toInterestCentsintegerrequiredAmount in cents-100000000000–100000000000toPrincipalCentsintegerrequiredAmount in cents-100000000000–100000000000surplusCentsintegerrequiredAmount in cents-100000000000–100000000000
costsArray<object>requireddatestring (date)requiredDate (YYYY-MM-DD)amountCentsintegerrequiredAmount in cents-100000000000–100000000000labelstringrequiredinterestBearingbooleanrequired
warningsArray<string>required
curl -X POST 'https://www.debt-flow.io/api/v1/interest-calculations' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"principalCents": 0,
"interest": {
"mode": "none"
},
"until": "2026-11-01",
"costs": [],
"payments": []
}'{
"until": "2026-11-01",
"rateLabel": "string",
"principalCents": 0,
"costsCents": 0,
"interestCents": 0,
"paymentsCents": 0,
"open": {
"principalCents": 0,
"interestCents": 0,
"costsCents": 0,
"totalCents": 0
},
"interestRows": [
{
"from": "2026-11-01",
"to": "2026-11-01",
"days": 0,
"rate": 0,
"basisCents": 0,
"amountCents": 0,
"on": "principal"
}
],
"paymentRows": [
{
"date": "2026-11-01",
"amountCents": 0,
"label": "string",
"toCostsCents": 0,
"toInterestCents": 0,
"toPrincipalCents": 0,
"surplusCents": 0
}
],
"costs": [
{
"date": "2026-11-01",
"amountCents": 0,
"label": "string",
"interestBearing": false
}
],
"warnings": [
"string"
]
}/api/v1/reports/receivablesKey figures as on the dashboard home page: totals, overdue debts, instalments due in the next 7 days, latest payments, incoming payments of the last 6 months and distribution by phase.
Permission: debts:read
Response 200 · ReceivablesSummary
object"receivables_summary"requiredstatsobjectrequiredtotalCentsintegerrequiredSum of all principal amounts-100000000000–100000000000contactCountintegerrequired-9007199254740991–9007199254740991openCentsintegerrequiredOutstanding including costs less payments-100000000000–100000000000overdueCentsintegerrequiredAmount in cents-100000000000–100000000000overdueCountintegerrequired-9007199254740991–9007199254740991incomeThisMonthCentsintegerrequiredAmount in cents-100000000000–100000000000activeDebtsintegerrequired-9007199254740991–9007199254740991
overdueDebtsArray<object>requireddebtIdstringrequiredcontactIdstringrequiredcontactNamestringrequireddescriptionstringrequiredopenCentsintegerrequiredAmount in cents-100000000000–100000000000dueDatestring (date) | nullrequiredDate (YYYY-MM-DD)daysOverdueintegerrequired-9007199254740991–9007199254740991
upcomingInstallmentsArray<object>requireddebtIdstringrequiredinstallmentPlanIdstringrequiredcontactNamestringrequireddescriptionstringrequiredamountCentsintegerrequiredAmount in cents-100000000000–100000000000dueDatestring (date)requiredDate (YYYY-MM-DD)
recentPaymentsArray<object>requiredidstringrequireddebtIdstringrequiredcontactIdstringrequiredcontactNamestringrequireddescriptionstringrequiredamountCentsintegerrequiredAmount in cents-100000000000–100000000000datestring (date) | nullrequiredDate (YYYY-MM-DD)type"single" | "installment"required
incomeByMonthArray<object>requiredmonthstringrequiredYYYY-MMamountCentsintegerrequiredAmount in cents-100000000000–100000000000
phasesArray<object>requiredphasestringrequiredcountintegerrequired-9007199254740991–9007199254740991openCentsintegerrequiredAmount in cents-100000000000–100000000000
onboardingobjectrequiredhasSenderAddressbooleanrequiredhasContactsbooleanrequiredhasDebtsbooleanrequiredautoDunningbooleanrequired
curl 'https://www.debt-flow.io/api/v1/reports/receivables' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"object": "receivables_summary",
"stats": {
"totalCents": 0,
"contactCount": 0,
"openCents": 0,
"overdueCents": 0,
"overdueCount": 0,
"incomeThisMonthCents": 0,
"activeDebts": 0
},
"overdueDebts": [
{
"debtId": "string",
"contactId": "string",
"contactName": "string",
"description": "string",
"openCents": 0,
"dueDate": "2026-11-01",
"daysOverdue": 0
}
],
"upcomingInstallments": [
{
"debtId": "string",
"installmentPlanId": "string",
"contactName": "string",
"description": "string",
"amountCents": 0,
"dueDate": "2026-11-01"
}
],
"recentPayments": [
{
"id": "string",
"debtId": "string",
"contactId": "string",
"contactName": "string",
"description": "string",
"amountCents": 0,
"date": "2026-11-01",
"type": "single"
}
],
"incomeByMonth": [
{
"month": "string",
"amountCents": 0
}
],
"phases": [
{
"phase": "string",
"count": 0,
"openCents": 0
}
],
"onboarding": {
"hasSenderAddress": false,
"hasContacts": false,
"hasDebts": false,
"autoDunning": false
}
}