# API Endpoints

## NFT Base API Endpoints

{% hint style="info" %}
Default prefix for NFT Base is `/api/nft`
{% endhint %}

### List of Assets Endpoints

| Endpoint                                                                                         | Description                         | Type |
| ------------------------------------------------------------------------------------------------ | ----------------------------------- | ---- |
| [​/assets​](https://docs.protokol.com/developers/sdk/nft/assets#all-assets)                      | Returns all assets                  | GET  |
| [​/assets/:id​](https://docs.protokol.com/developers/sdk/nft/assets#asset-by-id)                 | Returns asset by id                 | GET  |
| [​/assets/:id/wallets​](https://docs.protokol.com/developers/sdk/nft/assets#wallet-owning-asset) | Returns the wallet owning an asset  | GET  |
| [​/assets/wallet/:id​](https://docs.protokol.com/developers/sdk/nft/assets#wallet-assets)        | Returns the assets that wallet owns | GET  |
| [​/assets/search​](https://docs.protokol.com/developers/sdk/nft/assets#search-by-asset)          | Search assets                       | POST |
| /assets/claim                                                                                    | Claims an asset                     | POST |

### List of Burn Endpoints

| Endpoint                                                                      | Description        | Type |
| ----------------------------------------------------------------------------- | ------------------ | ---- |
| [​/burns​](https://docs.protokol.com/developers/sdk/nft/burns#all-burns)      | Returns all burns  | GET  |
| [​/burns/:id​](https://docs.protokol.com/developers/sdk/nft/burns#burn-by-id) | Returns burn by id | GET  |

### List of Collection Endpoints

| Endpoint                                                                                                  | Description                            | Type |
| --------------------------------------------------------------------------------------------------------- | -------------------------------------- | ---- |
| [​/collections​](https://docs.protokol.com/developers/sdk/nft/collections#all-collections)                | Returns all collections                | GET  |
| [​/collections/:id​](https://docs.protokol.com/developers/sdk/nft/collections#collection-by-id)           | Returns collection by id               | GET  |
| [​/collections/:id/schema​](https://docs.protokol.com/developers/sdk/nft/collections#collection-schema)   | Returns the schema of a collection     | GET  |
| [​/collections/:id/wallets​](https://docs.protokol.com/developers/sdk/nft/collections#collections-wallet) | Returns the wallet owning a collection | GET  |
| [​/collections/search​](https://docs.protokol.com/developers/sdk/nft/collections#search-collection)       | Search collections                     | POST |
| [​/collections/:id/assets​](https://docs.protokol.com/developers/sdk/nft/collections#collection-assets)   | Returns the assets of a collection     | GET  |

### List of **Configuration** Endpoints

| Endpoint                                                                                             | Description                | Type |
| ---------------------------------------------------------------------------------------------------- | -------------------------- | ---- |
| [​/configurations​](https://docs.protokol.com/developers/sdk/nft/base-configurations#configurations) | Returns all configurations | GET  |

### List of Transfer Endpoints

| Endpoint                                                                                  | Description            | Type |
| ----------------------------------------------------------------------------------------- | ---------------------- | ---- |
| [​/transfers​](https://docs.protokol.com/developers/sdk/nft/transfers#all-transfers)      | Returns all transfers  | GET  |
| [​/transfers/:id​](https://docs.protokol.com/developers/sdk/nft/transfers#transfer-by-id) | Returns transfer by id | GET  |

## NFT Exchange API Endpoints

{% hint style="info" %}
Default prefix for NFT Exchange is `/api/nft/exchange`
{% endhint %}

### List of Auction Endpoints

| Endpoint                                                                                                  | Description                          | Type |
| --------------------------------------------------------------------------------------------------------- | ------------------------------------ | ---- |
| [​/auctions​](https://docs.protokol.com/developers/sdk/nft/auctions#all-auctions)                         | Returns all active auctions          | GET  |
| [​/auctions/:id​](https://docs.protokol.com/developers/sdk/nft/auctions#auction-by-id)                    | Returns auction by id                | GET  |
| [​/auctions/:id/wallets​](https://docs.protokol.com/developers/sdk/nft/auctions#auctions-wallet)          | Returns the wallet owning an auction | GET  |
| [​/auctions/search​](https://docs.protokol.com/developers/sdk/nft/auctions#search-auctions)               | Search auctions                      | POST |
| [​/auctions/canceled​](https://docs.protokol.com/developers/sdk/nft/auctions#canceled-auctions)           | Returns all canceled auctions        | GET  |
| [​/auctions/canceled/:id​](https://docs.protokol.com/developers/sdk/nft/auctions#canceled-auctions-by-id) | Returns canceled auction by :id      | GET  |

### List of Bid Endpoints

| Endpoint                                                                                      | Description                     | Type |
| --------------------------------------------------------------------------------------------- | ------------------------------- | ---- |
| [​/bids​](https://docs.protokol.com/developers/sdk/nft/bids#all-bids)                         | Returns all bids                | GET  |
| [​/bids/:id​](https://docs.protokol.com/developers/sdk/nft/bids#bids-by-id)                   | Returns bid by id               | GET  |
| [​/bids/:id/wallets​](https://docs.protokol.com/developers/sdk/nft/bids#bids-wallet)          | Returns the wallet owning a bid | GET  |
| [​/bids/search​](https://docs.protokol.com/developers/sdk/nft/bids#search-bids)               | Search bids                     | POST |
| [​/bids/canceled​](https://docs.protokol.com/developers/sdk/nft/bids#canceled-bids)           | Returns all canceled bids       | GET  |
| [​/bids/canceled/:id​](https://docs.protokol.com/developers/sdk/nft/bids#canceled-bids-by-id) | Returns canceled bids by id     | GET  |

### List of **Configuration** Endpoints

| Endpoint                                                                                                 | Description                | Type |
| -------------------------------------------------------------------------------------------------------- | -------------------------- | ---- |
| [​/configurations​](https://docs.protokol.com/developers/sdk/nft/exchange-configurations#configurations) | Returns all configurations | GET  |

### List of Trade Endpoints

| Endpoint                                                                              | Description         | Type |
| ------------------------------------------------------------------------------------- | ------------------- | ---- |
| [​/trades​](https://docs.protokol.com/developers/sdk/nft/trades#all-trades)           | Returns all trades  | GET  |
| [​/trades/:id​](https://docs.protokol.com/developers/sdk/nft/trades#trade-by-id)      | Returns trade by id | GET  |
| [​/trades/search​](https://docs.protokol.com/developers/sdk/nft/trades#search-trades) | Search trades       | POST |

## NFT Client

{% hint style="info" %}
A Light Typescript Client Supporting NFT REST API
{% endhint %}

### Installation

#### [yarn](https://classic.yarnpkg.com/lang/en/)

```
yarn add @protokol/client
```

#### [pnpm](https://pnpm.js.org/)

```
pnpm add @protokol/client
```

#### [npm](https://www.npmjs.com/)

```
npm install @protokol/client
```

### Initialization

```typescript
import { ProtokolConnection } from "@protokol/client";

const connection = new ProtokolConnection("https://explorer.protokol.sh/api");
```
