<!-- Generated from the canonical Teloring documentation source. Do not edit this file. -->

Canonical page: https://docs.teloring.com/api/get-dashboard
Last modified: 2026-08-20T20:52:05.000Z

# Get a dashboard

import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
import ParamsDetails from "@theme/ParamsDetails";
import RequestSchema from "@theme/RequestSchema";
import StatusCodes from "@theme/StatusCodes";
import OperationTabs from "@theme/OperationTabs";
import TabItem from "@theme/TabItem";
import Heading from "@theme/Heading";
import Translate from "@docusaurus/Translate";

<Heading
  as={"h1"}
  className={"openapi__heading"}
  children={"Get a dashboard"}
>
</Heading>

<MethodEndpoint
  method={"get"}
  path={"/analytics/dashboards/{dashboard_id}"}
  context={"endpoint"}
>
  
</MethodEndpoint>



A dashboard with its graphs, and optionally their current values.

Without `include=values` this is a cheap metadata read. With it, every graph is
executed and gains a `value` object holding the same series and totals the
console renders — up to 30 graphs per call, with `values_truncated_after` in the
response if the dashboard has more.

Running the graphs is genuinely expensive. Cache the result rather than polling
it, and prefer a schedule measured in minutes over one measured in seconds.

One caveat: a graph filtered to "my conversations" resolves `$AGENT_ID` against
the caller, and a machine credential is nobody in particular — such a graph
legitimately comes back empty here.

<Heading
  id={"request"}
  as={"h2"}
  className={"openapi-tabs__heading"}
>
  <Translate id="theme.openapi.request.title">Request</Translate>
</Heading>

<ParamsDetails
  {...require("./get-dashboard.ParamsDetails.json")}
>
  
</ParamsDetails>

<RequestSchema
  {...require("./get-dashboard.RequestSchema.json")}
>
  
</RequestSchema>

<StatusCodes
  {...require("./get-dashboard.StatusCodes.json")}
>
  
</StatusCodes>
