---
title: "Create Checkout Session"
method: POST
path: "/api/v1/subscriptions/checkout-sessions"
tags: ["subscriptions"]
---

# Create Checkout Session

`POST /api/v1/subscriptions/checkout-sessions`

## Request

- Base URL: `http://localhost:8000`
- URL: `http://localhost:8000/api/v1/subscriptions/checkout-sessions`
- Auth: none declared

Create a Stripe checkout session for subscription purchase.

Args:
    request: Checkout session request data
    ctx: Application context with user, session, and company_id

Returns:
    Checkout session URL and ID

## Headers

- `Authorization` string

## Request body

- CreateCheckoutRequest: Request model for creating Stripe checkout session.
  - `tier` string, required: Subscription tier
  - `billing_period` string: Billing period: 'monthly' or 'annual'
  - `success_url` string, required: URL to redirect after successful payment
  - `cancel_url` string, required: URL to redirect after cancelled payment

## Response `201`

Successful Response

- StandardResponse: Standard API response wrapper.
  - `success` boolean, required
  - `data` unknown
  - `message` string, nullable
  - `error` string, nullable
  - `meta` object, nullable

## Other responses

- `422`: Validation Error

---

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