API Reference (Documentation)
Dunning LITE is primarily no-code (via Stripe OAuth). However, we expose a RESTful API for Studio plan developers who need to integrate metrics into their internal dashboards.
Executive Summary (TL;DR)
- •API secured with Bearer Tokens (JWT).
- •Generous rate limits (1,000 req/minute) for Studio plans.
- •100% typed payloads (TypeScript).
Secure Authentication (OAuth + Bearer Token)
99% of our customers will never need to touch an endpoint. When you click “Connect” on the site, we initiate a Stripe Connect flow in read-only mode (read_only). We NEVER gain the ability to charge on your behalf or see your customers' card numbers. It is purely observational.
Bearer JWT for Studio Plans
Studio plan users have access to a personal API token. Include it in the header of each request:
Authorization: Bearer <tu_token_studio>Public Dunning API Endpoints (Q3 Roadmap)
For agency and Studio plan users:
GET /v1/mrr/recovered
Returns a JSON object with the exact volume of recovered MRR per account during the specified period. Rate limit: 1,000 req/minute.
TypeScript Integration Examples
All Dunning API payloads are 100% typed. You can install the official types from npm or copy the interfaces directly from this documentation.
Fetching Recovered MRR
const res = await fetch('https://app.dunninglite.com/v1/mrr/recovered', {
headers: { Authorization: `Bearer ${process.env.DUNNING_LITE_API_TOKEN}` },
});
const data: MrrRecoveredResponse = await res.json();API FAQ
Do I need the API to use Dunning LITE?
No. The API is optional and only relevant for the Studio plan. The main payment recovery flow operates via Stripe OAuth with no code required.
What happens if I exceed the rate limit?
You will receive a 429 Too Many Requests response. The limit is 1,000 requests per minute per token. For agency integrations with higher volume, contact support.