canceling state. The pending end-of-period cancellation is removed and the subscription continues to renew as scheduled.
Reactivation Behavior
| Current Status | Action | Result Status |
|---|---|---|
canceling | Remove pending end-of-period cancellation (via PSP) | active |
canceled | Not allowed — already fully canceled | — |
pending / active / past_due / expired | Not allowed — only canceling is reactivatable | — |
- Only subscriptions in
canceling(cancellation scheduled at period end) can be reactivated. - Fully canceled (
canceled) subscriptions cannot be reactivated — start a new subscription instead. - No additional charge — the current billing period continues, and renewal resumes at its original schedule.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
orderId | string | Yes | Subscription order ID (Short ID format ORD_xxx) |
Example Request
Success Response (200)
Response Fields
| Field | Type | Description |
|---|---|---|
orderId | string | Order ID (Short ID) |
status | string | New order status (active) |
Errors
Retry policy: Never retry 4xx — fix the request and resubmit. Retry 5xx with exponential backoff (start 5s, max 3 attempts).
| Status | errors[0].message | What it means | Recommended handling |
|---|---|---|---|
| 400 | Missing required field: orderId | orderId was not provided in the body | Fix the request body, then resubmit |
| 400 | Expected format: ORD_xxx, got "..." | orderId Short ID could not be decoded | Fix the orderId format, then resubmit |
| 400 | Only canceling subscriptions can be reactivated | Order status is not canceling (e.g. canceled, active, expired) | The subscription is not reactivatable |
| 401 | Authentication failed | Session token invalid, expired, or malformed | Re-mint the session token via Issue Session Token |
| 403 | Order does not belong to user | Ownership check failed | Verify the caller owns the order |
| 404 | Order not found | Order does not exist | Verify the order ID |
| 500 | Internal server error | Unexpected server-side failure | Retry with exponential backoff (start 5s, max 3 attempts) |