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 '{
  "compressed": true,
  "metadata": {
    "animation_url": "<string>",
    "attributes": [
      {
        "display_type": "boost_number",
        "trait_type": "<string>",
        "value": "<string>"
      }
    ],
    "description": "My NFT created via the mint API!",
    "image": "https://www.crossmint.com/assets/crossmint/logo.png",
    "name": "Crossmint Example NFT"
  },
  "recipient": "email:testy@crossmint.io:polygon",
  "reuploadLinkedFiles": 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
compressed
boolean

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

metadata
required

Optional if baseURI is set.

recipient
string
required

Allowed formats:

<chain>:<address> or

email:<email_address>:<chain> or

userId:<userId>:<chain>

see here for more info

reuploadLinkedFiles
boolean

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

Response

200 - application/json
  • Option 1

  • Option 2

  • Option 3

  • Option 4

actionId
string
id
string
onChain
object