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

# Custom Dashboards Overview

> Programmatically access MoEngage Custom Dashboards and fetch the analytics data behind their charts.

The MoEngage Custom Dashboards APIs give you read-only, programmatic access to your [Custom Dashboards](/user-guide/analyze/dashboards/custom-dashboards) and the analysis charts they contain. Use these endpoints to discover the dashboards in your workspace, retrieve a dashboard's structure, and fetch the data behind each chart. You can then pull MoEngage analytics into external tools, scheduled reports, and automated workflows.

All endpoints are `GET` requests and do not modify any data.

## Endpoints

The Custom Dashboards APIs include the following endpoints:

* [List Dashboards](/api/dashboards/list-dashboards): Retrieve the dashboards accessible to your workspace.
* [Get Dashboard Charts](/api/dashboards/get-dashboard-charts): Retrieve a dashboard's details and the list of charts on it.
* [Get Chart Data](/api/dashboards/get-chart-data): Fetch the data for a single chart.

## Typical Workflow

The three endpoints are designed to be used in sequence:

1. Call **List Dashboards** to find the dashboard you need and note its `_id`.
2. Call **Get Dashboard Charts** with that dashboard ID to list its charts and note each chart's `_id`.
3. Call **Get Chart Data** with the dashboard ID and a chart ID to fetch the underlying data.

## Access and Permissions

These endpoints return only workspace-level (public) dashboards. Private dashboards and team-level dashboards are not available through this API. Archived dashboards are also excluded. For more information on dashboard visibility and sharing, refer to [Custom Dashboards](/user-guide/analyze/dashboards/custom-dashboards).

## FAQs

<AccordionGroup>
  <Accordion title="Which dashboards do these APIs cover?">
    These APIs cover Custom Dashboards. MoEngage's default dashboards are not available through these endpoints. This includes Inbuilt Lifecycle Engagement (ILE), Campaign Stats, Best Time to Send, and Reachability.
  </Accordion>

  <Accordion title="Why is a dashboard missing from the List Dashboards response?">
    A dashboard is excluded if it is archived, or if it is a private or team-level dashboard. Only workspace-level (public) dashboards are returned.
  </Accordion>

  <Accordion title="What time range and audience does the chart data reflect?">
    Chart data reflects the chart's saved settings, such as its date range, segment, filters, and breakdowns. The endpoint is read-only and does not accept date-range or segment parameters, so to change what a chart returns, edit and save the chart in the MoEngage dashboard.
  </Accordion>

  <Accordion title="How do I get fresh data instead of cached data?">
    Chart data is served from a server-side cache by default. To recompute a chart, call [Get Chart Data](/api/dashboards/get-chart-data) with the `cache` query parameter set to `false`.
  </Accordion>

  <Accordion title="Why do different charts return different fields?">
    The fields in each row depend on the chart's analysis type: Behavior, Funnels, Retention, User, or Session and Source. A chart can return fields beyond the common ones, so handle the response as a flexible set of keys per row.
  </Accordion>

  <Accordion title="I get a 403 error mentioning a team. What does it mean?">
    If MoEngage Teams is enabled for your workspace, pass the correct team in the `MOE-Team-ID` header. This error indicates the request was made in a team that cannot access the requested dashboard.
  </Accordion>
</AccordionGroup>

## Postman Collection

Test these endpoints quickly using our pre-configured Postman collection: [View MoEngage Analytics Custom Dashboard APIs Collection](https://www.postman.com/moengage-dev/api-docs/collection/rjb0r1e/moengage-analytics-custom-dashboard-apis).
