Summary

The updateDashboard() mutation updates an existing dashboard in LogScale. Use it to modify dashboard properties such as the name, labels, widgets, sections, filters, and shared time settings. To create a new dashboard, use createDashboard() instead.

Syntax

graphql
updateDashboard(
      input: UpdateDashboardInput!
   ): UpdateDashboardMutation!

The mutation accepts a single required argument, input, of type UpdateDashboardInput!. The input requires the dashboard id and accepts optional fields for name, description, labels, widgets, sections, links, filters, parameters, time settings, and series configuration. Omitting an optional field leaves the current value unchanged. The mutation returns a non-null UpdateDashboardMutation object containing the updated Dashboard.

To retrieve a dashboard's unique identifier before calling this mutation, use the dashboardsPage() query shown in the following example.

Hide Query Example

Show Dashboard Identifiers Query

Example

Raw
graphql
mutation {
  updateDashboard( input:
    {
      id: "abc123",
      name: "New Name",
      description: "New Description"
    }
  )
  { dashboard { id } }
}
Mac OS or Linux (curl)
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  updateDashboard( input:
    {
      id: \"abc123\",
      name: \"New Name\",
      description: \"New Description\"
    }
  )
  { dashboard { id } }
}"
}
EOF
Mac OS or Linux (curl) One-line
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  updateDashboard( input:
    {
      id: \"abc123\",
      name: \"New Name\",
      description: \"New Description\"
    }
  )
  { dashboard { id } }
}"
}
EOF
Windows Cmd and curl
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql ^
    -H "Authorization: Bearer $TOKEN" ^
    -H "Content-Type: application/json" ^
    -d @'{"query" : "mutation { ^
  updateDashboard( input: ^
    { ^
      id: \"abc123\", ^
      name: \"New Name\", ^
      description: \"New Description\" ^
    } ^
  ) ^
  { dashboard { id } } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  updateDashboard( input:
    {
      id: \"abc123\",
      name: \"New Name\",
      description: \"New Description\"
    }
  )
  { dashboard { id } }
}"
}'
    "$YOUR_LOGSCALE_URL/graphql"
Perl
perl
#!/usr/bin/perl

use HTTP::Request;
use LWP;

my $TOKEN = "TOKEN";

my $uri = '$YOUR_LOGSCALE_URL/graphql';

my $query = "mutation {
  updateDashboard( input:
    {
      id: \"abc123\",
      name: \"New Name\",
      description: \"New Description\"
    }
  )
  { dashboard { id } }
}";
$query =~ s/\n/ /g;
my $json = sprintf('{"query" : "%s"}',$query);
my $req = HTTP::Request->new("POST", $uri );

$req->header("Authorization" => "Bearer $TOKEN");
$req->header("Content-Type" => "application/json");

$req->content( $json );

my $lwp = LWP::UserAgent->new;

my $result = $lwp->request( $req );

print $result->{"_content"},"\n";
Python
python
#! /usr/local/bin/python3

import requests

url = '$YOUR_LOGSCALE_URL/graphql'
mydata = r'''{"query" : "mutation {
  updateDashboard( input:
    {
      id: \"abc123\",
      name: \"New Name\",
      description: \"New Description\"
    }
  )
  { dashboard { id } }
}"
}'''

resp = requests.post(url,
                     data = mydata,
                     headers = {
   "Authorization" : "Bearer $TOKEN",
   "Content-Type" : "application/json"
}
)

print(resp.text)
Node.js
javascript
const https = require('https');

const data = JSON.stringify(
    {"query" : "mutation {
  updateDashboard( input:
    {
      id: \"abc123\",
      name: \"New Name\",
      description: \"New Description\"
    }
  )
  { dashboard { id } }
}"
}
);


const options = {
  hostname: '$YOUR_LOGSCALE_URL',
  path: 'graphql',
  port: 443,
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Content-Length': data.length,
    Authorization: 'BEARER ' + process.env.TOKEN,
    'User-Agent': 'Node',
  },
};

const req = https.request(options, (res) => {
  let data = '';
  console.log(`statusCode: ${res.statusCode}`);

  res.on('data', (d) => {
    data += d;
  });
  res.on('end', () => {
    console.log(JSON.parse(data).data);
  });
});

req.on('error', (error) => {
  console.error(error);
});

req.write(data);
req.end();
Example Responses
Success (HTTP Response Code 200 OK)
json
{
  "data": {
    "updateDashboard": {
      "dashboard": {
        "id": "abc123"
      }
    }
  }
}

Input Parameters

The input argument requires the dashboard id. All other fields are optional and update only the properties you supply. To find the dashboard identifier, select Show Dashboard Identifiers Query in the Syntax section.

