Delete Plan
delete_planDelete a subscription plan that NO workspace is on; its Stripe product and prices are archived. A plan workspaces are on is REFUSED with PLAN_IN_USE and nothing changes: tell the user how many workspaces are on it and offer the choices — archive_plan (they keep it, nobody new can choose it), or move them with set_tenant_plan, or delete them with delete_tenant, and then delete the plan. REQUIRES CONFIRMATION: call again with confirm set to the exact plan key, only after the user has explicitly agreed — never supply it on your own initiative. dryRun: true previews it first (delete or refuse, and which workspaces are on the plan) without changing anything or needing confirm. Fails with PLAN_NOT_FOUND when no plan has that key. Before writing app code that consumes this, call get_integration_guide with topic=billing and the framework the app uses.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Id of the Bridge app to act on for this call (see list_apps). Omit to use the current app. | |
| key | Yes | Plan KEY (see list_plans). | |
| dryRun | No | true previews what the deletion would affect and deletes nothing — no confirm needed. Do this first and show the user the result. Needs the same privilege as the deletion itself. | |
| confirm | No | Repeat the exact key of the resource being deleted, as confirmation. Required to delete; not needed with dryRun. This is a deliberate safety step — do NOT guess it or copy it from a fuzzy match. If you are not certain, list the resources first and ask the user which one they mean. |