---
title: "Create Credit Pack Checkout"
method: POST
path: "/api/billing/credits/checkout"
tags: ["billing"]
---

# Create Credit Pack Checkout

`POST /api/billing/credits/checkout`

One-time Stripe Checkout to buy a prepaid credit pack (PAYG tier).

Unlike the subscription checkout, this is ``mode="payment"`` — a single
charge of ``credits × $0.15`` with no recurring plan. The card is collected
here (a PAYG org needs none until its first purchase). Multiple concurrent
purchases are legitimate, so this does NOT use the one-subscription-per-org
single-flight guard; a Stripe idempotency_key guards double-clicks and the
webhook credits the ledger idempotently via a UNIQUE stripe_ref.

## Request body

- CreditPackCheckoutRequest
  - `credits` integer, required

## Response `200`

Successful Response

- CreditPackCheckoutResponse
  - `checkout_url` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/codag/apis/infra-logs-templater.md) · [All operations](https://skmtc.net/codag/apis/infra-logs-templater/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/codag/infra-logs-templater/revisions/a4b69f6d2450/schema)
