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

# Start a credit top-up checkout

`POST /api/v1/billing/checkout/credits`

Returns an embedded Stripe Checkout `clientSecret` for a pay-as-you-go credit top-up (amount entered by the customer in Checkout). The wallet is credited when the resulting invoice is paid. The customer may optionally save the card for future use; the first saved card becomes the default payment method automatically. Rejected with `409` while a subscription is active — subscription accounts don't draw on the wallet. Not available during impersonation.

## Headers

- `Authorization` string, required

## Request body

- object
  - `returnUrl` string, uri — Where Checkout returns after completion. Defaults to the dashboard billing page.

## Response `200`

Embedded Checkout client secret.

- BillingCreateCreditsCheckoutResponse200
  - `clientSecret` string

## Other responses

- `401` — Missing or invalid API key.
- `409` — A subscription is active, so credit top-ups are disabled.

---

[API](https://skmtc.net/getdial/apis/rest-api.md) · [All operations](https://skmtc.net/getdial/apis/rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getdial/rest-api/versions/cfa621230237/schema)
