---
title: "POST /v1/billing/checkout"
method: POST
path: "/v1/billing/checkout"
---

# POST /v1/billing/checkout

`POST /v1/billing/checkout`

## Request

- The document declares no server URL.
- Auth: one of:
  - HTTP bearer
  - API key in cookie `__Secure-better-auth.session_token`

Open a Stripe Checkout session for a subscription on the named plan; the browser is sent to `url`.

## Request body

- CheckoutStart: Which plan to open the checkout for. The amount is Stripe's page to show, not this document's.
  - `plan` 'founder' | 'team', required: The two things for sale, ruled 2026-09-14: capacity is STORAGE, and everything countable — people, agents, mailboxes, addresses, domains — is unlimited on both. `founder` is $20 a month for 20 GB of mail; `team` is $200 for 200 GB. A dollar a gigabyte, in two sizes. Never a seat: a person's mailbox and an agent's cost the same, which is the product's whole premise.

## Response `200`

The request has succeeded.

- BillingRedirect: Where the browser goes next — a Stripe-hosted page the console leaves for.
  - `url` string, uri, required

## Other responses

- `default`: An unexpected error response.

---

[API](https://skmtc.dev/foundermail/apis/org.md) - [All operations](https://skmtc.dev/foundermail/apis/org/llms.txt) - [OpenAPI document](https://skmtc.dev/foundermail/apis/org/revisions/8bbb36e378ab?raw)
