---
title: "Create a Stripe Checkout Session for a tier upgrade"
method: POST
path: "/v1/billing/checkout"
tags: ["billing"]
---

# Create a Stripe Checkout Session for a tier upgrade

`POST /v1/billing/checkout`

## Request

- Base URL: `https://api.ctindex.io`
- URL: `https://api.ctindex.io/v1/billing/checkout`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Returns a Stripe Checkout URL that upgrades the caller's API key to the requested `{tier, interval}` price. Reuses the caller's existing Stripe customer ID when one is already linked.

## Cookies

- `ctix_session` string, nullable

## Request body

- CheckoutRequest: Body for POST /v1/billing/checkout.
  - `tier` string, required
  - `interval` string

## Response `200`

Successful Response

- CheckoutResponse
  - `checkout_url` string, required
  - `session_id` string, required

## Other responses

- `422`: Validation Error

---

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