---
title: "Start a credit top-up"
method: POST
path: "/billing/checkout"
tags: ["Account"]
---

# Start a credit top-up

`POST /billing/checkout`

## Request

- Base URL: `https://app.uselamina.ai/v1`
- URL: `https://app.uselamina.ai/v1/billing/checkout`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Start a one-time credit purchase and get back a Stripe-hosted Checkout URL to hand to the user. No card details are handled by the API — payment happens on Stripe's page, and the workspace is credited on completion. Lets an agent recover from 'insufficient credits' without a dashboard detour.

## Request body

- object
  - `packageId` string, required: From GET /billing/packages.

## Response `200`

Checkout session created

- object
  - `data` object, required
    - `checkoutUrl` string, required: Stripe-hosted Checkout URL for the user.
    - `sessionId` string
    - `credits` integer, required
    - `amountCents` integer
    - `currency` string

## Other responses

- `401`: Missing or invalid API key
- `500`: Internal server error

---

[API](https://skmtc.dev/uselamina/apis/lamina-v1-api.md) · [All operations](https://skmtc.dev/uselamina/apis/lamina-v1-api/llms.txt) · [OpenAPI document](https://skmtc.dev/uselamina/apis/lamina-v1-api/revisions/73b598526531?raw)
