API Reference
Wallets
- POSTCreate Wallet
- GETGet Wallet By Locator
- GETGet Wallet Balance
- POSTFund Wallet
- GETGet NFTs from Wallet
- POSTCreate Transaction
- GETGet Transaction
- GETGet Wallet Transactions
- POSTApprove Transaction
- POSTCreate Signature
- GETGet All Signatures
- GETGet Signature
- POSTApprove Signature
- POSTRegister Delegated Signer
- GETGet Delegated Signer
NFTs
IP
NFT Collections
NFT Templates
Verifiable Credentials
Verifiable Credential Types
Headless Checkout
Action Status
Admin
Subscriptions
Edit Order
Edit an existing order. You can update the recipient, the payment method, and/or the locale.
API scope required: orders.update
curl --request PATCH \
--url https://staging.crossmint.com/api/2022-06-09/orders/{orderId} \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '{
"recipient": {
"email": "jsmith@example.com",
"physicalAddress": {
"name": "<string>",
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
}
},
"locale": "en-US",
"payment": {
"receiptEmail": "jsmith@example.com",
"method": "arbitrum-sepolia",
"currency": "eth",
"payerAddress": "<string>"
}
}'
{
"orderId": "b2959ca5-65e4-466a-bd26-1bd05cb4f837",
"phase": "payment",
"locale": "en-US",
"lineItems": [
{
"chain": "polygon-amoy",
"quantity": 1,
"callData": {
"quantity": 1,
"ADDITIONAL_PROPERTIES": "Your other mint function arguments"
},
"metadata": {
"name": "Headless Checkout Demo",
"description": "NFT Description",
"imageUrl": "https://cdn.io/image.png"
},
"quote": {
"status": "valid",
"charges": {
"unit": {
"amount": "0.0001",
"currency": "eth"
},
"salesTax": {
"amount": "0.34",
"currency": "usdc"
},
"shipping": {
"amount": "0",
"currency": "usdc"
}
},
"totalPrice": {
"amount": "0.0001",
"currency": "eth"
}
},
"delivery": {
"status": "awaiting-payment",
"recipient": {
"locator": "email:<email_address>:<chain>",
"email": "testy@crossmint.com",
"walletAddress": "0x1234abcd..."
}
}
}
],
"quote": {
"status": "valid",
"quotedAt": "2024-06-07T16:55:44.653Z",
"expiresAt": "2024-06-07T17:55:44.653Z",
"totalPrice": {
"amount": "0.0001375741",
"currency": "eth"
}
},
"payment": {
"status": "awaiting-payment",
"method": "base-sepolia",
"currency": "eth",
"preparation": {
"chain": "base-sepolia",
"payerAddress": "0x1234abcd...",
"serializedTransaction": "0x02f90....."
}
}
}
Authorizations
Path Parameters
This is the identifier for the order with UUID format.
Example: 9c82ef99-617f-497d-9abb-fd355291681b
Body
Recipient of the items being purchased. Crossmint will create a custodial wallet address for the user on the fly, that they can later log in to. If no recipient is passed, an order will be created with the status 'requires-recipient', until you pass one.
Physical shipping address for the recipient. Required when purchasing physical products.
Full name of the recipient
Street address, P.O. box, company name, c/o
City, district, suburb, town, or village
ZIP or postal code
Two-letter country code (ISO 3166-1 alpha-2). Currently only US is supported.
Apartment, suite, unit, building, floor, etc.
State, county, province, or region. Required for US addresses.
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.
en-US
, es-ES
, fr-FR
, it-IT
, ko-KR
, pt-PT
, ja-JP
, zh-CN
, zh-TW
, de-DE
, ru-RU
, tr-TR
, uk-UA
, th-TH
, vi-VN
, Klingon
"en-US"
arbitrum-sepolia
, base-sepolia
, ethereum-sepolia
, optimism-sepolia
, arbitrum
, bsc
, ethereum
, optimism
eth
, usdc
, degen
, brett
, toshi
, usdxm
Email that the receipt will be sent to.
An EVM wallet address.
Response
"b2959ca5-65e4-466a-bd26-1bd05cb4f837"
"payment"
"en-US"
"polygon-amoy"
1
"valid"
"awaiting-payment"
Status of the quote. 'requires-physical-address' indicates that a shipping address is required for physical products.
valid
, expired
, all-line-items-unavailable
, requires-physical-address
"valid"
"2024-06-07T16:55:44.653Z"
"2024-06-07T17:55:44.653Z"
"awaiting-payment"
"base-sepolia"
"eth"
Was this page helpful?
curl --request PATCH \
--url https://staging.crossmint.com/api/2022-06-09/orders/{orderId} \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '{
"recipient": {
"email": "jsmith@example.com",
"physicalAddress": {
"name": "<string>",
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
}
},
"locale": "en-US",
"payment": {
"receiptEmail": "jsmith@example.com",
"method": "arbitrum-sepolia",
"currency": "eth",
"payerAddress": "<string>"
}
}'
{
"orderId": "b2959ca5-65e4-466a-bd26-1bd05cb4f837",
"phase": "payment",
"locale": "en-US",
"lineItems": [
{
"chain": "polygon-amoy",
"quantity": 1,
"callData": {
"quantity": 1,
"ADDITIONAL_PROPERTIES": "Your other mint function arguments"
},
"metadata": {
"name": "Headless Checkout Demo",
"description": "NFT Description",
"imageUrl": "https://cdn.io/image.png"
},
"quote": {
"status": "valid",
"charges": {
"unit": {
"amount": "0.0001",
"currency": "eth"
},
"salesTax": {
"amount": "0.34",
"currency": "usdc"
},
"shipping": {
"amount": "0",
"currency": "usdc"
}
},
"totalPrice": {
"amount": "0.0001",
"currency": "eth"
}
},
"delivery": {
"status": "awaiting-payment",
"recipient": {
"locator": "email:<email_address>:<chain>",
"email": "testy@crossmint.com",
"walletAddress": "0x1234abcd..."
}
}
}
],
"quote": {
"status": "valid",
"quotedAt": "2024-06-07T16:55:44.653Z",
"expiresAt": "2024-06-07T17:55:44.653Z",
"totalPrice": {
"amount": "0.0001375741",
"currency": "eth"
}
},
"payment": {
"status": "awaiting-payment",
"method": "base-sepolia",
"currency": "eth",
"preparation": {
"chain": "base-sepolia",
"payerAddress": "0x1234abcd...",
"serializedTransaction": "0x02f90....."
}
}
}