Skip to main content

Overview

Once a subscription is created and ACTIVE, you have full control over how it behaves over time. This page covers the four operations that change a subscription’s state:
All lifecycle operations use the subscription id (integer) from the Create Subscription response — not the planCode. Make sure you have saved data.subscription.id before calling any of these endpoints.

Key Requirements

Retrieve your API keys from your dashboard by following the steps on our Authentication page. Use your public API key for all lifecycle requests.
Set the following headers on every request:

Pause a Subscription

Suspends recurring billing for a subscription. No charges will be attempted while the subscription is PAUSED. The customer’s card remains enrolled — billing resumes when the pause is lifted. You can set an optional resumeAt date to automatically restart billing on a specific date. If you omit it, the subscription stays paused until you manually call Resume.
Path parameter Body parameters Sample response
API reference: Pause Subscription

Resume a Subscription

Lifts a pause and restarts automatic billing. The next charge date is recalculated from the moment the subscription resumes. Only subscriptions with a status of PAUSED can be resumed.
Resume has no request body — just pass the subscription id in the URL.
Sample response
API reference: Resume Subscription

Cancel a Subscription

Permanently cancels a subscription. Once cancelled, all future billing stops immediately and nextChargeDate is cleared. This cannot be undone.
Cancellation is a terminal action. Once a subscription is CANCELLED, it cannot be reactivated. If a customer wants to re-subscribe later, you must create a brand new subscription for them.
Path parameter Body parameters Sample response
API reference: Cancel Subscription

Change Plan

Moves a customer from their current plan to a different one. Use this when a customer upgrades, downgrades, or switches pricing tiers. You control when the change takes effect using the effective field:
effective defaults to NEXT_CYCLE if you leave it out. This is the safer option for most cases — the customer’s current billing period is honoured before the new plan kicks in.
Path parameter Body parameters Sample response
API reference: Change Plan

Error handling


Developer notes

  • Use Pause when a customer needs a temporary break (e.g. a student on holiday). Billing resumes cleanly without needing to create a new subscription.
  • Use Cancel only when the customer’s subscription should permanently end. If there’s any chance they will return, Pause is the better choice.
  • Change Plan with NEXT_CYCLE is the safest option for upgrades/downgrades — it respects the customer’s paid billing window. Use IMMEDIATELY only when you need the change to take effect right away (e.g. an emergency downgrade).
  • pendingPlanId in the Change Plan response shows the new plan is queued but not yet active. The switch happens at the next billing cycle.
  • All lifecycle operations require the subscription id (integer), not the planCode. Keep a mapping of customer → subscription id in your database.

What’s next

Subscription Reads

View subscription details, charge history, upcoming charges, and the full event audit log.

Subscription Plans

Create or update the plans your customers subscribe to.