Groups

A group is a collection of items available to a specific set of users in the portal.

Working with groups

Groups are used to organize and share items and define which users can access and view specified content. You can create groups of hosted layers, web maps, or any other item type. Or you can create a group and add users to it, allowing them to collaborate and share items within the group.

The typical workflow for using groups is to:

  1. Define a group in the portal.
  2. Add items the group.
  3. Add users to the group.
  4. Manage the group properties.

Examples

Search for a group

Find a one or more groups in the portal using a query.

APIs

ArcGIS REST JSArcGIS JS APIArcGIS Python APIArcGIS iOS API
      
1
2
3
4
5
6
import { searchGroups } from "@esri/arcgis-rest-portal"
// Find groups with text
searchGroups("water", {portal: "https://www.arcgis.com/sharing/rest"})
  .then((response)=>{
    console.log(response);
  });

REST API

RequestResponse
   
1
2
3
curl https://www.arcgis.com/sharing/rest/community/groups \
-d 'q=water' \
-d 'f=pjson'
                                                                                                                                                                                                                                                                                                                                                                                     
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
{
  "query": "water",
  "total": 3206,
  "start": 1,
  "num": 10,
  "nextStart": 11,
  "results": [
    {
      "id": "b2e2fce2ab304ff38c27b811b1784b23",
      "title": "Wyoming WRDS WDO - Water",
      "isInvitationOnly": true,
      "owner": "wrds_wdo",
      "description": null,
      "snippet": "WRDS - WDO Water Resources-related datasets",
      "tags": [
        "Wyoming",
        "Water",
        "WRDS",
        "WDO"
      ],
      "typeKeywords": [],
      "phone": null,
      "sortField": "title",
      "sortOrder": "asc",
      "isViewOnly": false,
      "isOpenData": true,
      "thumbnail": null,
      "created": 1513633253000,
      "modified": 1513701386000,
      "access": "public",
      "capabilities": [],
      "isFav": false,
      "isReadOnly": false,
      "protected": true,
      "autoJoin": false,
      "notificationsEnabled": false,
      "provider": null,
      "providerGroupName": null,
      "leavingDisallowed": false,
      "hiddenMembers": false,
      "displaySettings": {"itemTypes": ""}
    },
    {
      "id": "0ba26bd2ed5f43ec9ad69df7cd66484b",
      "title": "Wyoming WRDS WDO - All",
      "isInvitationOnly": true,
      "owner": "wrds_wdo",
      "description": null,
      "snippet": "WRDS - WDO All datasets",
      "tags": [
        "Wyoming",
        "Water",
        "WRDS",
        "WDO"
      ],
      "typeKeywords": [],
      "phone": null,
      "sortField": "title",
      "sortOrder": "asc",
      "isViewOnly": false,
      "isOpenData": true,
      "thumbnail": null,
      "created": 1513701256000,
      "modified": 1513701375000,
      "access": "public",
      "capabilities": [],
      "isFav": false,
      "isReadOnly": false,
      "protected": true,
      "autoJoin": false,
      "notificationsEnabled": false,
      "provider": null,
      "providerGroupName": null,
      "leavingDisallowed": false,
      "hiddenMembers": false,
      "displaySettings": {"itemTypes": ""}
    },
    {
      "id": "7ffee8bae5824ceba1fa378577dc6b3c",
      "title": "NWWSD",
      "isInvitationOnly": false,
      "owner": "etylerNwwsd",
      "description": "This group contains maps created by NWWSD GIS staff.",
      "snippet": "This is the Northwestern Water & Sewer Districts GIS Group",
      "tags": [
        "nwwsd",
        "sewer",
        "water",
        "District",
        "Engineering",
        "Operations",
        "Wood County",
        "GIS",
        "Maps"
      ],
      "typeKeywords": [],
      "phone": null,
      "sortField": "title",
      "sortOrder": "asc",
      "isViewOnly": false,
      "thumbnail": "nwwsd_logo3.png",
      "created": 1354569508000,
      "modified": 1438608868000,
      "access": "public",
      "capabilities": [],
      "isFav": false,
      "isReadOnly": false,
      "protected": false,
      "autoJoin": false,
      "notificationsEnabled": false,
      "provider": null,
      "providerGroupName": null,
      "leavingDisallowed": false,
      "hiddenMembers": false,
      "displaySettings": {"itemTypes": ""}
    },
    {
      "id": "e6da0d28ee234622a3a000f92d7f545c",
      "title": "HIFLD Open GP - Transportation: Water",
      "isInvitationOnly": true,
      "owner": "kiersten.hudson_geoplatform",
      "description": null,
      "snippet": "Water Transportation group for HIFLD Open",
      "tags": ["Transportation Water"],
      "typeKeywords": [],
      "phone": null,
      "sortField": "title",
      "sortOrder": "asc",
      "isViewOnly": true,
      "isOpenData": true,
      "thumbnail": "thumbnail_ago_downloaded.png",
      "created": 1499359427000,
      "modified": 1585333401000,
      "access": "public",
      "capabilities": [],
      "isFav": false,
      "isReadOnly": false,
      "protected": true,
      "autoJoin": false,
      "notificationsEnabled": false,
      "provider": null,
      "providerGroupName": null,
      "leavingDisallowed": false,
      "hiddenMembers": false,
      "displaySettings": {"itemTypes": ""}
    },
    {
      "id": "1593445fc84641248cb43b9e46ae0c9c",
      "title": "Ballston Emergency Management Committee",
      "isInvitationOnly": false,
      "owner": "DennisLEMC",
      "description": "ArcGIS Online Emergency Management Committee - Homepage - Quicklinks to content",
      "snippet": "Town of Ballston Emergency Management Committee ",
      "tags": ["water"],
      "typeKeywords": [],
      "phone": null,
      "sortField": "modified",
      "sortOrder": "desc",
      "isViewOnly": false,
      "thumbnail": "thumbnail.png",
      "created": 1503508596000,
      "modified": 1527802172000,
      "access": "public",
      "capabilities": [],
      "isFav": false,
      "isReadOnly": false,
      "protected": true,
      "autoJoin": true,
      "notificationsEnabled": false,
      "provider": null,
      "providerGroupName": null,
      "leavingDisallowed": false,
      "hiddenMembers": false,
      "displaySettings": {"itemTypes": ""}
    },
    {
      "id": "ea4334e2d852444498ba67c858361be2",
      "title": "DSW - Surface Water",
      "isInvitationOnly": true,
      "owner": "dwhiteoepa",
      "description": "Maps, layers and mapping applications for the Division of Surface Water at Ohio EPA.",
      "snippet": "Maps, layers and mapping applications for the Division of Surface Water at Ohio EPA.",
      "tags": [
        "water quality",
        "Surface Water",
        "Water quality monitoring",
        "DSW"
      ],
      "typeKeywords": [],
      "phone": null,
      "sortField": "title",
      "sortOrder": "asc",
      "isViewOnly": false,
      "thumbnail": "thumbnail1544733240434.png",
      "created": 1458935306000,
      "modified": 1545228222000,
      "access": "public",
      "capabilities": [],
      "isFav": false,
      "isReadOnly": false,
      "protected": false,
      "autoJoin": false,
      "notificationsEnabled": false,
      "provider": null,
      "providerGroupName": null,
      "leavingDisallowed": false,
      "hiddenMembers": false,
      "displaySettings": {"itemTypes": ""}
    },
    {
      "id": "b468342a72fe4f27b11ae483a9aa967b",
      "title": "Kern Water Bank - GIS",
      "isInvitationOnly": false,
      "owner": "MandaKWB",
      "description": "This is the Kern Water Bank Authorities GIS Group.",
      "snippet": "Kern Water Bank GIS",
      "tags": ["KWB"],
      "typeKeywords": [],
      "phone": null,
      "sortField": "modified",
      "sortOrder": "desc",
      "isViewOnly": true,
      "thumbnail": "Greater_Yellowlegs__F11a.jpg",
      "created": 1447708754000,
      "modified": 1474992230000,
      "access": "public",
      "capabilities": [],
      "isFav": false,
      "isReadOnly": false,
      "protected": false,
      "autoJoin": false,
      "notificationsEnabled": false,
      "provider": null,
      "providerGroupName": null,
      "leavingDisallowed": false,
      "hiddenMembers": false,
      "displaySettings": {"itemTypes": ""}
    },
    {
      "id": "5af6357ba72e48e6b2f1959dfca1cbb2",
      "title": "Wyoming GeoHub - All Data",
      "isInvitationOnly": false,
      "owner": "wygisc_info",
      "description": "All Data",
      "snippet": "This group will be all the data that is available in Pathfinder.",
      "tags": [
        "cadastral",
        "cultural",
        "geological",
        "geophysical",
        "administrative",
        "political",
        "boundaries",
        "agriculture",
        "farming",
        "atmosphere",
        "climate",
        "biology",
        "ecology",
        "business",
        "economics",
        "society",
        "demographics",
        "elevation",
        "dervied products",
        "enviroment",
        "conservation",
        "facilities",
        "structures",
        "human health",
        "disease",
        "imagery",
        "base maps",
        "inland water resources",
        "water",
        "locations",
        "geodetic networks",
        "military",
        "oceans",
        "estuaries",
        "transportation",
        "transportation networks",
        "utilities",
        "communication"
      ],
      "typeKeywords": [],
      "phone": null,
      "sortField": "title",
      "sortOrder": "asc",
      "isViewOnly": false,
      "isOpenData": true,
      "thumbnail": "all.png",
      "created": 1479146692000,
      "modified": 1564499117000,
      "access": "public",
      "capabilities": [],
      "isFav": false,
      "isReadOnly": false,
      "protected": false,
      "autoJoin": false,
      "notificationsEnabled": false,
      "provider": null,
      "providerGroupName": null,
      "leavingDisallowed": false,
      "hiddenMembers": false,
      "displaySettings": {"itemTypes": ""}
    },
    {
      "id": "b6755cf62fa54d36984a336d0d9c22e5",
      "title": "WRE",
      "isInvitationOnly": false,
      "owner": "dnrwres",
      "description": "<br />",
      "snippet": "Utah Division of Water Resources Maps",
      "tags": [
        "Utah water resources",
        "Utah DNR"
      ],
      "typeKeywords": [],
      "phone": null,
      "sortField": null,
      "sortOrder": null,
      "isViewOnly": false,
      "thumbnail": "water_resources_logo.gif",
      "created": 1332968580000,
      "modified": 1548795059000,
      "access": "public",
      "capabilities": [],
      "isFav": false,
      "isReadOnly": false,
      "protected": false,
      "autoJoin": false,
      "notificationsEnabled": false,
      "provider": null,
      "providerGroupName": null,
      "leavingDisallowed": false,
      "hiddenMembers": false,
      "displaySettings": {"itemTypes": ""}
    },
    {
      "id": "7c8552b276144f3b8e947e319141fdb2",
      "title": "WRC",
      "isInvitationOnly": false,
      "owner": "jc8560fx",
      "description": null,
      "snippet": "ArcGIS Online Group of Water Resources Center",
      "tags": [
        "MSU",
        "Water Resources"
      ],
      "typeKeywords": [],
      "phone": null,
      "sortField": "title",
      "sortOrder": "asc",
      "isViewOnly": false,
      "thumbnail": "wrc_logo.jpg",
      "created": 1496714234000,
      "modified": 1497305488000,
      "access": "public",
      "capabilities": [],
      "isFav": false,
      "isReadOnly": false,
      "protected": false,
      "autoJoin": false,
      "notificationsEnabled": false,
      "provider": null,
      "providerGroupName": null,
      "leavingDisallowed": false,
      "hiddenMembers": false,
      "displaySettings": {"itemTypes": ""}
    }
  ]
}

