Users in group¶
GET/
Common API · Directory Management
List users in the specified group.
Parameters¶
| Name | In | Type | Required | Description |
|---|---|---|---|---|
X-Tenant-ID | header | string (uuid) | Yes | Tenant ID. |
sort | query | array of string | No | Comma-separated list of sort criteria for users. Valid sort fields are id, name, firstName, lastName, email, exchangeLogin, createdAt, and updatedAt. You can append ':asc' or ':desc' to each field to specify the sort direction. The default sort direction for each field is unspecified.Each item must match the pattern (^[^:]+$)|(^[^:]+:(asc|desc)$). |
fields | query | array of string | No | The fields to return in a partial response. |
page | query | integer | No | The page number to fetch, starting with 1. |
pageTotal | query | boolean | No | Whether the number of pages should be calculated and returned in the response. |
pageSize | query | integer | No | Size of the page requested. Must be ≥ 1 and ≤ 100. |
search | query | string | No | Search for items that match the given terms. |
searchFields | query | array of string (enum) | No | Search only within the specified fields. When not specified, the default behavior is to search the full names of users, only. Each item must be one of: name, firstName, lastName, email, exchangeLogin. |
sourceType | query | string (enum) | No | Source directory type. Must be one of: custom, activeDirectory, azureActiveDirectory, googleDirectory. |
groupId | path | string (uuid) | Yes | Group ID. |
domain | query | string | No | List the items that match the given domain. |
Request samples¶
curl -X GET "https://api-<data-region>.central.sophos.com/common/v1/directory/user-groups/<groupId>/users" -H "Authorization: Bearer <access-token>" -H "X-Tenant-ID: <tenant-id>"
import requests
response = requests.get(
"https://api-<data-region>.central.sophos.com/common/v1/directory/user-groups/<groupId>/users",
headers={
"Authorization": "Bearer <access-token>",
"X-Tenant-ID": "<tenant-id>",
},
)
print(response.json())
$headers = @{
"Authorization" = "Bearer <access-token>"
"X-Tenant-ID" = "<tenant-id>"
}
Invoke-RestMethod -Method GET -Uri "https://api-<data-region>.central.sophos.com/common/v1/directory/user-groups/<groupId>/users" -Headers $headers
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://api-<data-region>.central.sophos.com/common/v1/directory/user-groups/<groupId>/users", nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer <access-token>")
req.Header.Set("X-Tenant-ID", "<tenant-id>")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
const response = await fetch("https://api-<data-region>.central.sophos.com/common/v1/directory/user-groups/<groupId>/users", {
method: "GET",
headers: {
"Authorization": "Bearer <access-token>",
"X-Tenant-ID": "<tenant-id>",
},
});
const data = await response.json();
console.log(data);
Responses¶
200 — Page of users.¶
Response fields
itemsarray of objectrequiredUser in the directory.
Show child attributesHide child attributes
idstring (uuid)requiredUser ID.
namestringrequiredUser's name.
firstNamestringUser's first name or given name.
lastNamestringUser's last name or surname.
emailstringUser's email address.
domainstringDomain name.
exchangeLoginstringUser's Exchange login.
groupsobjectAssociated groups.
Show child attributesHide child attributes
totalintegeritemsCountintegeritemsarray of objectItems must be unique.
Group reference.
Show child attributesHide child attributes
idstring (uuid)requiredGroup ID.
namestringGroup name.
displayNamestringDisplay name.
tenantobjectrequiredReference to a tenant.
Show child attributesHide child attributes
idstring (uuid)requiredTenant ID.
namestringTenant Name.
sourceobjectrequiredSource of directory information.
Show child attributesHide child attributes
typestring (enum)requiredTypes of sources of directory information. All users and groups created using this API have the source type
Must be one of:
custom. All users and groups synchronized from Active Directory, Azure Active Directory or Google Directory have the source type activeDirectory, azureActiveDirectory or googleDirectory respectively.Must be one of:
custom, activeDirectory, azureActiveDirectory, googleDirectory.createdAtstring (datetime)When the user was created.
updatedAtstring (datetime)When the user was last updated.
managerobjectManager in the directory.
Show child attributesHide child attributes
idstring (uuid)Manager ID.
namestringManager name.
pagesobjectrequiredShow child attributesHide child attributes
currentintegerrequiredThe 1-based page number being returned.
sizeintegerrequiredThe size of the page being returned.
totalinteger(Optional) The total number of pages that exist, if pageTotal=true in the request.
itemsinteger(Optional) The total number of items across all pages.
maxSizeintegerrequiredThe maximum page size that can be requested.
Errors¶
| Status | Meaning |
|---|---|
404 | Can't find group. |
500 | Internal server error. |
All error responses share the same shape — see the error response object.
Response examples¶
200¶
{
"items": [
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"firstName": "string",
"lastName": "string",
"email": "string",
"domain": "string",
"exchangeLogin": "string",
"groups": {
"total": 0,
"itemsCount": 0,
"items": [
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"displayName": "string"
}
]
},
"tenant": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "string"
},
"source": {
"type": "custom"
},
"createdAt": "string",
"updatedAt": "string",
"manager": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "string"
}
}
],
"pages": {
"current": 0,
"size": 0,
"total": 0,
"items": 0,
"maxSize": 0
}
}