---
title: "Un-cancel before period end, or reactivate after churn"
method: POST
path: "/api/cancellation/reactivate"
tags: ["Cancellation"]
---

# Un-cancel before period end, or reactivate after churn

`POST /api/cancellation/reactivate`

## Request

- Base URL: `https://api.setluca.com`
- URL: `https://api.setluca.com/api/cancellation/reactivate`
- Auth: API key in cookie `luca.session_token`

Un-cancels a subscription that's still inside its paid period, or restarts one after churn. Set `winback` to redeem the once-per-coach discount on the first month back. It's honored only from day 14 after churn, and only if no identity matching this coach has used it. Otherwise the reactivation just goes through at full price.

**Session-only.** This endpoint isn't on the API-key allowlist. An organization API key gets a 403 here, whatever scopes it holds.

## Headers

- `Luca-API-Version` '1'

## Request body

- CancellationReactivateRequest
  - `winback` boolean

## Response `200`

ok

- CancellationReactivateResponse
  - `ok` true, required
  - `planStatus` string, required
  - `winbackApplied` boolean, required

## Other responses

- `401`: unauthorized
- `404`: not found
- `409`: conflict
- `429`: rate limited
- `500`: internal error
- `502`: upstream failure

---

[API](https://skmtc.dev/setluca/apis/luca-api.md) · [All operations](https://skmtc.dev/setluca/apis/luca-api/llms.txt) · [OpenAPI document](https://skmtc.dev/setluca/apis/luca-api/revisions/90a200e4100b?raw)
