SignalFx Developers Guide

Developer Home

Product Docs

SignalFx

Dashboards API

API for creating, retrieving, updating, and deleting dashboards

Dashboards are groups of charts. In a dashboard, all the charts that belong to the dashboard appear at the same time and follow the same filtering options.

Dashboard layout

The system lays out dashboards and the charts they contain with these dimensions:

  • The web UI reserves a 12x100 grid for each dashboard and assigns one or more charts to specific locations within the grid.
  • A chart associated with the dashboard can be any size from 1x1 to 12x3.
  • If you assign overlapping dashboard locations for charts, the system attempts to resize or reorganize the layout. This ensures that all of the charts fit within the space allotted to the dashboard.

Dashboard access

By default, all users in an organization can edit and delete dashboards and dashboard groups. If the write permissions feature is available in your organization, you can limit editing or deleting of specific dashboards to specific individuals or teams, or both. Use this feature to prevent unauthorized or accidental modifications to dashboards and the charts they contain.

To learn more, see the topic "Setting Write Permissions" in the product documentation.

Cloning dashboards

Users who don't have permission to edit a dashboard can still clone it and modify the clone.

Creating a mirrored dashboard

To create a mirrored dashboard, use the Dashboard Groups API.

View dashboards

You can view dashboards you create using the API in the web UI by specifying their "id" property in a web UI URL, by following this syntax:

https://app.signalfx.com/#/dashboard/<DASHBOARD_ID>

Dashboards you create using the API also appear by name in the web UI catalog and in their dashboard group.

Retrieve Dashboards Using Query

Retrieves dashboards based on search criteria

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 user's 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.

query Parameters
limit
integer <int32>

The maximum number of dashboards to return. If the value isn't valid, the system defaults to 50 dashboards.

name
string

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.

offset
integer <int32>

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.

header Parameters
Content-Type
required
string

Format of the request body. Always "application/json".

X-SF-TOKEN
required
string

Authentication token

Responses

Response Headers
Content-Type
string

Format of the response body. Always "application/json".

Response Schema: application/json
count
integer <int32>

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
Array of objects

List of dashboard objects that the system returns as the result of the request. These objects represent dashboards that match the search query. The number and location of the objects within the result set depend on the query parameters you specify in the request. To learn more, see the top-level description of the API and the description of the count response property

Response samples

Content type
application/json
{
  • "count": 0,
  • "results":
    [
    ]
}

Create Single Dashboard

Creates a single dashboard

Creates a dashboard using the properties specified in the request body. If the write permissions feature is available in your organization, you can specify the users and teams that who have permission to edit or delete the dashboard or its charts.

header Parameters
Content-Type
required
string

Format of the request body. Always "application/json".

X-SF-TOKEN
required
string

Authentication token

Request Body schema: application/json

Create dashboard request body

object (Organizations and teams with write permission for an object)

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
string (DashboardChartDensity)
Default: "DEFAULT"
Enum: "DEFAULT" "LOW" "HIGH" "HIGHEST"

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
Array of objects (DashboardCharts)

List of charts associated with the dashboard, in the form of a JSON array of JSON objects. Each chart must exist and be unique across all dashboards.

description
string (DashboardDescription)

Description of the dashboard. The system displays the value in the dashboard tab tooltip in the dashboard group in the web UI.

Array of objects (DashboardEventOverlays)

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 web UI, and they're not automatically applied as active overlays. To set default active event overlays, use the selectedEventOverlays property instead.

object (Filters to apply to all the charts of a dashboard)

Specifies the properties of filters to apply to the dashboard.

Filters give you fine-grained control over the data displayed in the charts in the dashboard. You can specify ad hoc filters or save them as variables for repeated use of the filter criteria.

You can also use filters to apply a custom time window to all of the charts in the dashboard.

groupId
string (DashboardGroupId)

ID of an existing dashboard group to associate with this dashboard. If you don't specify a value, the system creates a new dashboard group and assigns its ID to this property during the create process.

maxDelayOverride
integer <int32> (DashboardMaxDelayOverride)

Milliseconds to wait for late-arriving datapoints before rejecting them for inclusion in the charts in this dashboard. This value overrides but doesn't change the max delay setting for individual charts in the dashboard. If you omit this property, the system uses individual chart settings.

For individual charts, you can force the system to calculate a sensible value by removing the chart's maxDelayOverride property. To force the system to do this for all charts in a dashboard, set CreateDashboardBody.maxDelayOverride to 0.

name
string (DashboardName)

