Cancellations, delivered as a verified outcome
Your customer switched insurers. Hand us the old policy over one API call — we collect what's missing, capture a signed ACORD-35, route it the way that carrier actually accepts, and close the case only when we hold proof it terminated.
Jordan Rivera
case_7Kd92mQ · TX
Evidence on file
case.stage.changed → completed_verified
Built on a carrier playbook, not a call center
- 190+
- Carrier playbooks
- 6
- Cancellation routes
- 13
- Stage case lifecycle
- 100%
- Evidence-backed closures
Routed the way each carrier accepts
Fax, email, agent, portal, call, state form
Every transition a durable event
Verified, never assumed
One call in. A verified outcome out.
You keep the customer relationship. We take the cancellation from intake to confirmed termination — and prove every step.
- 01
Send what you have
POST a cancellation with whatever you hold. Partial data is fine — even a name and prior carrier is enough to open a case and start the clock.
- 02
We collect the rest
A branded magic-link flow reaches the consumer to fill any gaps and e-sign the ACORD-35 release, prefilled from the case so it takes seconds.
- 03
Routed the right way
The carrier playbook picks the channel that specific carrier actually accepts — fax, email, agent-of-record call, self-serve portal, or a state form.
- 04
Verified terminated
The case closes only when we hold proof the prior policy ended. Refund expectations are tracked, and a signed webhook fires on every transition.
Every carrier cancels differently. We already know how.
A versioned playbook keyed on carrier, state, policy type, and policy-number pattern decides how each cancellation is handled — so you never have to.
State Farm
Only the listed agent can cancel, so we route the request to the agent of record.
USAA
USAA requires the policyholder on the line. We prep the script and coach the call.
Root
App-only cancellation. We guide the consumer through each in-app step to the date.
National General
Accepts the signed release by email — we attach the new declarations page it needs.
Allstate · Massachusetts
Massachusetts mandates the state 2-A release. We generate and file the required form.
Unknown carrier
No playbook yet? We fall back to a conservative, evidence-first route and flag it for curation.
Playbooks are versioned and confidence-scored. New carriers start on a conservative provisional route and get curated as evidence accrues.
Integrate once. Cancel anywhere.
POST whatever you have. Track status by case id. Receive HMAC-signed webhooks as the case moves. Test the whole thing against a carrier simulator first.
$ curl https://api.policycancel.com/api/v1/cancellations \ -H "Authorization: Bearer sk_live_9f2c…" \ -H "Idempotency-Key: 3f7a1c9e-2b40-4d8e" \ -H "Content-Type: application/json" \ -d '{ "consumer": { "name": "Jordan Rivera", "email": "jordan@example.com", "phone": "+1 512 555 0148" }, "prior_carrier": "State Farm", "policy_number": "AF-2213-9087", "us_state": "TX", "requested_cancellation_date": "2026-07-24", "new_policy_effective_date": "2026-07-24" }'
# HMAC-SHA256 over the raw body X-PolicyCancel-Signature: t=1753382400, v1=8b41d2f0c7… { "event": "case.stage.changed", "case_id": "case_7Kd92mQ", "stage": "completed_verified", "evidence": ["acord35_signed", "carrier_confirmation"], "refund": { "amount": "312.40", "currency": "USD" }, "occurred_at": "2026-07-24T18:20:00Z" }
Flexible intake
Partial data starts a case; we collect whatever's missing from the consumer.
Idempotent
Retry safely with an Idempotency-Key — the same request never double-opens a case.
Signed webhooks
Every stage transition is pushed with an HMAC-SHA256 signature header.
Sandbox + time-warp
A carrier simulator and time-warp fast-forward confirmations end-to-end before you go live.
Automation first. Humans as a measured last resort.
Cases escalate through three tiers, and every escalation is reason-coded — so automation coverage is something you can actually measure, not just claim.
Fully automated
Machine-to-machine cancellation with no human in the loop — the default target for every case.
Guided consumer
We prep everything; the consumer does the one thing only they can — a call, a tap, or a signature.
Human ops
A measured last resort. Every manual touch is reason-coded so automation coverage stays measurable.
Supervision without per-case clicks. A release queue, QA sampling, and standing authorization keep partners in control.
Your brand or ours — dialed per state
A per-state brand dial controls what the consumer sees, with the correct state disclosure line applied automatically. Present your brand front and center, or let us stand behind it.
- Level 1 — “powered by PolicyCancel” under your brand
- Level 2 — PolicyCancel-branded consumer flow
- State-correct disclosure language applied automatically
- Consistent identity across SMS, email, and the signing page
powered by PolicyCancel
on your behalf
Built for data you can't afford to mishandle
Cancellations touch real consumer PII and policy records. Here's how that data is protected — and we won't claim certifications we don't hold.
Encrypted in transit and at rest
Consumer PII and policy data are encrypted on the wire and in storage.
Scoped API keys
Least-privilege keys per environment, with sandbox and live fully separated.
HMAC-signed webhooks
Verify every delivery came from us before you act on it.
Durable evidence retention
Signed forms, receipts, and carrier replies are retained as an auditable case record.
Least-privilege ops console
Human access is role-scoped, and every manual action is attributed on the timeline.
Full audit trail
Every stage transition and artifact is an immutable, timestamped event.
Stop chasing cancellations. Start verifying them.
Spin up a sandbox workspace, fire a test cancellation at the carrier simulator, and watch it reach a verified outcome — no contract, no card.