---
title: "Start a Stripe Checkout subscription"
method: POST
path: "/stripe/create-checkout-session"
tags: ["Billing"]
---

# Start a Stripe Checkout subscription

`POST /stripe/create-checkout-session`

## Request

- Base URL: `https://api.acuris-geo.com`
- URL: `https://api.acuris-geo.com/stripe/create-checkout-session`
- Auth: none required

Creates a Stripe-hosted Checkout Session for one of the self-serve
plans and returns the redirect URL. After successful payment Stripe
sends a webhook that provisions a Direct API key under the verified
email and emails it to the customer; the key authenticates subsequent
requests via `X-Acuris-Key` (or `Authorization: Bearer`).

Most plans are monthly subscriptions (Stripe `mode=subscription`). The
`uk_pack_*` and `txn_pack_*` plans are one-off credit-pack purchases
(Stripe `mode=payment`).

## Request body

- object
  - `plan` 'growth_na' | 'pro_na' | 'growth_intl' | 'pro_intl' | 'growth_dach' | 'pro_dach' | 'uk_pack_250' | 'uk_pack_1250' | 'uk_pack_5000' | 'uk_pack_15000' | 'uk_pack_35000' | 'txn_pack_na_2500' | 'txn_pack_na_10000' | 'txn_pack_na_50000' | 'txn_pack_na_250000' | 'txn_pack_na_1000000' | 'txn_pack_intl_1000' | 'txn_pack_intl_5000' | 'txn_pack_intl_25000' | 'txn_pack_intl_100000' | 'txn_pack_intl_500000' | 'txn_pack_dach_1000' | 'txn_pack_dach_5000' | 'txn_pack_dach_25000' | 'txn_pack_dach_100000' | 'txn_pack_dach_500000' | 'email_starter' | 'email_growth' | 'email_pro' | 'email_scale', required: Plan identifier. `uk_pack_*` and `txn_pack_*` plans are one-off credit-pack purchases (Stripe `mode=payment`); all others are monthly subscriptions.
  - `customer_email` string, email: Optional. Pre-fills the Checkout email field when supplied. Stripe collects the email itself if omitted (the typical case for marketing-page "Get started" buttons that POST `{plan}` only). The actually-billed address is whichever the customer enters and verifies on the Stripe page; that one is used for provisioning regardless of what was sent here.

## Response `200`

Checkout session created. Redirect the customer to `checkout_url`.

- object
  - `checkout_url` string, uri, required

## Other responses

- `400`: Invalid plan name or malformed email.
- `500`: The plan is recognised but no Stripe price is configured for it on this instance (`plan_price_not_configured`).
- `502`: Stripe API call failed.
- `503`: Stripe billing not configured on this instance.

---

[API](https://skmtc.dev/acuris-geo/apis/acuris-geo-api.md) · [All operations](https://skmtc.dev/acuris-geo/apis/acuris-geo-api/llms.txt) · [OpenAPI document](https://skmtc.dev/acuris-geo/apis/acuris-geo-api/revisions/8547b31dd96a?raw)
