API Stability Preview

The restoreDeletedSearchDomain() GraphQL mutation is used to restore a deleted search domain. The purpose of this is to be able to restore a deleted search domain even though its limit has been deleted as well, by specifying a new limit to use instead.

Syntax

Below is the syntax for the restoreDeletedSearchDomain() mutation field:

graphql
restoreDeletedSearchDomain(
       input: RestoreDeletedSearchDomainInput!
    ): SearchDomain!

Below is an example of how this mutation field might be used:

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

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 {
  restoreDeletedSearchDomain( input: {
     id: \"wBgIbgiv5ooicvHR8Ydt7YJ2\"
  } )
   { name }
}"
}
);


const options = {
  hostname: '$YOUR_LOGSCALE_URL/graphql',
  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": {
    "restoreDeletedSearchDomain": {
      "name": "OurStuff"
    }
  }
}

Given Datatypes

For RestoreDeletedSearchDomainInput, there are only a couple of parameters. They're described below:

Table: RestoreDeletedSearchDomainInput

ParameterTypeRequiredDefaultStabilityDescription
Some arguments may be required, as indicated in the Required column. For some fields, this column indicates that a result will always be returned for this column.
Table last updated: Jan 31, 2025
fallbackLimitIdstring  PreviewThe unique identifier of the limit to use for the search domain if the original limit no longer exists.
idstringyes PreviewThe unique identifier of the search domain.

Returned Datatypes

For SearchDomain , there are several parameters. They're described in the table here:

Table: SearchDomain

ParameterTypeRequiredDefaultStabilityDescription
Some arguments may be required, as indicated in the Required column. For some fields, this column indicates that a result will always be returned for this column.
Table last updated: Aug 21, 2025
action(id: string): Actionmultipleyes Long-Term

A saved action. See Action.

actions(actionIds: [string]): [Action]multipleyes Long-Term

A list of saved actions. See Action.

aggregateAlert(id: string): AggregateAlertmultipleyes Long-Term

A saved aggregate alert. See AggregateAlert.

aggregateAlerts[AggregateAlert]yes Long-TermA list of saved aggregate alerts. See AggregateAlert.
alert(id: string): Alertmultipleyes Long-Term

A saved alert. See Alert.

alerts[Alert]yes Long-TermSaved alerts. See Alert.
allowedViewActions[ViewAction]yes Long-TermReturns the all actions the user is allowed to perform on the view. See ViewAction.
automaticSearchbooleanyes Long-TermWhether to execute automatically the default search query.
availablePackages(filter: string, tags: [PackageTag], categories: [string]): [PackageRegistrySearchResultItem]multipleyes Long-Term

Returns a list of available packages that can be installed.

PackageTag is a scalar. See PackageRegistrySearchResultItem.

dashboard(id: string): Dashboardmultipleyes Long-Term

The default or initial Dashboard to use. See Dashboard.

dashboards[Dashboard]yes Long-TermAll dashboards available on the view. See Dashboard.
defaultQuerySavedQuery  Long-TermThe default query used for the search domain when none is selected. See SavedQuery.
deletedDatelong  Long-TermThe point in time the search domain was marked for deletion.
descriptionstring  Long-TermA description of the search domain.
fileFieldSearchfileFieldSearch(fileName: string, fieldName: string, prefixFilter: string, valueFilters: [FileFieldFilterType], fieldsToInclude: [string], maxEntries: integer): [[DictionaryEntryType]]multipleyes Long-Term

Used to search fields in a CSV or JSON file.

See FileFieldFilterType and DictionaryEntryType.

files[File]yes Long-TermFiles belonging to the search domain. See File.
filterAlert(id: string): FilterAlertmultipleyes Long-Term

A saved filter alert. See FilterAlert.

filterAlerts[FilterAlert]yes Long-TermSaved filter alerts. See FilterAlert.
groups[Group]yes Long-TermGroups with assigned roles. See Group.
hasPackageInstalled(packageId: VersionedPackageSpecifier): booleanmultipleyes Long-Term

Whether there is an installed package. VersionedPackageSpecifier is a scalar.

idstringyes Long-TermThe unique identifier for the search domain.
installedPackages[PackageInstallation]yes Long-TermList packages installed on a specific view or repository. See PackageInstallation.
interactions[ViewInteraction]yes Long-TermAll interactions defined on the view. See ViewInteraction.
isActionAllowed(action: ViewAction): booleanmultipleyes Long-Term

Whether the current user is allowed to perform the action. See ViewAction.

isStarredbooleanyes Long-TermWhether the search domain is highlighted with a star.
nameRepoOrViewNameyes Long-TermThe name of the search domain. RepoOrViewName is a scalar.
packageV2(packageId: VersionedPackageSpecifier): Package2multipleyes Long-Term

Returns a specific version of a package given a package version.

VersionedPackageSpecifier is a scalar value. See Package2.

packageVersions(packageId: UnversionedPackageSpecifier): [RegistryPackageVersionInfo]multipleyes Long-Term

The available versions of a package.

UnversionedPackageSpecifier is a scalar. See RegistryPackageVersionInfo.

permanentlyDeletedAtlong  Long-TermThe point in time the search domain will not be restorable anymore.
recentQueriesV2[RecentQuery]yes Long-TermAll recent queries for the search domain. See RecentQuery.
reposExcludedInSearchLimit[string]yes Long-TermRepositories not part of the search limitation.
resourcestringyes Short-TermThe resource identifier for the search domain.
savedQueries[SavedQuery]yes Long-TermThe saved queries. See SavedQuery.
savedQuery(id: string): SavedQuerymultipleyes Long-Term

A saved query. See SavedQuery.

scheduledReport(id: string): ScheduledReportmultipleyes Long-Term

A saved scheduled report. See ScheduledReport.

scheduledReports[ScheduledReport]yes Long-TermSaved scheduled reports. See ScheduledReport.
scheduledSearch(id: string): ScheduledSearchmultipleyes Long-Term

A saved scheduled search. See ScheduledSearch.

scheduledSearches[ScheduledSearch]yes Long-TermThe scheduled searches to use with the search domain. See ScheduledSearch.
searchLimitedMslong  Long-TermLimit in milliseconds to which searches should are limited.
starredFields[string]yes Long-TermAll fields in the search domain to mark with a star.
tags[string]yes Long-TermAll tags from all datasources.
users[User]yes Long-TermUsers who have access to the search domain. See User.
usersandgroups(search: string, skip: integer, limit: integer): UsersAndGroupsSearchResultSetmultiple  Long-Term

Users and groups associated with the search domain. See UsersAndGroupsSearchResultSet.

usersV2(search: string, permissionFilter: Permission, skip: integer, limit: integer): Usersmultiple  Short-Term

Search users with a given permission, whose email or name matches this search string.

See Permission and Users.

viewerQueryPrefixstringyes Long-TermThe query prefix prepended to each search in this domain.