Version
DESTRUCTIVE

reorder_plans

Pin the order a project's plans appear in on the portal and in the project's bot, or reset it to the built-in order. Emits plan.order_changed.

Arrange the storefront. Buyers see plans in the order you pass; anything you leave out keeps the built-in order (passes, then seasons, then subscriptions, cheapest first) after the pinned plans. An empty list clears every pin. This is the same write the dashboard's Arrange Storefront Order drag-and-drop performs.

Inactive plans may be pinned

Only active plans are shown to buyers, but you may include an inactive plan so it takes its place the moment it is published. The response lists active plans only, in the order buyers see them.

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

project_id*string

UUID of the project whose storefront is arranged.

plan_ids*array

Plan UUIDs in the order buyers should see them. Empty clears every pin and restores the built-in order.

What it returns

{  "data": {    "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",    "plan_ids": [      "c4e82f16-93a7-4d5b-b81c-6e0f27a94d3b",      "b1a7c3d5-2e48-4f60-9a1b-7c5d3e820f94"    ],    "plans": [      {        "id": "c4e82f16-93a7-4d5b-b81c-6e0f27a94d3b",        "name": "Weekly Football Pass",        "kind": "pass_series",        "active": true,        "position": 0      }    ]  }}

Each entry in plans is the same row shape list_plans and get_plan return.

Errors

CodeWhen
VALIDATION_FAILEDAn id in plan_ids is not a plan of this project.
RESOURCE_NOT_FOUNDThe project does not exist or the token cannot see it.

How is this guide?

Last updated on