---
title: "Public Checkout"
method: POST
path: "/api/billing/checkout/public"
---

# Public Checkout

`POST /api/billing/checkout/public`

## Request

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

Create a Stripe Checkout session for a not-yet-registered visitor.

Called by the landing page CTAs. Stores email + tier_key in the
session metadata so the checkout.session.completed webhook can
provision the user, workspace, and API key after payment.
No authentication required; Stripe handles email verification.

## Request body

- PublicCheckoutRequest
  - `email` string, email, required
  - `tier_key` string, required
  - `success_url` string, nullable
  - `cancel_url` string, nullable
  - `ref` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/crowelogic/apis/crowe-logic-foundry.md) · [All operations](https://skmtc.dev/crowelogic/apis/crowe-logic-foundry/llms.txt) · [OpenAPI document](https://skmtc.dev/crowelogic/apis/crowe-logic-foundry/revisions/a3c1ef17f171?raw)
