PUT
/
2022-06-09
/
collections
/
{collectionId}
/
nfts
/
{idempotencyKey}
curl --request PUT \
  --url https://staging.crossmint.com/api/2022-06-09/collections/{collectionId}/nfts/{idempotencyKey} \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <api-key>' \
  --data '{
  "recipient": "email:testy@crossmint.io:polygon",
  "metadata": {
    "name": "Crossmint Example NFT",
    "image": "https://www.crossmint.com/assets/crossmint/logo.png",
    "description": "My NFT created via the mint API!",
    "animation_url": "<string>",
    "attributes": [
      {
        "display_type": "boost_number",
        "trait_type": "<string>",
        "value": "<string>"
      }
    ]
  },
  "reuploadLinkedFiles": true,
  "compressed": true
}'
{
    "id": "a9c57776-8f0c-4dfc-8a81-06909439234e",
    "onChain": {
        "status": "pending",
        "chain": "polygon",
        "contractAddress": "0xe7Ad5c85B14b5bedc6911c148cfbB52B2744531E"
    },
    "actionId": "a9c57776-8f0c-4dfc-8a81-06909439234e"
}

Subsequent reqeuests to this endpoint with the same idempotencyKey in the path will not mint additional NFTs.

Furthermore, the success responses (with status code 200) will be different once the initial request has completed and includes the metadata for the minted NFT.

Authorizations

X-API-KEY
string
headerrequired

Obtained in the Crossmint developer console

Path Parameters

collectionId
string
required

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

idempotencyKey
string
required

Custom ID of the NFT, which is used as an idempotency key

Body

application/json
recipient
string
required

Allowed formats:

<chain>:<address> or

email:<email_address>:<chain> or

userId:<userId>:<chain>

see here for more info

metadata
required

Optional if baseURI is set.

reuploadLinkedFiles
boolean

Any URLs in the metadata object will be resolved and reuploaded to IPFS [Default: true]

compressed
boolean

Solana only Use NFT compression for cheaper mint costs [Default: true]

Response

200 - application/json
id
string
onChain
object
actionId
string