Skip to main content
Skip table of contents

Create new Role

The Create new Role operation creates a new role in Keycloak. The data is defined in the input XML expected by the adapter.

Input XML

XML
<?xml version="1.0" encoding="UTF-8"?>
<Role>
	<Name></Name>
	<Description></Description>
	<Composite></Composite>
	<ContainerId></ContainerId>
	<Attributes>
		<Attribute>
			<Name></Name>
			<Values>
				<Value></Value>
			</Values>
		</Attribute>
	</Attributes>
</Role>

Role

ElementDescriptionPossible values
RoleRole definition

The element contains the following elements:

  • Name
  • Description optional
  • Composite optional
  • ContainerId
  • Attributes (optional)
NameName of the roleAny string
DescriptionDescription of the roleAny string
CompositeSpecification of whether the role is a composite role
  • true: The role is a composite role.
  • false: The role is not a composite role. (Default)
ContainerIdName of the RealmAny string
Attributes

Personalized, configurable attributes

The element contains the following elements:

  • Attribute (Multiple declaration possible)

Attributes

ElementDescription
AttributesPersonalized, configurable attributes

The element contains the following elements:

  • Attribute (Multiple declaration possible)
Attribute

Personalized, configurable attribute

The element contains the following elements:

  • Name
  • Values
NameAttribute nameAny string
Values

Attribute values

The element contains the following elements:

  • Value (Multiple declaration possible)
ValueAttribute valueAny string

XSD

XML
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:element name="Role">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Name"/>
        <xs:element ref="Description"/>
        <xs:element ref="Composite"/>
        <xs:element ref="ContainerId"/>
        <xs:element ref="Attributes"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Description" type="xs:string"/>
  <xs:element name="Composite" type="xs:boolean"/>
  <xs:element name="ContainerId" type="xs:NCName"/>
  <xs:element name="Attributes">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="Attribute"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Attribute">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Name"/>
        <xs:element ref="Values"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Values">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="Value"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Value" type="xs:string"/>
  <xs:element name="Name" type="xs:string"/>
</xs:schema>

Example

Input

XML
<?xml version="1.0" encoding="UTF-8"?>
<Role>
	<Name>Developer</Name>
	<Description>Software Developer</Description>
	<Composite>false</Composite>
	<ContainerId>exampleRealm</ContainerId>
	<Attributes>
		<Attribute>
			<Name>Team</Name>
			<Values>
				<Value>Blue</Value>
				<Value>Red</Value>
			</Values>
		</Attribute>
	</Attributes>
</Role>
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.