Merge branch '8784-dir-listings'
[arvados.git] / doc / api / methods / links.html.textile.liquid
index 53cae9b33ca4f7fdbfeb1479faa9fea494383334..ec5d53010456bb36e239927bcdb563f1c6467e7e 100644 (file)
@@ -5,65 +5,92 @@ navmenu: API Methods
 title: "links"
 
 ...
+{% comment %}
+Copyright (C) The Arvados Authors. All rights reserved.
 
+SPDX-License-Identifier: CC-BY-SA-3.0
+{% endcomment %}
 
+API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/links@
 
-Required arguments are displayed in %{background:#ccffcc}green%.
+Object type: @o0j2j@
 
+Example UUID: @zzzzz-o0j2j-0123456789abcde@
 
-h2. create
+h2. Resource
 
-Create a new Link.
+Links are an extensible way to describe relationships between Arvados objects and metadata about individual objects.
 
-Arguments:
+Each link has, in addition to the "Common resource fields":{{site.baseurl}}/api/resources.html:
 
 table(table table-bordered table-condensed).
-|_. Argument |_. Type |_. Description |_. Location |_. Example |
-|link|object||query||
+|_. Attribute|_. Type|_. Description|
+|head_uuid|string|The object being described or acted on.|
+|tail_uuid|string|The origin or actor in the description or action (may be null).|
+|link_class|string|Type of link|
+|name|string|Primary value of the link.|
+|properties|hash|Additional information, expressed as a key→value hash. Key: string. Value: string, number, array, or hash.|
 
-h2. delete
+h2. Link classes
 
-Delete an existing Link.
+Some classes are pre-defined by convention and have standard meanings attached to names.
 
-Arguments:
+h3. permission
+
+See "permission links":{{site.baseurl}}/api/permission-model.html#links section of the permission model.
+
+h3. tag
+
+A **tag** link describes an object using an unparsed plain text string. Tags can be used to annotate objects that are not editable, like collections and objects shared as read-only.
 
 table(table table-bordered table-condensed).
-|_. Argument |_. Type |_. Description |_. Location |_. Example |
-{background:#ccffcc}.|uuid|string|The UUID of the Link in question.|path||
+|_. tail_type→head_type|_. name→head_uuid {properties}|
+|→Collection           | _tag name_ → _collection uuid_|
+|→Job                  | _tag name_ → _job uuid_|
 
-h2. get
+h2. Methods
 
-Gets a Link's metadata by UUID.
+See "Common resource methods":{{site.baseurl}}/api/methods.html for more information about @create@, @delete@, @get@, @list@, and @update@.
+
+Required arguments are displayed in %{background:#ccffcc}green%.
+
+h3. create
+
+Create a new Link.
 
 Arguments:
 
 table(table table-bordered table-condensed).
 |_. Argument |_. Type |_. Description |_. Location |_. Example |
-{background:#ccffcc}.|uuid|string|The UUID of the Link in question.|path||
+|link|object||query||
 
-h2. list
+h3. delete
 
-List links.
+Delete an existing Link.
 
 Arguments:
 
 table(table table-bordered table-condensed).
 |_. Argument |_. Type |_. Description |_. Location |_. Example |
-|limit|integer (default 100)|Maximum number of links to return.|query||
-|order|string|Order in which to return matching links.|query||
-|filters|array|Conditions for filtering links.|query||
+{background:#ccffcc}.|uuid|string|The UUID of the Link in question.|path||
 
-h2. render_not_found
+h3. get
 
-render_not_found links
+Gets a Link's metadata by UUID.
 
 Arguments:
 
 table(table table-bordered table-condensed).
 |_. Argument |_. Type |_. Description |_. Location |_. Example |
-{background:#ccffcc}.|a|string||path||
+{background:#ccffcc}.|uuid|string|The UUID of the Link in question.|path||
+
+h3. list
+
+List links.
+
+See "common resource list method.":{{site.baseurl}}/api/methods.html#index
 
-h2. update
+h3. update
 
 Update attributes of an existing Link.