---
title: "Cancel a pending (scheduled) downgrade so the current plan continues."
method: POST
path: "/api/v1/billing/change-plan/cancel-scheduled"
tags: ["Billing"]
---

# Cancel a pending (scheduled) downgrade so the current plan continues.

`POST /api/v1/billing/change-plan/cancel-scheduled`

## Request

- Base URL: `https://api.avatarfactory.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.avatarfactory.io/api/v1/billing/change-plan/cancel-scheduled`
- Auth: one of:
  - API key in cookie `session`
  - HTTP bearer

## Response `200`

OK

- SubscriptionStatusResponse
  - `can_create_scene` boolean
  - `can_create_video` boolean
  - `cancel_at_period_end` boolean
  - `credits` CreditSummaryResponse
    - `monthly_included` number, required
    - `monthly_remaining` number, required
    - `period_end` string, nullable
  - `current_period_end` string, nullable
  - `entitlements` EntitlementsResponse
    - `active_avatar_count` integer
    - `can_create_avatar` boolean
    - `can_generate_video` boolean
    - `followed_accounts` boolean
    - `max_active_avatars` integer, nullable
    - `max_video_seconds` integer, nullable
    - `outperformers` boolean
    - `reel_analytics` boolean
    - `viral_radar_limit` integer
  - `free_quota` FreeQuotaResponse: Free-tier allowance (null counts mean unlimited: a paid user). Carries both used and remaining so the MCP connector can report, after a consuming call, exactly what was spent and what is left.
    - `images_remaining` integer, nullable
    - `images_used` integer, nullable
    - `is_free` boolean, required
    - `scripts_remaining` integer, nullable
    - `scripts_used` integer, nullable
  - `has_subscription` boolean, required
  - `influencer_addon` boolean
  - `interval` string, nullable
  - `is_trialing` boolean
  - `meta_purchase_currency` string, nullable
  - `meta_purchase_event_id` string, nullable
  - `meta_purchase_value` number, nullable
  - `meta_trial_event_id` string, nullable
  - `paused_until` string, nullable
  - `pending_effective_at` string, nullable
  - `pending_interval` string, nullable
  - `pending_plan_slug` string, nullable
  - `plan_slug` string, nullable
  - `status` string, nullable
  - `trial_end` string, nullable
  - `trial_video_used` boolean

## Other responses

- `400`: Bad Request
- `422`: Unprocessable Entity

---

[API](https://skmtc.dev/avatarfactory/apis/avatarfactory-api.md) · [All operations](https://skmtc.dev/avatarfactory/apis/avatarfactory-api/llms.txt) · [OpenAPI document](https://skmtc.dev/avatarfactory/apis/avatarfactory-api/revisions/66fc7aa3f296?raw)
