Version
DESTRUCTIVE

reactivate_subscription

Undo a scheduled cancellation and put the subscription back on its normal billing cycle. Refuses one that was never cancelled.

A cancellation made "at period end" leaves the subscription running until its current period ends. Until then it can be called off, and that is what this tool does: the member goes back on their normal billing cycle as if nothing had happened. It is the recovery path for a cancellation made in error and the tool to reach for on a win-back — "they changed their mind". Safe to call: it restores an intent the member already had.

Refuses a subscription that was never cancelled, and one whose cancellation has already taken effect. Emits subscription.reactivated.

Stripe only for the true undo

Calling off a scheduled cancellation is something Stripe supports natively. On the other gateways a cancellation ends the agreement outright, so there is nothing to reactivate and the member has to buy again.

The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.

The REST endpoint and this tool share one action, so validation, permissions and events are identical.

Delivered to every endpoint subscribed to it once the change is made.

Annotations

DestructiveIdempotentOpen world

A client that honours annotations asks a person before running it. Sending the same arguments twice changes nothing the second time. It reaches beyond Subscriby: a connector, a provider or a member.

Arguments

subscription_id*string

UUID of the subscription to act on.

What it returns

{  "data": {    "subscription_id": "5b7e2d40-1a86-4c39-97f2-e83d0b16c5a4",    "plan_id": "9b7c2e15-4d63-4f80-a2b1-7e5d0c9f3a46",    "payment_status": "active",    "outcome": "reactivated"  }}

How it fails

VALIDATION_FAILED

the subscription was never cancelled, or its cancellation has already taken effect.

RESOURCE_NOT_FOUND

unknown subscription_id, or a subscription outside the token's scope.

AUTHENTICATION_REQUIRED

no authenticated user on the request.

TOKEN_MISSING_ABILITY

token lacks project-subscription:update.

How is this guide?

Last updated on