Docs/Billing

Manage subscription

Upgrade, downgrade, cancel, update card.

Upgrade to a higher plan

Done via `/api/subscription/upgrade` with `{ configId, plan, billingCycle }`. Stripe computes a prorated amount for the rest of the current month, message limit jumps immediately. Next charge is at the full new-plan price. If the card needs 3D Secure verification, the response returns `requiresAction` + `clientSecret` and the UI walks you through it. If the card is declined — `CARD_DECLINED` (HTTP 402).

Downgrade — not supported via API

Downgrading to a lower plan isn't allowed self-serve through the API — the request is rejected. The reason: we need to check whether you have active bookings that would exceed the new limit. If you want to downgrade — email <a href="mailto:ai@raiceptionist.com">ai@raiceptionist.com</a>.

End trial early

If you want to switch to a full plan immediately without waiting for day 3 — `/api/subscription/end-trial-now`. Stripe charges the card right away, the limit jumps from 250 to the plan's full quota. Useful when you blew through 250 on day 1 and don't want to wait.

Add-on: +500 messages for €19

If you hit the limit mid-cycle — `/api/addon/purchase` creates a Stripe one-time payment session for €19. The add-on is added to `addon_replies_this_cycle` in the database and applies until the end of the current billing cycle. After payment — redirect to `/dashboard?addon=success`.

Cancellation and card update

For now cancellation and card updates happen via the Stripe customer portal — email <a href="mailto:ai@raiceptionist.com">ai@raiceptionist.com</a> and we send you a link to your portal. After cancellation the bot stays active until the end of the current cycle, then status becomes "cancelled". A self-serve customer portal in the dashboard is on the roadmap.
Manage subscription · rAIceptionist Docs