Protokol
  • Introduction To Digital Assets
  • Tutorials
    • How To Create Digital Assets
    • How To Trade Digital Assets
  • ARK CORE MODULES
    • NFT
      • Development
      • Complementary Examples
        • Base
        • Exchange
      • API Endpoints
        • Assets
        • Burns
        • Collections
        • Transfers
        • Base Configurations
        • Auctions
        • Bids
        • Trades
        • Exchange Configurations
    • Guardian
      • Development
      • Complementary Examples
      • API Endpoints
        • Configurations
        • Groups
        • Users
    • Nameservice
      • Development
      • Complementary Examples
      • API Endpoints
        • Configurations
        • Nameservice
    • Voting
      • Development
      • Complementary Examples
      • API Endpoints
        • Configurations
        • Create Proposal
        • Cast Vote
        • Statistics
  • Protokol Templates
    • Core Starter Kit
    • Solidity Typescript Hardhat
    • Nestjs
Powered by GitBook
On this page
  • All Collections
  • /collections
  • Examples
  • Collection By id
  • /collections/:id
  • Examples
  • Collection Schema
  • /collections/:id/schema
  • Examples
  • Collections Wallet
  • /collections/:id/wallets
  • Examples
  • Search Collection
  • /collections/search
  • Examples
  • Collection Assets
  • /collections/:id/assets
  • Examples

Was this helpful?

  1. ARK CORE MODULES
  2. NFT
  3. API Endpoints

Collections

List of NFT Base Collections API Endpoints.

All Collections

/collections

GET https://explorer.protokol.sh/api/nft/collections

Returns all Collections Registered

Query Parameters

Name
Type
Description

page

integer

The number of page that will be returned

limit

integer

The number of resources per page

orderBy

string

Order by specific parameter (asc or desc) Example: orderBy=id:asc

transform

boolean

It returns modified or raw data

{
  "meta": {
    "totalCountIsEstimate": true,
    "count": 2,
    "pageCount": 1,
    "totalCount": 2,
    "next": null,
    "previous": null,
    "self": "/nft/collections?transform=true&page=1&limit=100",
    "first": "/nft/collections?transform=true&page=1&limit=100",
    "last": "/nft/collections?transform=true&page=1&limit=100"
  },
  "data": [
    {
      "id": "8643026a0997dc9fe74ce4aa11f522ecff651fa72ecf0127a0665fd52535bc1b",
      "senderPublicKey": "03287bfebba4c7881a0509717e71b34b63f31e40021c321f89ae04f84be6d6ac37",
      "name": "AREX Defense Handguns",
      "description": "AREX weapons sales",
      "maximumSupply": 1000,
      "jsonSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "description",
          "serialNumber",
          "caliber",
          "length",
          "height",
          "width",
          "barrelLength"
        ],
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 120,
            "minLength": 1
          },
          "description": {
            "type": "string",
            "maxLength": 3000,
            "minLength": 1
          },
          "serialNumber": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "caliber": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "length": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "height": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "width": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "barrelLength": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "weight": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "weightWithMag": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "frameColors": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1
          },
          "slide": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1
          },
          "slights": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1
          },
          "frame": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "firingPinSafety": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "triggerSafety": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "ambidextrousManualSafety": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "ipfsImageHash": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1
          }
        }
      },
      "timestamp": {
        "epoch": 143237072,
        "unix": 1633338272,
        "human": "2021-10-04T09:04:32.000Z"
      }
    },
    ...
  ]
}

Examples

curl https://explorer.protokol.sh/api/nft/collections
const response = connection.NFTBaseApi("collections").all();

>>> Promise<ApiResponseWithPagination<CollectionsResource[]>>

Collection By id

/collections/:id

GET https://explorer.protokol.sh/api/nft/collections/:id

Return collection by its id

Path Parameters

Name
Type
Description

id

string

The identifier of the collection

Query Parameters

Name
Type
Description

transform

boolean

It returns modified or raw data

