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

# Cancel scheduled plan change

> <Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Cancels a downgrade that's scheduled for the end of the billing period, so your workspace stays on its current plan. Only the workspace owner can cancel it. It works for a downgrade scheduled by [Change plan](/api-reference/change-plan) or by [Change Wix plan](/api-reference/change-wix-plan).

<Warning>This takes effect right away, with no confirmation step. The current plan keeps renewing, and its next renewal charges the saved payment method at the current plan's price instead of the lower one.</Warning>

If nothing is scheduled, this returns 400.

The base rate limit is 5 requests per hour per user. See [Rate limits](/developers/references/apps-api/get-started/rate-limits) for the multiplier your plan gets.



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json delete /api/billing/cancel-schedule
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - PersonalAccessTokenAuth: []
paths:
  /api/billing/cancel-schedule:
    delete:
      summary: Cancel scheduled plan change
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Cancels a downgrade that's scheduled for the end of the billing period,
        so your workspace stays on its current plan. Only the workspace owner
        can cancel it. It works for a downgrade scheduled by [Change
        plan](/api-reference/change-plan) or by [Change Wix
        plan](/api-reference/change-wix-plan).


        <Warning>This takes effect right away, with no confirmation step. The
        current plan keeps renewing, and its next renewal charges the saved
        payment method at the current plan's price instead of the lower
        one.</Warning>


        If nothing is scheduled, this returns 400.


        The base rate limit is 5 requests per hour per user. See [Rate
        limits](/developers/references/apps-api/get-started/rate-limits) for the
        multiplier your plan gets.
      operationId: cancel_schedule_api_billing_cancel_schedule_delete
      responses:
        '200':
          description: The scheduled plan change is canceled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduledPlanChangeCanceled'
              example:
                status: success
        '400':
          description: >-
            The workspace has no scheduled plan change, or, for a workspace
            billed through Wix, Base44 couldn't open a Wix billing session for
            the workspace owner.
        '401':
          description: >-
            Missing or invalid credentials. A read-only token gets this response
            too.
        '403':
          description: >-
            You aren't the workspace owner, or a payment dispute is open on the
            workspace.
        '429':
          description: >-
            Rate limit exceeded. The base rate limit is 5 requests per hour per
            user. See [Rate
            limits](/developers/references/apps-api/get-started/rate-limits) for
            the multiplier your plan gets.
      security:
        - PersonalAccessTokenAuth:
            - full_access
components:
  schemas:
    ScheduledPlanChangeCanceled:
      properties:
        status:
          type: string
          const: success
          title: Status
          description: Always `success`. A failure returns an error status instead.
          example: success
      type: object
      required:
        - status
      title: ScheduledPlanChangeCanceled
      description: Confirms the scheduled plan change is canceled.
  securitySchemes:
    PersonalAccessTokenAuth:
      type: http
      scheme: bearer
      description: >-
        Personal access token, sent as `Authorization: Bearer <token>`. Each
        operation lists the permission it needs: `read_only` or `full_access`. A
        full-access token can call every operation. A read-only token can call
        only the operations that list `read_only`; anything else returns 403
        `read_only_credential_route_not_allowed`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.