> ## Documentation Index
> Fetch the complete documentation index at: https://docs.catchthegoodones.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Change an account's tier

> Upgrade or downgrade a tracked account's tier with Stripe proration

Changes the tier of a tracked account. Upgrades apply immediately with Stripe proration. Downgrades schedule for end of billing period.

If the account already has a pending downgrade and you POST with `newTier` matching the current tier, the pending downgrade is cancelled.

## Body

| Field     | Type            | Description                         |
| --------- | --------------- | ----------------------------------- |
| `newTier` | enum (required) | `"starter"`, `"growth"`, or `"pro"` |

## Example

```bash theme={null}
curl -X POST https://www.catchthegoodones.com/api/v2/accounts/7/change-tier \
  -H "Authorization: Bearer ctgo_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"newTier": "pro"}'
```

## Response

Upgrade:

```json theme={null}
{ "account": {...}, "action": "upgraded" }
```

Downgrade:

```json theme={null}
{ "account": {...}, "action": "downgrade_scheduled", "effectiveAt": "2026-07-01T00:00:00Z" }
```

Cancellation of pending downgrade:

```json theme={null}
{ "account": {...}, "action": "pending_cancelled" }
```

## Errors

| Code                                          | HTTP | When                             |
| --------------------------------------------- | ---- | -------------------------------- |
| `subscription_required`                       | 403  | No active subscription           |
| `Account not found`                           | 404  |                                  |
| `Wake this account first to change its tier.` | 400  | Account is asleep                |
| (Stripe error message)                        | 502  | Stripe failed the proration call |

## Auth

Bearer or session cookie.
