Underdog Protocol
  • API Documentation
  • Quickstart
  • Guides
    • Postman
    • Endpoints
    • Authentication
    • Pagination
    • Errors
    • Webhooks
    • Architecture
  • Resources
    • Projects
      • Transferable Projects
      • Non-Transferable Projects
      • NFTs
        • List all NFTs
        • Search NFTs
        • Create an NFT
        • Retrieve an NFT
        • Update an NFT
        • Generate Claim Link
        • Revoke an NFT
        • Burn an NFT
      • Methods
        • List all Projects
        • Create a Project
        • Retrieve a Project
        • Update a Project
        • Retrieve Project Stats
    • NFTs
      • Retrieve an NFT
      • Generate Claim Transaction
    • Orgs
      • List all Orgs
    • Transactions
      • List all Transactions
      • Retrieve a Transaction
    • Webhooks
      • List all Webhooks
      • Create a Webhook
      • Delete a Webhook
    • V1
      • Collections
        • List all Collections
        • Create a Collection
        • Retrieve a Collection
      • NFTs
        • List all NFTs
        • Create an NFT
        • Retrieve an NFT
        • Update an NFT
      • Managed NFTs
        • Claim
        • Revoke
  • Examples
    • Zapier Integrations
      • Zapier + Viral Loops
      • Zapier + Github + OpenAI
      • Zapier + Github
      • Zapier + Mailchimp
      • Zapier + Shopify
      • Zapier + Calendly
      • Zapier + Hubspot
      • Zapier + Typeform
    • Underdog with Airtable
      • Create a Project
      • Create NFT on Form Submission
      • Send a Claim Link
      • Updating NFTs
    • Web3 Blog
    • Mint NFTs on iPhone
  • Use Cases
    • Solana Mobile
    • Parcl
Powered by GitBook
On this page
  1. Resources
  2. Projects
  3. Methods

Create a Project

PreviousList all ProjectsNextRetrieve a Project

Last updated 2 years ago

Example

curl --location --request POST 'https://dev.underdogprotocol.com/v2/projects' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "Project #420",
    "image": "https://hatrabbits.com/wp-content/uploads/2017/01/random-word-1.jpg",
    "transferable": false
}'
const axios = require('axios');
let data = JSON.stringify({
  "name": "Project #420",
  "image": "https://hatrabbits.com/wp-content/uploads/2017/01/random-word-1.jpg",
  "transferable": false
});

let config = {
  method: 'post',
  url: 'https://dev.underdogprotocol.com/v2/projects',
  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);
});
Response
{
    "projectId": 4,
    "transferable": false,
    "transactionId": "f6818014-838c-45db-bf9e-70a55ffb14d6",
    "mintAddress": "7eq4L3mxaaZxLw5JGP2dDtoYA71vPoRvszSUYSbqxGgF"
}
  • POSTCreate a Project
  • Example

Create a Project

post

This endpoint allows you to create a new Project.

Authorizations
Body
namestringRequired

Name stored as on-chain metadata

Example: NFT #1
symbolstringOptional

Symbol stored as on-chain metadata

Example: NFT
descriptionstringOptional

Description stored in the metadata

Example: This is my first NFT
imagestringRequired

Image URL for your NFT

Example: https://example.com/image.png
transferablebooleanRequired

Whether or not the NFTs in this project can be transferred

animationUrlstringOptional

Animation URL for your NFT

Example: https://example.com/animation.mp4
Responses
202Success
application/json
401
Unauthorized
application/json
403
Forbidden
application/json
404
Not Found
application/json
post
POST /v2/projects HTTP/1.1
Host: api.underdogprotocol.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 180

{
  "name": "NFT #1",
  "symbol": "NFT",
  "description": "This is my first NFT",
  "image": "https://example.com/image.png",
  "transferable": true,
  "animationUrl": "https://example.com/animation.mp4"
}
{
  "transactionId": "text",
  "projectId": 1,
  "transferable": true,
  "mintAddress": "EBeLw5jEdrEgDe17BdKGW2MizzGxtxigEuAGvYC7VzDp"
}