---
title: "Cancel subscription schedule"
method: POST
path: "/subscriptions/schedules/{schedule_id}/cancel"
tags: ["Subscriptions"]
---

# Cancel subscription schedule

`POST /subscriptions/schedules/{schedule_id}/cancel`

Use when cancelling a scheduled change (e.g. customer changed mind). Identify by schedule ID in path or by subscription ID + schedule type in body.

## Path parameters

- `schedule_id` string, required

## Request body

- CancelScheduleRequest — Request to cancel a subscription schedule (supports two modes)
  - `schedule_id` string — schedule_id is the ID of the schedule to cancel (optional if subscription_id and schedule_type are provided)
  - `schedule_type` 'plan_change' | 'cancellation'
  - `subscription_id` string — subscription_id is the ID of the subscription (required if schedule_id is not provided)

## Response `200`

OK

- CancelScheduleResponse — Confirmation of schedule cancellation
  - `message` string — message is a confirmation message
  - `status` 'pending' | 'executing' | 'executed' | 'cancelled' | 'failed'

## Changes

- **2026-09-08** `58f315d20550` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/flexprice/apis/flexprice-api/changes/subscriptions/schedules/:schedule_id/cancel/post.md)

---

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