{
  "data": {
    "id": "8643026a0997dc9fe74ce4aa11f522ecff651fa72ecf0127a0665fd52535bc1b",
    "senderPublicKey": "03287bfebba4c7881a0509717e71b34b63f31e40021c321f89ae04f84be6d6ac37",
    "name": "AREX Defense Handguns",
    "description": "AREX weapons sales",
    "maximumSupply": 1000,
    "jsonSchema": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "name",
        "description",
        "serialNumber",
        "caliber",
        "length",
        "height",
        "width",
        "barrelLength"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 120,
          "minLength": 1
        },
        "description": {
          "type": "string",
          "maxLength": 3000,
          "minLength": 1
        },
        "serialNumber": {
          "type": "string",
          "maxLength": 40,
          "minLength": 1
        },
        "caliber": {
          "type": "string",
          "maxLength": 40,
          "minLength": 1
        },
        "length": {
          "type": "string",
          "maxLength": 40,
          "minLength": 1
        },
        "height": {
          "type": "string",
          "maxLength": 40,
          "minLength": 1
        },
        "width": {
          "type": "string",
          "maxLength": 40,
          "minLength": 1
        },
        "barrelLength": {
          "type": "string",
          "maxLength": 40,
          "minLength": 1
        },
        "weight": {
          "type": "string",
          "maxLength": 40,
          "minLength": 1
        },
        "weightWithMag": {
          "type": "string",
          "maxLength": 40,
          "minLength": 1
        },
        "frameColors": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1
        },
        "slide": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1
        },
        "slights": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1
        },
        "frame": {
          "type": "string",
          "maxLength": 40,
          "minLength": 1
        },
        "firingPinSafety": {
          "type": "string",
          "maxLength": 40,
          "minLength": 1
        },
        "triggerSafety": {
          "type": "string",
          "maxLength": 40,
          "minLength": 1
        },
        "ambidextrousManualSafety": {
          "type": "string",
          "maxLength": 40,
          "minLength": 1
        },
        "ipfsImageHash": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1
        }
      }
    },
    "timestamp": {
      "epoch": 143237072,
      "unix": 1633338272,
      "human": "2021-10-04T09:04:32.000Z"
    }
  }
}
{
  "statusCode": 404,
  "error": "Not Found",
  "message": "Collection not found"
}
{
  "statusCode": 422,
  "error": "Unprocessable Entity",
  "message": "\"id\" length must be 64 characters long"
}

Examples

curl https://explorer.protokol.sh/api/nft/collections/a6ebed9672c970f4eeb4387321806e5eb478d9609b5d67401ecbb32fde759425
const response = connection.NFTBaseApi("collections").get("VALID_ID");

>>> Promise<ApiResponse<CollectionsResource>>

Collection Schema

/collections/:id/schema

GET https://explorer.protokol.sh/api/nft/collections/:id/schema

Returns JSON schema registered by the collection

Path Parameters

Name
Type
Description

id

string

The identifier of the collection

Query Parameters

Name
Type
Description

transform

boolean

It returns modified or raw data

