In Itslearning there are no Membership objects, but as IMS-ES does work with them, they have some impact on the IMS-ES Template. Simply put a Membership defines the relation between a User and a group (Hierarchy or Course). So if you want to add a User to a Hierarchy, in IMS-ES you will have to create a Membership. Or if you want to remove a User from a Hierarchy, you will have to find the Membership that defines that relation, and delete it. Memberships are also used to set the home organisation of Users.

Memberships in IMS-ES are defined by an unique identifier, and this is also the only way to retrieve / delete a membership. And these identifiers cannot be retrieved through Itslearning itself. Therefore the IMS-ES Template made some restrictions on memberships.

  1. You can only update / delete Memberships that have been created through IMS-ES.
  2. When creating a new Membership either the identifier created automatically (by combining the User synckey and Hierarchy syncid), or you can provide a custom identifier.
    (because this identifier is max 255 characters, if the combined length of the User synckey and Hierarchy syncid is longer than that, a custom identifier should always be provided!)
  3. Of course when a custom identifier was used for creating a Membership, it also has to be used for updating that Membership.

Membership Pair

With creating multiple Memberships, it can be a hassle to check which user belongs to with Hierarchy and role. Therefore these memberships are contained in a custom object, a MembershipPair. A MembershipPair has the following properties:

  • UserSyncKey
  • HierarchySyncId
  • Role



In the IMS-ES Template the following functions are connected to a Hierarchy: (some of these functions are overloaded with different parameters, these are explained in the definitions later on).

  • CreateMembership
  • CreateMemberships
  • UpdateMembership
  • UpdateMemberships
  • SetHomeOrganisation
  • SetHomeOrganisations
  • DeleteMembership
  • DeleteMemberships