Skip to main content
POST
cURL

Authorizations

Authorization
string
header
required

Send Authorization: Bearer <key>. Testnet: lum_test_…; Mainnet: lum_live_…. A key works only on its own network, so pick the server that matches it (the other network answers 401). Publishable lum_pub_… keys call the GET data routes only, from an allowed browser origin. Webhook keys (whk_…) are not accepted here.

Headers

Idempotency-Key
string
required

Required. 8 to 128 printable ASCII characters (0x21-0x7E: no spaces or control characters), sent once; otherwise 400. Save one key per purchase and reuse it with the same offer_version on retry.

Required string length: 8 - 128
Pattern: ^[\x21-\x7E]{8,128}$
Example:

"purchase-0001-2026-10-22"

Body

application/json
offer_version
string
required

Offer version selected for your workspace.

Response

The purchase, with a checkout_url once it is ready.

id
string<uuid>
required
offer_version
string
required
kind
enum<string>
required
Available options:
payment,
subscription
state
string
required
payment_status_url
string
required
checkout_url
string

Open only the HTTPS provider URL returned by the API.

checkout_expires_at
string<date-time> | null