# List Tokenized Assets

> Coming soon, upon request — this feature is turned on for your tenant by the Aurea team. [Contact us](https://www.aureahub.com/contact)

The tokenized assets your tenant offers in an environment.

## Overview

- Tokenized shares (`stock`), ETFs (`etf`) and portfolios (`portfolio`), the tokens trades settle in (`settlement_token`) and the yield-bearing dollar token (`yield_token`) — the product lines your tenant offers, every asset of them or the ones it selected, without the assets for professional investors only when your tenant keeps them out.
- Each asset: `assetId` (stable in its environment), `symbol` (as its contract names it — case matters on every route), the underlying's `ticker` and `name`, `productLine`, `assetClass`, `instrumentType`, `sectors`, `isin`, its token on each chain served (`chains`: `chainId`, `address`, `decimals`), whether it trades outside the regular sessions (`afterHoursTradable`, `null` when not known) and who may buy it under EU rules (`investorClass`: `retail`, `professional`, or `null` while it is not classified — such an asset is sold to professional clients only, [Eligibility and Documents](https://docs.aureahub.com/docs/guide-tokenized-assets.md)). Aurea sets it from the issuer's documents, asset by asset; it can change when they do. While your tenant keeps the assets for professional investors only out ([Setting Up](https://docs.aureahub.com/docs/guide-tokenized-assets.md)), an asset classified `professional` is not listed.
- The chains: `1` (Ethereum) and `56` (BNB Chain) for the assets traded with quotes; also `10` (Optimism), `42161` (Arbitrum) and `1399811149` (Solana) for the assets the issuer issues and redeems directly. `chainId` filters on `1` or `56` only. For an asset with `details`, `isin` is the token's own; its underlying's is in [Get an Asset](https://docs.aureahub.com/docs/tok-asset-get.md).
- Sorted by symbol, byte by byte (upper case before lower case); the same symbol may appear twice, from each provider. `total` counts every asset that matches, on every page.
- A query that does not fit is answered `400` (`Request validation failed`) before anything else, even before the token is checked. User token and the tenant signature ([Calling the Routes](https://docs.aureahub.com/docs/guide-tokenized-assets.md)); every tenant role may call it.

## Errors

Besides [the answers every tokenized assets route can give](https://docs.aureahub.com/docs/guide-tokenized-assets.md) (no valid token or signature, the module not set up or not switched on, a field that does not fit):

| Status | details.code | When |
| --- | --- | --- |
| 400 | — | `isTestnet`, `productLine`, `chainId`, `limit` or `offset` out of their values, before authentication. |
| 422 | — | `chainId` other than `1` or `56` (`chainId must be 1 or 56`). |

## Endpoint

### `GET /v1/tokenized-assets`

Authentication: bearer token required.

The tokenized assets the tenant offers.

**Query parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `isTestnet` | string | no | `true`: the test environment; `false` (the default): production. |
| `productLine` | string | no | Only the assets of this product line. One of `stock`, `etf`, `portfolio`, `settlement_token`, `yield_token`. |
| `chainId` | integer | no | Only the assets with a token on this chain: `1` or `56`. |
| `limit` | integer | no | Page size, 1 to 500. Default `100`. |
| `offset` | integer | no | How many to skip, 0 to 100000. Default `0`. |

**Responses**

`200` OK

```json
{
  "isTestnet": false,
  "assets": [
    {
      "assetId": "3f6c1a2e-8b4d-4c1e-9a7f-1d2e3f4a5b6c",
      "symbol": "AAPLon",
      "ticker": "AAPL",
      "name": "Apple Inc.",
      "productLine": "stock",
      "assetClass": "equities",
      "instrumentType": "stock",
      "sectors": [
        "Technology"
      ],
      "isin": "US0378331005",
      "chains": [
        {
          "chainId": 1,
          "address": "0x14c3…9e1f",
          "decimals": 18
        },
        {
          "chainId": 56,
          "address": "0x8d2a…40b7",
          "decimals": 18
        }
      ],
      "afterHoursTradable": null,
      "investorClass": null
    },
    {
      "assetId": "9b2d7e40-1c3a-4f5b-8e6d-2a1b0c9d8e7f",
      "symbol": "AAPLx",
      "ticker": "AAPL",
      "name": "Apple",
      "productLine": "stock",
      "assetClass": "share",
      "instrumentType": "tracker_certificate",
      "sectors": [],
      "isin": "CH1311718444",
      "chains": [
        {
          "chainId": 1,
          "address": "0x9d27…c1a4",
          "decimals": 18
        },
        {
          "chainId": 10,
          "address": "0x9d27…c1a4",
          "decimals": 18
        },
        {
          "chainId": 56,
          "address": "0x9d27…c1a4",
          "decimals": 18
        },
        {
          "chainId": 42161,
          "address": "0x9d27…c1a4",
          "decimals": 18
        },
        {
          "chainId": 1399811149,
          "address": "XsbE…h2xp",
          "decimals": 8
        }
      ],
      "afterHoursTradable": true,
      "investorClass": null
    }
  ],
  "total": 2,
  "limit": 100,
  "offset": 0
}
```

`403` Not Set Up

```json
{
  "statusCode": 403,
  "error": "ForbiddenError",
  "message": "Tokenized assets are not set up for this tenant on mainnet. Contact Aurea to set them up.",
  "details": {
    "code": "TOKENIZED_ASSETS_NOT_CONFIGURED",
    "isTestnet": false
  }
}
```

[Contact us for details](https://www.aureahub.com/contact).

---

Web version: https://docs.aureahub.com/#tok-assets-list
