# 查看数据看板列表

按条件分页查看当前工作区可见的数据看板。

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

## 调用前准备

准备有目标工作区访问权限的[个人访问令牌](../../../../../guides/genesis/api-keys.md#创建和管理个人访问令牌)和[目标工作区 ID](../../../../../guides/ai-studio/resource-center/workspace.md#复制工作区-id)。首次读取不需要分页令牌；下一页使用上一次响应返回的令牌。

## 请求示例

示例中的凭据和资源标识需替换为当前调用者的实际值。

```bash
curl -X POST "https://api.moi.matrixorigin.cn/v5/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
}'

```

## 请求体

| 字段 | 类型 | 是否必填 | 说明 |
| --- | --- | --- | --- |
| `search` | string | 否 | 按名称或说明筛选。 |
| `page_size` | integer | 否 | 每页返回数量；有符号 64 位整数。 |
| `page_token` | string | 否 | 下一页令牌。 |

page_size 小于等于 0 时为 20，超过 100 时按 100 处理；搜索支持 LIKE 的 % 和 _。使用返回的 next_page_token 原样请求下一页，按创建时间和 ID 双降序定位；没有下一页时该字段省略。令牌不是授权凭据，也不绑定工作区或搜索条件。total 是当前过滤条件下的全部记录数。

## 成功响应

请求成功时返回 HTTP 200，响应如下。

```json
{
  "code": "OK",
  "msg": "OK",
  "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": 21,
    "has_more": true,
    "next_page_token": "eyJvZmZzZXQiOjIwfQ"
  }
}
```

响应字段如下。

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `data.items` | object（对象数组） | 数据看板列表。 |
| `data.items[].ID` | string | 标识。 |
| `data.items[].Name` | string | 名称。 |
| `data.items[].Description` | string | 说明。 |
| `data.items[].CreatedByRoleID` | string | 创建时使用的角色 ID。 |
| `data.items[].CreatedAt` | string | 创建时间；RFC 3339 时间。 |
| `data.items[].UpdatedAt` | string | 更新时间；RFC 3339 时间。 |
| `data.items[].sources` | object（对象数组） | 数据来源。 无值时可省略。 |
| `data.items[].sources[].ID` | string | 标识。 无值时可省略。 |
| `data.items[].sources[].DashboardID` | string | 数据看板 ID。 无值时可省略。 |
| `data.items[].sources[].TableID` | integer | 表 ID；有符号 64 位整数。 无值时可省略。 |
| `data.items[].sources[].DatabaseName` | string | 数据库名称。 无值时可省略。 |
| `data.items[].sources[].TableName` | string | 表名称。 无值时可省略。 |
| `data.items[].sources[].Status` | string | 状态；取值：`active`、`invalid`。 无值时可省略。 |
| `data.items[].sources[].AffectedCharts` | object（对象数组） | 受影响图表。 无值时可省略。 |
| `data.items[].sources[].AffectedCharts[].ID` | string | 标识。 |
| `data.items[].sources[].AffectedCharts[].Name` | string | 名称。 |
| `data.items[].charts` | object（对象数组） | 图表列表。 无值时可省略。 |
| `data.items[].charts[].ID` | string | 标识。 |
| `data.items[].charts[].DashboardID` | string | 数据看板 ID。 |
| `data.items[].charts[].Name` | string | 名称。 |
| `data.items[].charts[].ChartType` | string | 图表类型。 |
| `data.items[].charts[].SQLText` | string | SQL 文本。 |
| `data.items[].charts[].DatabaseName` | string | 数据库名称。 |
| `data.items[].charts[].ChartConfig` | string | 图表配置JSON文本。 |
| `data.items[].charts[].LayoutConfig` | string | 布局配置JSON文本。 |
| `data.items[].charts[].RefreshInterval` | string | 刷新间隔。 |
| `data.items[].charts[].SchedulerTaskID` | string | 调度任务 ID。 无值时可省略。 |
| `data.items[].charts[].ScheduleVersion` | integer | 调度版本；有符号 64 位整数。 无值时可省略。 |
| `data.items[].charts[].ScheduleStatus` | string | 调度状态。 无值时可省略。 |
| `data.items[].charts[].ScheduleError` | string | 调度错误。 无值时可省略。 |
| `data.items[].charts[].AlertEnabled` | boolean | 是否启用告警。 无值时可省略。 |
| `data.items[].charts[].AlertConfig` | string | 告警配置JSON文本。 无值时可省略。 |
| `data.items[].charts[].SnapshotEpochAt` | string | 快照起点时间；RFC 3339 时间。 无值时可省略。 |
| `data.items[].charts[].CreatedAt` | string | 创建时间；RFC 3339 时间。 无值时可省略。 |
| `data.items[].charts[].UpdatedAt` | string | 更新时间；RFC 3339 时间。 无值时可省略。 |
| `data.items[].alerts` | object（对象数组） | 告警记录。 无值时可省略。 |
| `data.items[].alerts[].ID` | string | 标识。 |
| `data.items[].alerts[].DashboardID` | string | 数据看板 ID。 |
| `data.items[].alerts[].ChartID` | string | 图表 ID。 |
| `data.items[].alerts[].ChartName` | string | 图表名称。 |
| `data.items[].alerts[].FieldName` | string | 告警字段名称。 |
| `data.items[].alerts[].XFieldName` | string | X轴字段名称。 |
| `data.items[].alerts[].Operator` | string | 比较操作符。 |
| `data.items[].alerts[].Threshold` | number | 阈值。 |
| `data.items[].alerts[].XValue` | string | X轴值。 |
| `data.items[].alerts[].TriggerValue` | number | 告警触发值。 |
| `data.items[].alerts[].Level` | string | 级别。 |
| `data.items[].alerts[].Status` | string | 状态。 |
| `data.items[].alerts[].OccurredAt` | string | 发生时间；RFC 3339 时间。 |
| `data.items[].alerts[].LastNotifiedAt` | string | 最近通知时间；RFC 3339 时间。 无值时可省略。 |
| `data.items[].active_alert_count` | integer | 当前告警图表数量；有符号 64 位整数。 无值时可省略。 |
| `data.total` | integer | 匹配的数据看板总数；有符号 64 位整数。 |
| `data.has_more` | boolean | 是否还有下一页。 |
| `data.next_page_token` | string | 下一页令牌；没有下一页时为空字符串。 无值时可省略。 |

字段路径中的 `[]` 表示数组中的每一项。

## 错误响应

以下示例对应 HTTP `400`。

:::::::{div} mo-api-tabs mo-api-response-tabs
::::::{tab-set}
:::::{tab-item} 响应示例

```json
{
  "code": "ErrParamInvalid",
  "msg": "Bad Request"
}
```

:::::
:::::{tab-item} 字段说明

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `code` | string | 错误代码，例如 `ErrParamInvalid` 或 `ErrDataDashboardNotFound`。 |
| `msg` | string | HTTP 状态说明，例如 `Bad Request` 或 `Not Found`。 |

:::::
::::::
:::::::
