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

# Dashboards

> Monitor operational metrics, evaluation scores, and custom analytics in one place

<Info>**Cloud feature.** Dashboards are available in the [AgentMark Dashboard](https://app.agentmark.co).</Info>

AgentMark Dashboards show operational metrics (cost, latency, tokens, errors), evaluation scores (distributions, trends, cross-score comparison), and custom widgets.

<Note>
  Set up tracing in your application before any dashboards populate. See the [Observe overview](/observe/overview) for the integration steps.
</Note>

<img src="https://mintcdn.com/puzzlet-9ba7bb98/Alg3012vLdSEqXvi/images/platform/observability/score-analytics/score-analytics-overview.png?fit=max&auto=format&n=Alg3012vLdSEqXvi&q=85&s=3e34c731df66d2622fecde3f7d9b7fee" alt="Dashboard showing operational widgets and score analytics section" className="w-full rounded-xl border border-gray-800 shadow-2xl mb-12" width="1512" height="1228" data-path="images/platform/observability/score-analytics/score-analytics-overview.png" />

***

## Operational metrics

The Dashboard automatically tracks key metrics from your prompt executions:

| Category    | Metrics                                                     |
| ----------- | ----------------------------------------------------------- |
| **Cost**    | Total cost, average cost per request, cost by model         |
| **Latency** | Average latency, P50/P95/P99 percentiles, latency trends    |
| **Tokens**  | Input tokens, output tokens, total tokens, tokens by model  |
| **Volume**  | Request count, error count, error rate, unique users        |
| **Models**  | Request count per model, cost per model, top models ranking |

These appear as widgets on your Dashboard: stat cards for at-a-glance numbers, line/bar/area charts for trends.

<video src="https://mintcdn.com/puzzlet-9ba7bb98/xNzpVKgBdOYuvrcl/images/platform/observability/metrics.mp4?fit=max&auto=format&n=xNzpVKgBdOYuvrcl&q=85&s=8693f89f83789b7e17876e7f21fe8761" aria-label="Dashboard cycling through cost, latency, and token line charts with stat cards above showing at-a-glance totals" autoPlay muted loop playsInline className="w-full rounded-xl border border-gray-800 shadow-2xl mb-8" data-path="images/platform/observability/metrics.mp4" />

***

## Score analytics

Score analytics are available as **dashboard widgets**. Add them to any dashboard through the "Add widget" dialog, or start from the **Score analytics** template in the template gallery.

Four score widget types are available:

### Summary cards

Aggregated statistics for each score name:

* **Avg**: Mean score value
* **Count**: Total number of scores recorded
* **Min / Max**: Range of observed values

<img src="https://mintcdn.com/puzzlet-9ba7bb98/Alg3012vLdSEqXvi/images/platform/observability/score-analytics/summary-cards.png?fit=max&auto=format&n=Alg3012vLdSEqXvi&q=85&s=0e733eccba3dd35a67a954ac20b2c18d" alt="Summary cards showing avg, count, min, max per score name" className="w-full rounded-xl border border-gray-800 shadow-2xl mb-8" width="1152" height="272" data-path="images/platform/observability/score-analytics/summary-cards.png" />

### Score distribution

The histogram shows the distribution of score values. AgentMark auto-detects the score type:

* **Numeric scores**: 10 equal-width bins between min and max
* **Categorical scores**: Bar chart by category label
* **Boolean scores**: Two bars for true/false

<img src="https://mintcdn.com/puzzlet-9ba7bb98/Alg3012vLdSEqXvi/images/platform/observability/score-analytics/histogram.png?fit=max&auto=format&n=Alg3012vLdSEqXvi&q=85&s=a2e553efc3509460b62032acb2fb0bb5" alt="Score distribution histogram" className="w-full rounded-xl border border-gray-800 shadow-2xl mb-8" width="568" height="368" data-path="images/platform/observability/score-analytics/histogram.png" />

### Trend over time

Average score values over time, bucketed by the dashboard's selected time granularity.

<img src="https://mintcdn.com/puzzlet-9ba7bb98/Alg3012vLdSEqXvi/images/platform/observability/score-analytics/trend-chart.png?fit=max&auto=format&n=Alg3012vLdSEqXvi&q=85&s=bfe86a323940454093de5e981ac2beff" alt="Line chart of average score value over time, with one point per time bucket showing the trend across the selected range" className="w-full rounded-xl border border-gray-800 shadow-2xl mb-8" width="568" height="368" data-path="images/platform/observability/score-analytics/trend-chart.png" />

### Score comparison

Compare two scores of the same type to see how they align across shared traces:

* **Categorical / Boolean**: Confusion matrix (N×M heatmap)
* **Numeric**: Scatter plot with paired values

<img src="https://mintcdn.com/puzzlet-9ba7bb98/Alg3012vLdSEqXvi/images/platform/observability/score-analytics/confusion-matrix.png?fit=max&auto=format&n=Alg3012vLdSEqXvi&q=85&s=c76ef8bd11768ba2d9d25b102b1f780f" alt="Confusion matrix comparing two boolean scores" className="w-full rounded-xl border border-gray-800 shadow-2xl mb-8" width="1152" height="368" data-path="images/platform/observability/score-analytics/confusion-matrix.png" />

<Note>
  Both scores must be the same type. Mixing numeric with categorical shows an error. The scatter plot shows at most 10,000 data points for performance.
</Note>

### Score types

| Score type      | Detection rule                        | Distribution       | Comparison           |
| --------------- | ------------------------------------- | ------------------ | -------------------- |
| **Numeric**     | Float values, no labels               | 10-bin histogram   | Scatter plot         |
| **Categorical** | String labels (not just true/false)   | Category bar chart | N×M confusion matrix |
| **Boolean**     | Labels are only "true" and/or "false" | Two-bar chart      | 2×2 confusion matrix |

***

## Widgets

Dashboards are configurable with drag-and-drop widgets. Add any mix of operational and score widgets to build the view you want.

**Operational widgets** (stat card, line, bar, or area chart):

* Request count, error rate, cost, latency, tokens, unique users, model rankings
* Derived metrics: cost/request, tokens/request, success rate, and more

**Score widgets:**

* **Score summary**: aggregated stats for all scores
* **Score distribution**: histogram or category chart for a selected score
* **Score trend**: trend line over time for a selected score
* **Score comparison**: confusion matrix or scatter plot comparing two scores

<img src="https://mintcdn.com/puzzlet-9ba7bb98/Alg3012vLdSEqXvi/images/platform/observability/custom-dashboard-view.png?fit=max&auto=format&n=Alg3012vLdSEqXvi&q=85&s=55d682965cc7735577967d7fae224f25" alt="Custom dashboard grid mixing stat cards, line and bar charts for operational metrics alongside score widgets, arranged in a drag-and-drop layout" className="w-full rounded-xl border border-gray-800 shadow-2xl mb-8" width="1512" height="1900" data-path="images/platform/observability/custom-dashboard-view.png" />

### Available metrics

**Volume:** `request_count`, `unique_users`, `total_tokens`, `avg_tokens`

**Cost:** `total_cost`, `avg_cost`

**Errors:** `error_count`, `error_rate`

**Latency:** `avg_latency`, `p50_latency`, `p95_latency`, `p99_latency`

**Rankings:** `top_models`

### Adding widgets

1. Click **+ Add widget** in the dashboard header
2. Choose a title and metric. Operational metrics are under "Built-in" and "Derived"; score metrics are under "Scores"
3. For score widgets, enter the score name(s) to track
4. Choose a visualization type and optional group-by dimension
5. The widget appears on the grid. Drag to rearrange

Operational widgets support **group-by** dimensions (model, user, metadata key), **time granularity**, and **filters** (model, user ID, status).

***

## Templates

Start from a pre-built template or create a blank dashboard.

<img src="https://mintcdn.com/puzzlet-9ba7bb98/Aw9G7l5ISF_MeA2j/images/platform/observability/custom-dashboard-list.png?fit=max&auto=format&n=Aw9G7l5ISF_MeA2j&q=85&s=a41e5d790dd50db615160a7e95bbd316" alt="Template gallery listing pre-built dashboard templates (Overview, Cost analysis, Performance, Score analytics) as selectable cards next to a blank dashboard option" className="w-full rounded-xl border border-gray-800 shadow-2xl mb-8" width="1200" height="750" data-path="images/platform/observability/custom-dashboard-list.png" />

| Template            | What it includes                                                         |
| ------------------- | ------------------------------------------------------------------------ |
| **Overview**        | Request volume, cost, errors, latency (stat cards + time series)         |
| **Cost analysis**   | Total cost, avg cost/request, cost over time, top models by cost, tokens |
| **Performance**     | P50/P95/P99 latency, error count, error rate                             |
| **Score analytics** | Score summary, distribution, trend, and comparison widgets               |

***

## Dashboard settings

* **Default dashboard**: mark any dashboard as default to load it when you visit the Dashboards page
* **Time range**: a global selector that applies to all widgets on the dashboard

***

## Metrics API

You can retrieve aggregated operational metrics programmatically using the public REST API. The `GET /v1/metrics` endpoint returns a summary and an hourly time series for trace volume, latency, cost, token usage, and error rates.

```bash theme={null}
curl "https://api.agentmark.co/v1/metrics?start_date=2026-04-01T00:00:00Z&end_date=2026-04-18T00:00:00Z&extended=true" \
  -H "Authorization: Bearer am_live_abc123" \
  -H "X-Agentmark-App-Id: app_abc123"
```

Required parameters: `start_date` and `end_date` (ISO 8601). Pass `extended=true` for per-request averages and model count. See the [Metrics API reference](/api-reference/overview) for the full response schema.

***

## Scores API

You can create and retrieve scores programmatically using the public REST API. This is useful for recording evaluation results, human feedback, or quality metrics from automated pipelines.

**Create a score for a span or trace:**

```bash theme={null}
curl -X POST "https://api.agentmark.co/v1/scores" \
  -H "Authorization: Bearer am_live_abc123" \
  -H "X-Agentmark-App-Id: app_abc123" \
  -H "Content-Type: application/json" \
  -d '{
    "resource_id": "span_abc123",
    "name": "quality",
    "score": 0.95,
    "label": "high_quality",
    "reason": "Response addresses all requirements."
  }'
```

**List scores for a resource:**

```bash theme={null}
curl "https://api.agentmark.co/v1/scores?resource_id=span_abc123" \
  -H "Authorization: Bearer am_live_abc123" \
  -H "X-Agentmark-App-Id: app_abc123"
```

**Get a single score by ID:**

```bash theme={null}
curl "https://api.agentmark.co/v1/scores/550e8400-e29b-41d4-a716-446655440000" \
  -H "Authorization: Bearer am_live_abc123" \
  -H "X-Agentmark-App-Id: app_abc123"
```

**Delete a score:**

```bash theme={null}
curl -X DELETE "https://api.agentmark.co/v1/scores/550e8400-e29b-41d4-a716-446655440000" \
  -H "Authorization: Bearer am_live_abc123" \
  -H "X-Agentmark-App-Id: app_abc123"
```

Scores created via the API appear in the score analytics widgets on your dashboards. See the [Scoring API reference](/api-reference/overview) for the full request and response schema.

## Next steps

Set up [Alerts](/observe/alerts) to get notified when the metrics on your dashboards cross a threshold, or dig into individual requests in [Traces and logs](/observe/traces-and-logs).

<div className="mt-8 rounded-lg bg-blue-50 p-6 dark:bg-blue-900/30">
  <h3 className="font-semibold mb-3">Have questions?</h3>
  <p className="mb-4">Reach out any time:</p>

  <ul>
    <li>
      Email the team at <a href="mailto:hello@agentmark.co" className="text-blue-600 hover:text-blue-800 dark:text-blue-400 dark:hover:text-blue-200">[hello@agentmark.co](mailto:hello@agentmark.co)</a> for support
    </li>

    <li>
      Schedule an <a href="https://cal.com/ryan-randall/enterprise" className="text-blue-600 hover:text-blue-800 dark:text-blue-400 dark:hover:text-blue-200">Enterprise Demo</a> to learn about AgentMark's business solutions
    </li>
  </ul>
</div>
