---
title: "Get document group users"
url: "https://docs.signnow.com/docs/document-group/operations/get-document-group-roles"
type: "endpoint"
section: "document-group"
slug: "document-group/operations/get-document-group-roles"
method: "GET"
path: "/v2/document-groups/{document_group_id}/roles"
operation_id: "get-document-group-roles"
authorization: "bearer"
---

# Get document group users

`GET /v2/document-groups/{document_group_id}/roles`

This endpoint allows API users to retrieve a paginated list of users who have access to the specified document group, including their roles, names, and avatar links.

**Notes**

* The owner sees all users with roles (including themselves as `owner`).
* A non-owner (user with shared access) sees only the owner and themselves.

## Authorization

bearer

## Path Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `document_group_id` | string | Yes | Document group ID. |

## Query Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `per_page` | integer | No | Number of items per page. Min: `1`, Max: `100`. Default: `15`. |
| `page` | integer | No | Page number. Min: `1`. Default: `1`. |

## Responses

### 200

Success. Retrieves a paginated list of users with access to the document group.

**Example** (`Example 1`)

```json
{
  "data": [
    {
      "id": "abc123def456abc123def456abc123def456abcd",
      "role": "owner",
      "email": "owner@example.com",
      "full_name": "John Doe",
      "avatar_url": "https://example.com/avatars/abc123/download"
    },
    {
      "id": "def456abc123def456abc123def456abc123defg",
      "role": "viewer",
      "email": "viewer@example.com",
      "full_name": "Jane Smith",
      "avatar_url": null
    }
  ],
  "meta": {
    "pagination": {
      "count": 2,
      "total": 2,
      "per_page": 15,
      "total_pages": 1,
      "current_page": 1
    }
  }
}
```

**Example** (`application/json`)

```json
{
  "data": [
    {
      "id": "abc123def456abc123def456abc123def456abcd",
      "role": "owner",
      "email": "owner@example.com",
      "full_name": "John Doe",
      "avatar_url": "https://example.com/avatars/abc123/download"
    },
    {
      "id": "def456abc123def456abc123def456abc123defg",
      "role": "viewer",
      "email": "viewer@example.com",
      "full_name": "Jane Smith",
      "avatar_url": "https://example.com/avatars/abc456/download"
    }
  ],
  "meta": {
    "pagination": {
      "count": 2,
      "total": 2,
      "per_page": 15,
      "total_pages": 1,
      "current_page": 1
    }
  }
}
```

### 400

Bad request. Possible errors:

* Document group not found.
* You don't have access to the entity.

**Example** (`Example 1`)

```json
{
  "errors": [
    {
      "code": 12029026,
      "message": "Document group not found."
    }
  ]
}
```

**Example** (`No access to entity`)

```json
{
  "errors": [
    {
      "code": 12029012,
      "message": "You don't have access to the entity."
    }
  ]
}
```

**Example** (`Document group not found`)

```json
{
  "errors": [
    {
      "code": 12029026,
      "message": "Document group not found."
    }
  ]
}
```

### 401

Incorrect or missing bearer token.

**Example** (`Example 1`)

```json
{
  "errors": {
    "code": 1537,
    "message": "invalid_token"
  }
}
```

**Example** (`Unauthorized`)

```json
{
  "code": 1537,
  "error": "invalid_token"
}
```

## Code Examples

> Replace `$SIGNNOW_ACCESS_TOKEN` and any `{placeholder}` values before running.

### cURL

```bash
curl -X GET \
  "https://api.signnow.com/v2/document-groups/{document_group_id}/roles" \
  -H "Authorization: Bearer $SIGNNOW_ACCESS_TOKEN"
```

---
*Full reference: https://docs.signnow.com/docs/document-group/operations/get-document-group-roles*
