# Download dashboard chart result

Download a CSV file of the specified chart results. The successful response is a CSV file, not JSON.

```text
GET https://moi.matrixorigin.cn/newmoi/data-dashboards/{dashboard_id}/charts/{chart_id}/result/download
```

## 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.

- `$DASHBOARD_ID`: `dashboard_id` to use, specifying the target resource via the request path.
- `$CHART_ID`: `chart_id` to use, specifying the target resource through the request path.

## Call example

```bash
curl -X GET "https://moi.matrixorigin.cn/newmoi/data-dashboards/$DASHBOARD_ID/charts/$CHART_ID/result/download?at=$AT" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID"
```

## Path parameters

| Parameters | Type | Is it required | Description |
| --- | --- | --- | --- |
| `dashboard_id` | string | Yes | Data dashboard ID. |
| `chart_id` | string | Yes | Chart ID. |
## Query parameters

| Parameters | Type | Is it required | Description |
| --- | --- | --- | --- |
| `at` | string | No | RFC 3339 time point. |
## Successful response

When the request is successful, the data of this operation is returned. Just because the write or run request has been accepted does not mean that the subsequent processing has been completed; please confirm the result based on the return status or subsequent query.

```text
column_a,column_b
1,example
```

The `Content-Type` of the response body is `text/csv`, and the content is the CSV data of the chart results.

## 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": "ErrParamInvalid",
  "msg": "请求参数无效",
  "data": null
}
```
:::
::::
