---
title: "Start a checkout without an account"
method: POST
path: "/v1/billing/public/checkout"
tags: ["Billing"]
---

# Start a checkout without an account

`POST /v1/billing/public/checkout`

## Request

- Base URL: `https://api.signvoy.com`
- URL: `https://api.signvoy.com/v1/billing/public/checkout`
- Auth: none declared

Creates a Stripe-hosted Checkout Session for a visitor who has not signed up, and returns its URL for a full-page redirect. Stripe collects the email; the resulting subscription is attached to an account provisioned for that address when the webhook arrives, and the buyer proves ownership of it by signing in afterwards. Seats are charged as requested, floored at what the plan bundles.

## Request body

- AnonymousCheckoutDto
  - `plan` 'pro' | 'team', required: Plan to buy. Free needs no payment and Enterprise is a sales conversation.
  - `interval` 'month' | 'year', required: Billing interval. Annual is billed once for twelve months at a 20% discount.
  - `seats` number: Total seats to buy, including the ones the plan bundles. Omit it to buy exactly what the plan bundles. Values below that are raised to it.

## Response `200`

Checkout URL

- BillingRedirectDto
  - `url` string, required: Stripe-hosted URL to send the browser to

---

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