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

# Activate contract

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

Transitions a draft contract to active or scheduled (when the start date is in the future). Produces the same system state as activating via the Console.

## Path parameters

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

## Response `200`

OK - Contract activated or scheduled.

- 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.
- `409` — Conflict - An active contract of the same type already exists for this tier.

---

[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)
