The updateDashboard() GraphQL mutation may be used to update a dashboard in LogScale.

There are several other basic mutations related to dashboards. You can use the createDashboard() to create a new one. The renameDashboard() mutation is used to rename a dashboard. You can use copyDashboard() to clone an existing dashboard, and deleteDashboardV3() to delete one. To get a list of dashboards, use the dashboardsPage() query.

To make changes to a dashboard using the UI, see Manage repository dashboards in the main documentation.

API Stability Long-Term

Syntax

graphql
updateDashboard(
      input: UpdateDashboardInput!
   ): UpdateDashboardMutation!

For the input, you'll have to give the name of the dashboard, possibly a list of widgets to include, any filters and labels, and maybe a few other parameters. See the Given Datatype for details.

For the results, you can get plenty of information on the dashboard. See the tables in the Returned Datatype section for your choices.

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"
      }
    }
  }
}

Given Datatype

For this input datatype, you would provide the name of the dashboard, and possibly a list of widgets to include in the dashboard, any filters and labels, and a few other factors. These are listed and explained, along with other parameters, in the table below:

Table: UpdateDashboardInput

ParameterTypeRequiredDefaultStabilityDescription
Some arguments may be required, as indicated in the Required column. For return datatypes, this indicates that you must specify which fields you want returned in the results.
Table last updated: Sep 23, 2024
defaultFilterIdstring  Long-TermThe unique identifier for the default filter.
defaultSharedTimeEnabledboolean  Long-TermWhether the default shared time is enabled.
defaultSharedTimeEndstring  Long-TermThe updated default shared time end for the dashboard.
defaultSharedTimeStartstring  Long-TermThe updated default shared time start for the dashboard.
descriptionstring  Long-TermAn updated description of the dashboard.
filters[FilterInput]yes Long-TermThe filters for the dashboard. See FilterInput.
idstringyes Long-TermThe unique identifier of the dashboard to update.
labels[string]yes Long-TermThe labels for the dashboard being updated.
links[LinkInput]yes Long-TermAll dashboard links. See LinkInput.
namestring  Long-TermThe name of the dashboard to update.
parameters[ParameterInput]yes Long-TermThe dashboard parameters. See ParameterInput.
timeJumpSizeInMsinteger  Long-TermThe skip time in milliseconds for the dashboard.
updateFrequencyDashboardUpdateFrequencyInput  Long-TermThe frequency in which the dashboard is to be updated. See DashboardUpdateFrequencyInput.
widgets[WidgetInput]yes Long-TermThe dashboards widgets. See WidgetInput.

Returned Datatype

The returned datatype, through sub-parameters, provide much information the dashboard. The table below contains a link to the table with the sub-parameters:

Table: UpdateDashboardMutation

ParameterTypeRequiredDefaultStabilityDescription
Some arguments may be required, as indicated in the Required column. For return datatypes, this indicates that you must specify which fields you want returned in the results.
Table last updated: Oct 4, 2024
dashboardDashboardyes Long-TermThe dashboard to update. See Dashboard.

The datatype above uses another datatype for getting dashboard information. For your convenience, the table for that sub-datatype is included here:

Table: Dashboard

ParameterTypeRequiredDefaultStabilityDescription
Some arguments may be required, as indicated in the Required column. For return datatypes, this indicates that you must specify which fields you want returned in the results.
Table last updated: Aug 19, 2025
allowedActions[AssetAction]yes Short-TermThe allowed asset actions. See AssetAction Table). This is feature is a preview and may be changed.
createdInfoAssetCommitMetadata  Long-TermMetadata related to the creation of the dashboard. See AssetCommitMetadata.
defaultFilterDashboardFilter  Long-TermThe default filter used with the dashboard (see DashboardFilter Table).
defaultSharedTimeEnabledbooleanyes Long-TermWhether the shared time by default is enabled.
defaultSharedTimeEndstringyes Long-TermThe default shared ending time.
defaultSharedTimeStartstringyes Long-TermThe default shared starting time.
descriptionstring  Long-TermA description of the dashboard.
displayNamestringyes Long-TermThe display name of the dashboard.
filters[DashboardFilter]yes Long-TermThe filters used with the dashboard. See DashboardFilter.
idstringyes Long-TermThe unique identifier for the dashboard.
isStarredbooleanyes Long-TermWhether the dashboard is marked with a star.
labels[string]yes Long-TermAny labels associated with the dashboard.
modifiedInfoAssetCommitMetadata  Long-TermMetadata related to the latest modification of the dashboard. See AssetCommitMetadata.
namestringyes Long-TermThe name of the dashboard.
packagePackageInstallationyes Long-TermThe package, if there is one, in which the dashboard is included (see PackageInstallation Table).
packageIdVersionedPackageSpecifieryes Long-TermThe unique identifiers of the package. VersionedPackageSpecifier is a scalar.
parameters[DashboardParameter]yes Long-TermList of dashboard parameters (see DashboardParameter Table).
readOnlyTokens[DashboardLink]yes Long-TermList of tokens used to access the dashboard without logging in. Useful for wall mounted dashboards or public dashboards. See DashboardLink.
resourcestringyes Short-TermThe resource identifier for this dashboard.
searchDomainSearchDomainyes Long-TermThe search domain for the dashboard. See SearchDomain.
sections[Section]yes Long-TermThe sections for the dashboard. See Section.
series[SeriesConfig]yes Long-TermThe series configuration for the dashboard. See SeriesConfig.
templateYamlstringyes DeprecatedA yaml formatted string that describes the dashboard. This field has been replaced with yamlTemplate. It will be removed at the earliest in version 1.225.
timeJumpSizeInMsinteger  Long-TermThe skip time in milliseconds for the dashboard.
updateFrequencyDashboardUpdateFrequencyTypeyes Long-TermThe frequency in which dashboard is updated. See DashboardUpdateFrequencyType, and the explanations under the DashboardParameter.
widgets[Widget]yes Long-TermWidgets for the dashboard (see Widget Table).
yamlTemplateYAMLyes Long-TermA 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.