> ## Documentation Index
> Fetch the complete documentation index at: https://docs.msu.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Explore Items

> Explore NFT items listed on the marketplace.

## Header parameters

<ParamField header="msu-authorization" type="string">
  Auth token. When provided, search filters are applied; without it, filters are not applied.
</ParamField>

## Query parameters

<ParamField query="filter.name" type="string">
  Item name partial match (bidirectional wildcard, case-sensitive)
</ParamField>

<ParamField query="filter.mintingNo" type="integer">
  Minting number (exact match)
</ParamField>

<ParamField query="filter.categoryNo" type="integer">
  Category number (exact match)
</ParamField>

<ParamField query="filter.itemId" type="integer">
  Item meta ID (exact match)
</ParamField>

<ParamField query="filter.classes" type="array">
  Class code filter (OR condition). Include `all_classes` to remove filter
</ParamField>

<ParamField query="filter.achievedCharName" type="string">
  History achievement character name (exact match, case-sensitive)
</ParamField>

<ParamField query="filter.color" type="array">
  Color code filter for beauty/hair items (OR condition). Include `all_colors` to remove filter
</ParamField>

<ParamField query="filter.PetSkills" type="array">
  Pet skill code filter (OR condition)
</ParamField>

<ParamField query="filter.price.min" type="number">
  Minimum price (NESO, ≥0)
</ParamField>

<ParamField query="filter.price.max" type="number">
  Maximum price (NESO, ≥min)
</ParamField>

<ParamField query="filter.level.min" type="integer">
  Minimum required level
</ParamField>

<ParamField query="filter.level.max" type="integer">
  Maximum required level (≥min)
</ParamField>

<ParamField query="filter.starforce.min" type="integer">
  Minimum Starforce (valid range: 0–25)
</ParamField>

<ParamField query="filter.starforce.max" type="integer">
  Maximum Starforce
</ParamField>

<ParamField query="filter.potential.min" type="integer">
  Minimum Potential grade (0: Normal, 1: Rare, 2: Epic, 3: Unique, 4: Legendary)
</ParamField>

<ParamField query="filter.potential.max" type="integer">
  Maximum Potential grade
</ParamField>

<ParamField query="filter.bonusPotential.min" type="integer">
  Minimum additional Potential grade
</ParamField>

<ParamField query="filter.bonusPotential.max" type="integer">
  Maximum additional Potential grade
</ParamField>

<ParamField query="sorting" type="string">
  Sort criterion (`HIGHEST_PRICE`, `LOWEST_PRICE`, `ENDING_SOON`, `RECENTLY_LISTED`)
</ParamField>

<ParamField query="paginationParam.pageNo" type="integer">
  Page number (starting from 1, default: 1)
</ParamField>

<ParamField query="paginationParam.pageSize" type="integer">
  Page size (default: 30). Combined offset of `(pageNo-1) × pageSize` must not exceed 10,000
</ParamField>

## Response

<ResponseField name="success" type="boolean">
  Indicates if the request was successful
</ResponseField>

<ResponseField name="data" type="object">
  <Expandable title="properties">
    <ResponseField name="items" type="array">
      List of items on sale
    </ResponseField>

    <ResponseField name="paginationResult.totalCount" type="integer">
      Total result count
    </ResponseField>

    <ResponseField name="paginationResult.currPageNo" type="integer">
      Current page number
    </ResponseField>

    <ResponseField name="paginationResult.pageSize" type="integer">
      Page size
    </ResponseField>

    <ResponseField name="paginationResult.isLastPage" type="boolean">
      Whether this is the last page
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url 'https://openapi.msu.io/v1rc1/search/items?paginationParam.pageNo=1&paginationParam.pageSize=30' \
    --header 'Content-Type: application/json' \
    --header 'x-nxopen-api-key: YOUR_API_KEY'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://openapi.msu.io/v1rc1/search/items?paginationParam.pageNo=1&paginationParam.pageSize=30', {
    method: 'GET',
    headers: {
      'Content-Type': 'application/json',
      'x-nxopen-api-key': 'YOUR_API_KEY'
    }
  });
  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  url = "https://openapi.msu.io/v1rc1/search/items"
  params = {
    "paginationParam.pageNo": 1,
    "paginationParam.pageSize": 30
  }
  headers = {
    "x-nxopen-api-key": "YOUR_API_KEY"
  }

  response = requests.get(url, params=params, headers=headers)
  data = response.json()
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "success": true,
    "data": {
      "items": [],
      "paginationResult": {
        "totalCount": 0,
        "currPageNo": 1,
        "pageSize": 30,
        "isLastPage": true
      }
    }
  }
  ```
</ResponseExample>
