Edit Order
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"
},
"locale": "en-US",
"payment": {
"receiptEmail": "jsmith@example.com",
"payerAddress": "<string>"
}
}
'import requests
url = "https://staging.crossmint.com/api/2022-06-09/orders/{orderId}"
payload = {
"recipient": { "email": "jsmith@example.com" },
"locale": "en-US",
"payment": {
"receiptEmail": "jsmith@example.com",
"payerAddress": "<string>"
}
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
recipient: {email: 'jsmith@example.com'},
locale: 'en-US',
payment: {receiptEmail: 'jsmith@example.com', payerAddress: '<string>'}
})
};
fetch('https://staging.crossmint.com/api/2022-06-09/orders/{orderId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://staging.crossmint.com/api/2022-06-09/orders/{orderId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'recipient' => [
'email' => 'jsmith@example.com'
],
'locale' => 'en-US',
'payment' => [
'receiptEmail' => 'jsmith@example.com',
'payerAddress' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://staging.crossmint.com/api/2022-06-09/orders/{orderId}"
payload := strings.NewReader("{\n \"recipient\": {\n \"email\": \"jsmith@example.com\"\n },\n \"locale\": \"en-US\",\n \"payment\": {\n \"receiptEmail\": \"jsmith@example.com\",\n \"payerAddress\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://staging.crossmint.com/api/2022-06-09/orders/{orderId}")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"recipient\": {\n \"email\": \"jsmith@example.com\"\n },\n \"locale\": \"en-US\",\n \"payment\": {\n \"receiptEmail\": \"jsmith@example.com\",\n \"payerAddress\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.crossmint.com/api/2022-06-09/orders/{orderId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"recipient\": {\n \"email\": \"jsmith@example.com\"\n },\n \"locale\": \"en-US\",\n \"payment\": {\n \"receiptEmail\": \"jsmith@example.com\",\n \"payerAddress\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"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..."
},
"txId": "0x2e69f11dae7869b92e3d5eaf4cadd50c48b5c6803d1232815f979d744521ad4c",
"tokens": [
{
"locator": "polygon:0xE04Cf294985282Ddc088E6433c064cfB85eD9EdA:3",
"contractAddress": "0xE04Cf294985282Ddc088E6433c064cfB85eD9EdA",
"tokenId": "3",
"mintHash": "MintHashAbc123",
"quantity": "1500000",
"symbol": "USDC",
"decimals": 6
}
]
}
}
],
"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....."
}
}
}{
"error": true,
"message": "<string>",
"parameters": {
"amount": "<string>",
"limit": "<string>",
"hoursUntilReset": "<string>",
"remainingAmount": "<string>"
}
}{
"error": true,
"message": "Malformed API key. / API key provided doesn't have required scopes."
}{
"error": true,
"message": "Not found"
}{
"error": true,
"message": "Please try again in a few minutes. If the issue still persists, contact Crossmint support."
}{
"error": true,
"message": "A timeout occurred."
}Orders
Edit order
PATCH
/
2022-06-09
/
orders
/
{orderId}
Edit Order
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"
},
"locale": "en-US",
"payment": {
"receiptEmail": "jsmith@example.com",
"payerAddress": "<string>"
}
}
'import requests
url = "https://staging.crossmint.com/api/2022-06-09/orders/{orderId}"
payload = {
"recipient": { "email": "jsmith@example.com" },
"locale": "en-US",
"payment": {
"receiptEmail": "jsmith@example.com",
"payerAddress": "<string>"
}
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
recipient: {email: 'jsmith@example.com'},
locale: 'en-US',
payment: {receiptEmail: 'jsmith@example.com', payerAddress: '<string>'}
})
};
fetch('https://staging.crossmint.com/api/2022-06-09/orders/{orderId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://staging.crossmint.com/api/2022-06-09/orders/{orderId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'recipient' => [
'email' => 'jsmith@example.com'
],
'locale' => 'en-US',
'payment' => [
'receiptEmail' => 'jsmith@example.com',
'payerAddress' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://staging.crossmint.com/api/2022-06-09/orders/{orderId}"
payload := strings.NewReader("{\n \"recipient\": {\n \"email\": \"jsmith@example.com\"\n },\n \"locale\": \"en-US\",\n \"payment\": {\n \"receiptEmail\": \"jsmith@example.com\",\n \"payerAddress\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://staging.crossmint.com/api/2022-06-09/orders/{orderId}")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"recipient\": {\n \"email\": \"jsmith@example.com\"\n },\n \"locale\": \"en-US\",\n \"payment\": {\n \"receiptEmail\": \"jsmith@example.com\",\n \"payerAddress\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.crossmint.com/api/2022-06-09/orders/{orderId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"recipient\": {\n \"email\": \"jsmith@example.com\"\n },\n \"locale\": \"en-US\",\n \"payment\": {\n \"receiptEmail\": \"jsmith@example.com\",\n \"payerAddress\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"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..."
},
"txId": "0x2e69f11dae7869b92e3d5eaf4cadd50c48b5c6803d1232815f979d744521ad4c",
"tokens": [
{
"locator": "polygon:0xE04Cf294985282Ddc088E6433c064cfB85eD9EdA:3",
"contractAddress": "0xE04Cf294985282Ddc088E6433c064cfB85eD9EdA",
"tokenId": "3",
"mintHash": "MintHashAbc123",
"quantity": "1500000",
"symbol": "USDC",
"decimals": 6
}
]
}
}
],
"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....."
}
}
}{
"error": true,
"message": "<string>",
"parameters": {
"amount": "<string>",
"limit": "<string>",
"hoursUntilReset": "<string>",
"remainingAmount": "<string>"
}
}{
"error": true,
"message": "Malformed API key. / API key provided doesn't have required scopes."
}{
"error": true,
"message": "Not found"
}{
"error": true,
"message": "Please try again in a few minutes. If the issue still persists, contact Crossmint support."
}{
"error": true,
"message": "A timeout occurred."
}Authorizations
apiKeyorderClientSecret
Path Parameters
This is the identifier for the order with UUID format.
Example: 9c82ef99-617f-497d-9abb-fd355291681b
Body
application/json
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.
- Email
- Wallet
Show child attributes
Show child attributes
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:
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 Example:
"en-US"
- EVM
- Solana
- Fiat
Show child attributes
Show child attributes
Was this page helpful?
⌘I

