dashboard
Manage Sentry dashboards
Commands
Section titled “Commands”sentry dashboard list <org/title-filter...>
Section titled “sentry dashboard list <org/title-filter...>”List dashboards
Arguments:
| Argument | Description |
|---|---|
<org/title-filter...> |
[<org/project>] [<name-glob>] |
Options:
| Option | Description |
|---|---|
-w, --web |
Open in browser |
-n, --limit <limit> |
Maximum number of dashboards to list (default: "25") |
-f, --fresh |
Bypass cache, re-detect projects, and fetch fresh data |
-c, --cursor <cursor> |
Navigate pages: "next", "prev", "first" (or raw cursor string) |
Examples:
# List dashboards (organization auto-detected)sentry dashboard list
# List dashboards in an explicit organizationsentry dashboard list my-org/
# Use the organization of an explicit projectsentry dashboard list my-org/my-project
# Filter by title globsentry dashboard list 'Backend*'
# Filter within an organizationsentry dashboard list my-org/ '*API*'
# Fetch the next pagesentry dashboard list -c next
# Fetch the previous pagesentry dashboard list -c prev
# Output JSON with the pagination envelopesentry dashboard list --json
# Open the dashboard list in the browsersentry dashboard list -wsentry dashboard view <org/project/dashboard...>
Section titled “sentry dashboard view <org/project/dashboard...>”View a dashboard
Arguments:
| Argument | Description |
|---|---|
<org/project/dashboard...> |
[<org/project>] <dashboard-id-or-title> |
Options:
| Option | Description |
|---|---|
-w, --web |
Open in browser |
-f, --fresh |
Bypass cache, re-detect projects, and fetch fresh data |
-r, --refresh <refresh> |
Auto-refresh interval in seconds (default: 60, min: 10) |
-t, --period <period> |
Time range: "7d", "2024-01-01..2024-02-01", ">=2024-01-01" |
--renderer <renderer> |
Graphics renderer (falls back to auto when unavailable) (default: "auto") |
--no-graphics-cap |
Use the terminal-native graphics width (may fall back to ASCII for very large dashboards) |
Examples:
# View a dashboard by titlesentry dashboard view 'Frontend Performance'
# View a dashboard by IDsentry dashboard view 12345
# View by ID in an explicit organizationsentry dashboard view my-org/12345
# Include project context in the same argumentsentry dashboard view my-org/my-project/12345
# Pass the organization separately, e.g. for titles that contain a slashsentry dashboard view my-org/ "incidents/2026"
# Override the time periodsentry dashboard view 12345 --period 7d
# Render charts with sixel graphicssentry dashboard view 12345 --renderer sixel
# Auto-refresh every 30 secondssentry dashboard view 'Backend Performance' --refresh 30
# Output as JSONsentry dashboard view 12345 --json
# Open in the browsersentry dashboard view 12345 -wsentry dashboard create <org/project/title...>
Section titled “sentry dashboard create <org/project/title...>”Create a dashboard
Arguments:
| Argument | Description |
|---|---|
<org/project/title...> |
[<org/project>] <title> |
Examples:
# Create a dashboard (organization auto-detected)sentry dashboard create 'Frontend Performance'
# Create a dashboard in an explicit organizationsentry dashboard create my-org/ 'My Dashboard'
# Use the organization of an explicit projectsentry dashboard create my-org/my-project 'My Dashboard'sentry dashboard widget add <org/project/dashboard/title...>
Section titled “sentry dashboard widget add <org/project/dashboard/title...>”Add a widget to a dashboard
Arguments:
| Argument | Description |
|---|---|
<org/project/dashboard/title...> |
[<org/project>] <dashboard> <title> |
Options:
| Option | Description |
|---|---|
-d, --display <display> |
Display type (big_number, line, area, bar, table, stacked_area, top_n, text, categorical_bar, details, wheel, rage_and_dead_clicks, server_tree, agents_traces_table) |
--dataset <dataset> |
Widget dataset (default: spans). Accepts canonical names and API synonyms: spans, error-events/errors, tracemetrics/metrics, logs, issue |
-q, --query <query>... |
Aggregate expression (e.g. count, p95:span.duration) |
-w, --where <where> |
Search conditions filter (e.g. is:unresolved) |
-g, --group-by <group-by>... |
Group-by column (repeatable) |
-s, --sort <sort> |
Order by (prefix - for desc, e.g. -count) |
-n, --limit <limit> |
Result limit |
-x, --col <col> |
Grid column position (0-based, 0–5) |
-y, --row <row> |
Grid row position (0-based) |
--width <width> |
Widget width in grid columns (1–6) |
--height <height> |
Widget height in grid rows (min 1) |
-l, --layout <layout> |
Layout mode: sequential (append in order) or dense (fill gaps) (default: "sequential") |
Examples:
# Add a counter widgetsentry dashboard widget add 'My Dashboard' "Error Count" --display big_number --query count
# Use a dashboard ID in an explicit organizationsentry dashboard widget add my-org/12345 "Error Count" --display big_number --query count
# Line chart with group-bysentry dashboard widget add 'My Dashboard' "Errors by Browser" --display line --query count --group-by browser.name
# Table with multiple aggregates, sorted descendingsentry dashboard widget add 'My Dashboard' "Top Endpoints" --display table --query count --query p95:span.duration --group-by transaction --sort -count --limit 10
# Bar chart with a search filtersentry dashboard widget add 'My Dashboard' "Slow Requests" --display bar --query p95:span.duration --where "span.op:http.client" --group-by span.description
# P95 latency KPIsentry dashboard widget add 'My Dashboard' "P95" --display big_number --query p95:span.duration
# Throughput KPIsentry dashboard widget add 'My Dashboard' "Throughput" --display big_number --query epm
# Custom metric percentiles from the tracemetrics datasetsentry dashboard widget add 'My Dashboard' "Latency" --display line --dataset tracemetrics --query "p50(value,completion.duration_ms,distribution,none)" --query "p90(value,completion.duration_ms,distribution,none)"sentry dashboard widget edit <org/project/dashboard...>
Section titled “sentry dashboard widget edit <org/project/dashboard...>”Edit a widget in a dashboard
Arguments:
| Argument | Description |
|---|---|
<org/project/dashboard...> |
[<org/project>] <dashboard-id-or-title> |
Options:
| Option | Description |
|---|---|
-i, --index <index> |
Widget index (0-based) |
-t, --title <title> |
Widget title to match |
--new-title <new-title> |
New widget title |
-d, --display <display> |
Display type (big_number, line, area, bar, table, stacked_area, top_n, text, categorical_bar, details, wheel, rage_and_dead_clicks, server_tree, agents_traces_table) |
--dataset <dataset> |
Widget dataset (default: spans). Accepts canonical names and API synonyms: spans, error-events/errors, tracemetrics/metrics, logs, issue |
-q, --query <query>... |
Aggregate expression (e.g. count, p95:span.duration) |
-w, --where <where> |
Search conditions filter (e.g. is:unresolved) |
-g, --group-by <group-by>... |
Group-by column (repeatable) |
-s, --sort <sort> |
Order by (prefix - for desc, e.g. -count) |
-n, --limit <limit> |
Result limit |
-x, --col <col> |
Grid column position (0-based, 0–5) |
-y, --row <row> |
Grid row position (0-based) |
--width <width> |
Widget width in grid columns (1–6) |
--height <height> |
Widget height in grid rows (min 1) |
Examples:
# Change a widget's display typesentry dashboard widget edit 12345 --title 'Error Rate' --display bar
# Change the query of a widget selected by indexsentry dashboard widget edit 'My Dashboard' --index 0 --query p95:span.duration
# Rename a widgetsentry dashboard widget edit 12345 --title 'Old Name' --new-title 'New Name'
# Move and resize a widgetsentry dashboard widget edit 12345 --index 0 --col 0 --row 0 --width 6 --height 2sentry dashboard widget delete <org/project/dashboard...>
Section titled “sentry dashboard widget delete <org/project/dashboard...>”Delete a widget from a dashboard
Arguments:
| Argument | Description |
|---|---|
<org/project/dashboard...> |
[<org/project>] <dashboard-id-or-title> |
Options:
| Option | Description |
|---|---|
-i, --index <index> |
Widget index (0-based) |
-t, --title <title> |
Widget title to match |
-y, --yes |
Skip confirmation prompt |
-f, --force |
Force the operation without confirmation |
-n, --dry-run |
Show what would happen without making changes |
Examples:
# Delete a widget by titlesentry dashboard widget delete 'My Dashboard' --title 'Error Rate'
# Delete a widget by indexsentry dashboard widget delete 12345 --index 0
# Preview the deletionsentry dashboard widget delete 12345 --index 0 --dry-runsentry dashboard revisions <org/dashboard...>
Section titled “sentry dashboard revisions <org/dashboard...>”List dashboard revisions
Arguments:
| Argument | Description |
|---|---|
<org/dashboard...> |
[<org/project>] <dashboard-id-or-title> |
Options:
| Option | Description |
|---|---|
-n, --limit <limit> |
Maximum number of revisions to list (default: "25") |
-c, --cursor <cursor> |
Navigate pages: "next", "prev", "first" (or raw cursor string) |
Examples:
# List revisions by dashboard titlesentry dashboard revisions 'Frontend Performance'
# List revisions by dashboard IDsentry dashboard revisions 12345
# Pass the organization explicitlysentry dashboard revisions my-org/ 12345
# Fetch the next pagesentry dashboard revisions my-org/ 12345 -c next
# Output as JSONsentry dashboard revisions my-org/ 12345 --jsonsentry dashboard restore <org/dashboard...>
Section titled “sentry dashboard restore <org/dashboard...>”Restore a dashboard revision
Arguments:
| Argument | Description |
|---|---|
<org/dashboard...> |
[<org/project>] <dashboard-id-or-title> |
Options:
| Option | Description |
|---|---|
-r, --revision <revision> |
Revision ID to restore |
Examples:
# Restore by dashboard title and revision numbersentry dashboard restore 'Frontend Performance' --revision 3
# Restore by dashboard IDsentry dashboard restore 12345 --revision 42
# Pass the organization explicitlysentry dashboard restore my-org/ 12345 --revision 42
# Output the restored dashboard as JSONsentry dashboard restore 12345 --revision 42 --jsonAll commands support --json for machine-readable output and --fields to select specific JSON fields.
Dashboard references
Section titled “Dashboard references”Numeric IDs accept org/ID and org/project/ID in view, revisions,
restore, and the widget commands. Dashboards belong to the organization;
the optional project segment does not filter the dashboard.
Titles containing / are still supported. If a title looks like a qualified
numeric ID, pass the organization separately to select it by title:
sentry dashboard view my-org/ "incidents/2026".
Use sentry dashboard revisions to find a revision number before running
sentry dashboard restore.
Saved transformations
Section titled “Saved transformations”Widget add, edit, and delete commands retain saved transformation pipelines on untouched widgets. Title, layout, and filter edits preserve pipeline stage order and aggregate positions, including separate pipelines for duplicate aggregates. Query flags edit the first query and retain the remaining queries.
Query Shorthand
Section titled “Query Shorthand”The --query flag supports shorthand for aggregate functions:
| Input | Expands to |
|---|---|
count |
count() |
p95:span.duration |
p95(span.duration) |
avg:span.duration |
avg(span.duration) |
count() |
count() (passthrough) |
Sort Shorthand
Section titled “Sort Shorthand”| Input | Meaning |
|---|---|
count |
Sort by count() ascending |
-count |
Sort by count() descending |