curl --request DELETE \
--url https://staging.crossmint.com/api/2022-06-09/collections/{collectionId}/nfts/{id} \
--header 'X-API-KEY: <api-key>'import requests
url = "https://staging.crossmint.com/api/2022-06-09/collections/{collectionId}/nfts/{id}"
headers = {"X-API-KEY": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://staging.crossmint.com/api/2022-06-09/collections/{collectionId}/nfts/{id}', 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/collections/{collectionId}/nfts/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://staging.crossmint.com/api/2022-06-09/collections/{collectionId}/nfts/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://staging.crossmint.com/api/2022-06-09/collections/{collectionId}/nfts/{id}")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.crossmint.com/api/2022-06-09/collections/{collectionId}/nfts/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"actionId": "201520fc-e0eb-4698-a2f3-c6b50cc7c894",
"action": "nfts.delete",
"status": "pending OR succeeded",
"data": {
"chain": "polygon",
"txId": "succeeded status ONLY - 0x69cf6d971e6745f25f683db9c87663839be02bdaa4a70f0724f490d7335b0081",
"collection": {
"id": "default-polygon",
"contractAddress": "0x67a602CBb306b3DBaaC7ECf55b72EED0E04Dc785"
},
"token": {
"id": "799a6f68-e2ea-4126-8577-4298dfcf900c",
"tokenId": "7"
}
},
"startedAt": "2024-01-10T23:01:45.000Z",
"completedAt": "succeeded status ONLY - 2024-01-10T23:02:00.000Z",
"resource": "https://staging.crossmint.com/api/2022-06-09/collections/default-polygon/nfts/201520fc-e0eb-4698-a2f3-c6b50cc7c894"
}{
"error": true,
"message": "Invalid arguments or empty parameter <missing parameter>."
}{
"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."
}Burn NFT
Burn a minted NFT.
API scope required: nfts.delete
curl --request DELETE \
--url https://staging.crossmint.com/api/2022-06-09/collections/{collectionId}/nfts/{id} \
--header 'X-API-KEY: <api-key>'import requests
url = "https://staging.crossmint.com/api/2022-06-09/collections/{collectionId}/nfts/{id}"
headers = {"X-API-KEY": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://staging.crossmint.com/api/2022-06-09/collections/{collectionId}/nfts/{id}', 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/collections/{collectionId}/nfts/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://staging.crossmint.com/api/2022-06-09/collections/{collectionId}/nfts/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://staging.crossmint.com/api/2022-06-09/collections/{collectionId}/nfts/{id}")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.crossmint.com/api/2022-06-09/collections/{collectionId}/nfts/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"actionId": "201520fc-e0eb-4698-a2f3-c6b50cc7c894",
"action": "nfts.delete",
"status": "pending OR succeeded",
"data": {
"chain": "polygon",
"txId": "succeeded status ONLY - 0x69cf6d971e6745f25f683db9c87663839be02bdaa4a70f0724f490d7335b0081",
"collection": {
"id": "default-polygon",
"contractAddress": "0x67a602CBb306b3DBaaC7ECf55b72EED0E04Dc785"
},
"token": {
"id": "799a6f68-e2ea-4126-8577-4298dfcf900c",
"tokenId": "7"
}
},
"startedAt": "2024-01-10T23:01:45.000Z",
"completedAt": "succeeded status ONLY - 2024-01-10T23:02:00.000Z",
"resource": "https://staging.crossmint.com/api/2022-06-09/collections/default-polygon/nfts/201520fc-e0eb-4698-a2f3-c6b50cc7c894"
}{
"error": true,
"message": "Invalid arguments or empty parameter <missing parameter>."
}{
"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."
}Authorizations
Obtained in the Crossmint developer console
Path Parameters
This is the identifier for the collection related to the request. Every project has default collections: default-solana and default-polygon.
The create-collection API will result in collections with UUID formatted collectionId.
Example: 9c82ef99-617f-497d-9abb-fd355291681b
The create-collection-idempotent API allows you to specify an arbitrary identifier during the intitial request.
Example: your-custom-identifer
Unique ID of the minted NFT returned in the mint response
Response
Success.
Can be used to check the status via the action status API
"201520fc-e0eb-4698-a2f3-c6b50cc7c894"
The action performed, in this case nfts.delete
"nfts.delete"
Current status of the async operation. One of pending or succeeded
"pending OR succeeded"
Show child attributes
Show child attributes
The time this operation was initiated in UTC.
"2024-01-10T23:01:45.000Z"
The time this operation completed in UTC.
This is only present when status is succeeded
"succeeded status ONLY - 2024-01-10T23:02:00.000Z"
The URL path to obtain current status with action status api
"https://staging.crossmint.com/api/2022-06-09/collections/default-polygon/nfts/201520fc-e0eb-4698-a2f3-c6b50cc7c894"
Was this page helpful?

