Drippay Dunning API

Automatic retry + dunning email flow for failed payments. Configure a per-business retry schedule, list failed charges in collections, and manually re-trigger retries.

Operations 5

GET /v1/dunning/schedule Get the active dunning schedule #
PUT /v1/dunning/schedule Upsert the dunning schedule for this business #
GET /v1/collections List failed payments in collections #
GET /v1/collections/{id} Get a single failed payment #
POST /v1/collections/{id}/retry Manually retry a failed payment #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/drippay-dunning-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

drippay-dunning-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Drip Dunning API
  description: '# Drip API


    **Usage-based billing + execution ledger.**


    ---


    ## 60-Second Quickstart (Core SDK)


    ### 1.'
  version: 1.0.0
  contact:
    name: Drip Support
    email: support@drippay.dev
  x-logo:
    url: https://drippay.dev/logo.svg
    altText: Drip
servers:
- url: https://api.drippay.dev
  description: Production
- url: http://localhost:3001
  description: Development
security:
- bearerAuth: []
tags:
- name: Dunning
  description: Automatic retry + dunning email flow for failed payments. Configure a per-business retry schedule, list failed charges in collections, and manually re-trigger retries.
paths:
  /v1/dunning/schedule:
    get:
      operationId: getDunningSchedule
      summary: Get the active dunning schedule
      tags:
      - Dunning
      description: Returns the per-business retry schedule. Falls back to the system default when no custom schedule is configured.
      responses:
        '200':
          description: Default Response
    put:
      operationId: upsertDunningSchedule
      summary: Upsert the dunning schedule for this business
      tags:
      - Dunning
      description: 'Create or replace the retry schedule. `retries` is an ordered list of steps, each with a `dayOffset` (days after `firstFailedAt`), a `retryPayment` flag, and an optional `emailTemplate` (`dunning_first_notice` | `dunning_second_notice` | `dunning_final_notice`). Steps must be strictly increasing by `dayOffset`. Set `isActive: false` to disable automatic retries without losing the schedule — manual retries via `POST /collections/{id}/retry` still work.'
      responses:
        '200':
          description: Default Response
  /v1/collections:
    get:
      operationId: listCollections
      summary: List failed payments in collections
      tags:
      - Dunning
      description: Returns failed charges currently in the dunning pipeline. Filter by `status` (`OPEN`, `RETRYING`, `RESOLVED`, `ABANDONED`, `CANCELLED`) and/or `customerId`. Each row includes `retryAttempts`, `nextRetryAt`, and `lastRetryError` so you can surface collections state in your own UI.
      responses:
        '200':
          description: Default Response
  /v1/collections/{id}:
    get:
      operationId: getCollection
      summary: Get a single failed payment
      tags:
      - Dunning
      description: Returns full detail for one failed payment, including the underlying charge, customer, retry history, schedule snapshot, and resolution metadata.
      parameters:
      - schema:
          type: string
        in: path
        name: id
        required: true
      responses:
        '200':
          description: Default Response
  /v1/collections/{id}/retry:
    post:
      operationId: retryCollection
      summary: Manually retry a failed payment
      tags:
      - Dunning
      description: Shares the same logic as the scheduled dunning worker. Manual retries work even when the scheduler is disabled (isActive=false).
      parameters:
      - schema:
          type: string
        in: path
        name: id
        required: true
      responses:
        '200':
          description: Default Response
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: 'API key from Drip Dashboard. Format: `sk_live_...` or `sk_test_...`'