The deleteSearchDomainById() GraphQL mutation may be used to delete a repository or view.

Similar to this mutation is the deleteSearchDomain() mutations for deleting search domains by name, instead. Related to these is the restoreDeletedSearchDomain() to restore a deleted search domain. There is also the searchDomains() query for getting a list of search domains.

API Stability Long-Term

Syntax

graphql
deleteSearchDomainById(
      input: DeleteSearchDomainByIdInput!
   ): boolean

For the input, you'll have to give the unique identifier of the search domain to delete — the repository or view. To get this, you would use the searchDomains() query. With this mutation, you may also provide a message regarding the deletion. See the Given Datatype section.

For the results, you'll receive confirmation if successful.

Example

Raw
graphql
mutation {
  deleteSearchDomainById( input: {
       id: "abc123",
       deleteMessage: "Sorry: Had to be deleted."
  } )
}
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 {
  deleteSearchDomainById( input: {
       id: \"abc123\",
       deleteMessage: \"Sorry: Had to be deleted.\"
  } )
}"
}
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 {
  deleteSearchDomainById( input: {
       id: \"abc123\",
       deleteMessage: \"Sorry: Had to be deleted.\"
  } )
}"
}
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 { ^
  deleteSearchDomainById( input: { ^
       id: \"abc123\", ^
       deleteMessage: \"Sorry: Had to be deleted.\" ^
  } ) ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  deleteSearchDomainById( input: {
       id: \"abc123\",
       deleteMessage: \"Sorry: Had to be deleted.\"
  } )
}"
}'
    "$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 {
  deleteSearchDomainById( input: {
       id: \"abc123\",
       deleteMessage: \"Sorry: Had to be deleted.\"
  } )
}";
$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 {
  deleteSearchDomainById( input: {
       id: \"abc123\",
       deleteMessage: \"Sorry: Had to be deleted.\"
  } )
}"
}'''

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 {
  deleteSearchDomainById( input: {
       id: \"abc123\",
       deleteMessage: \"Sorry: Had to be deleted.\"
  } )
}"
}
);


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

Given Datatype

For this input datatype, you would give the unique identifier of the search domain to delete. You can also give a comment for the audit log. This is described in the table here:

Table: DeleteSearchDomainByIdInput

ParameterTypeRequiredDefaultStabilityDescription
Some arguments may be required, as indicated in the Required column. For return datatypes, this indicates that you must specify which fields you want returned in the results.
Table last updated: Sep 18, 2024
deleteMessagestring  Long-TermOptional message to why the search domain was deleted. Will be added to the audit log.
idstringyes Long-TermThe unique identifier of the search domain.