---
title: "Create Checkout Session"
method: POST
path: "/v1/billing/create-checkout"
tags: ["Billing"]
---

# Create Checkout Session

`POST /v1/billing/create-checkout`

## Request

- Base URL: `https://api.candlefeed.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.candlefeed.ai/v1/billing/create-checkout`
- Auth: none declared

Create a Stripe Checkout session for subscription purchase.

payment_method="card" (default) is the standard card subscription.
payment_method="crypto" creates an auto-renewing stablecoin subscription
(mode=subscription, crypto-only Checkout per Stripe's stablecoin-subscription
preview); gated by settings.STABLECOIN_SUBS_ENABLED. Both grant tier via the
same recurring-subscription webhook path.

Requires JWT authentication (cookie) from a verified email address.

## Request body

- CreateCheckoutRequest: Request to create a checkout session. payment_method="crypto" creates an auto-renewing stablecoin subscription (Stripe private preview), gated by settings.STABLECOIN_SUBS_ENABLED. The default "card" path is unchanged.
  - `plan` 'builder' | 'pro' | 'pro_depth', required
  - `billing` 'monthly' | 'annual', required
  - `payment_method` 'card' | 'crypto'
  - `immediate_access_consent` boolean
  - `auto_renew_consent` boolean
  - `disclosure_revision` string, nullable

## Response `200`

Successful Response

- CheckoutResponse: Checkout session response.
  - `url` string, required

## Other responses

- `422`: Validation Error

---

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