Permissions

TFS 2017 | TFS 2015 | TFS 2013

Note

Looking for REST APIS that support TFS 2018 or later versions? See the Azure DevOps REST API Reference.

api-version = 2.0-preview.1

This API in preview. Learn more

Get permissions for a feed

GET https://{account}.Feeds.VisualStudio.com/DefaultCollection/_apis/packaging/feeds/{feed}/Permissions?api-version={version}
Parameter Type Notes
URL
account string VSTS organization.
feed string Name or ID of the feed.
Query
api-version string Version of the API to use.

Sample request

GET https://mytfsserver/DefaultCollection/_apis/packaging/feeds/EngineeringInternal/permissions?api-version=2.0-preview.1

Sample response

{
  "count": 3,
  "value": [
    {
      "role": "administrator",
      "identityDescriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-2520422648-1909688902-2986275227-4210569620-1-653012555-3795782475-2724694617-2471557501"
    },
    {
      "role": "contributor",
      "identityDescriptor": "Microsoft.TeamFoundation.ServiceIdentity;185a8d6e-60c1-4b69-9ca6-ed9dcbbfa941:Build:6cb12e9f-c433-4ae5-9c34-553955d1a530"
    },
    {
      "role": "reader",
      "identityDescriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-2712299484-177020235-2467464201-2866546392-1-2139524724-1218764870-2465287707-3992568220"
    }
  ]
}

Update permissions for a feed

PATCH https://{account}.Feeds.VisualStudio.com/DefaultCollection/_apis/packaging/feeds/{feed}/Permissions?api-version={version}
Parameter Type Notes
URL
account string VSTS organization.
feed string Name or ID of feed to be updated
Query
api-version string Version of the API to use.
Body
role enum 4 = owner, 3 = contributor, 2 = reader
identityDescriptor string Identity descriptor receiving an access level

Sample request

PATCH https://mytfsserver/DefaultCollection/_apis/packaging/feeds/EngineeringInternal/permissions?api-version=2.0-preview.1
[
  {
    "role": 3,
    "identityDescriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-2520422648-1909688902-2986275227-4210569620-1-653012555-3795782475-2724694617-2471557501"
  }
]

Sample response

{
  "count": 1,
  "value": [
    {
      "role": "contributor",
      "identityDescriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-2520422648-1909688902-2986275227-4210569620-1-653012555-3795782475-2724694617-2471557501"
    }
  ]
}

Get Package Management permissions

GET https://{account}.Feeds.VisualStudio.com/DefaultCollection/_apis/packaging/globalpermissions?api-version={version}
Parameter Type Notes
URL
account string VSTS organization.
Query
api-version string Version of the API to use.

Sample request

GET https://mytfsserver/DefaultCollection/_apis/packaging/globalpermissions?api-version=2.0-preview.1

Sample response

{
  "count": 2,
  "value": [
    {
      "role": "none",
      "identityDescriptor": "Microsoft.IdentityModel.Claims.ClaimsIdentity;00000030-0000-8888-8000-000000000000@2c895908-04e0-4952-89fd-54b0046d6288"
    },
    {
      "role": "FeedCreator",
      "identityDescriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1"
    }
  ]
}

Update Package Management permissions

PATCH https://{account}.Feeds.VisualStudio.com/DefaultCollection/_apis/packaging/globalpermissions?api-version={version}
Parameter Type Notes
URL
account string VSTS organization.
Query
api-version string [Version/azure/devops/integrate/concepts/rest-api-versioning) of the API to use.
Body
role enum 2 = FeedCreator, 1 = None
identityDescriptor string Identity descriptor receiving an access level

Sample request

PATCH https://mytfsserver/DefaultCollection/_apis/packaging/globalpermissions?api-version=2.0-preview.1
[
  {
    "identityDescriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-3",
    "role": 2
  },
  {
    "identityDescriptor": "Microsoft.IdentityModel.Claims.ClaimsIdentity;afd9e15b-cb4a-4adb-931b-8cc520a03c36",
    "role": 1
  }
]

Sample response

{
  "count": 2,
  "value": [
    {
      "role": "none",
      "identityDescriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1"
    },
    {
      "role": "feedCreator",
      "identityDescriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-3"
    }
  ]
}

Grant and remove permissions to 'Everyone'

In order to allow or deny everyone access to create feeds, you'll need to use the special identityDescriptor that represents the Everyone group:

Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-3

The previous sample request would grant permissions to everyone. Use a request similar to the following to remove permission from Everyone, so only Project Collection Administrators are able to create feeds:

Sample request

PATCH https://mytfsserver/DefaultCollection/_apis/packaging/globalpermissions?api-version=2.0-preview.1
[
  {
    "identityDescriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-3",
    "role": 1
  }
]

Sample response

{
  "count": 2,
  "value": [
    {
      "role": "none",
      "identityDescriptor": "Microsoft.IdentityModel.Claims.ClaimsIdentity;00000030-0000-8888-8000-000000000000@2c895908-04e0-4952-89fd-54b0046d6288"
    },
    {
      "role": "none",
      "identityDescriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1"
    }
  ]
}