Summary

The usersAndGroupsForChangingUserAccess() GraphQL query field is used to get users and groups for changing user access.

API Stability Long-Term

Syntax

graphql
usersAndGroupsForChangingUserAccess(
     search: string,
     searchDomainId: string!,
     skip: integer,
     limit: integer
   ): UsersAndGroupsSearchResultSet

For the input, you would give any text on which to search, the search domain's identifier, and the number of results to skip and how many to return. See the Input Parameters section.

For the results, you can get the total number of records found, and information on users and on groups: for users, their names, email addresses, etc.; for groups, a list of roles, permissions, and counts. See the Returned Values for more details.

Example

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

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 {
  usersAndGroupsForChangingUserAccess
    ( searchDomainId:\"abc123\" )
    { totalResults }
}"
}
);


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

Input Parameters

For the input, you would provide any text on which to search, the search domain's identifier, and the number of results to skip and how many to return.

Table: Input Parameters & Datatypes

Parameter Type Required Default Description
This table contains all input parameters for this query.
limit integer   50 The maximum number of results to return.
search string     Any text on which to filter results.
searchDomainId string yes   The unique identifier of the repository or view.
skip integer   0 The number of results to skip, or offset to use.

Returned Values

For the results, you can get the total number of users and groups, and through sub-parameters, information on users and on groups: for users, their names, email addresses, etc.; for groups, a list of roles, permissions, and counts.

Table: UsersAndGroupsSearchResultSet Datatype

ParameterTypeRequiredDefaultStabilityDescription
Some input parameters may be required, as indicated in the Required column. For return values, this indicates that you are assured a value if the field is requested for the results.
Table last updated: May 26, 2025
results[UserOrGroup]yes Long-TermThe results sets of users and groups. See UserOrGroup.
totalResultsintegeryes Long-TermThe total number of matching results.