Summary

The updateSavedQueryFromTemplate() mutation updates a saved query in a view using a YAML-formatted template string. Use this mutation to apply template-driven changes to a saved query. For example, use it to update the query string, display name, or widget type from a new template version. To create a new saved query from a YAML template, use createSavedQueryFromTemplate(). To modify a saved query by specifying fields directly, use updateSavedQuery().

Syntax

graphql
updateSavedQueryFromTemplate(
      input: UpdateSavedQueryFromTemplateInput!
   ): SavedQuery!

The mutation accepts a single required input argument of type UpdateSavedQueryFromTemplateInput!. The viewName field accepts a RepoOrViewName scalar โ€” the name of the repository or view that contains the saved query to update. The id field identifies the saved query to update. The yamlTemplate field accepts a YAML scalar containing the updated template definition. The mutation returns a non-null SavedQuery object.

Request id and yamlTemplate on the returned object to confirm the update was applied. Use the id with setDefaultSavedQuery() to mark the updated query as the default for its view.

Input parameters

Provide the target view name, the identifier of the saved query to update, and the YAML-formatted template containing the updated query definition. The template replaces the definition stored for that saved query.

Example

Raw
graphql
mutation {
  updateSavedQueryFromTemplate(
    input: { 
      viewName: "humio", 
      "id": "123abc",
      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, 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 {
  updateSavedQueryFromTemplate(
    input: { 
      viewName: \"humio\", 
      \"id\": \"123abc\",
      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, 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 {
  updateSavedQueryFromTemplate(
    input: { 
      viewName: \"humio\", 
      \"id\": \"123abc\",
      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, 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 { ^
  updateSavedQueryFromTemplate( ^
    input: {  ^
      viewName: \"humio\",  ^
      \"id\": \"123abc\", ^
      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, name } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  updateSavedQueryFromTemplate(
    input: { 
      viewName: \"humio\", 
      \"id\": \"123abc\",
      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, 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 {
  updateSavedQueryFromTemplate(
    input: { 
      viewName: \"humio\", 
      \"id\": \"123abc\",
      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, 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 {
  updateSavedQueryFromTemplate(
    input: { 
      viewName: \"humio\", 
      \"id\": \"123abc\",
      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, 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 {
  updateSavedQueryFromTemplate(
    input: { 
      viewName: \"humio\", 
      \"id\": \"123abc\",
      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, 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": {
    "updateSavedQueryFromTemplate": {
      "id": "123abc",
      "name": "Seeker"
    }
  }
}

Returned values

The mutation returns the updated SavedQuery object. Request id to identify the saved query in subsequent API calls. Request yamlTemplate to verify the stored template, or query to access the structured HumioQuery definition. The createdInfo field returns commit metadata including the creation timestamp and author.