9 See "REST methods for working with Arvados resources":{{site.baseurl}}/api/methods.html
11 API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/links@
15 Required arguments are displayed in %{background:#ccffcc}green%.
19 Each link has, in addition to the usual "attributes of Arvados resources":{{site.baseurl}}/api/resources.html:
21 table(table table-bordered table-condensed).
22 |_. Attribute|_. Type|_. Description|
23 |tail_uuid|string|Object UUID at the tail (start, source, origin) of this link|
24 |link_class|string|Class (see below)|
25 |name|string|Link type (see below)|
26 |head_uuid|string|Object UUID at the head (end, destination, target) of this link|
27 |properties|hash|Additional information, expressed as a key→value hash. Key: string. Value: string, number, array, or hash.|
31 Some classes are pre-defined by convention and have standard meanings attached to names.
35 table(table table-bordered table-condensed).
36 |_. tail_type→head_type|_. name→head_uuid {properties}|_. Notes|
37 |→Collection |provided → _collection uuid_
38 {url→http://example.com/foo.tgz, retrieved_at→1352616640.000}||
39 |Job→Collection |provided → _collection uuid_||
40 |Specimen→Collection|provided → _collection uuid_||
41 |Human→Specimen |provided → _specimen uuid_||
42 |Human→Collection |provided → _collection uuid_||
46 table(table table-bordered table-condensed).
47 |_. tail_type→head_type|_. name→head_uuid {properties}|_. Notes|
48 |User→Group |{white-space:nowrap}. can_manage → _group uuid_|The User can read, write, and control permissions on the Group itself, every object owned by the Group, and every object on which the Group has _can_manage_ permission.|
49 |User→Group |can_read → _group uuid_ |The User can retrieve the Group itself and every object that is readable by the Group.|
50 |User→Job|can_write → _job uuid_ |The User can read and update the Job. (This works for all objects, not just jobs.)|
51 |User→Job|can_manage → _job uuid_ |The User can read, update, and change permissions for the Job. (This works for all objects, not just jobs.)|
52 |Group→Job|can_manage → _job uuid_ |Anyone with _can_manage_ permission on the Group can also read, update, and change permissions for the Job. Anyone with _can_read_ permission on the Group can read the Job. (This works for all objects, not just jobs.)|
56 table(table table-bordered table-condensed).
57 |_. tail_type→head_type|_. name→head_uuid {properties}|_. Notes|
58 |User→Collection|wants → _collection uuid_ |Determines whether data can be deleted|
59 |User→Job |wants → _job uuid_ |Determines whether a job can be cancelled|
63 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.
65 table(table table-bordered table-condensed).
66 |_. tail_type→head_type|_. name→head_uuid {properties}|
67 |→Collection | _tag name_ → _collection uuid_|
68 |→Job | _tag name_ → _job uuid_|
72 table(table table-bordered table-condensed).
73 |_. tail_type→head_type|_. name→head_uuid {properties}|_. Notes|
74 |Human→Trait |measured → _trait uuid_ {value→1.83, unit→metre, measured_at→1352616640.000}||
78 table(table table-bordered table-condensed).
79 |_. tail_type→head_type|_. name→head_uuid {properties}|_. Notes|
80 |→Human |hu123456 → _human uuid_||
91 table(table table-bordered table-condensed).
92 |_. Argument |_. Type |_. Description |_. Location |_. Example |
97 Delete an existing Link.
101 table(table table-bordered table-condensed).
102 |_. Argument |_. Type |_. Description |_. Location |_. Example |
103 {background:#ccffcc}.|uuid|string|The UUID of the Link in question.|path||
107 Gets a Link's metadata by UUID.
111 table(table table-bordered table-condensed).
112 |_. Argument |_. Type |_. Description |_. Location |_. Example |
113 {background:#ccffcc}.|uuid|string|The UUID of the Link in question.|path||
121 table(table table-bordered table-condensed).
122 |_. Argument |_. Type |_. Description |_. Location |_. Example |
123 |limit|integer (default 100)|Maximum number of links to return.|query||
124 |order|string|Order in which to return matching links.|query||
125 |filters|array|Conditions for filtering links.|query||
129 render_not_found links
133 table(table table-bordered table-condensed).
134 |_. Argument |_. Type |_. Description |_. Location |_. Example |
135 {background:#ccffcc}.|a|string||path||
139 Update attributes of an existing Link.
143 table(table table-bordered table-condensed).
144 |_. Argument |_. Type |_. Description |_. Location |_. Example |
145 {background:#ccffcc}.|uuid|string|The UUID of the Link in question.|path||
146 |link|object||query||