---
title: "API: listRoles"
slug: "api-listroles"
updated: 2022-08-30T19:46:02Z
published: 2022-08-30T19:46:02Z
canonical: "support.smarteru.com/api-listroles"
---
> ## Documentation Index
> Fetch the complete documentation index at: https://support.smarteru.com/llms.txt
> Use this file to discover all available pages before exploring further.
# API: listRoles
- SmarterU requires all API calls to POST to HTTPS. Any POST to HTTP will result in the SU:01 error (i.e., No POST data detected.).
- If you are viewing the help in a language other than English, please change your language to English before copying and pasting any code. All API attributes and functions are in English.
- Tags are required unless specified.
## **Description**
[Learning Plans](https://support.smarteru.com/docs/learning-plans) were previously referred to as *roles*.
The listRoles method retrieves [learning plans](/v1/docs/learning-plans) that meet the specified filter.
## **Who Has Access**
The following users have access to the listRoles method:
- Users with the [Manage Learning Plans, Certifications, and Requirements](/v1/docs/account-permission-manage-learning-plans-certifications-and-requirements) or [View Learning Plans, Certifications, and Requirements](/v1/docs/account-permission-view-learning-plans-certifications-and-requirements) account permission.
- [Administrators and owners](/v1/docs/user-profile-information#access-level).
## **API Call XML Package**
```markup
listRoles
```
## **Role Tag Group**
The Role tag group is a container for how the response is returned and the learning plan filter.
```markup
```
The Role tag may contain the following.
### **Page** (optional)
The page to get. Default is *1*. If the Page tag is not provided, up to 50 results are returned by default.
### **Filters** (optional)
A container for the learning plan status filter. This tag contains the following.
| Tag | Description |
| --- | --- |
| **RoleStatus** | The [learning plan status](/v1/docs/learning-plan-main#status) filter. Acceptable values are *Active*, *Inactive*, or *All*. The default is *All*. |
## API Response XML Package
The [API response XML package](/v1/docs/api-response-xml-package) will always include a Result, Info, and [Errors](/v1/docs/api-listroles#error-codes) tag.
```markup
```
The Roles tag is a container for the learning plans returned by the listRoles method. Each learning plan is contained in a Role tag and may contain the following.
### **Name**
The [learning plan's name](/v1/docs/learning-plan-main#name).
### RoleID
The [learning plan's user-specified identifier](/v1/docs/learning-plan-main#learning-plan-id).
### Status
The [learning plan's status](/v1/docs/learning-plan-main#status) (i.e., Active, Inactive).
### Example API Response XML Package
Below is an example of an API response XML package.
```markup
Success
Active
Active
```
## **Error Codes**
| Error Code | Message |
| --- | --- |
| LR:01 | The page number provided is not valid. |
| LR:02 | The learning plan status provided is not valid. |
| LR:03 | The required permissions are not met to call the listRoles method. |
| LR:04 | The value for a role status must be *Active*, *Inactive*, or *All*. |
## Related
- [API: createRole](/api-createrole.md)
- [API: getRole](/api-getrole.md)
- [API: updateRole](/api-updaterole.md)
- [Learning Plan Automation](/learning-plan-automation.md)
- [Learning Plans](/learning-plans.md)