FOR DEVELOPERSHEADLESS API
Everything NoChurn does, available through the API.
Keep your billing and your screens. Send customers, payments and cancellations, run the cancel flow from your own interface, and get signed webhooks back. Web, desktop, iOS or Android.
HOW IT WORKS
Four steps, all automatic.
- 01
Create a test key
A key starting with nc_test_ works in a sandbox: nothing real is charged and no email leaves NoChurn.
- 02
Send your data
Customers, subscriptions, payments and cancellations, plus any attribute or usage event. With your own id, a Stripe id, or ours.
- 03
Build your screens
Fetch the cancel flow’s reasons and offers, show them your way, and post the answer back. The texts arrive translated.
- 04
Listen to webhooks
NoChurn tells your app what to do: retry this payment, apply this discount, this customer cancelled, this one came back.
WHAT YOU CONTROL
Your rules, your tone, your call.
Three ids per customer
Use your own external id, the Stripe customer id, or the NoChurn id. All three resolve to the same customer.
Signed webhooks
Every webhook is signed (NoChurn-Signature) and retried with backoff until your endpoint answers.
Idempotent writes
Send an Idempotency-Key on any write, and a retried request never runs twice.
Restricted keys
Give each key none, read or write access per resource. A key can’t create a stronger key.
Public keys for front ends
pk_ keys plus a signed customer token let your web or mobile front end call the cancel flow directly.
Errors that tell you the fix
Every error has a code, a message, the fix and a link to the docs.
BUILT IN
Rules you don’t have to think about.
SANDBOX
Test keys stay in test
An nc_test_ key only sees test data and never sends a real email or moves real money.
CLICK TO CANCEL
A cancel link in every session
Each cancel session returns cancel_url_now, valid for the whole session, so cancelling stays one click away in your UI too.
NO SECRETS
No secret in your front end
Front ends use public keys and short-lived customer tokens. Secret keys stay on your server.
API
Plain REST, signed webhooks.
A few of the endpoints. The full reference is in the docs, and openapi.yaml is the source of truth.
API reference/v1/customers Create a customer with your own id /v1/subscriptions Send a subscription /v1/events Track a usage event /v1/cancel-sessions Start a cancel flow /v1/webhook-endpoints Subscribe to webhooks FAQ
Questions people ask.
Do I need Stripe to use NoChurn?
No. With the API, NoChurn works with in-house billing or any provider. Stripe and the other connectors just save you the integration work.
Can a coding agent do the integration?
That is the idea behind the NoChurn MCP server and llms.txt: point your agent at them with a test key, and it can wire the calls and webhooks in your codebase.
Which platforms can show the cancel flow?
Any of them. The API returns plain JSON: reasons, offers and texts. Render it on the web, in a desktop app, or natively on iOS and Android.
How do I keep my keys safe?
Secret keys stay on your server. Front ends use public pk_ keys with a signed customer token, and restricted keys limit what each key can touch.
More from NoChurn
Read https://www.nochurn.sh/llms.txt,
then follow https://www.nochurn.sh/docs/quickstart/
to add NoChurn to this app. Use a test key
(nc_test_…) until I say we go live.
Stop leaking revenue.
- Free until $300 MRR
- No card needed
- Live in 10 minutes
- Never a cut of what we recover