---
title: "Get a pay link"
method: POST
path: "/v1/checkout"
tags: ["Account"]
---

# Get a pay link

`POST /v1/checkout`

## Request

- Base URL: `https://whipscribe.com/api`
- URL: `https://whipscribe.com/api/v1/checkout`
- Auth: API key in header `X-API-Key`

Returns a card checkout link for one pack or plan, tied to the account behind the API key. A script or agent never handles card details: it hands the link to a person, then polls `GET /v1/checkout/{checkout_id}` until `status` is `paid`. Whoever pays, the credit is added to the account that asked. Asking again for the same `sku` while a link is still open returns the same link. Links expire after 48 hours.

## Request body

- CheckoutRequest
  - `sku` string, required: What to buy: `mini-4` (500 minutes, $6), `basic-8` (1,000 minutes, $8), `pro-monthly` (2,000 minutes, $12), `team-monthly` (5,000 minutes, $24, includes API access) or `workspace-monthly` (Workspace plan, $19/month, includes API access). The packs are one-time purchases. An unknown value returns the current list.

## Response `201`

Pay link created, or the account's still-open link for this `sku` returned again.

- Checkout
  - `id` string: Checkout id; pass it to `GET /v1/checkout/{checkout_id}`.
  - `status` 'pending' | 'paid' | 'expired': `pending` until the payment has been credited to the account, then `paid`. `expired` after 48 hours unpaid; ask for a new link.
  - `checkout_url` string, nullable: Card checkout page for this account. Give it to the person who pays; whoever pays, the credit lands on the account that asked for the link. `null` once the link is paid or expired.
  - `sku` string
  - `amount_usd` number: List price in US dollars. Checkout may show the buyer's local currency and tax.
  - `minutes` integer: Transcription minutes the purchase adds (0 for the Workspace plan).
  - `expires_at` number: Unix time after which the link stops working.

## Other responses

- `400`: `UNKNOWN_SKU`: that `sku` is missing or not on sale. The body lists what is, in `sellable` (each with `sku`, `label`, `amount_usd`, `minutes`, `recurring`, `api_access`).
- `401`: Missing or invalid API key, or the job needs an ownership proof (`X-Claim-Token`).
- `429`: Too many new pay links for this account in the last hour (`RATE_LIMITED`); use the link you already have, or wait `Retry-After` seconds.
- `503`: Checkout is not available right now; retry shortly (`CHECKOUT_UNAVAILABLE`).

---

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