curl --request POST \
--url https://api.wirespeed.co/v1/directory \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"size": 123,
"page": 123,
"search": "<string>",
"orderBy": "<string>",
"searchAttributeKey": "<string>",
"caseSensitive": false,
"teamId": "<string>",
"groups": [],
"ipId": "<string>",
"endpointId": "<string>",
"endpointPrivateIpId": "<string>",
"userAgentId": "<string>",
"showUnmanagedUsers": true,
"onlyEnabled": true,
"onlyDisabled": true,
"onlyContained": true,
"onlyChatOpsOnboardingUsers": true,
"excludeNhi": true,
"integrationIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"licenseIds": [
"<string>"
],
"onlyBillable": true,
"groupIds": [
"<string>"
],
"dedupeCanonicalRoots": true,
"onlyCanonicalClustersWithDuplicates": true,
"canonicalClusterOfDirectoryUserId": "<string>"
}
'import requests
url = "https://api.wirespeed.co/v1/directory"
payload = {
"size": 123,
"page": 123,
"search": "<string>",
"orderBy": "<string>",
"searchAttributeKey": "<string>",
"caseSensitive": False,
"teamId": "<string>",
"groups": [],
"ipId": "<string>",
"endpointId": "<string>",
"endpointPrivateIpId": "<string>",
"userAgentId": "<string>",
"showUnmanagedUsers": True,
"onlyEnabled": True,
"onlyDisabled": True,
"onlyContained": True,
"onlyChatOpsOnboardingUsers": True,
"excludeNhi": True,
"integrationIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"licenseIds": ["<string>"],
"onlyBillable": True,
"groupIds": ["<string>"],
"dedupeCanonicalRoots": True,
"onlyCanonicalClustersWithDuplicates": True,
"canonicalClusterOfDirectoryUserId": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
size: 123,
page: 123,
search: '<string>',
orderBy: '<string>',
searchAttributeKey: '<string>',
caseSensitive: false,
teamId: '<string>',
groups: [],
ipId: '<string>',
endpointId: '<string>',
endpointPrivateIpId: '<string>',
userAgentId: '<string>',
showUnmanagedUsers: true,
onlyEnabled: true,
onlyDisabled: true,
onlyContained: true,
onlyChatOpsOnboardingUsers: true,
excludeNhi: true,
integrationIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
licenseIds: ['<string>'],
onlyBillable: true,
groupIds: ['<string>'],
dedupeCanonicalRoots: true,
onlyCanonicalClustersWithDuplicates: true,
canonicalClusterOfDirectoryUserId: '<string>'
})
};
fetch('https://api.wirespeed.co/v1/directory', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.wirespeed.co/v1/directory",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'size' => 123,
'page' => 123,
'search' => '<string>',
'orderBy' => '<string>',
'searchAttributeKey' => '<string>',
'caseSensitive' => false,
'teamId' => '<string>',
'groups' => [
],
'ipId' => '<string>',
'endpointId' => '<string>',
'endpointPrivateIpId' => '<string>',
'userAgentId' => '<string>',
'showUnmanagedUsers' => true,
'onlyEnabled' => true,
'onlyDisabled' => true,
'onlyContained' => true,
'onlyChatOpsOnboardingUsers' => true,
'excludeNhi' => true,
'integrationIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'licenseIds' => [
'<string>'
],
'onlyBillable' => true,
'groupIds' => [
'<string>'
],
'dedupeCanonicalRoots' => true,
'onlyCanonicalClustersWithDuplicates' => true,
'canonicalClusterOfDirectoryUserId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.wirespeed.co/v1/directory"
payload := strings.NewReader("{\n \"size\": 123,\n \"page\": 123,\n \"search\": \"<string>\",\n \"orderBy\": \"<string>\",\n \"searchAttributeKey\": \"<string>\",\n \"caseSensitive\": false,\n \"teamId\": \"<string>\",\n \"groups\": [],\n \"ipId\": \"<string>\",\n \"endpointId\": \"<string>\",\n \"endpointPrivateIpId\": \"<string>\",\n \"userAgentId\": \"<string>\",\n \"showUnmanagedUsers\": true,\n \"onlyEnabled\": true,\n \"onlyDisabled\": true,\n \"onlyContained\": true,\n \"onlyChatOpsOnboardingUsers\": true,\n \"excludeNhi\": true,\n \"integrationIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"licenseIds\": [\n \"<string>\"\n ],\n \"onlyBillable\": true,\n \"groupIds\": [\n \"<string>\"\n ],\n \"dedupeCanonicalRoots\": true,\n \"onlyCanonicalClustersWithDuplicates\": true,\n \"canonicalClusterOfDirectoryUserId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.wirespeed.co/v1/directory")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"size\": 123,\n \"page\": 123,\n \"search\": \"<string>\",\n \"orderBy\": \"<string>\",\n \"searchAttributeKey\": \"<string>\",\n \"caseSensitive\": false,\n \"teamId\": \"<string>\",\n \"groups\": [],\n \"ipId\": \"<string>\",\n \"endpointId\": \"<string>\",\n \"endpointPrivateIpId\": \"<string>\",\n \"userAgentId\": \"<string>\",\n \"showUnmanagedUsers\": true,\n \"onlyEnabled\": true,\n \"onlyDisabled\": true,\n \"onlyContained\": true,\n \"onlyChatOpsOnboardingUsers\": true,\n \"excludeNhi\": true,\n \"integrationIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"licenseIds\": [\n \"<string>\"\n ],\n \"onlyBillable\": true,\n \"groupIds\": [\n \"<string>\"\n ],\n \"dedupeCanonicalRoots\": true,\n \"onlyCanonicalClustersWithDuplicates\": true,\n \"canonicalClusterOfDirectoryUserId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wirespeed.co/v1/directory")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"size\": 123,\n \"page\": 123,\n \"search\": \"<string>\",\n \"orderBy\": \"<string>\",\n \"searchAttributeKey\": \"<string>\",\n \"caseSensitive\": false,\n \"teamId\": \"<string>\",\n \"groups\": [],\n \"ipId\": \"<string>\",\n \"endpointId\": \"<string>\",\n \"endpointPrivateIpId\": \"<string>\",\n \"userAgentId\": \"<string>\",\n \"showUnmanagedUsers\": true,\n \"onlyEnabled\": true,\n \"onlyDisabled\": true,\n \"onlyContained\": true,\n \"onlyChatOpsOnboardingUsers\": true,\n \"excludeNhi\": true,\n \"integrationIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"licenseIds\": [\n \"<string>\"\n ],\n \"onlyBillable\": true,\n \"groupIds\": [\n \"<string>\"\n ],\n \"dedupeCanonicalRoots\": true,\n \"onlyCanonicalClustersWithDuplicates\": true,\n \"canonicalClusterOfDirectoryUserId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"displayName": "<string>",
"teamId": "<string>",
"additionalEmails": [
"<string>"
],
"allEmails": [
"<string>"
],
"createdAt": "<string>",
"integrationId": "<string>",
"credentialsExposed": true,
"numberCredentialExposures": 123,
"containable": true,
"smsInviteAttempts": 123,
"groups": [
{
"id": "<string>",
"directoryUserId": "<string>",
"group": "<string>",
"teamId": "<string>",
"overriddenByUser": true,
"overriddenByUserId": "<string>",
"overriddenByUserIdentifier": "<string>",
"enabled": true,
"createdAt": "<string>",
"groupId": "<string>",
"groupName": "<string>",
"groupSlug": "<string>",
"groupContainmentEnabled": true,
"groupChatOpsEnabled": true,
"groupSourceSystemUpdates": true,
"groupAlwaysNotify": true,
"groupRuleSearch": "<string>",
"groupRuleSearchField": "<string>",
"groupRuleSearchType": "text"
}
],
"licenses": [
{
"licenseId": "<string>",
"licenseName": "<string>",
"productId": "<string>",
"integrationPlatform": "acronis"
}
],
"groupContainmentEnabled": true,
"groupChatOpsEnabled": true,
"groupSourceSystemUpdates": true,
"groupsSynced": true,
"enabled": true,
"directoryId": "<string>",
"name": "<string>",
"phoneNumber": "<string>",
"previousPhoneNumber": "<string>",
"title": "<string>",
"email": "<string>",
"vip": true,
"nhi": true,
"financial": true,
"technical": true,
"external": true,
"managerDirectoryId": "<string>",
"managerEmail": "<string>",
"domain": "<string>",
"department": "<string>",
"canonicalId": "<string>",
"canonicalClusterMemberCount": 123,
"canonicalClusterMembers": [
{
"id": "22222222-2222-2222-2222-222222222201",
"displayLabel": "WS-SAMPLE-BRAVO-WKS$",
"integrationId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeee0002",
"integrationPlatform": "sentinel-one",
"name": "WS-SAMPLE-BRAVO-WKS$",
"managed": true,
"live": true,
"operatingSystem": "Windows11 - 23H2",
"createdAt": "2025-01-02T00:00:00.000Z",
"updatedAt": "2025-01-15T12:00:00.000Z"
},
{
"id": "22222222-2222-2222-2222-222222222202",
"displayLabel": "WS-SAMPLE-CHARLIE-WKS$",
"integrationId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeee0003",
"integrationPlatform": "crowdstrike-falcon",
"name": "WS-SAMPLE-CHARLIE-WKS$",
"managed": true,
"live": true,
"operatingSystem": "Windows 10 Enterprise 22H2 (OS build 19045.4046)",
"createdAt": "2025-01-03T00:00:00.000Z",
"updatedAt": "2025-01-15T12:00:00.000Z"
}
],
"roles": [
"<string>"
],
"lastCredentialExposure": "<string>",
"lastCheckedForCredentialExposures": "<string>",
"needsChatOpsWelcome": true,
"contained": true,
"username": "<string>",
"smsConsentReceivedAt": "<string>",
"smsInviteLastSentAt": "<string>",
"smsInviteOptOut": true,
"administrator": true,
"updatedAt": "<string>",
"passwordLastChangedAt": "<string>",
"lastSignInAt": "<string>",
"raw": {},
"managed": true,
"chatOpsOnboardingUser": true,
"verifiedPhoneNumber": "<string>",
"emailDirection": "sender",
"integrationPlatform": "acronis",
"teamName": "<string>",
"canonicalClusterSearchMatchMemberId": "<string>"
}
]
}{
"message": "<string>",
"statusCode": 123
}Search directory users
Returns one page of users. For total row count for these filters, call POST /directory/count with the same body.
curl --request POST \
--url https://api.wirespeed.co/v1/directory \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"size": 123,
"page": 123,
"search": "<string>",
"orderBy": "<string>",
"searchAttributeKey": "<string>",
"caseSensitive": false,
"teamId": "<string>",
"groups": [],
"ipId": "<string>",
"endpointId": "<string>",
"endpointPrivateIpId": "<string>",
"userAgentId": "<string>",
"showUnmanagedUsers": true,
"onlyEnabled": true,
"onlyDisabled": true,
"onlyContained": true,
"onlyChatOpsOnboardingUsers": true,
"excludeNhi": true,
"integrationIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"licenseIds": [
"<string>"
],
"onlyBillable": true,
"groupIds": [
"<string>"
],
"dedupeCanonicalRoots": true,
"onlyCanonicalClustersWithDuplicates": true,
"canonicalClusterOfDirectoryUserId": "<string>"
}
'import requests
url = "https://api.wirespeed.co/v1/directory"
payload = {
"size": 123,
"page": 123,
"search": "<string>",
"orderBy": "<string>",
"searchAttributeKey": "<string>",
"caseSensitive": False,
"teamId": "<string>",
"groups": [],
"ipId": "<string>",
"endpointId": "<string>",
"endpointPrivateIpId": "<string>",
"userAgentId": "<string>",
"showUnmanagedUsers": True,
"onlyEnabled": True,
"onlyDisabled": True,
"onlyContained": True,
"onlyChatOpsOnboardingUsers": True,
"excludeNhi": True,
"integrationIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"licenseIds": ["<string>"],
"onlyBillable": True,
"groupIds": ["<string>"],
"dedupeCanonicalRoots": True,
"onlyCanonicalClustersWithDuplicates": True,
"canonicalClusterOfDirectoryUserId": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
size: 123,
page: 123,
search: '<string>',
orderBy: '<string>',
searchAttributeKey: '<string>',
caseSensitive: false,
teamId: '<string>',
groups: [],
ipId: '<string>',
endpointId: '<string>',
endpointPrivateIpId: '<string>',
userAgentId: '<string>',
showUnmanagedUsers: true,
onlyEnabled: true,
onlyDisabled: true,
onlyContained: true,
onlyChatOpsOnboardingUsers: true,
excludeNhi: true,
integrationIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
licenseIds: ['<string>'],
onlyBillable: true,
groupIds: ['<string>'],
dedupeCanonicalRoots: true,
onlyCanonicalClustersWithDuplicates: true,
canonicalClusterOfDirectoryUserId: '<string>'
})
};
fetch('https://api.wirespeed.co/v1/directory', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.wirespeed.co/v1/directory",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'size' => 123,
'page' => 123,
'search' => '<string>',
'orderBy' => '<string>',
'searchAttributeKey' => '<string>',
'caseSensitive' => false,
'teamId' => '<string>',
'groups' => [
],
'ipId' => '<string>',
'endpointId' => '<string>',
'endpointPrivateIpId' => '<string>',
'userAgentId' => '<string>',
'showUnmanagedUsers' => true,
'onlyEnabled' => true,
'onlyDisabled' => true,
'onlyContained' => true,
'onlyChatOpsOnboardingUsers' => true,
'excludeNhi' => true,
'integrationIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'licenseIds' => [
'<string>'
],
'onlyBillable' => true,
'groupIds' => [
'<string>'
],
'dedupeCanonicalRoots' => true,
'onlyCanonicalClustersWithDuplicates' => true,
'canonicalClusterOfDirectoryUserId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.wirespeed.co/v1/directory"
payload := strings.NewReader("{\n \"size\": 123,\n \"page\": 123,\n \"search\": \"<string>\",\n \"orderBy\": \"<string>\",\n \"searchAttributeKey\": \"<string>\",\n \"caseSensitive\": false,\n \"teamId\": \"<string>\",\n \"groups\": [],\n \"ipId\": \"<string>\",\n \"endpointId\": \"<string>\",\n \"endpointPrivateIpId\": \"<string>\",\n \"userAgentId\": \"<string>\",\n \"showUnmanagedUsers\": true,\n \"onlyEnabled\": true,\n \"onlyDisabled\": true,\n \"onlyContained\": true,\n \"onlyChatOpsOnboardingUsers\": true,\n \"excludeNhi\": true,\n \"integrationIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"licenseIds\": [\n \"<string>\"\n ],\n \"onlyBillable\": true,\n \"groupIds\": [\n \"<string>\"\n ],\n \"dedupeCanonicalRoots\": true,\n \"onlyCanonicalClustersWithDuplicates\": true,\n \"canonicalClusterOfDirectoryUserId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.wirespeed.co/v1/directory")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"size\": 123,\n \"page\": 123,\n \"search\": \"<string>\",\n \"orderBy\": \"<string>\",\n \"searchAttributeKey\": \"<string>\",\n \"caseSensitive\": false,\n \"teamId\": \"<string>\",\n \"groups\": [],\n \"ipId\": \"<string>\",\n \"endpointId\": \"<string>\",\n \"endpointPrivateIpId\": \"<string>\",\n \"userAgentId\": \"<string>\",\n \"showUnmanagedUsers\": true,\n \"onlyEnabled\": true,\n \"onlyDisabled\": true,\n \"onlyContained\": true,\n \"onlyChatOpsOnboardingUsers\": true,\n \"excludeNhi\": true,\n \"integrationIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"licenseIds\": [\n \"<string>\"\n ],\n \"onlyBillable\": true,\n \"groupIds\": [\n \"<string>\"\n ],\n \"dedupeCanonicalRoots\": true,\n \"onlyCanonicalClustersWithDuplicates\": true,\n \"canonicalClusterOfDirectoryUserId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wirespeed.co/v1/directory")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"size\": 123,\n \"page\": 123,\n \"search\": \"<string>\",\n \"orderBy\": \"<string>\",\n \"searchAttributeKey\": \"<string>\",\n \"caseSensitive\": false,\n \"teamId\": \"<string>\",\n \"groups\": [],\n \"ipId\": \"<string>\",\n \"endpointId\": \"<string>\",\n \"endpointPrivateIpId\": \"<string>\",\n \"userAgentId\": \"<string>\",\n \"showUnmanagedUsers\": true,\n \"onlyEnabled\": true,\n \"onlyDisabled\": true,\n \"onlyContained\": true,\n \"onlyChatOpsOnboardingUsers\": true,\n \"excludeNhi\": true,\n \"integrationIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"licenseIds\": [\n \"<string>\"\n ],\n \"onlyBillable\": true,\n \"groupIds\": [\n \"<string>\"\n ],\n \"dedupeCanonicalRoots\": true,\n \"onlyCanonicalClustersWithDuplicates\": true,\n \"canonicalClusterOfDirectoryUserId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"displayName": "<string>",
"teamId": "<string>",
"additionalEmails": [
"<string>"
],
"allEmails": [
"<string>"
],
"createdAt": "<string>",
"integrationId": "<string>",
"credentialsExposed": true,
"numberCredentialExposures": 123,
"containable": true,
"smsInviteAttempts": 123,
"groups": [
{
"id": "<string>",
"directoryUserId": "<string>",
"group": "<string>",
"teamId": "<string>",
"overriddenByUser": true,
"overriddenByUserId": "<string>",
"overriddenByUserIdentifier": "<string>",
"enabled": true,
"createdAt": "<string>",
"groupId": "<string>",
"groupName": "<string>",
"groupSlug": "<string>",
"groupContainmentEnabled": true,
"groupChatOpsEnabled": true,
"groupSourceSystemUpdates": true,
"groupAlwaysNotify": true,
"groupRuleSearch": "<string>",
"groupRuleSearchField": "<string>",
"groupRuleSearchType": "text"
}
],
"licenses": [
{
"licenseId": "<string>",
"licenseName": "<string>",
"productId": "<string>",
"integrationPlatform": "acronis"
}
],
"groupContainmentEnabled": true,
"groupChatOpsEnabled": true,
"groupSourceSystemUpdates": true,
"groupsSynced": true,
"enabled": true,
"directoryId": "<string>",
"name": "<string>",
"phoneNumber": "<string>",
"previousPhoneNumber": "<string>",
"title": "<string>",
"email": "<string>",
"vip": true,
"nhi": true,
"financial": true,
"technical": true,
"external": true,
"managerDirectoryId": "<string>",
"managerEmail": "<string>",
"domain": "<string>",
"department": "<string>",
"canonicalId": "<string>",
"canonicalClusterMemberCount": 123,
"canonicalClusterMembers": [
{
"id": "22222222-2222-2222-2222-222222222201",
"displayLabel": "WS-SAMPLE-BRAVO-WKS$",
"integrationId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeee0002",
"integrationPlatform": "sentinel-one",
"name": "WS-SAMPLE-BRAVO-WKS$",
"managed": true,
"live": true,
"operatingSystem": "Windows11 - 23H2",
"createdAt": "2025-01-02T00:00:00.000Z",
"updatedAt": "2025-01-15T12:00:00.000Z"
},
{
"id": "22222222-2222-2222-2222-222222222202",
"displayLabel": "WS-SAMPLE-CHARLIE-WKS$",
"integrationId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeee0003",
"integrationPlatform": "crowdstrike-falcon",
"name": "WS-SAMPLE-CHARLIE-WKS$",
"managed": true,
"live": true,
"operatingSystem": "Windows 10 Enterprise 22H2 (OS build 19045.4046)",
"createdAt": "2025-01-03T00:00:00.000Z",
"updatedAt": "2025-01-15T12:00:00.000Z"
}
],
"roles": [
"<string>"
],
"lastCredentialExposure": "<string>",
"lastCheckedForCredentialExposures": "<string>",
"needsChatOpsWelcome": true,
"contained": true,
"username": "<string>",
"smsConsentReceivedAt": "<string>",
"smsInviteLastSentAt": "<string>",
"smsInviteOptOut": true,
"administrator": true,
"updatedAt": "<string>",
"passwordLastChangedAt": "<string>",
"lastSignInAt": "<string>",
"raw": {},
"managed": true,
"chatOpsOnboardingUser": true,
"verifiedPhoneNumber": "<string>",
"emailDirection": "sender",
"integrationPlatform": "acronis",
"teamName": "<string>",
"canonicalClusterSearchMatchMemberId": "<string>"
}
]
}{
"message": "<string>",
"statusCode": 123
}Authorizations
Team API key sent as a Bearer token. Create a key in Wirespeed under Settings → Team. See https://docs.wirespeed.co/api-reference/authentication.
Body
Field to filter directory users by
email, name, username, title, department, role, integration_source_id, custom_attribute asc, desc Custom attribute key to match when filter is custom_attribute. When omitted, searches across all attribute keys and values.
When true, text matching uses LIKE (case-sensitive) instead of ILIKE
Filter users by team ID (for service providers)
Filter users by groups
VIP, ADMIN, EXTERNAL, TECHNICAL, FINANCIAL, NHI Filter users associated with specific IP address
Filter users associated with specific endpoint
Filter users associated with endpoints that have this private IP address
Filter users associated with specific user agent
Include unmanaged users in results
Only include users that are enabled
Only include users that are disabled
Only include users that are contained
Only include users that are in the chat ops onboarding group
Exclude users with an enabled NHI group membership. ChatOps list and count queries use this so service accounts are dropped in SQL. Ignored when the request already filters to the NHI group.
Filter users by SMS enrollment status
enrolled, pending, max_attempts, opted_out, not_invited Filter users by integration IDs (sources)
Filter users assigned any selected logical license IDs across integrations
Filter users by whether they are billable: assigned to a billable license, enabled, managed, and not in an enabled NHI group
Filter users by group IDs (supports multiple). Pass the sentinel value "ungrouped" to filter users with no group memberships.
Operator for combining multiple group filters. "and" = must be in ALL groups, "or" = must be in ANY group. Defaults to "or".
and, or When true, return only canonical representative rows (canonical_id IS NULL)
When true together with dedupeCanonicalRoots, return only canonical roots that have at least one merged duplicate from another source
When set, return paginated directory user rows in this canonical cluster (children only; resolves root from root or child id)
Response
Array of directory user search results
Show child attributes
Show child attributes

