The createSavedQueryFromPackageTemplate() GraphQL mutation field is used to create a saved query from a package saved query template.

For more information on saved queries, see the User Functions (Saved Searches) reference page where saved queries are discussed. You may also want to look at the Packages page for related information. Also, look at the Searching Data documentation page as it relates to recent queries and saving queries.

Syntax

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

graphql
createSavedQueryFromPackageTemplate(
      viewName: string!
      packageId: VersionedPackageSpecifier!
      savedQueryTemplateName: string!
      overrideName: string
   ): CreateSavedQueryFromPackageTemplateMutation!

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

Raw
graphql
mutation {
  createSavedQueryFromPackageTemplate(
    viewName: "humio",
     packageId: "humio/insights@0.0.14",
    savedQueryTemplateName: "ingestErrors",
    overrideName: "my-ingest-errors-query"
    )
  { savedQuery {id, query {queryString} }  }
}
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 {
  createSavedQueryFromPackageTemplate(
    viewName: \"humio\",
     packageId: \"humio/insights@0.0.14\",
    savedQueryTemplateName: \"ingestErrors\",
    overrideName: \"my-ingest-errors-query\"
    )
  { savedQuery {id, query {queryString} }  }
}"
}
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 {
  createSavedQueryFromPackageTemplate(
    viewName: \"humio\",
     packageId: \"humio/insights@0.0.14\",
    savedQueryTemplateName: \"ingestErrors\",
    overrideName: \"my-ingest-errors-query\"
    )
  { savedQuery {id, query {queryString} }  }
}"
}
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 { ^
  createSavedQueryFromPackageTemplate( ^
    viewName: \"humio\", ^
     packageId: \"humio/insights@0.0.14\", ^
    savedQueryTemplateName: \"ingestErrors\", ^
    overrideName: \"my-ingest-errors-query\" ^
    ) ^
  { savedQuery {id, query {queryString} }  } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  createSavedQueryFromPackageTemplate(
    viewName: \"humio\",
     packageId: \"humio/insights@0.0.14\",
    savedQueryTemplateName: \"ingestErrors\",
    overrideName: \"my-ingest-errors-query\"
    )
  { savedQuery {id, query {queryString} }  }
}"
}'
"$YOUR_LOGSCALE_URL/graphql"
Perl
perl
#!/usr/bin/perl

use HTTP::Request;
use LWP;

my $INGEST_TOKEN = "TOKEN";

my $uri = '$YOUR_LOGSCALE_URL/graphql';

my $json = '{"query" : "mutation {
  createSavedQueryFromPackageTemplate(
    viewName: \"humio\",
     packageId: \"humio/insights@0.0.14\",
    savedQueryTemplateName: \"ingestErrors\",
    overrideName: \"my-ingest-errors-query\"
    )
  { savedQuery {id, query {queryString} }  }
}"
}';
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 {
  createSavedQueryFromPackageTemplate(
    viewName: \"humio\",
     packageId: \"humio/insights@0.0.14\",
    savedQueryTemplateName: \"ingestErrors\",
    overrideName: \"my-ingest-errors-query\"
    )
  { savedQuery {id, query {queryString} }  }
}"
}'''

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 {
  createSavedQueryFromPackageTemplate(
    viewName: \"humio\",
     packageId: \"humio/insights@0.0.14\",
    savedQueryTemplateName: \"ingestErrors\",
    overrideName: \"my-ingest-errors-query\"
    )
  { savedQuery {id, query {queryString} }  }
}"
}
);


const options = {
  hostname: '$YOUR_LOGSCALE_URL/graphql',
  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": {
    "createSavedQueryFromPackageTemplate": {
      "savedQuery": {
        "id": "dvbFfAcCDQml8D2qCXBc85EXMWcFnmvh",
        "query": {
          "queryString": "#type=humio #kind=metrics |
                          name=/^data-ingester-errors\\/([^/]+\\/)?(?<repo>\\S+)/ |
                          timechart(repo, function={groupby(#vhost, function=avg(m1)) |
                          sum(_avg)}, limit=100, minSpan=1m)"
        }
      }
    }
  }
}

Given and Returned Datatypes

The given datatype VersionedPackageSpecifier is a scalar. See the example above as to how to provide a value for it. The returned datatype CreateSavedQueryFromPackageTemplateMutation has its own parameters. Below is a list of them along with their datatypes and a description of each:

Table: CreateSavedQueryFromPackageTemplateMutation

ParameterTypeRequiredDefaultDescription
Some arguments may be required, as indicated in the Required column. For some fields, this column indicates that a result will always be returned for this column.
Table last updated: Sep 24, 2024
savedQuerySavedQueryyes The saved query to create from the package template. See SavedQuery.