Example objects and operations
Example objects and operations for the 10Duke Entitlement Management Graph API.
Entitlement
Generic operations: POST, GET, PUT, DELETE
Add license consumer relations
Enables a user or members of a group to consume licenses of an entitlement.
POST /graph?operation=AddLicenseConsumerRelations
Parameters:
| Parameter | In | Type | Required | 
|---|---|---|---|
entitlementId: The id of the entitlement that owns the licenses | 
      query or form | UUID | true | 
profileGroupId: The id of a group whose members are granted rights to consuming the licenses | 
      query or form | UUID | false | 
profileId: The id of a user who is granted rights to consuming the licenses | 
      query or form | UUID | false | 
allowExistingRelation: A flag determining if this operation succeeds even if the relation to create already exists | 
      query or form | boolean | false | 
Remove license consumer relations
Removes license consumption rights from a user or members of a group.
POST /graph?operation=RemoveLicenseConsumerRelations
Parameters:
| Parameter | In | Type | Required | 
|---|---|---|---|
entitlementId: The id of the entitlement that owns the licenses | 
      query or form | UUID | true | 
profileGroupId: The id of a group whose members are denied rights to consuming licenses | 
      query or form | UUID | false | 
profileId: The id of a user who is denied rights to consuming the licenses | 
      query or form | UUID | false | 
allowAlreadyRemoved: A flag determining if this operation succeeds even if the relation to remove doesn’t exist | 
      query or form | boolean | false | 
Related objects:
- 
    
~OneToMany/License
 - 
    
~LicenseConsumerRelation/ProfileGroup
 - 
    
~LicenseConsumerRelation/Profile
 - 
    
~ManyToOne/Organization
 - 
    
~ManyToOne/Profile
 
Assignment
Generic operations: POST, GET, PUT, DELETE
Related objects:
- 
    
~OneToMany/Consumption
 - 
    
~ManyToOne/Profile
 - 
    
~ManyToOne/License
 
Consumption
Generic operations: POST, GET, PUT, DELETE
Related objects:
- ~ManyToOne/Assignment
 
License
Generic operations: POST, GET, PUT, DELETE
Move licenses
Moves a license from the current entitlement to another entitlement.
POST /graph/License[@id='LIC_ID']?operation=MoveLicenses
Parameters:
| Parameter | In | Type | Required | 
|---|---|---|---|
license selector: Selects one or more licenses to move. Example: /License[@id='8cd13682-7735-40dd-9f7f-8a6d35949eef'] | 
      path | Graph Selector | true | 
to: The id of the target entitlement, or a Graph Selector for selecting the target entitlement | 
      query or form | UUID or Graph Selector | true | 
create: A flag determining if a new entitlement is created if no entitlement found. The default is false. | 
      query or form | boolean | false | 
Create or update license assignments
Manages assignments that define how a license relates to a profile that is a potential consumer of the license.
POST /graph?operation=CreateOrUpdateAssignments
An assignment can describe that:
- 
    
The license is currently used by the profile (the user occupies a license seat) but can be released.
 - 
    
The license is reserved to the profile with a long-term reservation. This kind of a reservation reserves a license seat also when not actively consuming the license.
 - 
    
License consumption is denied from the profile, even when the profile belongs to a ProfileGroup for which the license has been granted.
 
Parameters:
| Parameter | In | Type | Required | 
|---|---|---|---|
createAssignment: A flag controlling if a new assignment is created, if an assignment doesn’t exist already | 
      query or form | boolean | false | 
profileId: The id of the profile for whom license assignment is managed | 
      query or form | UUID | true | 
licenseId: The id of the license to manage | 
      query or form | UUID | true | 
reservationType: The type of the reservation:- "" (empty string): Dynamically occupying a license seat, can be released- "reserved": A long-term reservation- "denied": Consumption denied | 
      query or form | string | false | 
validFrom: The assignment validity start time | 
      query or form | ISO date | false | 
validUntil: The assignment validity end time | 
      query or form | ISO date | false | 
Related objects:
- 
    
~ManyToOne/Entitlement
 - 
    
~ManyToOne/LicensedItem
 - 
    
~OneToMany/LicenseMetadata
 - 
    
~OneToMany/LicenseScope
 
LicensedItem
Generic operations:
POST, GET, PUT, DELETE
Related objects:
- 
    
~OneToMany/License
 - 
    
~Includes/LicensedItem
 - 
    
~ManyToMany/ProductPackage
 
LicenseScope
Generic operations: POST, GET, PUT, DELETE
Related objects:
- ~ManyToOne/License
 
LicenseMetadata
Generic operations: POST, GET, PUT, DELETE
Related objects:
- ~ManyToOne/License
 
ProductPackage
Generic operations: POST, GET, PUT, DELETE
Use a product package to grant licenses to an organization
Grants licenses to an organization.
POST /graph/ProductPackage[@id='PP_ID']?operation=InitializeOrganizationLicenses
Parameters:
| Parameter | In | Type | Required | 
|---|---|---|---|
product package selector: Selects a product package containing items for which licenses are granted | 
      path | Graph Selector | true | 
ownerOrganizationId: The id of the organization to own the granted licenses | 
      query or form | UUID | false | 
licensedItemCount: The number of license seats granted | 
      query or form | int | false | 
validFrom: The license validity period start time | 
      query or form | ISO date | false | 
validUntil: The license validity period end time | 
      query or form | ISO date | false | 
initializeForProfileGroupId: The id of a group, licenses are granted to the members of this group | 
      query or form | UUID | false | 
entitlementId: The id of the entitlement where the licenses are added | 
      query or form | UUID | false | 
externalReference: The reference to an external entity related to the granted licenses, for example, an order number | 
      query or form | string | false | 
clientData: A JSON string for any data specified by the caller when creating licenses | 
      query or form | JSON string | false | 
Use a product package to grant licenses to a user
Grants licenses to a user, as represented by a profile.
POST /graph/ProductPackage[@id='PP_ID']?operation=InitializePersonalLicenses
Parameters:
| Parameter | In | Type | Required | 
|---|---|---|---|
initializeForProfileId: The id of the user to own the granted licenses | 
      query or form | UUID | true | 
licensedItemCount: The number of license seats granted | 
      query or form | int | false | 
validFrom: The license validity period start time | 
      query or form | ISO date | false | 
validUntil: The license validity period end time | 
      query or form | ISO date | false | 
Related objects:
- LicensedItem
 
SeatCountCredit
Generic operations: POST, GET, PUT, DELETE
Related objects:
- ~ManyToOne/License
 
UseTimeCredit
Generic operations: POST, GET, PUT, DELETE
Related objects:
- ~ManyToOne/License