Azure Devops Member Entitlement Management (version v1.*.*)

Group Entitlements_Add#

Create a group entitlement with license rule, extension rule.

Parameters

api-version (required)#

Version of the API to use. This should be set to '6.1-preview.1' to use this version of the api.

Type: string

organization (required)#

The name of the Azure DevOps organization.

Type: string

$body#

GroupEntitlement object specifying License Rule, Extensions Rule for the group. Based on the rules the members of the group will be given licenses and extensions. The Group Entitlement can be used to add the group to another project level groups

Type: object

{
"licenseRule" : {
"assignmentSource" : "Assignment Source of the License (e.g. Group, Unknown etc.",
"licenseDisplayName" : "Display name of the License",
"accountLicenseType" : "Type of Account License (e.g. Express, Stakeholder etc.)",
"msdnLicenseType" : "Type of MSDN License (e.g. Visual Studio Professional, Visual Studio Enterprise etc.)",
"statusMessage" : "Status message.",
"licensingSource" : "Licensing Source (e.g. Account. MSDN etc.)",
"status" : "User status in the account"
},
"members" : [ {
"dateCreated" : "[Readonly] Date the user was added to the collection.",
"accessLevel" : {
"assignmentSource" : "Assignment Source of the License (e.g. Group, Unknown etc.",
"licenseDisplayName" : "Display name of the License",
"accountLicenseType" : "Type of Account License (e.g. Express, Stakeholder etc.)",
"msdnLicenseType" : "Type of MSDN License (e.g. Visual Studio Professional, Visual Studio Enterprise etc.)",
"statusMessage" : "Status message.",
"licensingSource" : "Licensing Source (e.g. Account. MSDN etc.)",
"status" : "User status in the account"
},
"lastAccessedDate" : "[Readonly] Date the user last accessed the collection.",
"id" : "The unique identifier which matches the Id of the Identity associated with the GraphMember.",
"projectEntitlements" : [ {
"teamRefs" : [ {
"name" : "Team Name",
"id" : "Team ID"
} ],
"assignmentSource" : "Assignment Source (e.g. Group or Unknown).",
"projectPermissionInherited" : "Whether the user is inheriting permissions to a project through a Azure DevOps or AAD group membership.",
"projectRef" : {
"name" : "Project Name.",
"id" : "Project ID."
},
"group" : {
"groupType" : "Group Type",
"displayName" : "Display Name of the Group"
}
} ],
"user" : {
"_links" : {
"links" : "The readonly view of the links. Because Reference links are readonly, we only want to expose them as read only."
},
"displayName" : "This is the non-unique display name of the graph subject. To change this field, you must alter its value in the source provider.",
"descriptor" : "The descriptor is the primary way to reference the graph subject while the system is running. This field will uniquely identify the same graph subject across both Accounts and Organizations.",
"url" : "This url is the full route to the source resource of this graph subject."
},
"groupAssignments" : [ "GroupEntitlement" ]
} ],
"id" : "The unique identifier which matches the Id of the GraphMember.",
"projectEntitlements" : [ {
"teamRefs" : [ {
"name" : "Team Name",
"id" : "Team ID"
} ],
"assignmentSource" : "Assignment Source (e.g. Group or Unknown).",
"projectPermissionInherited" : "Whether the user is inheriting permissions to a project through a Azure DevOps or AAD group membership.",
"projectRef" : {
"name" : "Project Name.",
"id" : "Project ID."
},
"group" : {
"groupType" : "Group Type",
"displayName" : "Display Name of the Group"
}
} ],
"lastExecuted" : "[Readonly] The last time the group licensing rule was executed (regardless of whether any changes were made).",
"group" : {
"_links" : {
"links" : "The readonly view of the links. Because Reference links are readonly, we only want to expose them as read only."
},
"displayName" : "This is the non-unique display name of the graph subject. To change this field, you must alter its value in the source provider.",
"descriptor" : "The descriptor is the primary way to reference the graph subject while the system is running. This field will uniquely identify the same graph subject across both Accounts and Organizations.",
"url" : "This url is the full route to the source resource of this graph subject."
},
"status" : "The status of the group rule."
}

