Create an NFT
This endpoint allows you to create a new NFT.
Authorizations
Path parameters
transferablestringRequired
Value must be either 't' for transferable or 'n' for non-transferable
projectIdintegerRequired
Body
namestringRequiredExample:
Name stored as on-chain metadata
NFT #1symbolstringOptionalExample:
Symbol stored as on-chain metadata
NFTdescriptionstringOptionalExample:
Description stored in the metadata
This is my first NFTimagestringRequiredExample:
Image URL for your NFT
https://example.com/image.pnganimationUrlstringOptionalExample:
Animation URL for your NFT
https://example.com/animation.mp4receiverAddressstringOptionalExample:
Wallet address that will receive the NFT
EBeLw5jEdrEgDe17BdKGW2MizzGxtxigEuAGvYC7VzDpPattern: ^[A-HJ-NP-Za-km-z1-9]*$upsertbooleanOptional
If true, will update the NFT if one with the same owner / claimer exists
Responses
200
Returns an array of NFTs with upserted metadata
application/json
202Success
application/json
401
Unauthorized
application/json
403
Forbidden
application/json
404
Not Found
application/json
post
/v2/projects/:transferable/:projectId/nftsPOST /v2/projects/:transferable/:projectId/nfts HTTP/1.1
Host: api.underdogprotocol.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 291
{
"name": "NFT #1",
"symbol": "NFT",
"description": "This is my first NFT",
"image": "https://example.com/image.png",
"animationUrl": "https://example.com/animation.mp4",
"attributes": {
"Points": "40000",
"Nickname": "LeGoat"
},
"receiverAddress": "EBeLw5jEdrEgDe17BdKGW2MizzGxtxigEuAGvYC7VzDp",
"upsert": true
}[
{
"name": "NFT #1",
"symbol": "NFT",
"description": "This is my first NFT",
"image": "https://example.com/image.png",
"animationUrl": "https://example.com/animation.mp4",
"attributes": {
"Points": "40000",
"Nickname": "LeGoat"
},
"id": 1,
"projectId": 1,
"transferable": true,
"mintAddress": "EBeLw5jEdrEgDe17BdKGW2MizzGxtxigEuAGvYC7VzDp",
"ownerAddress": "EBeLw5jEdrEgDe17BdKGW2MizzGxtxigEuAGvYC7VzDp",
"claimerAddress": "EBeLw5jEdrEgDe17BdKGW2MizzGxtxigEuAGvYC7VzDp",
"status": "text"
}
]Example
curl --location --request POST 'https://dev.underdogprotocol.com/v2/projects/n/4/nfts' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "LeGoat",
"image": "https://sportshub.cbsistatic.com/i/r/2023/02/08/aa0a798f-6268-41ba-9be4-ea4ee03fd817/thumbnail/1200x675/421458d6419a36da2aaad75e10b2e347/king.jpg",
"attributes": {
"points": "38390"
}
}'const axios = require('axios');
let data = JSON.stringify({
"name": "LeGoat",
"image": "https://sportshub.cbsistatic.com/i/r/2023/02/08/aa0a798f-6268-41ba-9be4-ea4ee03fd817/thumbnail/1200x675/421458d6419a36da2aaad75e10b2e347/king.jpg",
"attributes": {
"points": "38390"
}
});
let config = {
method: 'post',
url: 'https://dev.underdogprotocol.com/v2/projects/n/4/nfts',
headers: {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json'
},
data : data
};
axios(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
{
"transactionId": "c3f66040-89f2-4692-9987-e7d0465179ab",
"mintAddress": "Dic1tC9yBhaDerQpV8ZBAsruBUKQsRWtCWysG965ADWi"
}Last updated