Skip to content
Hardcount
Run it locally
Pre-1.0 · one maintainer · Stripe and cards only · no SDKs (client libraries) yet · no production users yet. Docs describe v0.9.1 (29 Oct 2026) · What’s new →

Get dunning totals

GET
/v1/dunning/stats
curl --request GET \
--url http://localhost:8080/v1/dunning/stats \
--header 'Authorization: Bearer <token>'

Counts of dunning runs by state, and the amount still due on active and escalated runs. The amount covers only invoices in the tenant’s default currency, named in currency.

Dunning totals.

Media typeapplication/json
object
active_count
required
integer
escalated_count
required
integer
resolved_count
required

Resolved runs, whatever closed them (a payment, a void or a write-off).

integer
recovered_count
required

Resolved runs that a payment closed (resolution is payment_recovered and the invoice has amount_paid_cents above 0). A run closed by a credit note or customer credit that left nothing due is resolved, not recovered.

integer
at_risk_cents
required

Amount due on active and escalated runs whose invoice is still open, in currency only. A voided or written-off invoice is not at risk.

integer format: int64
currency
required

The tenant’s default currency.

string
at_risk_by_currency
required

Amount due on active and escalated runs whose invoice is still open, one entry per currency. currency comes first, then the largest amount. Empty when no run is at risk.

Array<object>
object
currency
required
string
amount_cents
required
integer format: int64

Example generated

{
"active_count": 1,
"escalated_count": 1,
"resolved_count": 1,
"recovered_count": 1,
"at_risk_cents": 1,
"currency": "example",
"at_risk_by_currency": [
{
"currency": "example",
"amount_cents": 1
}
]
}