API Stability Long-Term

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

For more information on dashboards, see the Dashboards documentation page.

Syntax

Below is the syntax for the updateDashboard() mutation field:

graphql
updateDashboard(
      input: UpdateDashboardInput!
   ): UpdateDashboardMutation!

Below is an example of how this mutation field might be used:

Raw
graphql
mutation {
  updateDashboard( input:
    {
      id: "8yHvhPf8GJHDZaP9MRrCSlcvfcbHyInY",
      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: \"8yHvhPf8GJHDZaP9MRrCSlcvfcbHyInY\",
      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: \"8yHvhPf8GJHDZaP9MRrCSlcvfcbHyInY\",
      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: \"8yHvhPf8GJHDZaP9MRrCSlcvfcbHyInY\", ^
      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: \"8yHvhPf8GJHDZaP9MRrCSlcvfcbHyInY\",
      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: \"8yHvhPf8GJHDZaP9MRrCSlcvfcbHyInY\",
      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: \"8yHvhPf8GJHDZaP9MRrCSlcvfcbHyInY\",
      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: \"8yHvhPf8GJHDZaP9MRrCSlcvfcbHyInY\",
      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": "8yHvhPf8GJHDZaP9MRrCSlcvfcbHyInY"
      }
    }
  }
}

Given Datatypes

For UpdateDashboardInput, there are several parameters that may be given. Below is a list of them along with a description of each:

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 Datatypes

The returned datatype UpdateDashboardMutation has one parameter, but many sub-parameters. Click on the link below for the one parameter to see 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.