---
title: "Get Dashboard"
method: GET
path: "/v1/dashboards/{dashboardId}"
tags: ["Dashboards"]
---

# Get Dashboard

`GET /v1/dashboards/{dashboardId}`

## Request

- Base URL: `https://api.confident-ai.com`
- URL: `https://api.confident-ai.com/v1/dashboards/{dashboardId}`
- Auth: none declared
- TypeScript: <https://skmtc.dev/confident-ai/apis/confident-ai-metrics-api/docs/v1/dashboards/:dashboardId/get.ts> (a function with typed inputs; its response is checked against the schema)

Retrieves a single dashboard with embedded widget configurations and lines. This endpoint does not compute widget data; use a query endpoint for rendered data.

## Path parameters

- `dashboardId` string, required

## Response `200`

The requested dashboard with embedded widget configurations.

- DashboardObjectResponse
  - `success` boolean, required: Indicates if the request was successful.
  - `data` object, required: The dashboard, including its widget configurations.
    - `dashboard` Dashboard, required: A dashboard with its widgets.
      - `id` string: The unique id of the dashboard.
      - `name` string: The dashboard's name.
      - `description` string, nullable: An optional description of the dashboard.
      - `private` boolean: Whether the dashboard is private to its creator.
      - `projectId` string: The id of the project that owns the dashboard.
      - `userId` string, nullable: The id of the dashboard creator, when available.
      - `createdAt` string, date-time: When the dashboard was created.
      - `updatedAt` string, date-time: When the dashboard was last updated.
      - `widgets` DashboardWidget[]: Full widget configurations embedded in the dashboard.
        - `id` string: The unique id of the widget.
        - `name` string: The widget's name.
        - `description` string, nullable: An optional description of the widget.
        - `type` 'LINE' | 'AREA' | 'BAR' | 'STACKED_BAR' | 'TABLE' | 'BIG_NUMBER': The visualization type of a widget.
        - `unit` 'COUNT' | 'PERCENT' | 'SCORE' | 'SECONDS' | 'USD' | 'MILLISECONDS': The unit a widget's values are measured in.
        - `mode` 'TIME_SERIES' | 'DIMENSION_SERIES': How a widget aggregates its lines. `TIME_SERIES` plots each configured line over time; `DIMENSION_SERIES` takes a single metric and splits it into one series per value of the widget's dimension. This is the widget's saved configuration — it does not by itself describe the shape of a query response (use `kind` on the query result for that).
        - `bucketMode` 'SERIES' | 'RANGE': How a widget's data is bucketed over the query time range. `SERIES` splits the range into one bucket per `granularity` interval (a time series); `RANGE` aggregates the whole range into a single bucket (one total, as used by BIG_NUMBER widgets). Defaults to `SERIES` when omitted.
        - `dimension` 'project' | 'trace_name' | 'span_name' | 'model' | 'type' | 'thread_id' | 'test_case_id' | 'test_run_id' | 'end_user' | 'source' | 'annotator' | 'name' | 'error' | 'prompt_alias' | 'tag' | 'label' | 'evaluation_model' | 'prompt_version' | 'prompt_label' | 'prompt_commit_hash' | 'metadata' | 'classifier': The dimension a widget breaks down by when mode is DIMENSION_SERIES.
        - `topK` DashboardTopK: Limits a dimension breakdown to the top K series.
          - `limit` integer: Maximum number of series to return. Defaults to 10.
          - `orderBy` 'count' | 'avg_latency' | 'p50_latency' | 'p90_latency' | 'p99_latency' | 'error_rate' | 'pass_rate' | 'failure_rate' | 'input_cost' | 'output_cost' | 'total_cost' | 'avg_cost' | 'input_tokens' | 'output_tokens' | 'total_tokens' | 'count_distinct_endUserId' | 'count_distinct_threadId' | 'count_distinct_model' | 'count_distinct_projectId' | 'count_distinct_error' | 'count_distinct_metadata' | 'error_count' | 'avg_score' | 'stddev_score' | 'avg_rating' | 'created_at' | 'start_time' | 'dimension': The metric or column to order topK results by.
          - `direction` 'asc' | 'desc': The sort direction for topK results.
        - `startTime` string, date-time, nullable: The start of the widget's custom time range, if set.
        - `endTime` string, date-time, nullable: The end of the widget's custom time range, if set.
        - `layout` DashboardLayout: A widget's position on the dashboard grid.
          - `x` number: The widget's left edge as a column index on the 12-column grid.
          - `y` number: The widget's top edge as a row index on the grid.
          - `w` number: The widget's width in grid columns.
          - `h` number: The widget's height in grid rows.
        - `lines` DashboardLine[]: The series shown in the widget.
          - `id` string: The unique id of the line.
          - `name` string: The line's name.
          - `color` 'AMBER' | 'VIOLET' | 'EMERALD' | 'BLUE' | 'PINK' | 'CYAN' | 'ROSE' | 'LIME' | 'TEAL' | 'ORANGE': The color of a line. If omitted or unrecognized, a color is auto-assigned from the palette.
          - `dataModel` 'TRACE' | 'SPAN' | 'LLM_SPAN' | 'AGENT_SPAN' | 'RETRIEVER_SPAN' | 'TOOL_SPAN' | 'CUSTOM_SPAN' | 'THREAD' | 'END_USER' | 'METRIC_DATA' | 'ANNOTATION': The entity a line aggregates over.
          - `aggregation` 'COUNT' | 'ERROR_RATE' | 'PASS_RATE' | 'UNIQUE_END_USERS' | 'UNIQUE_THREADS' | 'UNIQUE_USERS' | 'UNIQUE_METADATA_VALUES' | 'AVG_LATENCY' | 'P50_LATENCY' | 'P90_LATENCY' | 'P99_LATENCY' | 'TOTAL_COST' | 'AVG_COST' | 'INPUT_COST' | 'OUTPUT_COST' | 'AVG_COST_PER_USER' | 'INPUT_TOKENS' | 'OUTPUT_TOKENS' | 'TOTAL_TOKENS' | 'ERROR_COUNT' | 'NEW_USERS' | 'RETENTION' | 'AVG_SCORE' | 'FAILURE_RATE' | 'AVG_RATING': The aggregation applied to a line. The set of valid values depends on the line's dataModel.
          - `filters` DashboardFilterSet: A set of filter groups combined by a top-level operator.
            - `operator` 'AND' | 'OR', required: How filters or groups are combined.
            - `groups` DashboardFilterGroup[], required: The filter groups.
              - …
          - `extraQueryParams` DashboardLineExtraQueryParams, nullable: Advanced, per-line query parameters. Which keys take effect depends on the line's `dataModel`, and unrecognized keys are ignored. All values are strings. Most lines leave this `null`.
            - `spanType` 'LLM' | 'AGENT' | 'RETRIEVER' | 'TOOL' | 'CUSTOM': For a `SPAN` line, restricts aggregation to a single span type. Not needed for the typed span models (`LLM_SPAN`, `AGENT_SPAN`, `RETRIEVER_SPAN`, `TOOL_SPAN`, `CUSTOM_SPAN`), which already imply their span type.
            - `metricMetadataKey` string: For span (`SPAN`, `LLM_SPAN`, `AGENT_SPAN`, `RETRIEVER_SPAN`, `TOOL_SPAN`, `CUSTOM_SPAN`), `TRACE`, and `THREAD` lines, the metadata field key whose numeric value is aggregated.
            - `category` 'SINGLE_TURN' | 'MULTI_TURN' | 'TEST_RUN' | 'TRACE' | 'SPAN' | 'LLM_SPAN' | 'AGENT_SPAN' | 'RETRIEVER_SPAN' | 'TOOL_SPAN' | 'CUSTOM_SPAN' | 'THREAD': For a `METRIC_DATA` line, the entity category the metric is attached to.
            - `metricName` string: For a `METRIC_DATA` line, the name of the metric to aggregate.
            - `dataType` 'Traces' | 'Spans' | 'Threads': For an `ANNOTATION` line, which annotated entity type to aggregate over.
            - `source` 'User' | 'Reviewer': For an `ANNOTATION` line, whether to aggregate annotations left by end users or by reviewers.
  - `deprecated` boolean, required: Indicates if this endpoint is deprecated.

