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