{
  "data": {
    "id": "8643026a0997dc9fe74ce4aa11f522ecff651fa72ecf0127a0665fd52535bc1b",
    "senderPublicKey": "03287bfebba4c7881a0509717e71b34b63f31e40021c321f89ae04f84be6d6ac37",
    "type": "object",
    "additionalProperties": false,
    "required": [
      "name",
      "description",
      "serialNumber",
      "caliber",
      "length",
      "height",
      "width",
      "barrelLength"
    ],
    "properties": {
      "name": {
        "type": "string",
        "maxLength": 120,
        "minLength": 1
      },
      "description": {
        "type": "string",
        "maxLength": 3000,
        "minLength": 1
      },
      "serialNumber": {
        "type": "string",
        "maxLength": 40,
        "minLength": 1
      },
      "caliber": {
        "type": "string",
        "maxLength": 40,
        "minLength": 1
      },
      "length": {
        "type": "string",
        "maxLength": 40,
        "minLength": 1
      },
      "height": {
        "type": "string",
        "maxLength": 40,
        "minLength": 1
      },
      "width": {
        "type": "string",
        "maxLength": 40,
        "minLength": 1
      },
      "barrelLength": {
        "type": "string",
        "maxLength": 40,
        "minLength": 1
      },
      "weight": {
        "type": "string",
        "maxLength": 40,
        "minLength": 1
      },
      "weightWithMag": {
        "type": "string",
        "maxLength": 40,
        "minLength": 1
      },
      "frameColors": {
        "type": "string",
        "maxLength": 255,
        "minLength": 1
      },
      "slide": {
        "type": "string",
        "maxLength": 255,
        "minLength": 1
      },
      "slights": {
        "type": "string",
        "maxLength": 255,
        "minLength": 1
      },
      "frame": {
        "type": "string",
        "maxLength": 40,
        "minLength": 1
      },
      "firingPinSafety": {
        "type": "string",
        "maxLength": 40,
        "minLength": 1
      },
      "triggerSafety": {
        "type": "string",
        "maxLength": 40,
        "minLength": 1
      },
      "ambidextrousManualSafety": {
        "type": "string",
        "maxLength": 40,
        "minLength": 1
      },
      "ipfsImageHash": {
        "type": "string",
        "maxLength": 255,
        "minLength": 1
      }
    },
    "timestamp": {
      "epoch": 143237072,
      "unix": 1633338272,
      "human": "2021-10-04T09:04:32.000Z"
    }
  }
}
{
  "statusCode": 404,
  "error": "Not Found",
  "message": "Collection not found"
}
{
  "statusCode": 422,
  "error": "Unprocessable Entity",
  "message": "\"id\" length must be 64 characters long"
}

Examples

curl https://explorer.protokol.sh/api/nft/collections/a6ebed9672c970f4eeb4387321806e5eb478d9609b5d67401ecbb32fde759425/schema
const response = connection.NFTBaseApi("collections").getSchema("VALID_ID");

>>> Promise<ApiResponse<Schema>>

Collections Wallet

/collections/:id/wallets

GET https://explorer.protokol.sh/api/nft/collections/:id/wallets

Returns wallet of owned collection

Path Parameters

Name
Type
Description

id

string

The identifier of the collection

{
  "data": {
    "address": "ANBkoGqWeTSiaEVgVzSKZd3jS7UWzv9PSo",
    "publicKey": "03287bfebba4c7881a0509717e71b34b63f31e40021c321f89ae04f84be6d6ac37",
    "nft": {
      "collections": [
        {
          "collectionId": "8643026a0997dc9fe74ce4aa11f522ecff651fa72ecf0127a0665fd52535bc1b",
          "currentSupply": 3,
          "nftCollectionAsset": {
            "name": "AREX Defense Handguns",
            "description": "AREX weapons sales",
            "maximumSupply": 1000,
            "jsonSchema": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "name",
                "description",
                "serialNumber",
                "caliber",
                "length",
                "height",
                "width",
                "barrelLength"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "maxLength": 120,
                  "minLength": 1
                },
                "description": {
                  "type": "string",
                  "maxLength": 3000,
                  "minLength": 1
                },
                "serialNumber": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "caliber": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "length": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "height": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "width": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "barrelLength": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "weight": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "weightWithMag": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "frameColors": {
                  "type": "string",
                  "maxLength": 255,
                  "minLength": 1
                },
                "slide": {
                  "type": "string",
                  "maxLength": 255,
                  "minLength": 1
                },
                "slights": {
                  "type": "string",
                  "maxLength": 255,
                  "minLength": 1
                },
                "frame": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "firingPinSafety": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "triggerSafety": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "ambidextrousManualSafety": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "ipfsImageHash": {
                  "type": "string",
                  "maxLength": 255,
                  "minLength": 1
                }
              }
            }
          }
        },
       ...
      ],
      "assetsIds": [
        "f811518958861d4c1e72943f646b1bd848f606e6cc9bd6300480e6a0b501cf47",
        "4f1f337873d530838dba06c9ec256cfd8a2acf7a94e87fbb0cb4c7304d3e6788"
      ]
    }
  }
}
{
  "statusCode": 404,
  "error": "Not Found",
  "message": "Collection not found"
}
{
  "statusCode": 422,
  "error": "Unprocessable Entity",
  "message": "\"id\" length must be 64 characters long"
}

