Summary

The removeDashboardFilter() mutation permanently removes a named filter from a dashboard. Dashboard filters prepend a filter expression to every widget query on the dashboard, restricting widget results to events that match that expression. Removing a filter deletes it from the dashboard; the filter expression no longer applies to any widget.

To modify an existing filter's name or expression instead of removing it, use updateDashboardFilter().

Syntax

graphql
removeDashboardFilter(
      id: String!, filterId: String!
   ): Dashboard!

Both arguments are required. Provide the dashboard's unique identifier (id) and the unique identifier of the filter to remove (filterId). Use the dashboardsPage() query in the following expandable section to retrieve both identifiers.

The mutation returns the updated Dashboard object. Inspect the filters field to confirm the filter was removed and to see which filters remain active on the dashboard. See the Returned Values section for all available fields.

Hide Query Example

Show Filter Identifiers Query

Example

Raw
graphql
mutation {
  removeDashboardFilter(
      id: "abc123",
      filterId: "findTimestamp" 
  )
  { filters { id, name} }
}
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 {
  removeDashboardFilter(
      id: \"abc123\",
      filterId: \"findTimestamp\" 
  )
  { filters { id, name} }
}"
}
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 {
  removeDashboardFilter(
      id: \"abc123\",
      filterId: \"findTimestamp\" 
  )
  { filters { id, name} }
}"
}
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 { ^
  removeDashboardFilter( ^
      id: \"abc123\", ^
      filterId: \"findTimestamp\"  ^
  ) ^
  { filters { id, name} } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  removeDashboardFilter(
      id: \"abc123\",
      filterId: \"findTimestamp\" 
  )
  { filters { id, name} }
}"
}'
    "$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 {
  removeDashboardFilter(
      id: \"abc123\",
      filterId: \"findTimestamp\" 
  )
  { filters { id, name} }
}";
$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 {
  removeDashboardFilter(
      id: \"abc123\",
      filterId: \"findTimestamp\" 
  )
  { filters { id, name} }
}"
}'''

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 {
  removeDashboardFilter(
      id: \"abc123\",
      filterId: \"findTimestamp\" 
  )
  { filters { id, name} }
}"
}
);


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": {
    "removeDashboardFilter": {
      "filters": []
    }
  }
}

Input Parameters

Both parameters are required. Use the dashboardsPage() query in the Syntax section to retrieve both identifiers.

Table: Input Parameters & Datatypes

Parameter Type Required Default Description
This table contains all input parameters for this mutation.
filterId string yes   The unique identifier of the filter to remove from the dashboard. Retrieve this value from the dashboardsPage() query under filters { id }.
id string yes   The unique identifier of the dashboard containing the filter. Retrieve this value from the dashboardsPage() query under page { id }.

Returned Values

The mutation returns the updated Dashboard object. Inspect the filters field to confirm the filter was removed; an empty array means no filters remain on the dashboard. The following table lists all available fields.

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.