Skip to main content
Reorder exposes a full set of customer-facing subscription management endpoints under /store/customers/me/subscriptions. You can use these to build a self-service portal where customers can view their active subscriptions, change delivery frequency, update their address, skip a delivery, swap to a different product, retry a failed payment, pause or resume billing, and request cancellation — all without leaving your storefront.

Authentication

All customer subscription endpoints require an authenticated customer session. Include the customer’s session cookie or a bearer token with each request:
Requests without valid authentication return 401. Requests for subscriptions that belong to a different customer return 403.

Listing subscriptions

Retrieve all subscriptions for the authenticated customer:

Viewing subscription detail

Retrieve the full detail for a single subscription:
The detail payload includes all fields from the list view, plus:

Managing subscriptions

All management actions return a refreshed subscription detail payload so your UI can update in place without a separate fetch.

Pause

Pause billing on a subscription. Optionally provide a reason and an effective date:

Resume

Resume a paused subscription. Optionally preserve the original billing anchor date:

Change frequency

Schedule a cadence change for the next renewal. The current variant stays unchanged. The new cadence must be valid according to the active plan for this subscription:

Change address

Update the shipping address used for future deliveries:

Skip next delivery

Mark the next renewal cycle as skipped. The subscription resumes automatically at the following cycle. This endpoint takes no request body:

Swap product

Schedule a product or variant swap. The target variant must belong to the same product and be allowed by the active plan. The change applies at the next eligible renewal:

Retry payment

Trigger a manual payment retry for a subscription that is in a recoverable failed-payment state. Include an optional reason to log with the retry attempt:
This endpoint returns 409 if the subscription does not have a retry-eligible payment recovery case. Check payment_recovery in the subscription detail before surfacing this action to the customer.

Request cancellation

Start a cancellation case for the subscription. Provide a reason category and an optional free-text reason:
The response returns a minimal cancellation case payload with id, status, subscription_id, and the submitted reason fields. The subscription is not immediately cancelled — the case enters the configured cancellation and retention workflow.

Surfacing actions based on subscription status

Not all actions are relevant for every subscription state. Use the subscription’s status field to show the appropriate actions in your portal: