---
title: "API: createRole"
slug: "api-createrole"
updated: 2022-08-30T16:48:34Z
published: 2022-08-30T16:48:34Z
canonical: "support.smarteru.com/api-createrole"
---
> ## 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: createRole
- 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 createRole method [adds a learning plan](/v1/docs/adding-a-flat-learning-plan-page).
## Who Has Access
The following users have access to the createRole method:
- Users with the [Manage Learning Plans, Certifications, and Requirements](/v1/docs/account-permission-manage-learning-plans-certifications-and-requirements) account permission.
- [Administrators and owners](/v1/docs/user-profile-information#access-level).
## API Call XML Package
```markup
createRole
```
## Role Tag Group
The Role tag group is a container for the learning plan's details.
```markup
```
The Role tag may contain the following.
### Name
The [learning plan's name](/v1/docs/learning-plan-main#name).
### **RoleID** (optional tag)
A [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). Acceptable values are *Active* or *Inactive*.
### **Description**
The [learning plan's description](/v1/docs/learning-plan-main#description).
### **Certifications**
A container for the learning plan's certifications. Refer to [Certifications Tag Group](/v1/docs/api-createrole#certifications-tag-group).
## **Certifications Tag Group**
The Certifications tag group is a container for the [learning plan's certifications](/v1/docs/assigning-certifications-to-a-learning-plan).
```markup
```
Each certification is contained in a Certification tag and may contain the following.
### CertificationName
The [certification's name](/v1/docs/certification-main#name).
### MandateLevel
The certification's mandate level. Acceptable values are:
- *Mandatory* - The certification is required for the learning plan.
- *Recommended* - The certification is not required, but recommended for the learning plan.
- *Optional* - The certification is optional for the learning plan.
## 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-createrole#error-codes) tag.
```markup
```
The response may also contain the following.
### **Role**
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).
### Example API Response XML Package
Below is an example of an API response XML package.
```markup
Success
```
## **Error Codes**
| Error Code | Message |
| --- | --- |
| CR:01 | The name provided is not valid. |
| CR:02 | The status provided is not valid. |
| CR:03 | The description provided is not valid. |
| CR:04 | The certification name provided is not valid. |
| CR:05 | The mandate level provided is not valid. |
| CR:06 | The required permissions are not met to call the createRole method. |
| CR:07 | One or more of the certification names provided are not valid. |
| CR:08 | One or more mandate levels provided are not valid. Acceptable values are *Mandatory*, *Optional*, or *Recommended*. |
| CR:09 | The status provided is not valid. Acceptable values are *Active* or *Inactive*. |
| CR:10 | Learning plan name cannot be used. |
| CR:11 | One or more certifications provided are not valid. Certifications cannot be added more than once. |
| CR:12 | Learning plan ID cannot be used. |
| CR:13 | The learning plan ID provided is not valid. |
## Related
- [Adding an Advanced Learning Plan](/adding-an-advanced-learning-plan.md)
- [API: getRole](/api-getrole.md)
- [API: listRoles](/api-listroles.md)
- [API: updateRole](/api-updaterole.md)
- [Assigning Certifications to a Learning Plan](/assigning-certifications-to-a-learning-plan.md)
- [Certifications](/certifications.md)
- [Learning Plan Automation](/learning-plan-automation.md)
- [Learning Plans](/learning-plans.md)