---
title: "Start a Close+ subscription checkout"
method: POST
path: "/billing/subscribe"
tags: ["account"]
---

# Start a Close+ subscription checkout

`POST /billing/subscribe`

## Request

- Base URL: `https://account.close.city`
- URL: `https://account.close.city/billing/subscribe`
- Auth: API key in cookie `__Host-wtm_session`

Return a Stripe Checkout URL for the $10/month Close+ membership. Hand the URL to the user to open in their own browser — payment is never automated. See GET /v1/plans on api.close.city for what the membership includes.

## Headers

- `X-CSRF-Token` string, required

## Response `200`

Checkout ready.

- object
  - `checkout_url` string

## Other responses

- `401`: No signed-in session.
- `403`: Missing or invalid X-CSRF-Token.
- `404`: Close+ is not available.
- `409`: Already subscribed; manage at the returned portal URL.

---

[API](https://skmtc.dev/close-city/apis/close-api.md) · [All operations](https://skmtc.dev/close-city/apis/close-api/llms.txt) · [OpenAPI document](https://skmtc.dev/close-city/apis/close-api/revisions/a70e7c778d65?raw)
