---
title: "Cancel a card plan at the end of the paid period, in one call. Nothing more is charged. A pass has nothing to cancel, and says so."
method: POST
path: "/api/agents/subscription/cancel"
tags: ["Account"]
---

# Cancel a card plan at the end of the paid period, in one call. Nothing more is charged. A pass has nothing to cancel, and says so.

`POST /api/agents/subscription/cancel`

## Request

- Base URL: `https://tomorrowlives.com`
- URL: `https://tomorrowlives.com/api/agents/subscription/cancel`
- Auth: HTTP bearer

The answer carries `cancellation`: the confirmation, the date access ends, and, for a card plan, the notice that is also kept at GET /api/agents/notices and sent to the webhook if one is registered. On a pass it answers 200 with further_charges at zero and when access ends.

## Response `200`

Cancelled at period end, with the confirmation

- Subscription: pass_quote (what the next pass costs this account and why: price, reason, why), status, period (a pass's 30-day window of included units), subscribed_via (pass, checkout or token), pass (when access ends; renews: false), unit_packs, and auto_renewal: what is paid, renews_automatically (false on a pass), when access ends, and how to cancel a card plan

## Other responses

- `401`: No valid API key
- `409`: The request conflicts with the account's state

---

[API](https://skmtc.dev/tomorrowlives/apis/tomorrow-lives-engines.md) · [All operations](https://skmtc.dev/tomorrowlives/apis/tomorrow-lives-engines/llms.txt) · [OpenAPI document](https://skmtc.dev/tomorrowlives/apis/tomorrow-lives-engines/revisions/afc3d67322ac?raw)
