Stability Level Preview
API Stability Preview

The createSavedQueryFromTemplate() GraphQL mutation is used to create a saved query from a YAML template.

Syntax

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

graphql
createSavedQueryFromTemplate(
     input: CreateSavedQueryFromTemplateInput!
   ): SavedQuery!

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

Raw
graphql
mutation {
  createSavedQueryFromTemplate( input:
    { viewName: "humio",
      name: "abc123",
      yamlTemplate: "name: Seeker\n
                     queryString: host=localhost\n
                     backfillLimit: 0\n
                     schedule: 15 1 * * *\n
                     queryEnd: now\n
                     $schema: https://schemas.humio.com/scheduledsearch/v0.1.0\n
                     timeZone: UTC+00:00\n
                     queryStart: 12h\n"
    }
  )
 { 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 {
  createSavedQueryFromTemplate( input:
    { viewName: \"humio\",
      name: \"abc123\",
      yamlTemplate: \"name: Seeker\n
                     queryString: host=localhost\n
                     backfillLimit: 0\n
                     schedule: 15 1 * * *\n
                     queryEnd: now\n
                     $schema: https://schemas.humio.com/scheduledsearch/v0.1.0\n
                     timeZone: UTC+00:00\n
                     queryStart: 12h\n\"
    }
  )
 { 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 {
  createSavedQueryFromTemplate( input:
    { viewName: \"humio\",
      name: \"abc123\",
      yamlTemplate: \"name: Seeker\n
                     queryString: host=localhost\n
                     backfillLimit: 0\n
                     schedule: 15 1 * * *\n
                     queryEnd: now\n
                     $schema: https://schemas.humio.com/scheduledsearch/v0.1.0\n
                     timeZone: UTC+00:00\n
                     queryStart: 12h\n\"
    }
  )
 { 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 { ^
  createSavedQueryFromTemplate( input: ^
    { viewName: \"humio\", ^
      name: \"abc123\", ^
      yamlTemplate: \"name: Seeker\n ^
                     queryString: host=localhost\n ^
                     backfillLimit: 0\n ^
                     schedule: 15 1 * * *\n ^
                     queryEnd: now\n ^
                     $schema: https://schemas.humio.com/scheduledsearch/v0.1.0\n ^
                     timeZone: UTC+00:00\n ^
                     queryStart: 12h\n\" ^
    } ^
  ) ^
 { id }" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  createSavedQueryFromTemplate( input:
    { viewName: \"humio\",
      name: \"abc123\",
      yamlTemplate: \"name: Seeker\n
                     queryString: host=localhost\n
                     backfillLimit: 0\n
                     schedule: 15 1 * * *\n
                     queryEnd: now\n
                     $schema: https://schemas.humio.com/scheduledsearch/v0.1.0\n
                     timeZone: UTC+00:00\n
                     queryStart: 12h\n\"
    }
  )
 { id }"
}'
    "$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 {
  createSavedQueryFromTemplate( input:
    { viewName: \"humio\",
      name: \"abc123\",
      yamlTemplate: \"name: Seeker\n
                     queryString: host=localhost\n
                     backfillLimit: 0\n
                     schedule: 15 1 * * *\n
                     queryEnd: now\n
                     $schema: https://schemas.humio.com/scheduledsearch/v0.1.0\n
                     timeZone: UTC+00:00\n
                     queryStart: 12h\n\"
    }
  )
 { id }"
}';
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 {
  createSavedQueryFromTemplate( input:
    { viewName: \"humio\",
      name: \"abc123\",
      yamlTemplate: \"name: Seeker\n
                     queryString: host=localhost\n
                     backfillLimit: 0\n
                     schedule: 15 1 * * *\n
                     queryEnd: now\n
                     $schema: https://schemas.humio.com/scheduledsearch/v0.1.0\n
                     timeZone: UTC+00:00\n
                     queryStart: 12h\n\"
    }
  )
 { 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 {
  createSavedQueryFromTemplate( input:
    { viewName: \"humio\",
      name: \"abc123\",
      yamlTemplate: \"name: Seeker\n
                     queryString: host=localhost\n
                     backfillLimit: 0\n
                     schedule: 15 1 * * *\n
                     queryEnd: now\n
                     $schema: https://schemas.humio.com/scheduledsearch/v0.1.0\n
                     timeZone: UTC+00:00\n
                     queryStart: 12h\n\"
    }
  )
 { id }"
}
);


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": {
    "createSavedQueryFromTemplate": {
      "id": "123abc"
    }
  }
}

Given Datatypes

For the CreateSavedQueryFromTemplateInput given datatype, there are a few parameters. Below is a list of them, along with a description of each.

Table: CreateSavedQueryFromTemplateInput

ParameterTypeRequiredDefaultStabilityDescription
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: Jun 23, 2025
namestring  PreviewThe name for the saved query. If not provided, the template's name will be used.
viewNameRepoOrViewNameyes PreviewThe name of the view where the saved query will be created. See RepoOrViewName is a scalar.
yamlTemplatestringyes PreviewThe YAML template from which to create the saved query.

Returned Datatypes

For SavedQuery, there are several parameters that may be requested. Below is a list of them:

Table: SavedQuery

ParameterTypeRequiredDefaultStabilityDescription
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: Mar 28, 2025
allowedActions[AssetAction]yes PreviewThe allowed asset actions. See AssetAction. This is a preview and subject to change.
descriptionstring  Long-TermA description of the saved query.
displayNamestringyes Long-TermThe display name of the saved query.
idstringyes Long-TermThe unique identifier for the saved query.
interactions[QueryBasedWidgetInteraction]yes Long-TermThe interactions of the saved query. See QueryBasedWidgetInteraction.
isStarredbooleanyes Long-TermWhether the saved query has been marked with a star.
namestringyes Long-TermThe name of the saved query.
optionsJSONyes Long-TermOptions related to the saved query, in JSON form.
packagePackageInstallation  Long-TermThe package, if there is one, in which the saved query is included. See PackageInstallation.
packageIdVersionedPackageSpecifier  Long-TermThe unique identifier of the package. VersionedPackageSpecifier is a scalar value.
queryHumioQueryyes Long-TermThe saved query itself. See HumioQuery.
resourcestringyes Short-TermThe resource identifier for this saved query.
widgetTypestringyes Long-TermThe type of widget used with the saved query.
yamlTemplateYAMLyes Long-TermA YAML formatted string that describes the saved query. This replaced templateYaml starting in LogScale version 1.225.