API Stability Long-Term

The validateAccessTokenV2() GraphQL query field is used to validate a given Access Token.

Related to this query field is the validateAccessToken() query, which also will validate a token, but provide less information in response. There is also the validateToken() to valid a JSON web token.

Syntax

graphql
validateAccessTokenV2(
      accessToken: string!
   ): AccessTokenValidatorResultType!

For the accessToken input parameter, you would give the actual token. For the results, besides validating the token, you can get some basic information on the access session and account terms and conditions.

Example

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

Raw
graphql
query {
  validateAccessTokenV2(
      accessToken: "0U3ySo0mVIgMsRR1XSPhHxoNnLpI3U1A~dmLr436nTEBjUzBpdLEUEyreQxH8GdFYmlw6Q3d9RThO"
    )
    {sessionId, showTermsAndConditions}
}
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 {
  validateAccessTokenV2(
      accessToken: \"0U3ySo0mVIgMsRR1XSPhHxoNnLpI3U1A~dmLr436nTEBjUzBpdLEUEyreQxH8GdFYmlw6Q3d9RThO\"
    )
    {sessionId, showTermsAndConditions}
}"
}
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 {
  validateAccessTokenV2(
      accessToken: \"0U3ySo0mVIgMsRR1XSPhHxoNnLpI3U1A~dmLr436nTEBjUzBpdLEUEyreQxH8GdFYmlw6Q3d9RThO\"
    )
    {sessionId, showTermsAndConditions}
}"
}
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 { ^
  validateAccessTokenV2( ^
      accessToken: \"0U3ySo0mVIgMsRR1XSPhHxoNnLpI3U1A~dmLr436nTEBjUzBpdLEUEyreQxH8GdFYmlw6Q3d9RThO\" ^
    ) ^
    {sessionId, showTermsAndConditions} ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "query {
  validateAccessTokenV2(
      accessToken: \"0U3ySo0mVIgMsRR1XSPhHxoNnLpI3U1A~dmLr436nTEBjUzBpdLEUEyreQxH8GdFYmlw6Q3d9RThO\"
    )
    {sessionId, showTermsAndConditions}
}"
}'
    "$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 {
  validateAccessTokenV2(
      accessToken: \"0U3ySo0mVIgMsRR1XSPhHxoNnLpI3U1A~dmLr436nTEBjUzBpdLEUEyreQxH8GdFYmlw6Q3d9RThO\"
    )
    {sessionId, showTermsAndConditions}
}";
$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 {
  validateAccessTokenV2(
      accessToken: \"0U3ySo0mVIgMsRR1XSPhHxoNnLpI3U1A~dmLr436nTEBjUzBpdLEUEyreQxH8GdFYmlw6Q3d9RThO\"
    )
    {sessionId, showTermsAndConditions}
}"
}'''

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 {
  validateAccessTokenV2(
      accessToken: \"0U3ySo0mVIgMsRR1XSPhHxoNnLpI3U1A~dmLr436nTEBjUzBpdLEUEyreQxH8GdFYmlw6Q3d9RThO\"
    )
    {sessionId, showTermsAndConditions}
}"
}
);


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();

Returned Datatype

With the returned datatype, besides validating the token, information on the access session and account terms and conditions. The table below provides more information on this:

Table: AccessTokenValidatorResultType

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: Aug 19, 2025
sessionIdstring  Long-TermThe unique identifier of the session.
showTermsAndConditionsShowTermsAndConditions  Long-TermShow the terms and conditions. See ShowTermsAndConditions.