Update a Project
Partial Update an Project
This endpoint allows you to perform a partial update on a Project.
Value must be either 't' for transferable or 'n' for non-transferable
NFT ID
Description stored in the metadata
This is my first NFTImage URL for your NFT
https://example.com/image.pngAnimation URL for your NFT
https://example.com/animation.mp4Returns an Updated Project
Unauthorized
Forbidden
Not Found
PATCH /v2/projects/:transferable/:projectId HTTP/1.1
Host: api.underdogprotocol.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 181
{
"description": "This is my first NFT",
"image": "https://example.com/image.png",
"attributes": {
"Points": "40000",
"Nickname": "LeGoat"
},
"animationUrl": "https://example.com/animation.mp4"
}{
"name": "NFT #1",
"symbol": "NFT",
"description": "This is my first NFT",
"image": "https://example.com/image.png",
"animationUrl": "https://example.com/animation.mp4",
"id": 1,
"mintAddress": "EBeLw5jEdrEgDe17BdKGW2MizzGxtxigEuAGvYC7VzDp",
"transferable": true,
"status": "text"
}Example
curl --location --request PATCH 'https://dev.underdogprotocol.com/v2/projects/n/1' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"image": "https://assets.pokemon.com/assets/cms2/img/pokedex/full/005.png"
}'const axios = require('axios');
let data = JSON.stringify({
"image": "https://assets.pokemon.com/assets/cms2/img/pokedex/full/005.png"
});
let config = {
method: 'patch',
url: 'https://dev.underdogprotocol.com/v2/projects/n/1',
headers: {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
{
"id": 1,
"status": "confirmed",
"mintAddress": "6ntqAJmmkJup9h9EX3B5vETCj6ZYhZNfmQ6Rqm2myGmE",
"name": "Underdogs",
"description": "Pokemnon",
"image": "https://underdog-test-bucket-dev.s3.amazonaws.com/6ntqAJmmkJup9h9EX3B5vETCj6ZYhZNfmQ6Rqm2myGmE/image.png"
}Update a Project
This endpoint allows you to perform an update on a Project.
Value must be either 't' for transferable or 'n' for non-transferable
Description stored in the metadata
This is my first NFTImage URL for your NFT
https://example.com/image.pngAnimation URL for your NFT
https://example.com/animation.mp4Returns an Updated Project
Unauthorized
Forbidden
Not Found
PUT /v2/projects/:transferable/:projectId HTTP/1.1
Host: api.underdogprotocol.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 129
{
"description": "This is my first NFT",
"image": "https://example.com/image.png",
"animationUrl": "https://example.com/animation.mp4"
}{
"name": "NFT #1",
"symbol": "NFT",
"description": "This is my first NFT",
"image": "https://example.com/image.png",
"animationUrl": "https://example.com/animation.mp4",
"id": 1,
"mintAddress": "EBeLw5jEdrEgDe17BdKGW2MizzGxtxigEuAGvYC7VzDp",
"transferable": true,
"status": "text"
}Example
curl --location --request PUT 'https://dev.underdogprotocol.com/v2/projects/n/1' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"image": "https://assets.pokemon.com/assets/cms2/img/pokedex/full/005.png",
"description": "Pokemnon"
}'const axios = require('axios');
let data = JSON.stringify({
"image": "https://assets.pokemon.com/assets/cms2/img/pokedex/full/005.png",
"description": "Pokemnon"
});
let config = {
method: 'put',
url: 'https://dev.underdogprotocol.com/v2/projects/n/1',
headers: {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
{
"id": 1,
"status": "confirmed",
"mintAddress": "6ntqAJmmkJup9h9EX3B5vETCj6ZYhZNfmQ6Rqm2myGmE",
"name": "Underdogs",
"description": "Pokemnon",
"image": "https://underdog-test-bucket-dev.s3.amazonaws.com/6ntqAJmmkJup9h9EX3B5vETCj6ZYhZNfmQ6Rqm2myGmE/image.png"
}Update Name & Symbol
Update Project Name
This endpoint allows you to update the on-chain name for a Project.
Value must be either 't' for transferable or 'n' for non-transferable
Name stored as on-chain metadata
NFT #1Unauthorized
Forbidden
Not Found
PUT /v2/projects/:transferable/:projectId/name HTTP/1.1
Host: api.underdogprotocol.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 17
{
"name": "NFT #1"
}{
"transactionId": "text",
"projectId": 1,
"transferable": true,
"mintAddress": "EBeLw5jEdrEgDe17BdKGW2MizzGxtxigEuAGvYC7VzDp"
}Example
curl --location --request PUT 'https://dev.underdogprotocol.com/v2/projects/n/1/name' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"name": "Project"
}'const axios = require('axios');
let data = JSON.stringify({
"name": "Project"
});
let config = {
method: 'put',
url: 'https://dev.underdogprotocol.com/v2/projects/n/1/name',
headers: {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
{
"transactionId": "b8bde20a-a689-4ce7-9199-b5e4ca08e1cc",
"projectId": 1,
"transferable": false,
"mintAddress": "6ntqAJmmkJup9h9EX3B5vETCj6ZYhZNfmQ6Rqm2myGmE"
}Update Project Symbol
This endpoint allows you to update the on-chain symbol for a Project.
Value must be either 't' for transferable or 'n' for non-transferable
Symbol stored as on-chain metadata
NFTUnauthorized
Forbidden
Not Found
PUT /v2/projects/:transferable/:projectId/symbol HTTP/1.1
Host: api.underdogprotocol.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 16
{
"symbol": "NFT"
}{
"transactionId": "text",
"projectId": 1,
"transferable": true,
"mintAddress": "EBeLw5jEdrEgDe17BdKGW2MizzGxtxigEuAGvYC7VzDp"
}Example
curl --location --request PUT 'https://dev.underdogprotocol.com/v2/projects/n/1/symbol \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"symbol": "TEST"
}'const axios = require('axios');
let data = JSON.stringify({
"symbol": "TEST"
});
let config = {
method: 'put',
url: 'https://dev.underdogprotocol.com/v2/projects/n/1/symbol',
headers: {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
{
"transactionId": "b8bde20a-a689-4ce7-9199-b5e4ca08e1cc",
"projectId": 1,
"transferable": false,
"mintAddress": "6ntqAJmmkJup9h9EX3B5vETCj6ZYhZNfmQ6Rqm2myGmE"
}Last updated