---
title: "Cancel migration"
method: POST
path: "/plans/{plan_id}/migrations/{migration_id}/cancel"
tags: ["Plan"]
---

# Cancel migration

`POST /plans/{plan_id}/migrations/{migration_id}/cancel`

This endpoint cancels a migration.

## Path parameters

- `plan_id` string, required
- `migration_id` string, required

## Response `200`

OK

- PlanVersionChange
  - `id` string, required — Unique identifier for this plan version change.
  - `plan_id` string, required — The ID of the plan being migrated.
  - `effective_time` union, required — When the migration takes effect. Can be a specific date/time, 'end_of_term' when scheduled to be at the end of the current billing period, or 'end_of_invoice' when scheduled to be at the start of the next invoice.
    - string, date
    - string, date-time
    - 'end_of_term' | 'end_of_invoice'
  - `status` 'not_started' | 'in_progress' | 'completed' | 'action_needed' | 'canceled', required — Current status of the migration: 'not_started', 'in_progress', 'completed', 'action_needed', or 'canceled'.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `409` — Conflict
- `413` — Content Too Large
- `429` — Too Many Requests
- `500` — Internal Server Error

---

[API](https://skmtc.dev/withorb/apis/api-reference.md) · [All operations](https://skmtc.dev/withorb/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/withorb/api-reference/revisions/816dfe734e2e/schema)