Create a new group

Define a new group and how it can be accessed.

APIs

ArcGIS REST JSArcGIS Python API
                  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import { createGroup } from "@esri/arcgis-rest-portal"
import { UserSession } from "@esri/arcgis-rest-auth"

const authentication = new UserSession({
  token: "ACCESS-TOKEN" //Token representing an ArcGIS Identity from performing oAuth 2.0
});
// Create a new public group
createGroup({
  group: {
    title: "Traffic issues",
    access: "public"
  },
  authentication: authentication,
  portal: "https://www.arcgis.com/sharing/rest"
})
  .then((response)=>{
    console.log(response);
  });

REST API

RequestResponse
     
1
2
3
4
5
curl https://www.arcgis.com/sharing/rest/community/createGroup \
-d 'title=Traffic issues' \
-d 'access=public' \
-d 'f=pjson' \
-d 'token=<ACCESS-TOKEN>'
       
1
2
3
4
5
6
7
{    "success": true,
  "group": {
    "id": "GROUP-ID",
    "title": "Traffic issues",
    "access": "public"
    }
  }

Invite users to a group

Invite users by their user names.

APIs

ArcGIS REST JSArcGIS Python API
               
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import { inviteGroupUsers } from '@esri/arcgis-rest-portal'
import { UserSession } from '@esri/arcgis-rest-auth'

const authentication = new UserSession({
  token: "ACCESS-TOKEN" //Token representing an ArcGIS Identity from performing oAuth 2.0
});
inviteGroupUsers({
  id: "GROUP-ID",
  users: "USER-TO-INVITE",
  role: 'group-member',
  expiration: '20160',
  authentication: authentication
}).then((response)=>{
  console.log(response);
})

REST API

RequestResponse
      
1
2
3
4
5
6
curl  https://www.arcgis.com/sharing/rest/community/groups/<YOUR-GROUP-ID>/invite \
-d 'users=<USER-TO-INVITE>' \
-d 'role=group member' \
-d 'expiration=20160' \
-d 'f=pjson' \
-d 'token=<ACCESS-TOKEN>'
    
1
2
3
4
{
  "success":true,
  "groupId": "GROUP-ID"
}

Add items to a group

Add an item to group to be shared with a set of users.

APIs

ArcGIS REST JSArcGIS Python API
                 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import { shareItemWithGroup } from '@esri/arcgis-rest-portal'
import { UserSession } from '@esri/arcgis-rest-auth'

const authentication = new UserSession({
  token: "ACCESS-TOKEN" //Token representing an ArcGIS Identity from performing oAuth 2.0
});
// Add an item to a group
shareItemWithGroup({
  id: "ITEM-ID",
  groupId: "GROUP-ID",
  owner: "ITEM-OWNER",
  authentication: authentication,
  portal: "https://www.arcgis.com/sharing/rest"
})
.then((response)=>{
  console.log(response);
});

