latestOpenAPI 3.1.02026-08-18856183.8 KB

64da737bcc9e

billing

Cancel With Refund

Self-serve cancel-and-refund within the 14-day money-back window.

Both sides happen immediately: the Stripe subscription is canceled now (not at period end) and the original charge is refunded in full now. Access ends immediately — there is no grace period. A cancellation reason is required (see _CANCEL_REASON_PATTERN) so we have a record of why customers are refunding.

Order matters on failure: refund first, then cancel. If the refund call fails we stop — the customer keeps their subscription and we haven't taken an action we can't undo. If cancel fails after a successful refund, the org is left as-is (still paid) rather than silently losing access with no subscription to show for it; that case needs a human follow-up, which the audit row surfaces.

post/api/billing/cancel

Request body

reasonstring required
reason_detailstring nullable

Response

Successful Response

plan_tierstring required
subscription_statusstring required
refundedboolean required
refund_amount_centsinteger nullable
subscription_canceledboolean required