API Stability Long-Term

The searchDomainsPage() GraphQL query is used for paged list of search domains, and information on each.

Similar to this query is searchDomains(). There are a couple of related queries: searchDomain() to get information on a search domain; and searchDomainAssets() to get a list of assets used by a search domain. There are also some related mutations: deleteSearchDomain() and deleteSearchDomainById() for deleting search domains; restoreDeletedSearchDomain() for restoring deleted search domains; as well as renameSearchDomain() and renameSearchDomainById() for changing a search domain's name.

For more information on searching repositories and views, see the Search Data documentation page.

Syntax

graphql
searchDomainsPage(
     search: string,
     includeHidden: boolean,
     pageSize: integer!,
     pageNumber: integer!
   ): SearchDomainPage!

For search, you can provide a string on which to search, text that may be in the name of the search domains you want to find.Use the includeHidden to indicate whether hidden search domains should be included.

For the pageSize, specify the number of records you want per page. Use pageNumber to specify which page to return — assuming the results would cover multiple pages.

For the results, you can get information about each page (e.g., the page number, total number of rows). Using a sub-parameter, you can also get the name and unique identifier of each search domain — which you might need for other queries and mutations — and other bits of information about the search domains. See the Returned Datatype section for more on this.

Example

Here's an example of how you might use this query field:

Raw
graphql
query {
  searchDomainsPage(includeHidden: true, pageSize: 10, pageNumber: 1)
  { pageInfo{totalNumberOfRows, total}, 
    page { id, 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" : "query {
  searchDomainsPage(includeHidden: true, pageSize: 10, pageNumber: 1)
  { pageInfo{totalNumberOfRows, total}, 
    page { id, 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" : "query {
  searchDomainsPage(includeHidden: true, pageSize: 10, pageNumber: 1)
  { pageInfo{totalNumberOfRows, total}, 
    page { id, 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" : "query { ^
  searchDomainsPage(includeHidden: true, pageSize: 10, pageNumber: 1) ^
  { pageInfo{totalNumberOfRows, total},  ^
    page { id, name } } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "query {
  searchDomainsPage(includeHidden: true, pageSize: 10, pageNumber: 1)
  { pageInfo{totalNumberOfRows, total}, 
    page { id, 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 = "query {
  searchDomainsPage(includeHidden: true, pageSize: 10, pageNumber: 1)
  { pageInfo{totalNumberOfRows, total}, 
    page { id, 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" : "query {
  searchDomainsPage(includeHidden: true, pageSize: 10, pageNumber: 1)
  { pageInfo{totalNumberOfRows, total}, 
    page { id, 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" : "query {
  searchDomainsPage(includeHidden: true, pageSize: 10, pageNumber: 1)
  { pageInfo{totalNumberOfRows, total}, 
    page { id, name } }
}"
}
);


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": {
    "searchDomainsPage": {
      "pageInfo": {
        "totalNumberOfRows": 9,
        "total": 1
      },
      "page": [
        {
          "id": "aK9GKAsTnMXfRxT8Fpecx3fX",
          "name": "humio"
        },
        {
          "id": "myMtpg8UxGgEkBsYWTs3mOsD",
          "name": "humio-audit"
        },
        {
          "id": "N7t1bAn6xWMsWjVptueeNR16",
          "name": "humio-metrics"
        }
       ...  
      ]
    }
  }
}

Returned Datatype

With the return datatype, through a sub-parameters, you can get information about each page (e.g., the page number, total number of rows). Using other sub-parameters, you can get the name and unique identifier of each search domain and other bits of information about them. The table below lists a couple of parameters for this datatype and links to related datatypes for the sub-parameters:

Table: SearchDomainPage

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: Oct 3, 2024
page[SearchDomain]yes Long-TermThe dashboards to be used for the dashboard page. See SearchDomain.
pageInfoPageTypeyes Long-TermInformation about the search domain page (see PageType Table).