Merge branch '13645-fix-arvados-api-host-insecure'
[arvados.git] / doc / api / methods / groups.html.textile.liquid
1 ---
2 layout: default
3 navsection: api
4 navmenu: API Methods
5 title: "groups"
6 ...
7 {% comment %}
8 Copyright (C) The Arvados Authors. All rights reserved.
9
10 SPDX-License-Identifier: CC-BY-SA-3.0
11 {% endcomment %}
12
13 API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/groups@
14
15 Object type: @j7d0g@
16
17 Example UUID: @zzzzz-j7d0g-0123456789abcde@
18
19 h2. Resource
20
21 Groups provides a way to apply the same permissions to a set of Arvados objects.  See "permission model":{{site.baseurl}}/api/permission-model.html for details.
22
23 Each Group has, in addition to the "Common resource fields":{{site.baseurl}}/api/resources.html:
24
25 table(table table-bordered table-condensed).
26 |_. Attribute|_. Type|_. Description|_. Example|
27 |name|string|||
28 |group_class|string|Type of group. This does not affect behavior, but determines how the group is presented in the user interface. For example, @project@ indicates that the group should be displayed by Workbench and arv-mount as a project for organizing and naming objects.|@"project"@
29 null|
30 |description|text|||
31 |properties|hash|User-defined metadata, may be used in queries using "subproperty filters":{{site.baseurl}}/api/methods.html#subpropertyfilters ||
32 |writable_by|array|List of UUID strings identifying Users and other Groups that have write permission for this Group.  Only users who are allowed to administer the Group will receive a full list.  Other users will receive a partial list that includes the Group's owner_uuid and (if applicable) their own user UUID.||
33 |trash_at|datetime|If @trash_at@ is non-null and in the past, this group and all objects directly or indirectly owned by the group will be hidden from API calls.  May be untrashed.||
34 |delete_at|datetime|If @delete_at@ is non-null and in the past, the group and all objects directly or indirectly owned by the group may be permanently deleted.||
35 |is_trashed|datetime|True if @trash_at@ is in the past, false if not.||
36
37 h2. Methods
38
39 See "Common resource methods":{{site.baseurl}}/api/methods.html for more information about @create@, @delete@, @get@, @list@, and @update@.
40
41 Required arguments are displayed in %{background:#ccffcc}green%.
42
43 h3. contents
44
45 Retrieve a list of items owned by the group.
46
47 Arguments:
48
49 table(table table-bordered table-condensed).
50 |_. Argument |_. Type |_. Description |_. Location |_. Example |
51 {background:#ccffcc}.|uuid|string|The UUID of the group in question.|path||
52 |limit|integer (default 100)|Maximum number of items to return.|query||
53 |order|array|Attributes to use as sort keys to determine the order resources are returned, each optionally followed by @asc@ or @desc@ to indicate ascending or descending order. Sort within a resource type by prefixing the attribute with the resource name and a period.|query|@["collections.modified_at desc"]@|
54 |filters|array|Conditions for filtering items.|query|@[["uuid", "is_a", "arvados#job"]]@|
55 |recursive|boolean (default false)|Include items owned by subprojects.|query|@true@|
56
57 Note: Because adding access tokens to manifests can be computationally expensive, the @manifest_text@ field is not included in listed collections.  If you need it, request a "list of collections":{{site.baseurl}}/api/methods/collections.html with the filter @["owner_uuid", "=", GROUP_UUID]@, and @"manifest_text"@ listed in the select parameter.
58
59 Note: Use filters with the attribute format @<item type>.<field name>@ to filter items of a specific type. For example: @["pipeline_instances.state", "=", "Complete"]@ to filter @pipeline_instances@ where @state@ is @Complete@. All other types of items owned by this group will be unimpacted by this filter and will still be included.
60
61 h3. create
62
63 Create a new Group.
64
65 Arguments:
66
67 table(table table-bordered table-condensed).
68 |_. Argument |_. Type |_. Description |_. Location |_. Example |
69 |group|object||query||
70
71 h3. delete
72
73 Put a Group in the trash.  This sets the @trash_at@ field to @now@ and @delete_at@ field to @now@ + token TTL.  A trashed group is invisible to most API calls unless the @include_trash@ parameter is true.  All objects directly or indirectly owned by the Group are considered trashed as well.
74
75 Arguments:
76
77 table(table table-bordered table-condensed).
78 |_. Argument |_. Type |_. Description |_. Location |_. Example |
79 {background:#ccffcc}.|uuid|string|The UUID of the Group in question.|path||
80
81 h3. get
82
83 Gets a Group's metadata by UUID.
84
85 Arguments:
86
87 table(table table-bordered table-condensed).
88 |_. Argument |_. Type |_. Description |_. Location |_. Example |
89 {background:#ccffcc}.|uuid|string|The UUID of the Group in question.|path||
90
91 h3. list
92
93 List groups.
94
95 See "common resource list method.":{{site.baseurl}}/api/methods.html#index
96
97 h3. show
98
99 show groups
100
101 Arguments:
102
103 table(table table-bordered table-condensed).
104 |_. Argument |_. Type |_. Description |_. Location |_. Example |
105 {background:#ccffcc}.|uuid|string||path||
106
107 h3. update
108
109 Update attributes of an existing Group.
110
111 Arguments:
112
113 table(table table-bordered table-condensed).
114 |_. Argument |_. Type |_. Description |_. Location |_. Example |
115 {background:#ccffcc}.|uuid|string|The UUID of the Group in question.|path||
116 |group|object||query||
117
118 h3. untrash
119
120 Remove a Group from the trash.  This sets the @trash_at@ and @delete_at@ fields to @null@.
121
122 Arguments:
123
124 table(table table-bordered table-condensed).
125 |_. Argument |_. Type |_. Description |_. Location |_. Example |
126 {background:#ccffcc}.|uuid|string|The UUID of the Group to untrash.|path||
127 |ensure_unique_name|boolean (default false)|Rename project uniquely if untrashing it would fail with a unique name conflict.|query||