Summary

The updateFilterAlertV2() mutation modifies an existing filter alert in a LogScale view. Use it to change the alert's query, actions, throttle settings, labels, or ownership after creation. To create a new filter alert, use createFilterAlert() instead.

Syntax

graphql
updateFilterAlertV2(
      input: UpdateFilterAlertV2!
   ): FilterAlert!

The mutation accepts a single required input argument of type UpdateFilterAlertV2!. You must supply the view name, the alert ID, and all required fields. The mutation returns a non-null FilterAlert! object representing the updated alert.

Input parameters

Provide the viewName and id of the filter alert to update, along with all required fields. Supply the actions to trigger by passing a list of action IDs or names as actionIdsOrNames. To retrieve a filter alert's ID before updating, use the repository() query shown in the Related section. The following table lists all parameters for the UpdateFilterAlertV2! input type.

Example

Raw
graphql
mutation {
  updateFilterAlertV2( input:
    {
       viewName: "humio",
       name: "Intruder",
       id: "abc123",
       queryString: "host=12.127.*",
       actionIdsOrNames: [ "WakeUp" ],
       labels: [],
       enabled: true,
       queryOwnershipType: Organization
    }
  )
  { 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 {
  updateFilterAlertV2( input:
    {
       viewName: \"humio\",
       name: \"Intruder\",
       id: \"abc123\",
       queryString: \"host=12.127.*\",
       actionIdsOrNames: [ \"WakeUp\" ],
       labels: [],
       enabled: true,
       queryOwnershipType: Organization
    }
  )
  { 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 {
  updateFilterAlertV2( input:
    {
       viewName: \"humio\",
       name: \"Intruder\",
       id: \"abc123\",
       queryString: \"host=12.127.*\",
       actionIdsOrNames: [ \"WakeUp\" ],
       labels: [],
       enabled: true,
       queryOwnershipType: Organization
    }
  )
  { 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 { ^
  updateFilterAlertV2( input: ^
    { ^
       viewName: \"humio\", ^
       name: \"Intruder\", ^
       id: \"abc123\", ^
       queryString: \"host=12.127.*\", ^
       actionIdsOrNames: [ \"WakeUp\" ], ^
       labels: [], ^
       enabled: true, ^
       queryOwnershipType: Organization ^
    } ^
  ) ^
  { id } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  updateFilterAlertV2( input:
    {
       viewName: \"humio\",
       name: \"Intruder\",
       id: \"abc123\",
       queryString: \"host=12.127.*\",
       actionIdsOrNames: [ \"WakeUp\" ],
       labels: [],
       enabled: true,
       queryOwnershipType: Organization
    }
  )
  { id }
}"
}'
    "$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 {
  updateFilterAlertV2( input:
    {
       viewName: \"humio\",
       name: \"Intruder\",
       id: \"abc123\",
       queryString: \"host=12.127.*\",
       actionIdsOrNames: [ \"WakeUp\" ],
       labels: [],
       enabled: true,
       queryOwnershipType: Organization
    }
  )
  { id }
}";
$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 {
  updateFilterAlertV2( input:
    {
       viewName: \"humio\",
       name: \"Intruder\",
       id: \"abc123\",
       queryString: \"host=12.127.*\",
       actionIdsOrNames: [ \"WakeUp\" ],
       labels: [],
       enabled: true,
       queryOwnershipType: Organization
    }
  )
  { 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 {
  updateFilterAlertV2( input:
    {
       viewName: \"humio\",
       name: \"Intruder\",
       id: \"abc123\",
       queryString: \"host=12.127.*\",
       actionIdsOrNames: [ \"WakeUp\" ],
       labels: [],
       enabled: true,
       queryOwnershipType: Organization
    }
  )
  { id }
}"
}
);


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": {
    "updateFilterAlertV2": {
      "id": "abc123"
    }
  }
}

Returned values

The mutation returns a non-null FilterAlert! object representing the updated alert. The returned object includes the LogScale query string, the list of associated actions, throttle configuration, labels, enabled state, and ownership details. Use these values to confirm the update was applied as expected.