Summary

The uninstallPackage() mutation removes an installed package from a view or repository. Uninstalling removes all content bundled with the package โ€” including dashboards, saved queries, scheduled searches, alerts, and parsers โ€” from the target view or repository. To list packages currently installed in a repository before uninstalling, query the installedPackages field returned by repository().

Syntax

graphql
uninstallPackage(
      packageId: UnversionedPackageSpecifier!,
      viewName: String!
   ): BooleanResultType!

Both arguments are required. The packageId argument takes an UnversionedPackageSpecifier scalar โ€” not a plain string โ€” and must omit any version suffix, for example apache/http-server. The viewName argument identifies the target repository or view by its exact name.

The mutation returns a non-null BooleanResultType! containing a single result field. The Returned Values section describes the available fields.

Example

Raw
graphql
mutation {
  uninstallPackage(
     viewName: "humio",
     packageId: "apache/http-server"
  )
    { result }
}
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 {
  uninstallPackage(
     viewName: \"humio\",
     packageId: \"apache/http-server\"
  )
    { result }
}"
}
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 {
  uninstallPackage(
     viewName: \"humio\",
     packageId: \"apache/http-server\"
  )
    { result }
}"
}
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 { ^
  uninstallPackage( ^
     viewName: \"humio\", ^
     packageId: \"apache/http-server\" ^
  ) ^
    { result } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  uninstallPackage(
     viewName: \"humio\",
     packageId: \"apache/http-server\"
  )
    { result }
}"
}'
    "$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 {
  uninstallPackage(
     viewName: \"humio\",
     packageId: \"apache/http-server\"
  )
    { result }
}";
$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 {
  uninstallPackage(
     viewName: \"humio\",
     packageId: \"apache/http-server\"
  )
    { result }
}"
}'''

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 {
  uninstallPackage(
     viewName: \"humio\",
     packageId: \"apache/http-server\"
  )
    { result }
}"
}
);


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": {
    "uninstallPackage": {
      "result": true
    }
  }
}

Input Parameters

Provide the unversioned package identifier and the view or repository name. Both parameters are required.

Table: Input Parameters and Datatypes

Parameter Type Required Default Description
This table contains all input parameters for this mutation. The packageId parameter uses a special scalar datatype.
packageId UnversionedPackageSpecifier yes ย  The identifier of the package to uninstall. UnversionedPackageSpecifier is a scalar representing a package ID without a version suffix, for example humio/alerts.
viewName String yes ย  The name of the view or repository from which to remove the package. The value must exactly match the view or repository name as shown in the LogScale UI or returned by repository().

Returned Values

The mutation returns a BooleanResultType with a single result field. A value of true indicates the package was successfully removed from the view or repository. The following table lists all available fields:

Table: BooleanResultType Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
resultBooleanyesย Long-Termย Whether the mutation was performed successfully.