Use this endpoint to mint an NFT to an existing wallet, identified by one of the following parameters:
Make sure to supply a contract ID for a contract that your account has permission to mint on. Need help getting set up? Reach out to us
Endpoint Details
Query Parameters
Identifier for the contract, formatted as contract_<UUID>
Identifier for the NFT. (required)
User can be identified by one of the parameter:
Wallet phone, format: "+12223334444"
Payload Example:
{
"contractId": "contract_6635e90e-31f0-11ee-be56-0242ac120002",
"nftTokenId": "123456",
"quantity": 2,
"walletId": "wallet_43fba5e9-e2ae-4417-a198-16c646c7c9f1"
}
Successful Response
{
"result": {
"status": "pending",
"id": "wallet_43fba5e9-e2ae-4417-a198-16c646c7c9f1"
}
}
Error Response
{
"error": {
"code": 400,
"message": "Error message"
}
}
Error Messages
Validation error:
{ "code: 400, "message": "Validation error: \"email\" with value \"...\" fails to match the Email pattern" }
More than one user identifier:
{ "code": 400, "message": "Validation error: \"value\" failed custom validation because More than one wallet identifier is defined in the request." }
Contract not assigned:
{ "code": 400, "message": "Contract not found" }
Unauthorized API Key:
{ "code": 400, "message": "Invalid API key" }
Wallet not found:
{ "code": 400, "message": "Wallet not found" }
Examples
curl -X POST "https://sandbox.api.labs.zelus.io/v1/nft/mint" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contractId": "contract_6635e90e-31f0-11ee-be56-0242ac120002",
"nftTokenId": "1",
"quantity": 1,
"walletId": "wallet_43fba5e9-e2ae-4417-a198-16c646c7c9f1"
}'
import requests
url = "https://sandbox.api.labs.zelus.io/v1/nft/mint"
headers = {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
}
data = {
"contractId": "contract_6635e90e-31f0-11ee-be56-0242ac120002",
"nftTokenId": "2",
"quantity": 1,
"walletId": "wallet_43fba5e9-e2ae-4417-a198-16c646c7c9f1"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const axios = require('axios');
const url = "https://sandbox.api.labs.zelus.io/v1/nft/mint";
const headers = {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
};
const data = {
contractId: "contract_6635e90e-31f0-11ee-be56-0242ac120002",
nftTokenId: "3",
quantity: 1,
walletId: "wallet_43fba5e9-e2ae-4417-a198-16c646c7c9f1"
};
axios.post(url, data, { headers: headers })
.then(response => console.log(response.data))
.catch(error => console.error(error));