cancel_subscription
Queue a subscription cancellation. Provider-side cancellation and local state mutation run asynchronously on the webhooks queue.
Cancel a subscription. Delegates to an Action which queues a job — provider-side cancellation (Stripe / PayPal / Razorpay / Paystack), local state mutation, and the subscription.cancelled event all fire on the webhooks queue. Already-cancelled subscriptions return SUBSCRIPTION_ALREADY_ACTIVE instead of silently succeeding.
Requires ability
The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.
Runs the same action as
The REST endpoint and this tool share one action, so validation, permissions and events are identical.
Fires one event
Delivered to every endpoint subscribed to it once the change is made.
Annotations
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*stringUUID of the subscription to cancel.
What it returns
{ "data": { "subscription_id": "5b7e2d40-1a86-4c39-97f2-e83d0b16c5a4", "status": "cancellation_queued" }}How it fails
RESOURCE_NOT_FOUNDunknown subscription_id, or the subscription belongs to a team outside the token's scope.
SUBSCRIPTION_ALREADY_ACTIVEsubscription already cancelled.
TOKEN_MISSING_ABILITYtoken lacks project-subscription:update.
How is this guide?
Last updated on
Subscription Tools
A subscription is one member's purchase of one plan, and it is never created through a tool: checkout and access codes do that.
get_subscription
One subscription by UUID — plan, subscriber, payment method, status, price, trial and end dates, and whether it was cancelled. Read it before acting on it.