---
title: "Create a Stripe Checkout session for a one-time credit pack"
method: POST
path: "/v1/billing/checkout"
tags: ["Billing"]
---

# Create a Stripe Checkout session for a one-time credit pack

`POST /v1/billing/checkout`

## Request

- Base URL: `https://archtools.dev`
- URL: `https://archtools.dev/v1/billing/checkout`
- Auth: API key in header `x-api-key`

Requires an API key or signed-in session. Packs: starter = Starter Pack (3,000 credits, $9), pro = Pro Pack (25,000 credits, $49), business = Business Pack (125,000 credits, $199). Legacy ids small/medium/large are accepted as aliases for starter/pro/business.

## Request body

- object
  - `pack` 'starter' | 'pro' | 'business', required: Credit pack id (the `id` from GET /v1/billing/plans). Legacy aliases small/medium/large map to starter/pro/business. The key `plan` is also accepted as an alias for `pack`.

## Response `200`

Stripe Checkout session created

- object
  - `ok` boolean
  - `url` string: Stripe Checkout URL — open it to complete payment
  - `session_id` string
  - `request_id` string

## Other responses

- `400`: Unknown pack id, or a subscription plan id was sent (use POST /v1/billing/subscribe for subscriptions)
- `401`: Missing or invalid API key/session
- `503`: Stripe not configured

---

[API](https://skmtc.dev/archtools/apis/arch-tools-api.md) · [All operations](https://skmtc.dev/archtools/apis/arch-tools-api/llms.txt) · [OpenAPI document](https://skmtc.dev/archtools/apis/arch-tools-api/revisions/ed6c1f974033?raw)
