Skip to main content
POST
/
api
/
v2
/
accounts
/
{id}
/
change-tier
Change an account's tier
curl --request POST \
  --url https://api.example.com/api/v2/accounts/{id}/change-tier
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

FieldTypeDescription
newTierenum (required)"starter", "growth", or "pro"

Example

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:
{ "account": {...}, "action": "upgraded" }
Downgrade:
{ "account": {...}, "action": "downgrade_scheduled", "effectiveAt": "2026-07-01T00:00:00Z" }
Cancellation of pending downgrade:
{ "account": {...}, "action": "pending_cancelled" }

Errors

CodeHTTPWhen
subscription_required403No active subscription
Account not found404
Wake this account first to change its tier.400Account is asleep
(Stripe error message)502Stripe failed the proration call

Auth

Bearer or session cookie.