Skip to main content

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_until so the plan ends when its cycles run out.

Request

POST /subscriptions/{id}/resume

Path Parameters

ParameterTypeRequiredDescription
idstringYesSubscription 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."
}