Create Batch of Digital Passports

Create and mint a batch of digital passports at once.

Before you begin

Create a batch of digital passports and drop multiple tokens, called children's digital passports, at once. This feature offers multiple options:

  • Create a batch from an existing parent digital passport. The parent must be previously created.
  • Create a batch from a brand-new parent digital passport.
  • Create a batch without using a parent's digital passport.
  • Use individual links to distribute digital passports.
  • Use one universal link to distribute digital passports.
  • Attach a landing digital passport. The landing must be previously created.
  • Choose to manage claims with deferred feature.

Use case example: Let's say your brand created parent digital passports for the three new hoodie models available for your customers. You have produced 5,000 pieces of each model, so you need to produce 5,000 children's digital passports for each parent. Your brand can create three different drops, each model having its universal link.

Let's start 🚀

Create Digital Passports Batch

📌

  • The API is authenticated with the user rights required → certCreate
  • To do so, you'll define deferent types of digital passport: parent, children, landing and no more digital passports. For more information about their use, refer to this page.
  • Depending on your distribution method, landing and noMore digital passports are required.
Distribution methodlandingnoMore
Digital Passport Kiosk - One universal link
Individual links

Step 1: Create a digital passports batch by using the /nft/campaign.

{
  "campaignName":"Welcome to NFT Paris 2023",
  "distributionType": "NFT Kiosk",
  "draftContent": {
    "parent": {
      "name":"NFT Paris 2023",
      "content": "Content",
      "tags": ["parentPassport", "NFTParis2023"],
      "modified": false,
      "tokenId":557809
    },
    "children": {
      "name":"Welcome to NFT Paris 2023",
      "content": "Content",
      "tags": ["public_v2", "NFTParis2023"],
      "modified": false,
      "nftNumber": 50
    },
    "landing": {
      "name":"Welcome to NFT Paris",
      "content": "Content",
      "tags": ["landing", "NFTParis2023"],
      "modified": true
    }
        },
    "noMore": {
      "name":"Welcome to NFT Paris",
      "content": "Content",
      "tags": ["noMore", "NFTParis2023"],
      "modified": true
    
  },
  "type": "Test",
  "landingTokenId": 599937,
  "noMoreTokenId": 559938,
  "batchTokenId": 559939,
  "createdBy": "Creator",
  "updatedBy": "Updater"
}
InputMandatoryTypeDescription
campaignNameStringName of the digital passports batch.
distributionTypeStringType of distribution for your digital passport batch.
draftContentObjectContent objects of the digital passports batch.
draftContentparentObjectParent digital passport for the batch.
name: Name of the parent's digital passport.
content: Content of the parent digital passport.
tags: Tags of the parent digital passport.
modified: Has been modified - true / false
tokenId: Identification number of the parent digital passport.
draftContentchildrenObjectChildren's digital passports of the batch.
name: Name of the children.
content: Content of your children's digital passports.
tags: Children tags.
modified: Has been modified - true / false
nftNumber: Number of digital passports minted in the batch.
draftContentlandingObjectDigital passport displayed to customers when claiming a digital passport of the batch.
name: Name of the landing digital passport.
content: Content of the landing digital passport.
tags: Tags of the landing digital passport.
modified: Has been modified - true / false
tokenId: Identification number of the landing digital passport.
draftContentnoMoreObjectDigital passport displayed to customers There is more digital passport available:
name: Name of the no more digital passport.
content: Content of the no more digital passport.
tags: Tags of the no more digital passport.
modified: Has been modified - true / false
tokenId: Identification number of the no more digital passport.
nameStringTitle of the digital passport.
contentObjectJSON object with the content of the digital passport.
For more information on content standards, dig deeper into Digital Passport Schema.
tagsStringTag(s) of the digital passport.
modifiedBooleanMetadata to indicate if the batch has already been updated.
false at creation.
typeStringType of batch, e.g. test
landingTokenIdNumberIdentification number of the landing digital passport.
noMoreTokenIdNumberIdentification number of the no more digital passport.
batchTokenIdNumberIdentification number of the digital passports batch.
createdByStringCreator of the batch.
updatedByStringEditor/updater of the batch.

Result: Your campaign has been created. Information returned. The _id is the identification number that you'll need to retrieve or update your digital passport batch.

{
    "draftContent": {
        "parent": {
            "status": "DRAFT",
            "tags": [
                "parentPassport",
                "NFTParis2023"
            ],
            "name": "NFT Paris 2023",
            "content": "Content",
            "modified": false,
            "tokenId": 0
        },
        "children": {
            "status": "DRAFT",
            "tags": [
                "public_v2",
                "NFTParis2023"
            ],
            "name": "Welcome to NFT Paris 2023",
            "content": "Content",
            "modified": false
        },
        "landing": {
            "status": "DRAFT",
            "tags": [
                "landing",
                "NFTParis2023"
            ],
            "name": "Welcome to NFT Paris",
            "content": "Content",
            "modified": true
        },
        "noMore": {
            "status": "DRAFT",
            "tags": []
        }
    },
    "_id": "64185ed2c82767159187d048",
    "campaignName": "Welcome to NFT Paris 2023",
    "distributionType": "NFT Kiosk",
    "type": "Test",
    "landingTokenId": 0,
    "noMoreTokenId": 0,
    "batchTokenId": 0,
    "createdBy": "a4d8c8f4-7947-4f73-9c0a-6f6659cd67b3",
    "updatedBy": "a4d8c8f4-7947-4f73-9c0a-6f6659cd67b3",
    "createdAt": "2023-03-20T13:25:38.074Z",
    "updatedAt": "2023-03-20T13:25:38.074Z",
    "__v": 0,
    "id": "64185ed2c82767159187d048"
}

