API

RamBase REST APIs

POST system/roles

Creates a new role

This is a deprecated API version

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.

Format:
1
<Role>
2
     <Name
Name

Required/mandatory field

Name of the role

>
{String}</Name>
3
     <RequiredUserLevel
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>
4
</Role>
1
{
2
     "role": {
3
          "name
Name

Required/mandatory field

Name of the role

":
"{String}",
4
          "requiredUserLevel
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}"
5
     }
6
}

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.

Format:
1
<Role>
2
     <RoleId
RoleId

Role identifier

>
{Integer}</RoleId>
3
     <Status
Status

Status of the role

Possible domain values can be found here

>
{Integer}</Status>
4
     <Name
Name

Name of the role

>
{String}</Name>
5
     <Description
Description

Description of the role

>
{String}</Description>
6
     <Type
Type

Role by company level (DB) or organizational unit (ORG)

Possible domain values can be found here

>
{Integer}</Type>
7
     <RequiredUserLevel
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>
8
     <TemplateSynchronizationMode
TemplateSynchronizationMode

How role should be synchronized with role template
0 - No sync
1 - Automatically

Possible domain values can be found here

>
{Integer}</TemplateSynchronizationMode>
9
     <SourceTemplate>
10
          <RoleTemplateId
RoleTemplateId

Role template identifier

>
{Integer}</RoleTemplateId>
11
          <Name
Name

Name of the role

>
{String}</Name>
12
          <RoleTemplateLink
RoleTemplateLink

Role template reference

>
{String}</RoleTemplateLink>
13
     </SourceTemplate>
14
</Role>
1
{
2
     "role": {
3
          "roleId
RoleId

Role identifier

":
"{Integer}",
4
          "status
Status

Status of the role

Possible domain values can be found here

":
"{Integer}",
5
          "name
Name

Name of the role

":
"{String}",
6
          "description
Description

Description of the role

":
"{String}",
7
          "type
Type

Role by company level (DB) or organizational unit (ORG)

Possible domain values can be found here

":
"{Integer}",
8
          "requiredUserLevel
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}",
9
          "templateSynchronizationMode
TemplateSynchronizationMode

How role should be synchronized with role template
0 - No sync
1 - Automatically

Possible domain values can be found here

":
"{Integer}",
10
          "sourceTemplate": {
11
               "roleTemplateId
RoleTemplateId

Role template identifier

":
"{Integer}",
12
               "name
Name

Name of the role

":
"{String}",
13
               "roleTemplateLink
RoleTemplateLink

Role template reference

":
"{String}"
14
          }
15
     }
16
}

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