Splunk Observability Cloud Dashboards
API for creating, retrieving, updating, and deleting dashboards.
API for creating, retrieving, updating, and deleting dashboards.
openapi: 3.0.3
info:
title: Splunk Observability Cloud — Dashboards
version: 3.3.0
description: 'API for creating, retrieving, updating, and deleting dashboards.
Requirements
You must have an organization access token with the API permission or a session token to use the API.
You must have the Splunk Observability Cloud admin or power role to use the POST /dashboard, POST /dashboard/simple, PUT
/dashboard/{id}, and DELETE /dashboard/{id} endpoints.
You must have the Splunk Observability Cloud admin, power, read-only, or usage role to use the GET /dashboard and GET
/dashboard/{id} endpoints.'
x-provenance:
method: reconstructed
authored_by: Splunk (content) / API Evangelist (assembly)
reconstructed_by: API Evangelist
reconstructed_on: '2026-08-19'
first_party: false
provider_published: false
note: Splunk's own OpenAPI objects, extracted from the React Server Component payload embedded in each of the 48 API reference
pages at dev.splunk.com. The operations and schemas are Splunk's; the assembly into standalone documents is API Evangelist's.
Splunk serves no fetchable spec file — dev.splunk.com answers 200 with an identical 6,638-byte shell for every asset
path, including invented control paths — so this is NOT first-party publication and is not graded as such.
x-evidence:
- type: source
url: https://dev.splunk.com/observability/reference/
- type: source
url: https://dev.splunk.com/observability/docs/apibasics/api_list/
servers:
- url: https://api.{REALM}.observability.splunkcloud.com/v2
description: Endpoint URL for Dashboards API
variables:
REALM:
default: us0
description: Splunk Observability Cloud realm the organization is provisioned in (for example us0, us1, eu0, jp0, au0).
security:
- SessionToken: []
components:
securitySchemes:
SessionToken:
type: apiKey
in: header
name: X-SF-Token
description: Splunk Observability Cloud session token or org access token.
paths:
/dashboard:
get:
summary: Retrieve Dashboards Using Query
description: 'Retrieves one or more dashboard objects, based on query parameters you
encode on the request URL. If you don''t specify parameters, the request
returns the first 50 objects that the user has access to, based on the
access token specified in the request header. Query parameters
also control the point in the result set at which the system starts
returning objects, and the number of objects to return.
Note: Splunk Observability Cloud returns a maximum of 10,000 objects, even if your organization contains more than
10,000. To learn more, see the
Considerations for retrieve operations section in the developer guide.'
parameters:
- name: chartId
in: query
description: Search string that will find the dashboard that contains the chart with this chart ID.
schema:
type: string
- name: limit
in: query
description: 'The maximum number of dashboards to return. If the value isn''t
valid, the system defaults to 50 dashboards.'
schema:
type: integer
format: int32
- name: name
in: query
description: 'Search string that the system compares to existing dashboard names.
A match occurs if the string matches any part of the dashboard name.
For example, the query specification name="per" matches the
following (ellipses represent other parts of the name):
"...dropped per day..."
"...95th percentile"
"personal disk usage..."
If you specify name="", the system ignores the search string.
The string must only contain ASCII characters.'
schema:
type: string
- name: offset
in: query
description: '0-based index of the point in the query results where the system
starts returning dashboards. If the offset value is greater than the
size of the result set, you don''t receive any results.'
schema:
type: integer
format: int32
- name: Content-Type
in: header
description: Format of the request body. Always application/json.
required: true
schema:
type: string
- name: X-SF-TOKEN
in: header
description: Authentication token
required: true
schema:
type: string
responses:
'200':
description: HTTP 200 response
content:
application/json:
schema:
type: object
properties:
count:
type: integer
format: int32
description: 'Number of dashboards that matched the provided search
criteria.
Note: This value is the total number of
matches. The number of dashboards that the system returns
is affected by the limit and offset query parameters.
In summary:
count: Size of result set
number of returned dashboards:
(limit - offset) >= count: count
(limit - offset) < count: limit - offset'
results:
type: array
items:
type: object
properties:
authorizedWriters:
title: Users and teams with that can modify this dashboard
type: object
properties:
teams:
type: array
items:
type: string
example:
- ZZZZ4
- Z2X
description: 'List of team IDs that have write access to this dashboard, in the
form of a JSON array of strings'
users:
type: array
items:
type: string
example:
- YXXX
- XYYY
description: 'List of user IDs that have write access to this dashboard, in the
form of a JSON array of strings'
description: 'If the write permissions feature is available for your organization, you
can use these properties to specify the user and team IDs that have
write access to the chart of dashboard.'
chartDensity:
type: string
default: DEFAULT
enum:
- DEFAULT
- LOW
- HIGH
- HIGHEST
example: DEFAULT
title: DashboardChartDensity
description: 'Controls the number of data points displayed in the charts for this
dashboard, over the time span specified for the charts:
DEFAULT maps to approximately 60 data points
LOW maps to approximately 30 data points
HIGH maps to approximately 120 data points
HIGHEST maps to approximately 240 data points'
charts:
type: array
items:
title: Dashboard settings for a chart in a dashboard
type: object
required:
- chartId
- column
- row
- height
- width
properties:
chartId:
type: string
example: XY1XX5
description: 'ID of an existing chart. Because charts can only belong to one
dashboard, you can''t associate this ID with any other dashboard.'
column:
type: integer
minimum: 0
maximum: 11
example: 5
description: '0-based index of the horizontal position of the chart in the
dashboard display. The position represents the left-most edge of
the chart. If you specify the same column and row value for more
than one chart, the system tries to reconfigure the layout. If
there''s space, the dashboard retains the column value and spreads
out over additional rows.
Note: The API doesn''t validate the
maximum value. However, if you specify a value greater than 11, the
chart displays in the UI as if 11 was specified. If that column
is already occupied in the specified row, the system displays the
chart in the first free row from the top in the specified column.'
height:
type: integer
minimum: 1
maximum: 3
example: 2
description: 'Number of rows this chart should span.
Note: The API doesn''t validate the maximum value. However, if
you specify a value greater than 3, the chart displays in the UI
as if 3 was specified. If the total height of all specified charts
in a column is greater than 100, the system recalculates the layout
to fit all the specified charts into the display of the dashboard.'
row:
type: integer
minimum: 0
maximum: 99
example: 10
description: '0-based index of the vertical position of the chart in the
dashboard display. The position The value represents the top-most
edge of the chart. the system moves charts upwards as needed to
fill vertical gaps. If you specify the same column and row value
for more than one chart, the system tries to reconfigure the
layout. If there''s space, the dashboard retains the column value
and spreads out over additional rows.
The API doesn''t validate the maximum value. However, if you specify
a value greater than 99, the chart displays as if 0 were specified.
If that row is already occupied, the system displays the first free
row from the top of the specified column.'
width:
type: integer
minimum: 1
maximum: 12
example: 7
description: 'Number of columns this chart should span.
The API doesn''t validate the maximum value. However, if you use a
value greater than 12, the chart displays as if you specified 12.
If the total width of all specified charts in a row is greater than
100, the system recalculates the layout so that all the specified
charts fit into the display.'
description: 'Dashboard settings for the chart specified in chartId. These settings control how
the chart appears
in the dashboard.'
title: DashboardChartSettings
description: 'List of IDs for the charts you want to include in the dashboard, and for each chart
the dashboard settings to use,
in the form of a JSON array of JSON objects.
The dashboard settings for charts control how Splunk Observability Cloud arranges charts in a
dashboard when the
charts appear in the UI.'
created:
type: integer
format: int64
example: 1641024000000
title: DashboardCreated
description: 'The dashboard creation timestamp, in *nix time in milliseconds
The system sets this value, and you can''t modify it.'
creator:
type: string
example: XXYYX
title: DashboardCreator
description: 'ID of the user that created the dashboard. If Splunk Observability Cloud created this
dashboard, the value is AAAAAAAAAA. The system
sets this value, and you can''t modify it.'
customProperties:
type: string
title: DashboardCustomProperties
description: not used
description:
type: string
example: Latency measurements
title: DashboardDescription
description: 'Description of the dashboard. The system displays the value in the
dashboard tab tooltip in the dashboard group in the UI.'
discoveryOptions:
type: object
title: DashboardDiscoveryOptions
description: Reserved for system use
eventOverlays:
type: array
items:
title: Filter to apply to event overlays
type: object
required:
- property
- value
properties:
eventSignal:
title: A search term that selects charts to overlay
type: object
required:
- eventSearchText
properties:
eventSearchText:
type: string
example: ValueExceeded
description: 'The event name or partial name that the system uses to select events
to suggest as overlays on the charts in the dashboard'
eventType:
type: string
enum:
- detectorEvents
- eventTimeSeries
example: detectorEvents
description: 'Controls the source of the event. You can specify the following:
detectorEvents: Select events that come from a detector
eventTimeSeries: Select events that come from a time series
The API doesn''t accept other event types.'
description: 'A filter that selects charts to overlay with events, based on event
names and types'
eventColorIndex:
type: integer
minimum: 0
maximum: 15
example: 5
description: 'Color to use for events, in the form of an integer index into the color table
displayed in
table 5 Color palette in the section Chart color palettes.
Only the first 16 entries (0-15) are allowed for this value.
Users may see colors other than those shown in the table, depending on the settings they
select for color
blindness. To see sample swatches of the alternate colors and the mappings used for
color-blind users, see the hexadecimal color codes for the first 16 entries in
table 6, Color vision deficiency alternatives in the section Chart color palettes.'
eventLine:
type: boolean
default: false
example: true
description: 'Controls the display of vertical event lines in the charts that
belong to the dashboard. If true, the system displays event lines;
otherwise, no event lines appear.'
sources:
type: array
items:
properties:
NOT:
type: boolean
default: false
example: false
description: 'Controls the action of the filter. If set to true, then the system
only selects events that don''t match the filter.'
property:
type: string
example: datacenter
description: 'The custom property or dimension name that provides the value to
test in the filter.
If the name you specify isn''t defined in one
or more of the events associated with the dashboard, the filter
never matches anything. If the NOT property for this filter is set
to true and the filter never matches, all event overlays are
suppressed.'
value:
type: array
items:
type: string
example:
- Paris
- London
description: 'An array of values to test against the specified property. If any of
the values match, the system includes the event.
Note: You must specify at least one element.'
title: DashboardEventSources
description: 'List of filters to apply to events for this event overlay, in the
form of a JSON array.'
description: 'Filters to apply to event overlays, in the form of a JSON object
containing comparison expression properties. Each term in the expression
tries to match the values of a dimension or custom property to criteria
you specify. Based on the match results, you can include or exclude an
event.'
title: DashboardEventOverlays
description: 'List of event overlay definitions that you can apply to all of the
charts of this dashboard, in the form of a JSON array of JSON objects.
When you apply the overlays, the system displays all the active events
that match the specified search term and any specified filter on all the
charts in the dashboard. The display uses the color you specify for the
overlay and, if selected, vertical lines that mark the event.
Note: The objects in this array correspond to the suggested event
overlays specified in the UI, and they''re not automatically applied
as active overlays. To set default active event overlays, use the
selectedEventOverlays property instead.'
filters:
title: Filters to apply to all the charts of a dashboard
type: object
properties:
sources:
type: array
items:
title: Filter to apply to charts in a dashboard
type: object
required:
- property
- value
properties:
NOT:
type: boolean
default: false
example: false
description: 'Flag that indicates how the filter should operate. If true, data
that matches the criteria is excluded from charts; otherwise, data
that matches the criteria is included.'
property:
type: string
example: host
description: 'Name of the dimension or custom property to match to the data.
Note: If the dimension or custom property doesn''t exist in any
of the charts for the dashboard, and ChartsFilter.NOT is true,
the system doesn''t display any data in the charts.'
value:
type: array
items:
type: string
example:
- host5
- host6
description: 'A list of values to compare to the value of the dimension or custom
property specified in ChartsFilter.property. If the list contains
more than one value, the filter becomes a set of queries between the
value of property and each element of value. The system joins
these queries with an implicit OR.'
description: 'A single filter to apply to the charts in the dashboard. The filter
specifies a default or user-defined dimension or custom property. You
can either include or exclude all the data that matches the dimension or
custom property.'
description: 'List of filters to apply to the charts in the dashboard, in the form
of a JSON array. Each element is a single filter for a default or
user-defined dimension or custom property.'
time:
type: object
properties:
end:
type: string
example: 1647943200000
description: 'The end of the time range to show for all charts in the
dashboard. If you don''t specify a value for this property, the
system defaults to the value of the end property for each chart.
Note: The specified type for end is string, but the
system also accepts a 64-bit signed integer >= 0 that represents a
time in *nix time in milliseconds.'
start:
type: string
example: 1647936000000
description: 'The start of the time range to show for all charts in the
dashboard. If you don''t specify a value for this property, the
system defaults to the value of the start property for each chart.
Note: The specified type for start is string, but the
system also accepts a 64-bit signed integer >= 0 that represents a
time in *nix time in milliseconds.'
description: 'Time range to show in all of the charts in the dashboard, in the
form of a JSON object. The specifications in this object override
those in each individual chart. If you don''t specify values, the
system defaults to using the individual time setting for each chart.'
variables:
type: array
items:
title: Filter that appears in the UI
type: object
required:
- property
- value
properties:
alias:
type: string
example: Europe
description: 'A label for the filter. The system displays this label in the area
preceding the input textarea for the filter in the UI.
Note: A good way to indicate that the string is a label is to
append a space and a colon (":") to it.'
preferredSuggestions:
type: array
items:
type: string
example:
- Europe
- Asia
description: 'List of strings containing values to place at the top of the
Suggested Values dropdown in UI for the dashboard, in the
form of a JSON array. If ChartsWebUIFilter.restricted is true,
the filter must use one of the values in this array; users only have
a choice of selecting a value from this array.'
property:
type: string
example: datacenter
description: 'Name of a custom property or dimension to filter against.
Note: If the dimension or custom property doesn''t exist in any
of the charts in the dashboard, the system doesn''t display any
data in the charts.'
required:
type: boolean
default: false
example: true
description: 'Flag that controls the display of chart data. If true, users must
use this filter in order to see data; otherwise, users can delete
the filter.'
restricted:
type: boolean
default: false
example: true
description: 'Flag that controls the values allowed in the filter. If true, the
only allowable values are those specified in the
ChartsWebUIFilter.preferredSuggestions array; otherwise, any value
is allowed.'
value:
type: array
items:
type: string
example:
- London
- Paris
description: 'A list of values to compare to the value of the dimension or custom
property specified in ChartsWebUIFilter.property. If the list
contains more than one value, the filter becomes a set of queries
between the value of property and each element of value. The
system joins these queries with an implicit OR.'
description: 'The specification for a filter that appears in the UI. The filter
compares the value of a dimension or custom property to a value
specified in this filter. You can specify the following in the
filter:
A default value
A list of suggested values to display in the UI
A flag that controls user input; if set to true, users are limited
to the default and suggested values.
You can also force users to choose this filter in order to see data
in the charts of this dashboard.'
description: 'List of UI-oriented filters that appear at the top of the
dashboard, in the form of a JSON array of JSON objects. For each
filter you can specify a name and a label for the dimension or
# --- truncated at 32 KB (344 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/splunk-observability/refs/heads/main/openapi/splunk-observability-dashboards-openapi.yml