API Stability Long-Term

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.

Syntax

graphql
deleteSearchDomainById(
      input: DeleteSearchDomainByIdInput!
   ): boolean

There are no special return datatypes for this mutation field. Below is an example of how it might be used:

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.