usersAndGroupsForChangingUserAccess()

API Stability Long-Term

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

Related to this query field are the user() to get information on a specific user, and users() and usersPage() to get a list of users.

There are also a few mutations related to this query: addUserV2() for adding a user; updateUser() and updateUserById() for changing a user's information; and removeUser() and removeUserById() for deleting a user account.

For more information on user authorization, see the Manage Users and Permissions documentation page.

Syntax

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

For search, you can specify text on which to filter results. For the searchDomainId parameter, you would provide the unique identifier of the search domain. You can use the searchDomains() query to get this.

You can opt to skip the first so many results with the skip parameter — it's default value is 0. Use the limit parameter to limit the number of results returned — its default is 50.

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 Datatype for more details.

Example

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

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

Returned Datatype

With the returned datatype, 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. The table below lists the first level parameters, and provides links to more through other datatypes:

Table: UsersAndGroupsSearchResultSet

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: May 26, 2025
results[UserOrGroup]yes Long-TermThe results sets of users and groups. See UserOrGroup.
totalResultsintegeryes Long-TermThe total number of matching results.