REST API

RequestResponse
    
1
2
3
4
curl  https://www.arcgis.com/sharing/rest/content/items/<YOUR-ITEM-ID>/share \
-d 'groups=<YOUR-GROUP-ID>' \
-d 'f=pjson' \
-d 'token=<ACCESS-TOKEN>'
   
1
2
3
{"results": [{"itemId": "ITEM-ID",
  "success": true,
  "notSharedWith": []}]} // Groups item not shared with

Search for group content

Find items shared with a group using a query.

APIs

ArcGIS REST JSArcGIS JS APIArcGIS Python APIArcGIS iOS API
         
1
2
3
4
5
6
7
8
9
import { searchGroupContent } from "@esri/arcgis-rest-portal"
// Find items that match in group
searchGroupContent({
     q: "bike",
     groupId: "d6340748701d4ccfb18ad3c42b7feb9e",
     portal: "https://www.arcgis.com/sharing/rest",
   }).then((response)=>{
    console.log(response);
   });

REST API

RequestResponse
   
1
2
3
curl  https://www.arcgis.com/sharing/rest/content/groups/d6340748701d4ccfb18ad3c42b7feb9e/search \
-d 'q=bike' \
-d 'f=pjson'
                                                                                                                                                                        
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
{
  "query": "bike",
  "total": 2,
  "start": 1,
  "num": 10,
  "nextStart": -1,
  "results": [
    {
      "id": "37695c689cbe4e87aa1877ef12c7bf3b",
      "owner": "esri_devlabs",
      "created": 1544731545000,
      "modified": 1610889683000,
      "guid": null,
      "name": "Bike Parking",
      "title": "Portland Bike Parking",
      "type": "Feature Service",
      "typeKeywords": [
        "ArcGIS Server",
        "Data",
        "Feature Access",
        "Feature Service",
        "Service",
        "Singlelayer",
        "Hosted Service"
      ],
      "description": null,
      "tags": [
        "Portland",
        "Bike",
        "Bicycle",
        "Parking",
        "sourceId-21013f2964334fae834e98602c60dd40",
        "copied with ago-assistant"
      ],
      "snippet": null,
      "thumbnail": "thumbnail/ago_downloaded.png",
      "documentation": null,
      "extent": [
        [
          -122.70593008969614,
          45.45962752852747
        ],
        [
          -122.49711025020218,
          45.58711400270654
        ]
      ],
      "categories": [

      ],
      "spatialReference": null,
      "accessInformation": null,
      "licenseInfo": null,
      "culture": "en-us",
      "properties": null,
      "url": "https://services3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/Bike Parking/FeatureServer",
      "proxyFilter": null,
      "access": "public",
      "size": -1,
      "subInfo": 0,
      "appCategories": [

      ],
      "industries": [

      ],
      "languages": [

      ],
      "largeThumbnail": null,
      "banner": null,
      "screenshots": [

      ],
      "listed": false,
      "numComments": 0,
      "numRatings": 0,
      "avgRating": 0,
      "numViews": 13459,
      "groupCategories": [

      ],
      "scoreCompleteness": 50,
      "groupDesignations": null
    },
    {
      "id": "e618c42af94d44c293fd70a12de28d31",
      "owner": "esri_devlabs",
      "created": 1544722437000,
      "modified": 1610888306000,
      "guid": null,
      "name": "Portland Bike Routes",
      "title": "Portland Bike Routes",
      "type": "Feature Service",
      "typeKeywords": [
        "ArcGIS Server",
        "Data",
        "Feature Access",
        "Feature Service",
        "Service",
        "Singlelayer",
        "Hosted Service"
      ],
      "description": null,
      "tags": [
        "Portland",
        "Bike",
        "Bicycle",
        "Routes",
        "Streets",
        "sourceId-0f06d69afe4645ce99e07b3c40bf4b44",
        "copied with ago-assistant",
        "sourceId-0f06d69afe4645ce99e07b3c40bf4b44",
        "copied with ago-assistant"
      ],
      "snippet": null,
      "thumbnail": "thumbnail/ago_downloaded.png",
      "documentation": null,
      "extent": [
        [
          -123.31654007646142,
          44.89111167542515
        ],
        [
          -121.70246774537547,
          45.759728221821
        ]
      ],
      "categories": [

      ],
      "spatialReference": null,
      "accessInformation": null,
      "licenseInfo": null,
      "culture": "en-us",
      "properties": null,
      "url": "https://services3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/Portland Bike Routes/FeatureServer",
      "proxyFilter": null,
      "access": "public",
      "size": -1,
      "subInfo": 0,
      "appCategories": [

      ],
      "industries": [

      ],
      "languages": [

      ],
      "largeThumbnail": null,
      "banner": null,
      "screenshots": [

      ],
      "listed": false,
      "numComments": 0,
      "numRatings": 0,
      "avgRating": 0,
      "numViews": 13403,
      "groupCategories": [

      ],
      "scoreCompleteness": 50,
      "groupDesignations": null
    }
  ]
}

