Version
DESTRUCTIVE

pause_subscription

Pause an active or trialing subscription — billing stops and the member keeps their place. The reversible alternative to cancelling.

Put a subscription on hold: billing stops and the member is not cancelled, so their place, their history and their plan survive. This is the tool to reach for when a human says "stop billing", "put them on hold" or "freeze the account", because it can be undone with unpause_subscription while cancel_subscription cannot.

Emits subscription.paused. Idempotent: pausing an already-paused subscription is a no-op.

The member loses resource access while paused

Pausing suspends the member's access to the plan's resources for the duration, not just the billing. Confirm the target with a human before calling.

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.

Fires one event

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": "paused",    "outcome": "paused"  }}

How it fails

VALIDATION_FAILED

the subscription is not in a state that can be paused (for example, already cancelled or expired).

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