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.||
43 h3. Conditions of creating a Collection
45 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@.
47 h3. Side effects of creating a Collection
49 Referenced blocks are protected from garbage collection in Keep.
51 Data can be shared with other users via the Arvados permission model.
55 See "Common resource methods":{{site.baseurl}}/api/methods.html for more information about @create@, @delete@, @get@, @list@, and @update@.
57 Required arguments are displayed in %{background:#ccffcc}green%.
59 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.
63 Create a new Collection.
67 table(table table-bordered table-condensed).
68 |_. Argument |_. Type |_. Description |_. Location |_. Example |
69 |collection|object||query||
73 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.
77 table(table table-bordered table-condensed).
78 |_. Argument |_. Type |_. Description |_. Location |_. Example |
79 {background:#ccffcc}.|uuid|string|The UUID of the Collection in question.|path||
83 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@.
87 table(table table-bordered table-condensed).
88 |_. Argument |_. Type |_. Description |_. Location |_. Example |
89 {background:#ccffcc}.|uuid|string|The UUID of the Collection in question.|path||
95 See "common resource list method.":{{site.baseurl}}/api/methods.html#index
97 table(table table-bordered table-condensed).
98 |_. Argument |_. Type |_. Description |_. Location |_. Example |
99 |include_trash|boolean (default false)|Include trashed collections.|query||
100 |include_old_versions|boolean (default false)|Include past versions of the collection(s) being listed, if any.|query||
102 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@.
106 Update attributes of an existing Collection.
110 table(table table-bordered table-condensed).
111 |_. Argument |_. Type |_. Description |_. Location |_. Example |
112 {background:#ccffcc}.|uuid|string|The UUID of the Collection in question.|path||
113 |collection|object||query||
117 Remove a Collection from the trash. This sets the @trash_at@ and @delete_at@ fields to @null@.
121 table(table table-bordered table-condensed).
122 |_. Argument |_. Type |_. Description |_. Location |_. Example |
123 {background:#ccffcc}.|uuid|string|The UUID of the Collection to untrash.|path||
124 |ensure_unique_name|boolean (default false)|Rename collection uniquely if untrashing it would fail with a unique name conflict.|query||