# downgrade_plan (/docs/mcp/tools/downgrade-plan)

{/* Generated by scripts/sync-mcp-tools.mjs from happierleads-api. Do not edit: change src/routes/mcp/toolDocs.json there, or add content/mcp-notes/downgrade_plan.mdx. */}

**Downgrade plan** · Changes data · Acts outside your account

Schedules the subscription to change to a new number of leads per month from the next billing date; nothing is charged or refunded now and current credits stay until then. Current add-ons are kept. Returns tierName, leads, the new monthly price and effectiveAt (when it takes effect); get_subscription then shows it under pendingDowngrade. Use upgrade_plan for more leads now; to stop paying use cancel_subscription or pause_subscription. Confirm with the user before calling.

| Connection | Account-owner URL or OAuth (not a team member URL) |
| --- | --- |

## Parameters [#parameters]

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `leads` | `number` | Yes | Leads per month of the plan to switch to at the next billing date. |
| `annual` | `boolean` | No | true for yearly billing, false for monthly. Leave it out to keep the current billing interval; only pass a value when the user wants to switch. |

## Tool definition [#tool-definition]

What your assistant receives from `tools/list`:

```json
{
  "name": "downgrade_plan",
  "title": "Downgrade plan",
  "annotations": {
    "title": "Downgrade plan",
    "readOnlyHint": false,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": true
  },
  "inputSchema": {
    "type": "object",
    "properties": {
      "leads": {
        "type": "number",
        "description": "Leads per month of the plan to switch to at the next billing date."
      },
      "annual": {
        "type": "boolean",
        "description": "true for yearly billing, false for monthly. Leave it out to keep the current billing interval; only pass a value when the user wants to switch."
      }
    },
    "required": [
      "leads"
    ]
  }
}
```
