Skip to main content
POST

Authorizations

X-API-KEY
string
header
required

API key required for authentication

Body

application/json

Create an order for one or more Crossmint line items, such as a collection mint or a token purchase. Line items with currencyLocator need recipient.paymentMethodId and payment.receiptEmail.

lineItems
(Collection locator · object | Token locator · object | Currency locator · object)[]
required

Items to buy. Identify each item with one locator: collectionLocator to mint from a collection, tokenLocator to buy a token, or currencyLocator to offramp to fiat. Every item in one order must use the same locator type. A single object instead of an array is also accepted.

Minimum array length: 1
payment
Bank transfer (EUR) · object
required

How the buyer pays. method selects a card provider, a bank transfer, a prefunded balance, or the chain that the crypto payment is sent from. currency is the currency that the buyer pays in.

locale
enum<string>
default:en-US

Locale for the checkout, in IETF BCP 47. It impacts the email receipt language. Ensure your UI is set to the same language as specified here. Throws an error if passed an invalid language.

Available options:
Klingon,
de-DE,
en-US,
es-ES,
fr-FR,
it-IT,
ja-JP,
ko-KR,
pt-PT,
ru-RU,
th-TH,
tr-TR,
uk-UA,
vi-VN,
zh-CN,
zh-TW
metadata
object

Free-form JSON that you attach to the order. It is returned on every order response.

recipient
Email · object

Who receives the items. Send one of email, walletAddress, or paymentMethodId. If you send an email, Crossmint creates a custodial wallet for it. If you send no recipient, the order quote has the status requires-recipient until you set one with Update Order.

state
enum<string>

Whether to place the order. create (default) places the order and moves it to the payment phase. draft returns what the order would look like without placing it. Draft orders are not persisted and cannot be read with Get Order or List Orders.

Available options:
create,
draft

Response

Order created successfully.

clientSecret
string
required

Authorizes client-side calls for this order. Send it as the Authorization header from a browser or mobile client.

order
object
required

The order that was created.