## Changes

> 54 revisions in range; 3 not diffed.

- **2026-06-30** `c5abbfd34161`: 7 warning, 1 info
  - removed the optional property `data/createdAt` from the response with the `200` status
  - removed the optional property `data/description` from the response with the `200` status
  - removed the optional property `data/id` from the response with the `200` status
  - removed the optional property `data/name` from the response with the `200` status
  - …4 more
- **2026-06-30** `1892d4b080be`: 10 warning
  - removed the optional property `data/widgets/items/bucketMode` from the response with the `200` status
  - removed the optional property `data/widgets/items/dimension` from the response with the `200` status
  - removed the optional property `data/widgets/items/layout` from the response with the `200` status
  - removed the optional property `data/widgets/items/lines/items/aggregation` from the response with the `200` status
  - …6 more
- **2026-06-30** `8b6c262fba71`: 1 info
  - endpoint added
- **2026-06-29** `a3c9e9461f9c`: 1 breaking
  - api path removed without deprecation
- **2026-06-29** `77c4156f18d2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/confident-ai/apis/confident-ai-metrics-api/changes/v1/dashboards/:dashboardId/get.md)

---

[API](https://skmtc.dev/confident-ai/apis/confident-ai-metrics-api.md) - [All operations](https://skmtc.dev/confident-ai/apis/confident-ai-metrics-api/llms.txt) - [OpenAPI document](https://skmtc.dev/confident-ai/apis/confident-ai-metrics-api/revisions/95cdde71b65e?raw)