Examples

curl https://explorer.protokol.sh/api/nft/collections/a6ebed9672c970f4eeb4387321806e5eb478d9609b5d67401ecbb32fde759425/wallets
const response = connection.NFTBaseApi("collections").wallet("VALID_ID");

>>> Promise<ApiResponse<CollectionsWallet>>

Search Collection

/collections/search

POST https://explorer.protokol.sh/api/nft/collections/search

Search collection by attributes

Query Parameters

Name
Type
Description

page

integer

The number of page that will be returned

limit

integer

The number of resources per page

orderBy

string

Order by specific parameter (asc or desc) Example: orderBy=id:asc

transform

boolean

It returns modified or raw data

Request Body

Name
Type
Description

attributeName

object

Attribute to search by

{
  "meta": {
    "totalCountIsEstimate": true,
    "count": 2,
    "pageCount": 1,
    "totalCount": 2,
    "next": null,
    "previous": null,
    "self": "/nft/collections/search?transform=true&page=1&limit=100",
    "first": "/nft/collections/search?transform=true&page=1&limit=100",
    "last": "/nft/collections/search?transform=true&page=1&limit=100"
  },
  "data": [
    {
      "id": "8643026a0997dc9fe74ce4aa11f522ecff651fa72ecf0127a0665fd52535bc1b",
      "senderPublicKey": "03287bfebba4c7881a0509717e71b34b63f31e40021c321f89ae04f84be6d6ac37",
      "name": "AREX Defense Handguns",
      "description": "AREX weapons sales",
      "maximumSupply": 1000,
      "jsonSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "description",
          "serialNumber",
          "caliber",
          "length",
          "height",
          "width",
          "barrelLength"
        ],
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 120,
            "minLength": 1
          },
          "description": {
            "type": "string",
            "maxLength": 3000,
            "minLength": 1
          },
          "serialNumber": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "caliber": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "length": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "height": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "width": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "barrelLength": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "weight": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "weightWithMag": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "frameColors": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1
          },
          "slide": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1
          },
          "slights": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1
          },
          "frame": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "firingPinSafety": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "triggerSafety": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "ambidextrousManualSafety": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1
          },
          "ipfsImageHash": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1
          }
        }
      },
      "timestamp": {
        "epoch": 143237072,
        "unix": 1633338272,
        "human": "2021-10-04T09:04:32.000Z"
      }
    },
    ...
  ]
}

Examples

curl --request POST \
  --url https://explorer.protokol.sh/api/nft/collections/search \
  --header 'content-type: application/json' \
  --data '{"jsonSchema": {"name": "AREX Defense Handguns"}'
const response = connection.NFTBaseApi("collections").searchByCollections({
     jsonSchema: {
      "VALID_JSON_OBJECT"
      },
});

    >>> Promise<ApiResponseWithPagination<CollectionsResource[]>>

Collection Assets

/collections/:id/assets

GET https://explorer.protokol.sh/api/nft/collections/:id/assets

Returns assets belonging to specific collection

Path Parameters

Name
Type
Description

id

string

The identifier of the collection

Query Parameters

Name
Type
Description

page

integer

The number of the page that will be returned

limit

integer

The number of resources per page

orderBy

string

Order by specific parameter (asc or desc) Example: orderBy=id:asc

transform

boolean

It returns modified or raw data

