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
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
id
string
The identifier of the collection
Query Parameters
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
id
string
The identifier of the collection
Query Parameters
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
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
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
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
id
string
The identifier of the collection
Query Parameters
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[]>>
Last updated