Summary

The pendingUsers() GraphQL query returns a list of pending users, optionally filtered by a search string.

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, the user does not become pending — they are added immediately.

API Stability Long-Term

Syntax

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

The optional search input filters results by any matching text. Returns a non-nullable list of PendingUser objects. See the Returned Values section for available fields.

Example

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"
    ]
 }
}

Returned Values

Returns a non-nullable list of PendingUser objects — one per pending user. Each entry includes newUserEmail, invitedByEmail and invitedByName (who sent the invitation), orgName (the organization the user is joining), createdAt (invitation time in milliseconds since epoch), and idp (whether an identity provider is enabled). The table below lists all fields:

Table: PendingUser Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
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: Oct 14, 2026 
createdAtLongyes Long-Term The time the pending user was created.
idStringyes Long-Term The identifier or token for the pending user.
idpBooleanyes Long-Term Whether IdP is enabled for the organization.
invitedByEmailStringyes Long-Term The email address of the user that invited the pending user.
invitedByNameStringyes Long-Term The name of the user that invited the pending user.
newUserEmailStringyes Long-Term The email of the pending user.
orgNameStringyes Long-Term The name of the organization for the pending user.
pendingUserStatePendingUserStateyes Long-Term The current organization state for the user. See PendingUserState.