---
title: "Create Subscription Checkout"
method: POST
path: "/billing/subscription/checkout"
tags: ["internal"]
---

# Create Subscription Checkout

`POST /billing/subscription/checkout`

## Request

- Base URL: `https://api.companydata.dk` (the document declares no server; this is the origin it was published from)
- URL: `https://api.companydata.dk/billing/subscription/checkout`
- Auth: HTTP bearer

Create a Stripe checkout session for user subscription.

Returns a checkout URL where the user can complete payment.

## Request body

- SubscriptionCheckoutRequest: Request to create subscription checkout session.
  - `ga_client_id` string, nullable: GA4 client id from the _ga cookie (analytics attribution)
  - `ga_session_id` string, nullable: GA4 session id from the _ga_<container> cookie (session attribution)
  - `tier` string, required: Subscription tier ('pro' or 'team')
  - `billing_interval` string: 'monthly' or 'yearly'
  - `seats` integer: Total seats (team tier only; 3 included)
  - `promo_code` string, nullable: Promotion code to pre-apply to the checkout (e.g. from a campaign link). Unknown or inactive codes are ignored and the checkout falls back to the manual code entry field.
  - `success_url` string, nullable
  - `cancel_url` string, nullable

## Response `200`

Successful Response

- SubscriptionCheckoutResponse: Response with checkout URL.
  - `checkout_url` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/companydata/apis/companydata-dk-api.md) · [All operations](https://skmtc.dev/companydata/apis/companydata-dk-api/llms.txt) · [OpenAPI document](https://skmtc.dev/companydata/apis/companydata-dk-api/revisions/1cc6c361ae64?raw)
