Description
List the active members of a user group. The response is paginated, and each row reports how the membership was created, who added it, and when.
The creation_type field is what separates a membership managed by an integration from one managed by a directory. A group whose memberships come from a synchronization cannot be edited through the API.
Prerequisites
- An application with the Users authorization granted by the administrator in A2A. For more information, access How to manage authorizations in A2A.
- A valid OAuth 2.0 access token. For more information, access How to authenticate an application in A2A.
Request
GET /api/v2/iam/user-groups/{id}/users
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
integer | Yes | Unique identification code of the user group. |
Query parameters
| Parameter | Type | Description |
|---|---|---|
page |
integer | 1-indexed page number. Defaults to 1. |
limit |
integer | Page size. Defaults to 50 and is bounded by the platform-wide maximum of 200. |
Example request
GET {{url}}/api/v2/iam/user-groups/7/users?page=1&limit=50
Response
HTTP/1.1 200 OK
X-Request-Id: 7f3c1a90-2c4e-4b1a-9f5e-0a2b7c9d1e34
Example response body
{
"data": [
{
"id": "10",
"name": "Alice Doe",
"username": "alice",
"email": "[email protected]",
"creation_type": "local",
"added_by": "admin",
"added_at": "2026-04-15T09:30:00+00:00"
},
{
"id": "11",
"name": "Bob Doe",
"username": "bob",
"email": "[email protected]",
"creation_type": "synced",
"added_by": null,
"added_at": "2026-04-12T08:00:00+00:00"
}
],
"meta": {
"pagination": {
"page": 1,
"limit": 50,
"total_items": 2,
"total_pages": 1
},
"links": {
"self": "/api/v2/iam/user-groups/7/users?page=1&limit=50"
}
}
}
Response body fields
| Field | Type | Description |
|---|---|---|
data |
array[object] | Active members on the current page. |
data[].id |
string | Unique identification code of the user. |
data[].name |
string | Full name of the user. |
data[].username |
string | Username of the user. |
data[].email |
string | Email address of the user. Returns null when the user has no address registered. |
data[].creation_type |
string | How the membership was created. Returns local when it was added through the API or the web interface, and synced when an LDAP synchronization provisioned it. |
data[].added_by |
string | Display name of the user who added the membership. Returns null for a membership created by a synchronization. |
data[].added_at |
datetime | Date and time when the membership was created. |
meta |
object | Listing metadata. |
meta.pagination |
object | Pagination state for the current request. |
meta.links.self |
string | Path of the current page. |
Errors
| HTTP code | Message | Possible cause | Solution |
|---|---|---|---|
401 |
api.auth.unauthorized |
The access token is missing, invalid, or has expired. | Request a new access token. |
404 |
api.resource.not_found |
The user group does not exist, or it is outside the scope of the authorization. | Check the identification code and the authorization scope. |
429 |
api.rate_limit_exceeded |
The request rate limit was exceeded. | Wait the number of seconds returned in the Retry-After header and try again. |
For authentication error messages and the 403 versus 404 policy, access API v2 - Conventions and shared behaviors.