Update properties

Change the properties of a group such as the name, description, and permissions.

APIs

ArcGIS REST JSArcGIS Python API
               
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import { updateGroup } from '@esri/arcgis-rest-portal'
import { UserSession } from '@esri/arcgis-rest-auth'

const authentication = new UserSession({
  token: "ACCESS-TOKEN" //Token representing an ArcGIS Identity from performing oAuth 2.0
});
// Update properties
updateGroup({
  group: { id: "GROUP-ID", title: "new" },
  portal: "https://www.arcgis.com/sharing/rest",
  authentication: authentication
})
  .then((response)=>{
    console.log(response);
  });

REST API

RequestResponse
    
1
2
3
4
curl  https://www.arcgis.com/sharing/rest/community/groups/GROUP-ID/update \
-d 'title=new' \
-d 'f=pjson' \
-d 'token=<ACCESS-TOKEN>'
    
1
2
3
4
{
  "success": "true",
  "groupId": "GROUP-ID"
}

Tutorials

Use tools to create different types of content and build content-driven applications.

Web maps

Web scenes

Feature layers

Vector tile layers

Basemap layers

Services

Portal service

Store, manage, and access private and public content.

API support

SearchItemsUsersGroups
ArcGIS API for JavaScriptFully supportedFully supportedLimited operationsLimited operations
ArcGIS Runtime API for AndroidFully supportedFully supportedLimited operationsLimited operations
ArcGIS Runtime API for iOSFully supportedFully supportedLimited operationsLimited operations
ArcGIS Runtime API for JavaFully supportedFully supportedLimited operationsLimited operations
ArcGIS Runtime API for .NETFully supportedFully supportedLimited operationsLimited operations
ArcGIS Runtime API for QtFully supportedFully supportedLimited operationsLimited operations
ArcGIS API for PythonFully supportedFully supportedFully supportedFully supported
Esri LeafletRequires ArcGIS REST JSRequires ArcGIS REST JSRequires ArcGIS REST JSRequires ArcGIS REST JS
MapBox GL JSRequires ArcGIS REST JSRequires ArcGIS REST JSRequires ArcGIS REST JSRequires ArcGIS REST JS
OpenLayersRequires ArcGIS REST JSRequires ArcGIS REST JSRequires ArcGIS REST JSRequires ArcGIS REST JS
ArcGIS REST JSFully supportedFully supportedFully supportedFully supported
Full supportPartial support (see notes)Not supported

Tools

Use tools to access the portal and create and manage content for applications.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.