RamBase REST APIs
Creates a new role
This API version will stop working shortly. If your API client is still using this version, read more about how to start using the new version here.
| Latest version Version 16 | Released 11/28/2025. Creates a ROL instead of a ROT. Append the query parameter $useMinimumVersion=16 to start using this version. Click here for more information about this version. |
| This version Version 14 | Released 9/28/2023. Note that when this version expires, all clients will start using the latest version instead. |
| HTTP method | POST |
| URI | https://api.rambase.net/system/roles |
| Supported formats | Xml, Html, Json (ex. $format=json) |
| Successful HTTP status code | 201 |
| API resource identifier | 1916, version 14 |
The following body must be added to the request. Mouse over fieldnames for description and other useful information about the fields. Note that fields in bold are required/mandatory.
Name
Required/mandatory field
Name of the role
>{String}</Name>RequiredUserLevel
The user level required to have this role. Only user having the same level or higher can be assigned.
This field also controls which duties can be added to the role. Only duties with the same level or lower can be added.
User levels (highest level first): Administrator, Partner, User, Portal user
Applicable domain values can be found here
This field is optional.
>{Integer}</RequiredUserLevel>Name
Required/mandatory field
Name of the role
": "{String}",RequiredUserLevel
The user level required to have this role. Only user having the same level or higher can be assigned.
This field also controls which duties can be added to the role. Only duties with the same level or lower can be added.
User levels (highest level first): Administrator, Partner, User, Portal user
Applicable domain values can be found here
This field is optional.
": "{Integer}"The query string is placed after the resource URL, seperated with a questionmark (?). The query string is composed of a series of query parameters with values. See the page about query parameters on how to use these parameters.
| $access_token String, optional | After successful login you get an access token which needs to be provided in all API requests. Even though it is possible to pass this token as query parameter, we recommended passing it using the HTTP request header as described in Authorization. Note that all access tokens have an expiration time. |
| $db String, optional | Set the database/company for the request |
| $useMinimumVersion Integer, optional | Used to run a new version of an API resource when your API client is running a deprecated API resource. See the Breaking changes page for more information. |
| $showDomainDescriptions Boolean, optional | Set to "true" to include domain descriptions for fields using domain values. See the Domain values page for more information. Default value is false. |
| $lang String, optional | Specifies the language used in the response, following the 3-letter ISO-639-1 [lll] |
Read more about filters and sorting on how to use filter parameters and named filters.
Read more about filters and sorting on how to use sortable parameters
Requesting this resource will yield the following response. Mouse over fieldnames (or fieldgroups) for descriptions and other useful information about the fields.
Please note that some fields may be removed from the response, based on user roles/duties/permissions.
RoleId
Role identifier
>{Integer}</RoleId>Name
Name of the role
>{String}</Name>Description
Description of the role
>{String}</Description>Type
Role by company level (DB) or organizational unit (ORG)
Possible domain values can be found here
>{Integer}</Type>RequiredUserLevel
The user level required to have this role. Only user having the same level or higher can be assigned.
This field also controls which duties can be added to the role. Only duties with the same level or lower can be added.
User levels (highest level first): Administrator, Partner, User, Portal user
Possible domain values can be found here
>{Integer}</RequiredUserLevel>TemplateSynchronizationMode
How role should be synchronized with role template
0 - No sync
1 - Automatically
Possible domain values can be found here
>{Integer}</TemplateSynchronizationMode>RoleTemplateId
Role template identifier
>{Integer}</RoleTemplateId>Name
Name of the role
>{String}</Name>RoleTemplateLink
Role template reference
>{String}</RoleTemplateLink>RoleId
Role identifier
": "{Integer}",Status
Status of the role
Possible domain values can be found here
": "{Integer}",Name
Name of the role
": "{String}",Description
Description of the role
": "{String}",Type
Role by company level (DB) or organizational unit (ORG)
Possible domain values can be found here
": "{Integer}",RequiredUserLevel
The user level required to have this role. Only user having the same level or higher can be assigned.
This field also controls which duties can be added to the role. Only duties with the same level or lower can be added.
User levels (highest level first): Administrator, Partner, User, Portal user
Possible domain values can be found here
": "{Integer}",TemplateSynchronizationMode
How role should be synchronized with role template
0 - No sync
1 - Automatically
Possible domain values can be found here
": "{Integer}",RoleTemplateId
Role template identifier
": "{Integer}",Name
Name of the role
": "{String}",RoleTemplateLink
Role template reference
": "{String}"
List of available operations/actions for this resource.
See the operations documentation for more information about API operations.
Possible error codes the response might return:
| Error 101015 HTTP 404 | Permission not found |
| Error 101079 HTTP 400 | Mismatch in size of revision parameters |
| Error 100363 HTTP 400 | Role with name {0} already exists |
| Error 104721 HTTP 403 | The role has duties with user level that is not allowed for the new user level specified on the role |
| Error 104722 HTTP 403 | The role has users with user level that is not allowed for the new user level specified on the role |