Resume Subscription
Reverse a pending cancellation on a subscription in your store.
Resume is only valid for a subscription that has a cancel_at set — i.e. a cancellation
that has been requested but not yet taken effect (because it is scheduled for the end of
the current period, or because the subscription is on an "installments" plan with
active_until in the future). It restores the original schedule:
- For a normal sub: clears
cancel_at. The subscription continues renewing. - For an installments plan: re-applies
cancel_at = active_untilso the plan ends when its cycles run out.
Request
POST /subscriptions/{id}/resume
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Subscription UUID |
The request body is empty.
Example Request
curl -X POST "https://cart.easy.tools/api/v1/subscriptions/550e8400-e29b-41d4-a716-446655440040/resume" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Response
Success Response (200)
Returns the updated subscription (base fields only; no include sections). cancel_at and
canceled_at are cleared on a normal sub; on an installments plan cancel_at is restored
to active_until.
{
"id": "550e8400-e29b-41d4-a716-446655440040",
"remote_id": "sub_1QabcDEFghiJKLmn",
"provider": "stripe",
"status": "active",
"variant_name": "Monthly Plan",
"product_name": "Premium Course",
"recurring_amount": 4900,
"currency": "pln",
"interval": "month",
"interval_count": 1,
"quantity": 1,
"customer_email": "buyer@example.com",
"current_period_start": "2026-05-20T14:02:00+00:00",
"current_period_end": "2026-06-20T14:02:00+00:00",
"trial_end": null,
"cancel_at": null,
"canceled_at": null,
"active_until": null,
"active_cycles": null,
"cancel_early": false,
"keep_access_after_expiring": false,
"is_delegated": false,
"is_cancelable": true,
"created_at": "2026-01-15T10:00:00+00:00",
"customer": null,
"variant": null,
"product": null,
"order": null,
"renewals": null,
"upcoming_invoice": null
}
See the Get Subscription reference for a full description of each base field.
Error Responses
Bad Request (400)
Returned when the path parameter is not a valid UUID.
{
"message": "Invalid subscription ID"
}
Subscription Not Found (404)
{
"message": "Subscription with ID 550e8400-e29b-41d4-a716-446655440040 not found"
}
Subscription Cannot Be Resumed (422)
Returned when the subscription is not in a resumable state — typically because there is no
pending cancellation (no cancel_at), or because the subscription is a fixed-cycles plan
with cancel_early=false.
{
"message": "Subscription cannot be resumed in its current state."
}
{
"message": "Subscription has no pending cancellation to resume."
}
Provider Error (422)
Returned when the payment provider rejects the resume.
{
"message": "Payment provider rejected the resume: <provider message>"
}
Unauthorized (401)
{
"message": "Unauthenticated."
}