Retrieve Digital Passports Batch

Retrieve the information of the digital passports batch by using the /nft/campaign/{id}.

📌

The API is authenticated with the user rights required → certRead

Result:

httpCodeDescription
200The information of your batch is returned.
404Empty return. You _id may not exist.
{
  "campaignName":"Welcome to NFT Paris 2023",
  "distributionType": "NFT Kiosk",
  "draftContent": {
    "parent": {
      "name":"NFT Paris 2024",
      "content": "Content",
      "tags": ["parentPassport", "NFTParis2023"],
      "modified": false,
      "tokenId":557809
    },
    "children": {
      "name":"Welcome to NFT Paris 2023",
      "content": "Content",
      "tags": ["public_v2", "NFTParis2023"],
      "modified": false,
      "nftNumber": 50
    },
    "landing": {
      "name":"Welcome to NFT Paris",
      "content": "Content",
      "tags": ["landing", "NFTParis2023"],
      "modified": true
    }
        },
    "noMore": {
      "name":"Welcome to NFT Paris",
      "content": "Content",
      "tags": ["noMore", "NFTParis2023"],
      "modified": true
    
  },
  "type": "Test",
  "landingTokenId": 599937,
  "noMoreTokenId": 559938,
  "batchTokenId": 559939,
  "createdBy": "Creator",
  "updatedBy": "Updater"
}

Update Digital Passports Batch

Update the content of your digital passports batch and use the /nft/campaign/{id}.

📌

The API is authenticated with the user rights required → certCreate

{
  "campaignName":"Welcome to NFT Paris 2024",
  "distributionType": "NFT Kiosk",
  "draftContent": {
    "parent": {
      "name":"NFT Paris 2024",
      "content": "Content",
      "tags": ["parentPassport", "NFTParis2024"],
      "modified": false,
      "tokenId":557809
    },
    "children": {
      "name":"Welcome to NFT Paris 2024",
      "content": "Content",
      "tags": ["public_v2", "NFTParis2024"],
      "modified": false,
      "nftNumber": 50
    },
    "landing": {
      "name":"Welcome to NFT Paris",
      "content": "Content",
      "tags": ["landing", "NFTParis2024"],
      "modified": true
    }
        },
    "noMore": {
      "name":"Welcome to NFT Paris",
      "content": "Content",
      "tags": ["noMore", "NFTParis2024"],
      "modified": true
    
  },
  "type": "Test",
  "landingTokenId": 599937,
  "noMoreTokenId": 559938,
  "batchTokenId": 559939,
  "createdBy": "Creator",
  "updatedBy": "Updater"
}

Result:

httpCodeDescription
200Your digital passport batch has been updated.
500Your digital passport batch ID may not exist.
{
    "draftContent": {
        "parent": {
            "status": "DRAFT",
            "tags": [
                "parentPassport",
                "NFTParis2023"
            ],
            "name": "NFT Paris 2024",
            "content": "Content",
            "modified": false,
            "tokenId": 0
        },
        "children": {
            "status": "DRAFT",
            "tags": [
                "public_v2",
                "NFTParis2023"
            ],
            "name": "Welcome to NFT Paris 2024",
            "content": "Content",
            "modified": false
        },
        "landing": {
            "status": "DRAFT",
            "tags": [
                "landing",
                "NFTParis2024"
            ],
            "name": "Welcome to NFT Paris",
            "content": "Content",
            "modified": true
        },
        "noMore": {
            "status": "DRAFT",
            "tags": []
        }
    },
    "_id": "641860fbc827676be087d049",
    "campaignName": "Welcome to NFT Paris 2024",
    "distributionType": "NFT Kiosk",
    "type": "Test",
    "landingTokenId": 765432444,
    "noMoreTokenId": 765436999,
    "batchTokenId": 66559993,
    "createdBy": "EG",
    "updatedBy": "a4d8c8f4-7947-4f73-9c0a-6f6659cd67b3",
    "createdAt": "2023-03-20T13:34:51.471Z",
    "updatedAt": "2023-03-20T14:20:30.939Z",
    "__v": 0,
    "id": "641860fbc827676be087d049"
}
{
    "stringValue": "\"641860fbc827676be087d0\"",
    "kind": "ObjectId",
    "value": "641860fbc827676be087d0",
    "path": "_id",
    "reason": {}
}

🚀

Our team tips

For smooth experience when minting and distributing your digital passports, we recommend to be mindful of:

  • On-chain transaction latency.
  • The design and content of your digital passport to avoid update that leads to extra cost in credits and potentially confusing digital passport history for the owners.

For more information on updates, check out Update your Digital Passport.