The entitiesPage() GraphQL is used to get the next and previous page when querying assets across LogScale views and repositories. It requires the cursor from the ??? or the entitiesPage() response, as well as the direction.

Syntax

Below is the syntax for entitiesPage():

graphql
entitiesPage(
     input: EntitiesPageInputType!
   ): SearchResult!

For the input, you'd enter input, followed by a colon and what you want to input between curly-brackets. The parameters for EntitiesPageInputType are limited to two: direction and cursor. The direction value is either Previous or Next. For the cursor, you'll have to get that value by first using entitiesSearch() .

Below is an example using this query field:

Raw
graphql
query {
  entitiesPage(
     input: {direction: Next,
     cursor: "eyJlbnRpdHlU..."
    }
  ) {totalResults, hasPreviousPage, hasNextPage}
}
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 {
  entitiesPage(
     input: {direction: Next,
     cursor: \"eyJlbnRpdHlU...\"
    }
  ) {totalResults, hasPreviousPage, hasNextPage}
}"
}
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 {
  entitiesPage(
     input: {direction: Next,
     cursor: \"eyJlbnRpdHlU...\"
    }
  ) {totalResults, hasPreviousPage, hasNextPage}
}"
}
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 { ^
  entitiesPage( ^
     input: {direction: Next, ^
     cursor: \"eyJlbnRpdHlU...\" ^
    } ^
  ) {totalResults, hasPreviousPage, hasNextPage} ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "query {
  entitiesPage(
     input: {direction: Next,
     cursor: \"eyJlbnRpdHlU...\"
    }
  ) {totalResults, hasPreviousPage, hasNextPage}
}"
}'
    "$YOUR_LOGSCALE_URL/graphql"
Perl
perl
#!/usr/bin/perl

use HTTP::Request;
use LWP;

my $INGEST_TOKEN = "TOKEN";

my $uri = '$YOUR_LOGSCALE_URL/graphql';

my $json = '{"query" : "query {
  entitiesPage(
     input: {direction: Next,
     cursor: \"eyJlbnRpdHlU...\"
    }
  ) {totalResults, hasPreviousPage, hasNextPage}
}"
}';
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 {
  entitiesPage(
     input: {direction: Next,
     cursor: \"eyJlbnRpdHlU...\"
    }
  ) {totalResults, hasPreviousPage, hasNextPage}
}"
}'''

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 {
  entitiesPage(
     input: {direction: Next,
     cursor: \"eyJlbnRpdHlU...\"
    }
  ) {totalResults, hasPreviousPage, hasNextPage}
}"
}
);


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": {
    "entitiesPage": {
      "totalResults": 15,
      "hasPreviousPage": true,
      "hasNextPage": true
    }
  },
  "extensions": {
    "preview": [
      {
        "name": "entitiesPage",
        "reason": "[PREVIEW: Under development]"
      }
    ]
  }
}

Given Datatypes

For EntitiesPageInputType, there are two parameters that may be given. They're listed below:

Table: EntitiesPageInputType

ParameterTypeRequiredDefaultDescription
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: Sep 18, 2024
cursorstringyes The cursor to use for entities pages.
directionEntitiesPageDirectionyes100The direction the cursor represents. See EntitiesPageDirection.

Returned Datatypes

The returned datatype SearchResult has its own parameters. Below is a list of them along with their datatypes and a description of each:

Table: SearchResult

ParameterTypeRequiredDefaultDescription
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.
cursorstring  The cursor useds for going to the next or previous page.
data[EntitySearchResultEntity]yes The results of the search. See ViewInteractionEntry, FileEntry, and DashboardEntry.
hasNextPagebooleanyes Whether there is a next page. False indicates it's the last page.
hasPreviousPagebooleanyes Whether there is a previous page. False indicates it's the first page.
totalResultsintegeryes The total number of results that matched the search query. Only pageSize elements will be returned.