Commerce & ops

Collections sequence

An overdue invoice → a ready-to-send collection sequence, escalating at the right pace and tone for how late it is.

POST /v1/dunning$0.08/sequence · 8 credits, charged only on success

Send this

{
  "invoice": {
    "number": "INV-10428",
    "amount": 1255.5,
    "dueDate": "2026-06-15",
    "daysOverdue": 23
  },
  "customer": {
    "name": "Northwind Coffee",
    "history": "Usually pays on time; second late invoice this year."
  },
  "steps": 3
}

Every response carries usage — the credits burned and your remaining balance. A failed call never burns credits.

Try it live against your own key in the interactive reference; every account gets 500 free credits a month, no card.

Get this back

{
  "sequence": [
    {
      "day": 0,
      "channel": "email",
      "subject": "Invoice INV-10428 — friendly nudge",
      "message": "Hi Northwind team…"
    },
    {
      "day": 7,
      "channel": "email",
      "subject": "Invoice INV-10428 is 30 days past due",
      "message": "…"
    }
  ],
  "escalationAdvice": "If unpaid after step 3, move to a payment plan offer before collections — history suggests goodwill.",
  "usage": {
    "credits": 8,
    "balanceRemaining": 347
  }
}

Four ways in. Same $0.08/sequence.

curl
curl https://api.kynth.studio/v1/dunning \
  -H "Authorization: Bearer ksk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"invoice":{"number":"INV-10428","amount":1255.5,"dueDate":"2026-06-15","daysOverdue":23},"customer":{"name":"Northwind Coffee","history":"Usually pays on time; second late invoice this year."},"steps":3}'
TypeScript
import { KynthCore } from "@kynth/api";

const kynth = new KynthCore({ apiKey: process.env.KYNTH_API_KEY! });
const result = await kynth.dunning({
  "invoice": {
    "number": "INV-10428",
    "amount": 1255.5,
    "dueDate": "2026-06-15",
    "daysOverdue": 23
  },
  "customer": {
    "name": "Northwind Coffee",
    "history": "Usually pays on time; second late invoice this year."
  },
  "steps": 3
});
Python
from kynth import Kynth

client = Kynth(api_key=os.environ["KYNTH_API_KEY"])
result = client.dunning(
    invoice={
    "number": "INV-10428",
    "amount": 1255.5,
    "dueDate": "2026-06-15",
    "daysOverdue": 23
  },
    customer={
    "name": "Northwind Coffee",
    "history": "Usually pays on time; second late invoice this year."
  },
    steps=3,
)
MCP
// One-time setup in your MCP client (Claude, Cursor, …):
{ "mcpServers": { "kynth-core": {
    "command": "npx", "args": ["@kynth/api-mcp"],
    "env": { "KYNTH_API_KEY": "ksk_live_…" } } } }

// Then the agent just calls the kynth_dunning tool.

More from commerce & ops