Summary

The scheduleDeleteSecretHandle() mutation schedules a secret handle for deletion in a specified repository. Secret handles store credentials that LogScale features such as actions and scheduled searches use to make authenticated outbound requests. Scheduling deletion rather than deleting immediately provides a cancellation window: use cancelDeleteSecretHandle() to reverse the scheduled deletion before it executes. Deleting a secret handle permanently removes the stored credential and breaks any features that depend on it.

Syntax

graphql
scheduleDeleteSecretHandle(
      input: ScheduleDeleteSecretHandleInput!
   ): Boolean!

The required input argument accepts a ScheduleDeleteSecretHandleInput object. Supply the repository name or ID and the secret handle ID to identify the handle to schedule for deletion. The mutation returns a non-null Boolean! that is true when the deletion is successfully scheduled.

Example

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

Input Parameters

Provide the repository identifier and the ID of the secret handle to schedule for deletion. Both fields are required. Use the repositories() query shown in the Related section to retrieve these values.

Table: ScheduleDeleteSecretHandleInput Input Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
idStringyes Preview The unique identifier of the secret handle.
repositoryNameOrIdRepoOrViewNameyes Preview The name or identifier of the repository of the secret handle. RepoOrViewName is a scalar.

Returned Values

The mutation returns a non-null Boolean!. A value of true confirms the deletion was successfully scheduled. A value of false indicates the deletion was not scheduled; no exception is thrown in that case.