{
  "meta": {
    "totalCountIsEstimate": true,
    "count": 3,
    "pageCount": 1,
    "totalCount": 3,
    "next": null,
    "previous": null,
    "self": "/nft/collections/8643026a0997dc9fe74ce4aa11f522ecff651fa72ecf0127a0665fd52535bc1b/assets?transform=true&page=1&limit=100",
    "first": "/nft/collections/8643026a0997dc9fe74ce4aa11f522ecff651fa72ecf0127a0665fd52535bc1b/assets?transform=true&page=1&limit=100",
    "last": "/nft/collections/8643026a0997dc9fe74ce4aa11f522ecff651fa72ecf0127a0665fd52535bc1b/assets?transform=true&page=1&limit=100"
  },
  "data": [
    {
      "id": "f811518958861d4c1e72943f646b1bd848f606e6cc9bd6300480e6a0b501cf47",
      "ownerPublicKey": "03287bfebba4c7881a0509717e71b34b63f31e40021c321f89ae04f84be6d6ac37",
      "senderPublicKey": "03287bfebba4c7881a0509717e71b34b63f31e40021c321f89ae04f84be6d6ac37",
      "collectionId": "8643026a0997dc9fe74ce4aa11f522ecff651fa72ecf0127a0665fd52535bc1b",
      "attributes": {
        "name": "AREX ALPHA",
        "description": "THE AREX ALPHA IS THE NEXT EVOLUTIONARY STEP IN THE AREX HANDGUN FAMILY. IT IS A DIRECT DESCENDANT OF THE AREX ZERO 1 AND HAS INHERITED ITS TOUGHNESS AND RELIABILITY. LISTENING TO THE PRACTICAL SHOOTERS, AREX DESIGNED AND DEVELOPED A PISTOL THAT EXCELS IN COMPETITIVE PRACTICAL SHOOTING AS WELL AS IN TACTICAL SCENARIOS. WITH THE ELUSIVE AND ALL IMPORTANT SHOOTABILITY BEING AREXS PRIMARY GOAL, A STEEL FRAME WAS USED IN PLACE OF AN ALUMINUM ONE. A REENGINEERED GRIP RESULTS IN SHORTER TRIGGER REACH AND NOTABLY HIGHER HAND POSITION. AN UNDERCUT TRIGGER GUARD AND EXTENDED BEAVERTAIL COMPLETE THE ERGONOMIC TRANSFORMATION. THE LONG SLIDE HOUSES A FIVE INCH BARREL, PROVIDING A LONGER LINE OF SIGHT FOR FASTER AND MORE ACCURATE SHOTS. THE SLIDE HAS BEEN LIGHTENED SIGNIFICANTLY UTILIZING LIGHTENING CUTS TO ACCOMPLISH FASTER CYCLING.",
        "serialNumber": "6789897676898976",
        "caliber": "9 x 19 mm",
        "length": "226 mm // 8.9 inches",
        "height": "155 mm // 6.1 inches",
        "width": "42 mm // 1.65 inches",
        "barrelLength": "127 mm // 5.0 inches",
        "weight": "1202 g // 42.3 oz",
        "frameColors": "Nitrocarburized steel // Graphite black color // Blue // Red",
        "slide": "Nitrocarburized steel // Graphite black color",
        "slights": "Fiber optic front and fully adjustable black rear sight",
        "ipfsImageHash": "QmPbvs8G1jVaH6iHBUC2W1YnwY9AhzD98ydVqnhG9KMej1"
      },
      "timestamp": {
        "epoch": 143237168,
        "unix": 1633338368,
        "human": "2021-10-04T09:06:08.000Z"
      }
    },
    ...
  ]
}

Examples

curl https://explorer.protokol.sh/api/nft/collections/a6ebed9672c970f4eeb4387321806e5eb478d9609b5d67401ecbb32fde759425/assets
const response = connection.NFTBaseApi("collections").assetByCollectionId("VALID_ID");

>>> Promise<ApiResponseWithPagination<CollectionsAsset[]>>
PreviousBurnsNextTransfers

Last updated 3 years ago

Was this helpful?