# <a id="bitdrift.public.unary.dashboards.v1.ChartData"></a>ChartData

**Source definition:** [`src/bitdrift/public/unary/dashboards/v1/api.proto#L321-L348`](<https://github.com/bitdriftlabs/api/blob/main/src/bitdrift/public/unary/dashboards/v1/api.proto#L321-L348>)

<section class="proto-fields-table" markdown>
| Field | Type | Description |
|---|---|---|
| chart_id | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">charts</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">ChartIdentifier</i>](bitdrift_public_unary_charts_v1_ChartIdentifier.md "bitdrift.public.unary.charts.v1.ChartIdentifier")</span> | The chart that this data belongs to. |
| line_data | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">dashboards</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">LineChartResponse</i>](bitdrift_public_unary_dashboards_v1_LineChartResponse.md "bitdrift.public.unary.dashboards.v1.LineChartResponse")</span><span class="proto-field-annotation">only one of <em>line_data</em>, or <em>sankey_data</em>, <em>table_data</em>, <em>funnel_data</em>, <em>histogram_bar_chart_response</em>, <em>error</em>, <em>chart_not_found</em> can be set</span> | Line-chart data for the chart. |
| sankey_data | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">dashboards</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">SankeyChartResponse</i>](bitdrift_public_unary_dashboards_v1_SankeyChartResponse.md "bitdrift.public.unary.dashboards.v1.SankeyChartResponse")</span><span class="proto-field-annotation">only one of <em>sankey_data</em>, or <em>line_data</em>, <em>table_data</em>, <em>funnel_data</em>, <em>histogram_bar_chart_response</em>, <em>error</em>, <em>chart_not_found</em> can be set</span> | Sankey-chart data for the chart. |
| table_data | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">dashboards</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">TableChartResponse</i>](bitdrift_public_unary_dashboards_v1_TableChartResponse.md "bitdrift.public.unary.dashboards.v1.TableChartResponse")</span><span class="proto-field-annotation">only one of <em>table_data</em>, or <em>line_data</em>, <em>sankey_data</em>, <em>funnel_data</em>, <em>histogram_bar_chart_response</em>, <em>error</em>, <em>chart_not_found</em> can be set</span> | Table data for the chart. |
| funnel_data | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">dashboards</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">FunnelChartResponse</i>](bitdrift_public_unary_dashboards_v1_FunnelChartResponse.md "bitdrift.public.unary.dashboards.v1.FunnelChartResponse")</span><span class="proto-field-annotation">only one of <em>funnel_data</em>, or <em>line_data</em>, <em>sankey_data</em>, <em>table_data</em>, <em>histogram_bar_chart_response</em>, <em>error</em>, <em>chart_not_found</em> can be set</span> | Funnel data for the chart. |
| histogram_bar_chart_response | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">dashboards</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">HistogramBarChartResponse</i>](bitdrift_public_unary_dashboards_v1_HistogramBarChartResponse.md "bitdrift.public.unary.dashboards.v1.HistogramBarChartResponse")</span><span class="proto-field-annotation">only one of <em>histogram_bar_chart_response</em>, or <em>line_data</em>, <em>sankey_data</em>, <em>table_data</em>, <em>funnel_data</em>, <em>error</em>, <em>chart_not_found</em> can be set</span> | Histogram-bar-chart data for the chart. |
| error | <span class="proto-type proto-type-primitive">string</span><span class="proto-field-annotation">only one of <em>error</em>, or <em>line_data</em>, <em>sankey_data</em>, <em>table_data</em>, <em>funnel_data</em>, <em>histogram_bar_chart_response</em>, <em>chart_not_found</em> can be set</span> | Contains an error message when chart data could not be retrieved. |
| chart_not_found | <span class="proto-type proto-type-primitive">bool</span><span class="proto-field-annotation">only one of <em>chart_not_found</em>, or <em>line_data</em>, <em>sankey_data</em>, <em>table_data</em>, <em>funnel_data</em>, <em>histogram_bar_chart_response</em>, <em>error</em> can be set</span> | Set to true if the chart is not found. |

</section>
<p class="h4">Example</p>
```json
{
  "chart_id": {
    "workflow": {
      "aggregated_action_id": "count/fkQ1PfAZhdYvJexzY6DYuoYCZTEaWO0Y7spxwjr7akc",
      "chart_rule_id": "_i1yUnHjKfmWpCaD5Tazo",
      "workflow_id": "DFg5"
    }
  },
  "line_data": {
    "time_series": [
      {
        "aggregated_rollup": 1.0,
        "aggregation_window": "3600s",
        "cardinality_overflows": {
          "group_by_overflows": 1,
          "query_group_by_collapsed": false,
          "total_overflows": 42
        },
        "data": [
          {
            "rate_details": {
              "denominator_count": 42,
              "numerator_count": 42
            },
            "timestamp": "2024-01-15T09:30:00Z",
            "unique_devices": 1,
            "value": 1.0
          }
        ],
        "id": "abc-123-def",
        "labels": [
          {
            "name": "name",
            "value": "value"
          }
        ],
        "legend": {
          "title": "Legend title"
        },
        "title": "Time series title",
        "unique_devices": 1
      }
    ]
  }
}
```