ruleOption#

RuleOption [ApplyGroupRule/TestApplyGroupRule] - specifies if the rules defined in group entitlement should be created and applied to it’s members (default option) or just be tested

Type: string

Potential values: applyGroupRule, testApplyGroupRule

Group Entitlements_Delete#

Delete a group entitlement.

Parameters

api-version (required)#

Version of the API to use. This should be set to '6.1-preview.1' to use this version of the api.

Type: string

groupId (required)#

ID of the group to delete.

Type: uuid

organization (required)#

The name of the Azure DevOps organization.

Type: string

removeGroupMembership#

Optional parameter that specifies whether the group with the given ID should be removed from all other groups

Type: boolean

ruleOption#

RuleOption [ApplyGroupRule/TestApplyGroupRule] - specifies if the rules defined in group entitlement should be deleted and the changes are applied to it’s members (default option) or just be tested

Type: string

Potential values: applyGroupRule, testApplyGroupRule

Group Entitlements_Get#

Get a group entitlement.

If the group entitlement does not exist, returns null.

Parameters

api-version (required)#

Version of the API to use. This should be set to '6.1-preview.1' to use this version of the api.

Type: string

groupId (required)#

ID of the group.

Type: uuid

organization (required)#

The name of the Azure DevOps organization.

Type: string

Group Entitlements_List#

Get the group entitlements for an account.

Parameters

api-version (required)#

Version of the API to use. This should be set to '6.1-preview.1' to use this version of the api.

Type: string

organization (required)#

The name of the Azure DevOps organization.

Type: string

Group Entitlements_Update#

Update entitlements (License Rule, Extensions Rule, Project memberships etc.) for a group.

Parameters

api-version (required)#

Version of the API to use. This should be set to '6.1-preview.1' to use this version of the api.

Type: string

groupId (required)#

ID of the group.

Type: uuid

organization (required)#

The name of the Azure DevOps organization.

Type: string

$body#

JsonPatchDocument containing the operations to perform on the group.

Type: object

{ }

ruleOption#

RuleOption [ApplyGroupRule/TestApplyGroupRule] - specifies if the rules defined in group entitlement should be updated and the changes are applied to it’s members (default option) or just be tested

Type: string

Potential values: applyGroupRule, testApplyGroupRule

Members_Add#

Add a member to a Group.

Parameters

api-version (required)#

Version of the API to use. This should be set to '6.1-preview.1' to use this version of the api.

Type: string

groupId (required)#

Id of the Group.

Type: uuid

memberId (required)#

Id of the member to add.

Type: uuid

organization (required)#

The name of the Azure DevOps organization.

Type: string

Members_Get#

Get direct members of a Group.

Parameters

api-version (required)#

Version of the API to use. This should be set to '6.1-preview.1' to use this version of the api.

Type: string

groupId (required)#

Id of the Group.

Type: uuid

organization (required)#

The name of the Azure DevOps organization.

Type: string

maxResults#

Maximum number of results to retrieve.

Type: integer

pagingToken#

Paging Token from the previous page fetched. If the 'pagingToken' is null, the results would be fetched from the beginning of the Members List.

Type: string

Members_Remove Member From Group#

Remove a member from a Group.

Parameters

api-version (required)#

Version of the API to use. This should be set to '6.1-preview.1' to use this version of the api.

Type: string

groupId (required)#

Id of the group.

Type: uuid

memberId (required)#

Id of the member to remove.

Type: uuid

organization (required)#

The name of the Azure DevOps organization.

Type: string

User Entitlement Summary_Get#

Get summary of Licenses, Extension, Projects, Groups and their assignments in the collection.

Parameters

api-version (required)#

Version of the API to use. This should be set to '6.1-preview.1' to use this version of the api.

Type: string

organization (required)#

The name of the Azure DevOps organization.

Type: string

select#

Comma (",") separated list of properties to select. Supported property names are {AccessLevels, Licenses, Projects, Groups}.

Type: string

User Entitlements_Add#

Add a user, assign license and extensions and make them a member of a project group in an account.

Parameters

api-version (required)#

Version of the API to use. This should be set to '6.1-preview.3' to use this version of the api.

Type: string

organization (required)#

The name of the Azure DevOps organization.

Type: string

$body#

UserEntitlement object specifying License, Extensions and Project/Team groups the user should be added to.

Type: object

{
"dateCreated" : "[Readonly] Date the user was added to the collection.",
"accessLevel" : {
"assignmentSource" : "Assignment Source of the License (e.g. Group, Unknown etc.",
"licenseDisplayName" : "Display name of the License",
"accountLicenseType" : "Type of Account License (e.g. Express, Stakeholder etc.)",
"msdnLicenseType" : "Type of MSDN License (e.g. Visual Studio Professional, Visual Studio Enterprise etc.)",
"statusMessage" : "Status message.",
"licensingSource" : "Licensing Source (e.g. Account. MSDN etc.)",
"status" : "User status in the account"
},
"lastAccessedDate" : "[Readonly] Date the user last accessed the collection.",
"id" : "The unique identifier which matches the Id of the Identity associated with the GraphMember.",
"projectEntitlements" : [ {
"teamRefs" : [ {
"name" : "Team Name",
"id" : "Team ID"
} ],
"assignmentSource" : "Assignment Source (e.g. Group or Unknown).",
"projectPermissionInherited" : "Whether the user is inheriting permissions to a project through a Azure DevOps or AAD group membership.",
"projectRef" : {
"name" : "Project Name.",
"id" : "Project ID."
},
"group" : {
"groupType" : "Group Type",
"displayName" : "Display Name of the Group"
}
} ],
"user" : {
"_links" : {
"links" : "The readonly view of the links. Because Reference links are readonly, we only want to expose them as read only."
},
"displayName" : "This is the non-unique display name of the graph subject. To change this field, you must alter its value in the source provider.",
"descriptor" : "The descriptor is the primary way to reference the graph subject while the system is running. This field will uniquely identify the same graph subject across both Accounts and Organizations.",
"url" : "This url is the full route to the source resource of this graph subject."
},
"groupAssignments" : [ {
"licenseRule" : {
"assignmentSource" : "Assignment Source of the License (e.g. Group, Unknown etc.",
"licenseDisplayName" : "Display name of the License",
"accountLicenseType" : "Type of Account License (e.g. Express, Stakeholder etc.)",
"msdnLicenseType" : "Type of MSDN License (e.g. Visual Studio Professional, Visual Studio Enterprise etc.)",
"statusMessage" : "Status message.",
"licensingSource" : "Licensing Source (e.g. Account. MSDN etc.)",
"status" : "User status in the account"
},
"members" : [ "UserEntitlement" ],
"id" : "The unique identifier which matches the Id of the GraphMember.",
"projectEntitlements" : [ {
"teamRefs" : [ {
"name" : "Team Name",
"id" : "Team ID"
} ],
"assignmentSource" : "Assignment Source (e.g. Group or Unknown).",
"projectPermissionInherited" : "Whether the user is inheriting permissions to a project through a Azure DevOps or AAD group membership.",
"projectRef" : {
"name" : "Project Name.",
"id" : "Project ID."
},
"group" : {
"groupType" : "Group Type",
"displayName" : "Display Name of the Group"
}
} ],
"lastExecuted" : "[Readonly] The last time the group licensing rule was executed (regardless of whether any changes were made).",
"group" : {
"_links" : {
"links" : "The readonly view of the links. Because Reference links are readonly, we only want to expose them as read only."
},
"displayName" : "This is the non-unique display name of the graph subject. To change this field, you must alter its value in the source provider.",
"descriptor" : "The descriptor is the primary way to reference the graph subject while the system is running. This field will uniquely identify the same graph subject across both Accounts and Organizations.",
"url" : "This url is the full route to the source resource of this graph subject."
},
"status" : "The status of the group rule."
} ]
}

