---
title: "Cancel contract"
method: POST
path: "/customers/{customerID}/contracts/{contractID}/cancel"
tags: ["Contracts"]
---

# Cancel contract

`POST /customers/{customerID}/contracts/{contractID}/cancel`

Cancels (deactivates) a contract. Active contracts cannot be deleted; cancel is the terminal operation.

## Path parameters

- `customerID` string, required
- `contractID` string, required

## Request body

- object
  - `reason` string — Optional cancellation reason.

## Response `200`

OK - Contract cancelled.

- ContractLifecycleResponse — Result of an activate or cancel operation.
  - `contractId` string — The contract identifier.
  - `status` 'active' | 'scheduled' | 'cancelled' — The contract status after the operation (`active`, `scheduled`, or `cancelled`).

## Other responses

- `400` — Bad Request - The server cannot process the request, often due to a malformed request.
- `401` — Unauthorized - Invalid API key.
- `403` — Forbidden - The client is not authorized to perform the request.
- `404` — Not Found - The requested resource does not exist.

---

[API](https://skmtc.dev/doit/apis/doit-cloud-intelligence.md) · [All operations](https://skmtc.dev/doit/apis/doit-cloud-intelligence/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/doit/doit-cloud-intelligence/revisions/9416402fc119/schema)
