---
title: "List all users for a group"
method: GET
path: "/v2/groups/{group_id}:listUsers"
tags: ["Groups"]
---

# List all users for a group

`GET /v2/groups/{group_id}:listUsers`

## Request

- Base URL: `https://api.byndid.com`
- URL: `https://api.byndid.com/v2/groups/{group_id}:listUsers`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/beyondidentity/apis/beyond-identity-secure-workforce-api/docs/v2/groups/:group_id:listUsers/get.ts> (a function with typed inputs; its response is checked against the schema)

To list all users belonging to a group, send a GET request to
`/v2/groups/$GROUP_ID:listUsers`.

The response will have up to 1000 items. The response will be empty if the
page size is not specified (i.e., the default). By default, the list is in
ascending order by `create_time`. The maximum and default page sizes are
subject to change.

When paginating, use the `skip` parameter as the offset.

When filtering, the response will only show users that satisfy this filter.
The syntax follows the SCIM grammar from
[RFC7644 Section 3.4.2.2](https:datatracker.ietf.org/doc/html/rfc7644#section-3.4.2.2).

The supported operations are:
  - pr (present)
  - eq (equals)
  - ne (not equals)
  - co (contains)
  - sw (starts with)
  - ew (ends with)
  - gt (greater than)
  - lt (less than)
  - ge (greater than or equal to)
  - le (less than or equal to)

The supported fields and their supported operations are:
  - id (eq, ne, co, sw, ew)
  - email_address (eq, ne, co, sw, ew)
  - external_id (eq, ne, co, sw, ew)
  - username (eq, ne, co, sw, ew)
  - display_name (eq, ne, co, sw, ew)
  - state (eq, ne, co, sw, ew)
  - source (eq, ne, co, sw, ew)
  - last_auth_time (pr, eq, ne, gt, lt, ge, le)
  - has_active_passkey (eq, ne)

When sorting, use the `order_by` parameter. It's a comma-delimited list of
attributes. Currently, the following fields are supported:

  - display_name
  - username
  - email_address
  - status
  - source
  - last_auth_time

The default sorting order per attribute is ascending. Therefore, if you
want descending order, append the " desc" suffix to the attribute name.

## Path parameters

- `group_id` string, required

## Query parameters

- `page_size` integer
- `skip` integer
- `filter` string
- `order_by` string

## Response `200`

The response is a JSON object with `users` and `total_size` keys. <br />
  - `users` is set to an array of user objects containing standard user
    attributes.
  - `total_size` is set to the total number of items matched by the
    list request. If more items are to be returned by the requested
    query, make another request using the `skip` query parameter.

- object: Response for ListGroupUsers.
  - `users` User[], required: An ordered array of users corresponding to the request. If the `order_by` query parameter is set, it follows that ordering. If not, users are ordered by ascending `create_time` by default.
    - `id` string: A unique identifier for the user within a tenant that is automatically generated on creation. This field is immutable and read-only.
    - `create_time` string, date-time: A time value in the ISO8601 combined date and time format that gets generated automatically and represents the time the user gets created. This field is immutable and read-only.
    - `update_time` string, date-time: A time value in the ISO8601 combined date and time format that gets generated automatically and represents the time the user gets updated. This field is immutable and read-only.
    - `last_auth_time` string, date-time: A time value in the ISO8601 combined date and time format that gets generated automatically and represents the time the user last authenticated. This field is immutable and read-only.
    - `tenant_id` string: A unique identifier for the user's tenant that is set automatically on creation. This field is immutable and read-only.
    - `external_id` string: A required unique identifier for the user within the tenant.
    - `email_address` string: A required email address serving as primary contact for user.
    - `username` string: A required username for the user.
    - `display_name` string: A required human-readable name for the user that is used for display purposes.
    - `state` 'ACTIVE' | 'SUSPENDED' | 'DELETED': State of the user that gets updated automatically when the user is updated. This field is read-only.
    - `source` string: The source that created the user. This field is immutable and read-only.
    - `has_active_passkey` boolean: A flag representing if the user has at least one device credential in an ACTIVE state. It's updated automatically when the user creates or revokes any passkeys. This field is read-only.
  - `total_size` integer, required: The total number of results returned by the operation. This value may be larger than the number of resources returned, such as when returning a single page where multiple pages are available.

## Other responses

- `400`: Bad request.
- `401`: Unauthorized.
- `403`: Forbidden.
- `404`: The resource was not found.
- `429`: Rate limit exceeded.
- `500`: Server error.

---

[API](https://skmtc.dev/beyondidentity/apis/beyond-identity-secure-workforce-api.md) - [All operations](https://skmtc.dev/beyondidentity/apis/beyond-identity-secure-workforce-api/llms.txt) - [OpenAPI document](https://skmtc.dev/beyondidentity/apis/beyond-identity-secure-workforce-api/revisions/562e14b2e4ba?raw)
