# View data dashboard list

Query the data dashboard visible in the current workspace by paging according to conditions.

```text
POST https://moi.matrixorigin.cn/newmoi/data-dashboards/list
```

## Preparation before calling

Prepare a personal access token and target workspace ID that has access to the target workspace.

The example below uses:

- `$AI_STUDIO_API_KEY`: The actual personal access token, passed through the `X-API-Key` Header.
- `$WORKSPACE_ID`: Target workspace ID, passed through `X-Workspace-ID` Header.


## Request body

Replace caller-specific values in the example with actual values.

::::{div} mo-api-split
:::{div} mo-api-split-main
```{raw} html
<dl class="mo-api-fields">
<div class="mo-api-field"><dt><code>search</code><span class="mo-api-field__type">string</span></dt><dd>Filter by name or description.</dd></div>
<div class="mo-api-field"><dt><code>page_size</code><span class="mo-api-field__type">integer</span></dt><dd>Return the number per page.</dd></div>
<div class="mo-api-field"><dt><code>page_token</code><span class="mo-api-field__type">string</span></dt><dd>Next page token.</dd></div>
</dl>
```
:::
:::{div} mo-api-split-aside
```{raw} html
<p class="mo-api-example-label">Request example</p>
```
```bash
curl -X POST "https://moi.matrixorigin.cn/newmoi/data-dashboards/list" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "search": "销售",
    "page_size": 20
  }'
```
:::
::::
## Successful response


Paginated results are returned when the query is successful.

```json
{
  "code": 0,
  "data": {
    "items": [
      {
        "ID": "0198ce73-3d20-7c12-9a11-1a2b3c4d5e6f",
        "Name": "销售概览",
        "Description": "按日查看销售数据",
        "CreatedByRoleID": "role-001",
        "CreatedAt": "2026-08-21T07:00:00Z",
        "UpdatedAt": "2026-08-21T07:00:00Z"
      }
    ],
    "total": 1,
    "has_more": false,
    "next_page_token": ""
  }
}
```

The response fields are as follows.

| Field | Type | Description |
| --- | --- | --- |
| `data.items` | array | Data dashboard list. |
| `data.items[].ID` | string | Data dashboard ID. |
| `data.items[].Name` | string | Data dashboard name. |
| `data.items[].Description` | string | Data dashboard description. |
| `data.items[].CreatedByRoleID` | string | The role ID used when creating the data dashboard. |
| `data.items[].CreatedAt` | string | Creation time. |
| `data.items[].UpdatedAt` | string | Update time. |
| `data.total` | integer | The total number of matching data Kanban boards. |
| `data.has_more` | boolean | Is there a next page? |
| `data.next_page_token` | string | Next page token; empty string if there is no next page. |

In this document, `[]` after a type denotes an array. In a field path, `[]` denotes each item in an array; for example, `data.items[].ID` is the `ID` field of each item in the `data.items` array.


## Error response

::::{div} mo-api-split
:::{div} mo-api-split-main
```{raw} html
<dl class="mo-api-fields">
<div class="mo-api-field"><dt><code>code</code><span class="mo-api-field__type">integer or string</span></dt><dd>Error code or status.</dd></div>
<div class="mo-api-field"><dt><code>message</code><span class="mo-api-field__type">string</span></dt><dd>Error message.</dd></div>
</dl>
```
:::
:::{div} mo-api-split-aside
```{raw} html
<p class="mo-api-example-label">Error response example</p>
```
```json
{
  "code": 2,
  "message": "invalid argument",
  "details": {
    "domain": "moi-core.catalog.data_dashboard",
    "reason": "DATA_DASHBOARD_INVALID_REQUEST"
  }
}
```
:::
::::
