Skip to content

List dashboards in the project (incl. built-ins).

GET
/v1/projects/{projectId}/observability/dashboards
Code sample: Shell / cURL
curl --request GET \
--url https://stratum.example.com/v1/projects/example/observability/dashboards \
--header 'Authorization: Bearer <token>'
projectId
required
string
/^p-[a-z0-9-]+$/

Dashboards.

Media typeapplication/json
object
items
required
Array<object>
object
id
required
string
projectId

Empty for built-ins (cross-tenant).

string
name
required
string
displayName
required
string
description
string
body
required

dashboard document, rendered by stratum-ui, returned exactly as it was stored.

The control plane validates schemaVersion (must be 1), a top-level title, at least one widget, unique widgets[].id, a known widgets[].type, and datasource + query on data-fetching widgets. Everything else — description, tags, variables, layout, widgets[].position — is stored verbatim and not interpreted here. See CreateDashboardRequest.body for the full contract and a working example.

object
key
additional properties
any
origin
required
string
Allowed values: platform.builtin customer
state
required
string
Allowed values: active deleted
tags
object
key
additional properties
string
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
deletedAt
string format: date-time
nullable
createdBy
required
string
nextPageToken
string
isTruncated

True when the server had more rows than it returned. The response is a valid prefix of the result, not the whole of it.

Without this flag a client at the server’s row ceiling receives a full page and no nextPageToken, which means “this is the complete set” — so data it never saw would be indistinguishable from data that does not exist.

It does not imply a cursor exists. These queries do not all sort on a total order, so a resumable token cannot be minted for them yet. The remedy is to narrow the request (a filter, or a tighter scope), not to page.

boolean

Example

{
"items": [
{
"origin": "platform.builtin",
"state": "active"
}
]
}