API Stability Long-Term

The pendingUsers() GraphQL query will return the pending users. You can filter the results by including a search string. Similarly, the pendingUser() query will return information on specified pending user. To remove an invitation, you can use the revokePendingUser() mutation.

Pending users are only possible if the environment variable, SEND_USER_INVITES is set to true. Otherwise, when adding a new user and sending them an invitation, they won't be pending, they'll become a new user.

For established users, there is the query users() to get information on a specific user, and the users() to get a list of users. There is also the mutation addUserV2() to add a user account, updateUser() to change one, and removeUser() to delete a user.

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

Syntax

graphql
pendingUsers(
     search: string
   ): [PendingUser]!

There are no special input datatypes for this query field. For the results, you can get the pending users' email addresses, when they were invited and by whom, and other information. See the Returned Datatype section for more on this.

Example

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

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

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 {
  pendingUsers(search:\"company.com\") {
    newUserEmail
  }
}"
}
);


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": {
    "pendingUsers": [
     "newUserEmail": "joe@company.com"
    ]
 }
}

Return Datatype

For the returned datatype, you can get the pending user's email address, when they were invited and by whom, etc. Below is a list of parameters you can request, along with descriptions of them:

Table: PendingUser

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: Mar 26, 2025
createdAtlongyes Long-TermThe time the pending user was created.
idstringyes Long-TermThe identifier or token for the pending user.
idpbooleanyes Long-TermWhether IdP is enabled for the organization.
invitedByEmailstringyes Long-TermThe email address of the user that invited the pending user.
invitedByNamestringyes Long-TermThe name of the user that invited the pending user.
newUserEmailstringyes Long-TermThe email of the pending user.
orgNamestringyes Long-TermThe name of the organization for the pending user.
pendingUserStatePendingUserStateyes Long-TermThe current organization state for the user. See PendingUserState.