Merge branch 'master' into 13562-group-properties
[arvados.git] / doc / api / methods / collections.html.textile.liquid
1 ---
2 layout: default
3 navsection: api
4 navmenu: API Methods
5 title: "collections"
6
7 ...
8 {% comment %}
9 Copyright (C) The Arvados Authors. All rights reserved.
10
11 SPDX-License-Identifier: CC-BY-SA-3.0
12 {% endcomment %}
13
14 API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/collections@
15
16 Object type: @4zz18@
17
18 Example UUID: @zzzzz-4zz18-0123456789abcde@
19
20 h2. Resource
21
22 Collections describe sets of files in terms of data blocks stored in Keep.  See "storage in Keep":{{site.baseurl}}/api/storage.html for details.
23
24 Each collection has, in addition to the "Common resource fields":{{site.baseurl}}/api/resources.html:
25
26 table(table table-bordered table-condensed).
27 |_. Attribute|_. Type|_. Description|_. Example|
28 |name|string|||
29 |description|text|||
30 |properties|hash|User-defined metadata, may be used in queries using "subproperty filters":{{site.baseurl}}/api/methods.html#subpropertyfilters ||
31 |portable_data_hash|string|The MD5 sum of the manifest text stripped of block hints other than the size hint.||
32 |manifest_text|text|||
33 |replication_desired|number|Minimum storage replication level desired for each data block referenced by this collection. A value of @null@ signifies that the site default replication level (typically 2) is desired.|@2@|
34 |replication_confirmed|number|Replication level most recently confirmed by the storage system. This field is null when a collection is first created, and is reset to null when the manifest_text changes in a way that introduces a new data block. An integer value indicates the replication level of the _least replicated_ data block in the collection.|@2@, null|
35 |replication_confirmed_at|datetime|When replication_confirmed was confirmed. If replication_confirmed is null, this field is also null.||
36 |trash_at|datetime|If @trash_at@ is non-null and in the past, this collection will be hidden from API calls.  May be untrashed.||
37 |delete_at|datetime|If @delete_at@ is non-null and in the past, the collection may be permanently deleted.||
38 |is_trashed|datetime|True if @trash_at@ is in the past, false if not.||
39
40 h3. Conditions of creating a Collection
41
42 The @portable_data_hash@ and @manifest_text@ attributes must be provided when creating a Collection. The cryptographic digest of the supplied @manifest_text@ must match the supplied @portable_data_hash@.
43
44 h3. Side effects of creating a Collection
45
46 Referenced blocks are protected from garbage collection in Keep.
47
48 Data can be shared with other users via the Arvados permission model.
49
50 h2. Methods
51
52 See "Common resource methods":{{site.baseurl}}/api/methods.html for more information about @create@, @delete@, @get@, @list@, and @update@.
53
54 Required arguments are displayed in %{background:#ccffcc}green%.
55
56 h3. create
57
58 Create a new Collection.
59
60 Arguments:
61
62 table(table table-bordered table-condensed).
63 |_. Argument |_. Type |_. Description |_. Location |_. Example |
64 |collection|object||query||
65
66 h3. delete
67
68 Put a Collection 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.
69
70 Arguments:
71
72 table(table table-bordered table-condensed).
73 |_. Argument |_. Type |_. Description |_. Location |_. Example |
74 {background:#ccffcc}.|uuid|string|The UUID of the Collection in question.|path||
75
76 h3. get
77
78 Gets a Collection's metadata by UUID.
79
80 Arguments:
81
82 table(table table-bordered table-condensed).
83 |_. Argument |_. Type |_. Description |_. Location |_. Example |
84 {background:#ccffcc}.|uuid|string|The UUID of the Collection in question.|path||
85
86 h3. list
87
88 List collections.
89
90 See "common resource list method.":{{site.baseurl}}/api/methods.html#index
91
92 Note: Because adding access tokens to manifests can be computationally expensive, the @manifest_text@ field is not included in results by default.  If you need it, pass a @select@ parameter that includes @manifest_text@.
93
94 h3. update
95
96 Update attributes of an existing Collection.
97
98 Arguments:
99
100 table(table table-bordered table-condensed).
101 |_. Argument |_. Type |_. Description |_. Location |_. Example |
102 {background:#ccffcc}.|uuid|string|The UUID of the Collection in question.|path||
103 |collection|object||query||
104
105 h3. untrash
106
107 Remove a Collection from the trash.  This sets the @trash_at@ and @delete_at@ fields to @null@.
108
109 Arguments:
110
111 table(table table-bordered table-condensed).
112 |_. Argument |_. Type |_. Description |_. Location |_. Example |
113 {background:#ccffcc}.|uuid|string|The UUID of the Collection to untrash.|path||
114 |ensure_unique_name|boolean (default false)|Rename collection uniquely if untrashing it would fail with a unique name conflict.|query||