Summary

The cancelRedactEvents() mutation cancels an in-progress redaction job in a LogScale repository. Provide the repository name and the unique job identifier to stop the job before it completes. The mutation returns true on successful cancellation and false otherwise. Cancellation is best effort: LogScale does not restore events that were already redacted before the cancellation request.

Syntax

graphql
cancelRedactEvents(
      input: CancelRedactEventsInput!
   ): Boolean!

The mutation takes a single required argument, input, of type CancelRedactEventsInput!. Provide the repository name and the unique identifier of the redaction job to cancel. To retrieve active job identifiers, call the redactEvents() query first. The Boolean! return type is non-null: the mutation always returns either true or false.

Example

Raw
graphql
mutation {
  cancelRedactEvents(
    input: {
      repositoryName: "sandbox",
      redactionTaskId: "abc123"
    }
  )
}
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 {
  cancelRedactEvents(
    input: {
      repositoryName: \"sandbox\",
      redactionTaskId: \"abc123\"
    }
  )
}"
}
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 {
  cancelRedactEvents(
    input: {
      repositoryName: \"sandbox\",
      redactionTaskId: \"abc123\"
    }
  )
}"
}
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 { ^
  cancelRedactEvents( ^
    input: { ^
      repositoryName: \"sandbox\", ^
      redactionTaskId: \"abc123\" ^
    } ^
  ) ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  cancelRedactEvents(
    input: {
      repositoryName: \"sandbox\",
      redactionTaskId: \"abc123\"
    }
  )
}"
}'
    "$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 {
  cancelRedactEvents(
    input: {
      repositoryName: \"sandbox\",
      redactionTaskId: \"abc123\"
    }
  )
}";
$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 {
  cancelRedactEvents(
    input: {
      repositoryName: \"sandbox\",
      redactionTaskId: \"abc123\"
    }
  )
}"
}'''

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 {
  cancelRedactEvents(
    input: {
      repositoryName: \"sandbox\",
      redactionTaskId: \"abc123\"
    }
  )
}"
}
);


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

Input Parameters

The CancelRedactEventsInput type takes two required fields. repositoryName identifies the repository that contains the redaction job. redactionTaskId is the unique identifier assigned to the job when it was submitted. Retrieve active job identifiers using the redactEvents() query. The following table describes the fields of this input type.

Table: CancelRedactEventsInput Input Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
redactionTaskIdStringyes Long-Term The unique identifier of the redaction task.
repositoryNameStringyes Long-Term The name of the repository associated with the events.