Table: UpdateDashboardInput Input Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
defaultFilterIdString  Long-Term The unique identifier for the default filter.
defaultSharedTimeEnabledBoolean  Long-Term Whether the default shared time is enabled.
defaultSharedTimeEndString  Long-Term The updated default shared time end for the dashboard.
defaultSharedTimeStartString  Long-Term The updated default shared time start for the dashboard.
descriptionString  Long-Term An updated description of the dashboard.
filtersFilterInputyes Long-Term The filters for the dashboard. See FilterInput.
idStringyes Long-Term The unique identifier of the dashboard to update.
labelsStringyes Long-Term The labels for the dashboard being updated.
linksLinkInputyes Long-Term All dashboard links. See LinkInput.
nameString  Long-Term The name of the dashboard to update.
parametersParameterInputyes Long-Term The dashboard parameters. See ParameterInput.
sectionsSectionInputyes    
seriesSeriesConfigInputyes    
seriesColorPaletteString     
timeJumpSizeInMsInt  Long-Term The skip time in milliseconds for the dashboard.
updateFrequencyDashboardUpdateFrequencyInput  Long-Term The frequency in which the dashboard is to be updated. See DashboardUpdateFrequencyInput.
widgetsWidgetInputyes Long-Term The dashboards widgets. See WidgetInput.

Returned Values

The mutation returns an UpdateDashboardMutation object containing a non-null dashboard field. Query id, name, and description on the returned dashboard to confirm the update was applied. The full Dashboard type is available to inspect any other updated properties.

Table: UpdateDashboardMutation Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
dashboardDashboardyes Long-Term The dashboard to update. See Dashboard.

The UpdateDashboardMutation type references the Dashboard type for full dashboard details. That sub-datatype table follows:

Table: Dashboard Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
allowedActionsAssetActionyes Short-Term The allowed asset actions. See AssetAction Table). This is feature is a preview and may be changed.
createdInfoAssetCommitMetadata  Long-Term Metadata related to the creation of the dashboard. See AssetCommitMetadata.
defaultFilterDashboardFilter  Long-Term The default filter used with the dashboard (see DashboardFilter Table).
defaultSharedTimeEnabledBooleanyes Long-Term Whether the shared time by default is enabled.
defaultSharedTimeEndStringyes Long-Term The default shared ending time.
defaultSharedTimeStartStringyes Long-Term The default shared starting time.
descriptionString  Long-Term A description of the dashboard.
displayNameStringyes Long-Term The display name of the dashboard.
filtersDashboardFilteryes Long-Term The filters used with the dashboard. See DashboardFilter.
idStringyes Long-Term The unique identifier for the dashboard.
isStarredBooleanyes Long-Term Whether the dashboard is marked with a star.
labelsStringyes Long-Term Any labels associated with the dashboard.
modifiedInfoAssetCommitMetadata  Long-Term Metadata related to the latest modification of the dashboard. See AssetCommitMetadata.
nameStringyes Long-Term The name of the dashboard.
packagePackageInstallation  Long-Term The package, if there is one, in which the dashboard is included (see PackageInstallation Table).
packageIdVersionedPackageSpecifier  Long-Term The unique identifiers of the package. VersionedPackageSpecifier is a scalar.
parametersDashboardParameteryes Long-Term List of dashboard parameters (see DashboardParameter Table).
readOnlyTokensDashboardLinkyes Long-Term List of tokens used to access the dashboard without logging in. Useful for wall mounted dashboards or public dashboards. See DashboardLink.
resourceStringyes Short-Term The resource identifier for this dashboard.
searchDomainSearchDomainyes Long-Term The search domain for the dashboard. See SearchDomain.
sectionsSectionyes Long-Term The sections for the dashboard. See Section.
seriesSeriesConfigyes Long-Term The series configuration for the dashboard. See SeriesConfig.
seriesColorPaletteString  Short-Term Stability: Short-term
templateYamlStringyes  deprecated in 1.225A YAML formatted string that describes the dashboard. It does not contain links or permissions, and is safe to share and use for making copies of a dashboard.
timeJumpSizeInMsInt  Long-Term The skip time in milliseconds for the dashboard.
updateFrequencyDashboardUpdateFrequencyTypeyes Long-Term The frequency in which dashboard is updated. See DashboardUpdateFrequencyType, and the explanations under the DashboardParameter.
widgetsWidgetyes Long-Term Widgets for the dashboard (see Widget Table).
yamlTemplateYAMLyes Long-Term A yaml formatted string that describes the dashboard. YAML is a scalar. It doesn't contain links or permissions, and is safe to share and use for making copies of a dashboard. This replaced templateYaml starting in LogScale version 1.165.