A human-readable label for the dashboard. The web UI displays this label in the dashboard's group.

Array of objects (DashboardSelectedEventOverlays)

List of event overlays that are currently active for the charts in this dashboard, in the form of a JSON array of JSON objects. For each overlay, the system displays the active events that match the overlay search term and optional feature, using the overlay's color and event line settings. To set options for inactive overlays so you can apply them at a later time, use the eventOverlays property instead.

Responses

Response Headers
Content-Type
string

Format of the response body. Always "application/json".

Response Schema: application/json
object (Organizations and teams with write permission for an object)

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
string (DashboardChartDensity)
Default: "DEFAULT"
Enum: "DEFAULT" "LOW" "HIGH" "HIGHEST"

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
Array of objects (DashboardCharts)

List of charts associated with the dashboard, in the form of a JSON array of JSON objects. Each chart must exist and be unique across all dashboards.

created
integer <int64> (DashboardCreated)

The dashboard creation date and time, in the form of a Unix time value

The system sets this value, and you can't modify it.

creator
string (DashboardCreator)

SignalFx-assigned user ID of the user that created the dashboard. If the system created this dashboard, the value is "AAAAAAAAAA". The system sets this value, and you can't modify it.

customProperties
object (DashboardCustomProperties)

Custom properties for the dashboard, in the form of a JSON object that contains key-value pairs. Custom properties must follow these syntax restrictions:

Key:

  • ASCII characters only
  • Length <= 128 characters
  • Can only contain upper and lower case alphanumeric characters, underscores ("_"), and hyphens ("-")
  • Must start with an alphabetic character, upper or lower case.
  • Must not start with any of these prefixes: _, sf_, aws_, gcp_, or azure_

Value:

  • Must be present if you specify a key
  • Must not be empty
  • ASCII characters only
  • Length <= 256 characters
description
string (DashboardDescription)

Description of the dashboard. The system displays the value in the dashboard tab tooltip in the dashboard group in the web UI.

discoveryOptions
object (DashboardDiscoveryOptions)

Reserved for system use

Array of objects (DashboardEventOverlays)

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 web UI, and they're not automatically applied as active overlays. To set default active event overlays, use the selectedEventOverlays property instead.

object (Filters to apply to all the charts of a dashboard)

Specifies the properties of filters to apply to the dashboard.

Filters give you fine-grained control over the data displayed in the charts in the dashboard. You can specify ad hoc filters or save them as variables for repeated use of the filter criteria.

You can also use filters to apply a custom time window to all of the charts in the dashboard.

groupId
string (DashboardGroupId)

ID of an existing dashboard group to associate with this dashboard. If you don't specify a value, the system creates a new dashboard group and assigns its ID to this property during the create process.

id
string (DashboardId)

The dashboard's SignalFx-assigned ID. This value is read-only for a create request. The system assigns it and returns it to you in the response.

lastUpdated
integer <int64> (DashboardLastUpdated)

The last time the dashboard was updated, in Unix time

The system sets this value, and you can't modify it.

lastUpdatedBy
string (DashboardLastUpdatedBy)

SignalFx-assigned ID of the last user who updated the dashboard. If the last update was by the system, the value is "AAAAAAAAAA". This value is read-only.

maxDelayOverride
integer <int32> (DashboardMaxDelayOverride)

Milliseconds to wait for late-arriving datapoints before rejecting them for inclusion in the charts in this dashboard. This value overrides but doesn't change the max delay setting for individual charts in the dashboard. If you omit this property, the system uses individual chart settings.

For individual charts, you can force the system to calculate a sensible value by removing the chart's maxDelayOverride property. To force the system to do this for all charts in a dashboard, set CreateDashboardBody.maxDelayOverride to 0.

name
string (DashboardName)

A human-readable label for the dashboard. The web UI displays this label in the dashboard's group.

Array of objects (DashboardSelectedEventOverlays)

List of event overlays that are currently active for the charts in this dashboard, in the form of a JSON array of JSON objects. For each overlay, the system displays the active events that match the overlay search term and optional feature, using the overlay's color and event line settings. To set options for inactive overlays so you can apply them at a later time, use the eventOverlays property instead.

tags
Array of strings (Dashboard tags) <= 50 items

List of dashboard tags, in the form of a JSON array. Reserved for future use.

Response Headers
Content-Type
string

Format of the response body. Always "application/json".

Response Schema: application/json
code
integer <int32>

HTTP response code. Always '400'

message
string

Error explanation

Request samples

Content type
application/json
{
  • "aut