User Entitlements_Delete#

Delete a user from the account.

The delete operation includes unassigning Extensions and Licenses and removing the user from all project memberships.
The user would continue to have access to the account if she is member of an AAD group, that is added directly to the account.

Parameters

api-version (required)#

Version of the API to use. This should be set to '6.1-preview.3' to use this version of the api.

Type: string

organization (required)#

The name of the Azure DevOps organization.

Type: string

userId (required)#

ID of the user.

Type: uuid

User Entitlements_Get#

Get User Entitlement for a user.

Parameters

api-version (required)#

Version of the API to use. This should be set to '6.1-preview.3' to use this version of the api.

Type: string

organization (required)#

The name of the Azure DevOps organization.

Type: string

userId (required)#

ID of the user.

Type: uuid

User Entitlements_Search User Entitlements#

Get a paged set of user entitlements matching the filter and sort criteria built with properties that match the select input.

Parameters

api-version (required)#

Version of the API to use. This should be set to '6.1-preview.3' to use this version of the api.

Type: string

organization (required)#

The name of the Azure DevOps organization.

Type: string

$filter#

Equality operators relating to searching user entitlements seperated by and clauses. Valid filters include: licenseId, licenseStatus, userType, and name. licenseId: filters based on license assignment using license names. i.e. licenseId eq 'Account-Stakeholder' or licenseId eq 'Account-Express'. licenseStatus: filters based on license status. currently only supports disabled. i.e. licenseStatus eq 'Disabled'. To get disabled basic licenses, you would pass (licenseId eq 'Account-Express' and licenseStatus eq 'Disabled') userType: filters off identity type. Suppored types are member or guest i.e. userType eq 'member'. name: filters on if the user's display name or email contians given input. i.e. get all users with "test" in email or displayname is "name eq 'test'". A valid query could be: (licenseId eq 'Account-Stakeholder' or (licenseId eq 'Account-Express' and licenseStatus eq 'Disabled')) and name eq 'test' and userType eq 'guest'.

Type: string

$orderBy#

PropertyName and Order (separated by a space ( )) to sort on (e.g. lastAccessed desc). Order defaults to ascending. valid properties to order by are dateCreated, lastAccessed, and name

Type: string

continuationToken#

Continuation token for getting the next page of data set. If null is passed, gets the first page.

Type: string

select#

Comma (",") separated list of properties to select in the result entitlements. names of the properties are - 'Projects, 'Extensions' and 'Grouprules'.

Type: string

Potential values: license, extensions, projects, groupRules, all

User Entitlements_Update User Entitlement#

Edit the entitlements (License, Extensions, Projects, Teams etc) for a user.

Parameters

api-version (required)#

Version of the API to use. This should be set to '6.1-preview.3' to use this version of the api.

Type: string

organization (required)#

The name of the Azure DevOps organization.

Type: string

userId (required)#

ID of the user.

Type: uuid

$body#

JsonPatchDocument containing the operations to perform on the user.

Type: object

{ }

User Entitlements_Update User Entitlements#

Edit the entitlements (License, Extensions, Projects, Teams etc) for one or more users.

Parameters

api-version (required)#

Version of the API to use. This should be set to '6.1-preview.3' to use this version of the api.

Type: string

organization (required)#

The name of the Azure DevOps organization.

Type: string

$body#

JsonPatchDocument containing the operations to perform.

Type: object

{ }

doNotSendInviteForNewUsers#

Whether to send email invites to new users or not

Type: boolean