9 Copyright (C) The Arvados Authors. All rights reserved.
11 SPDX-License-Identifier: CC-BY-SA-3.0
14 API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/collections@
18 Example UUID: @zzzzz-4zz18-0123456789abcde@
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.
24 Each collection has, in addition to the "Common resource fields":{{site.baseurl}}/api/resources.html:
26 table(table table-bordered table-condensed).
27 |_. Attribute|_. Type|_. Description|_. Example|
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|boolean|True if @trash_at@ is in the past, false if not.||
39 |current_version_uuid|string|UUID of the collection's current version. On new collections, it'll be equal to the @uuid@ attribute.||
40 |version|number|Version number, starting at 1 on new collections. This attribute is read-only.||
41 |preserve_version|boolean|When set to true on a current version, it will be saved on the next versionable update.||
42 |file_count|number|The total number of files in the collection. ||
43 |file_size_total|number|The sum of the file sizes in the collection. ||
45 h3. Conditions of creating a Collection
47 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@.
49 h3. Side effects of creating a Collection
51 Referenced blocks are protected from garbage collection in Keep.
53 Data can be shared with other users via the Arvados permission model.
57 See "Common resource methods":{{site.baseurl}}/api/methods.html for more information about @create@, @delete@, @get@, @list@, and @update@.
59 Required arguments are displayed in %{background:#ccffcc}green%.
61 Supports federated @get@ only, which may be called with either a uuid or a portable data hash. When requesting a portable data hash which is not available on the home cluster, the query is forwarded to all the clusters listed in @RemoteClusters@ and returns the first successful result.
65 Create a new Collection.
69 table(table table-bordered table-condensed).
70 |_. Argument |_. Type |_. Description |_. Location |_. Example |
71 |collection|object||query||
75 Put a Collection in the trash. This sets the @trash_at@ field to @now@ and @delete_at@ field to @now@ + token TTL. A trashed collection is invisible to most API calls unless the @include_trash@ parameter is true.
79 table(table table-bordered table-condensed).
80 |_. Argument |_. Type |_. Description |_. Location |_. Example |
81 {background:#ccffcc}.|uuid|string|The UUID of the Collection in question.|path||
85 Gets a Collection's metadata by UUID or portable data hash. When making a request by portable data hash, the returned record will only have the @portable_data_hash@ and @manifest_text@.
89 table(table table-bordered table-condensed).
90 |_. Argument |_. Type |_. Description |_. Location |_. Example |
91 {background:#ccffcc}.|uuid|string|The UUID of the Collection in question.|path||
97 See "common resource list method.":{{site.baseurl}}/api/methods.html#index
99 table(table table-bordered table-condensed).
100 |_. Argument |_. Type |_. Description |_. Location |_. Example |
101 |include_trash|boolean (default false)|Include trashed collections.|query||
102 |include_old_versions|boolean (default false)|Include past versions of the collection(s) being listed, if any.|query||
104 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@.
108 Update attributes of an existing Collection.
112 table(table table-bordered table-condensed).
113 |_. Argument |_. Type |_. Description |_. Location |_. Example |
114 {background:#ccffcc}.|uuid|string|The UUID of the Collection in question.|path||
115 |collection|object||query||
119 Remove a Collection from the trash. This sets the @trash_at@ and @delete_at@ fields to @null@.
123 table(table table-bordered table-condensed).
124 |_. Argument |_. Type |_. Description |_. Location |_. Example |
125 {background:#ccffcc}.|uuid|string|The UUID of the Collection to untrash.|path||
126 |ensure_unique_name|boolean (default false)|Rename collection uniquely if untrashing it would fail with a unique name conflict.|query||