Dunning API

Dunning campaign, retry, configuration, communication, and payment-token endpoints.

Dunning endpoints manage failed-payment recovery.

Campaigns

GET /api/dunning/campaigns
GET /api/dunning/campaigns/{id}
PATCH /api/dunning/campaigns/{id}

Use PATCH to pause, resume, or cancel a campaign.

{ "status": "paused", "reason": "customer contacted support" }

Valid statuses are active, paused, and cancelled.

Attempts

GET /api/dunning/campaigns/{id}/attempts
POST /api/dunning/campaigns/{id}/attempts

POST triggers a manual retry. Include payment_method_id to retry with a specific payment method.

Communications

GET /api/dunning/campaigns/{id}/communications

Communication records show channel, provider, delivery status, template, and timestamps.

Configurations

GET /api/dunning/configurations
POST /api/dunning/configurations
GET /api/dunning/configurations/{id}
PATCH /api/dunning/configurations/{id}

Configurations define retry rules, escalation behavior, communication strategy, and payment-update token defaults.

Payment-update tokens

POST /api/admin/subscriptions/{id}/payment-tokens
POST /api/payment-tokens/verify
POST /api/payment-tokens/activate

Admin token creation is tied to a subscription. Customer-facing token verify and activate calls are used by the payment-update flow.

Customer history

GET /api/customers/{id}/dunning-history

Returns customer-level recovery totals and reliability fields.