# Kiteworks API — roles Operations

**2 endpoints** | [Browse interactive reference](https://developer.kiteworks.com/api-reference/roles.html) | [Download spec slice](https://developer.kiteworks.com/assets/specs/roles.json)

> **Authentication required.** All requests must include a Bearer access token in the
> `Authorization` header. See [Authentication](https://developer.kiteworks.com/authentication.md) for how to
> obtain a token using OAuth 2.0 Authorization Code (PKCE) or JWT Bearer flow.

---

## GET /rest/roles

**Summary:** List user roles

Returns a list of available user roles (e.g., Manager, Collaborator, Downloader, Viewer, Uploader), including each role's name, rank, and type.

**Parameters:**

| Name | In | Required | Description |
|------|----|----------|-------------|
| `name` | query | no | Role name |
| `name:contains` | query | no | Role name. Search for results that contain the specified characters in this parameter. |
| `disabled` | query | no | Whether Role is disabled |
| `type` | query | no | Filter roles by type. Accepted values: `d`, `f`. |
| `orderBy` | query | no | Sorting options |
| `with` | query | no | With parameters |
| `mode` | query | no | Determines the detail level of the response body. |

**Responses:**

| Code | Description |
|------|-------------|
| 200 | List of user roles retrieved successfully. |
| 490 | Request blocked by WAF |

**Response Examples:**

**200 (RoleList):**

```json
{
  "data": [
    {
      "id": 1,
      "name": "Manager",
      "rank": 1,
      "type": "d"
    },
    {
      "id": 2,
      "name": "Collaborator",
      "rank": 2,
      "type": "d"
    }
  ]
}
```

**Code Samples:**

**cURL:**

```shell
curl -X GET \
  "https://{instance}.kiteworks.com/rest/roles" \
  -H "Authorization: Bearer YOUR_TOKEN"
```

**Python:**

```python
import requests

url = "https://{instance}.kiteworks.com/rest/roles"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
response = requests.get(url, headers=headers)
print(response.json())
```

---

## GET /rest/roles/{id}

**Summary:** Get a role

Returns the details of the specified role, including its name, rank, and type.

**Parameters:**

| Name | In | Required | Description |
|------|----|----------|-------------|
| `id` | path | yes | ID of the role to be retrieved |

**Responses:**

| Code | Description |
|------|-------------|
| 200 | Role details retrieved successfully. |
| 490 | Request blocked by WAF |

**Response Examples:**

**200 (RoleInfo):**

```json
{
  "id": 1,
  "name": "Manager",
  "rank": 1,
  "type": "d"
}
```

**Code Samples:**

**cURL:**

```shell
curl -X GET \
  "https://{instance}.kiteworks.com/rest/roles/:id" \
  -H "Authorization: Bearer YOUR_TOKEN"
```

**Python:**

```python
import requests

id = "VALUE"  # ID of the role to be retrieved

url = f"https://{{instance}}.kiteworks.com/rest/roles/{id}"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
response = requests.get(url, headers=headers)
print(response.json())
```

---
