publish_plan
Publish or unpublish a subscription plan by flipping its active flag. Emits plan.activated or plan.deactivated.
Toggle a plan's active flag. Active plans are purchasable and listed on the portal; inactive plans stay on the books but hide from new buyers. Noop when the plan is already in the requested state.
Free plans can only be published on a paid plan
A plan priced at 0 can only be sold on the Starter and Growth plans. On the
Free plan the call is refused with TEAM_TIER_REQUIRED and the plan stays off
sale — give it a price first, or upgrade the creator.
Unpublishing is always allowed whatever the price, so a plan can always be wound down.
Requires ability
The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.
Runs the same actions as
The REST endpoint and this tool share one action, so validation, permissions and events are identical.
Fires events
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
plan_id*stringUUID of the plan to flip.
activebooleanoptionalTarget state — true publishes, false unpublishes. Defaults to true.
What it returns
{ "data": { "id": "c4e82f16-93a7-4d5b-b81c-6e0f27a94d3b", "active": true }}How it fails
RESOURCE_NOT_FOUNDunknown plan_id, or the plan belongs to a team outside the token's scope.
TOKEN_MISSING_ABILITYtoken lacks project-subscription-plan:update.
TEAM_TIER_REQUIREDactive=true on a plan priced at 0 while the creator is on the Free plan. error.context.reason carries the remedy: price the plan, or upgrade the creator to Starter or Growth.
How is this guide?
Last updated on