10346: Document api_clients and trusted client.
[arvados.git] / doc / api / methods / links.html.textile.liquid
1 ---
2 layout: default
3 navsection: api
4 navmenu: API Methods
5 title: "links"
6
7 ...
8
9 See "REST methods for working with Arvados resources":{{site.baseurl}}/api/methods.html
10
11 API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/links@
12
13 UUID type: @o0j2j@
14
15 Required arguments are displayed in %{background:#ccffcc}green%.
16
17 h2. Resource
18
19 Each link has, in addition to the usual "attributes of Arvados resources":{{site.baseurl}}/api/resources.html:
20
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.|
28
29 h2. Link classes
30
31 Some classes are pre-defined by convention and have standard meanings attached to names.
32
33 h3. provenance
34
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_||
43
44 h3. permission
45
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.)|
53
54 h3. resources
55
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|
60
61 h3. tag
62
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.
64
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_|
69
70 h3. human_trait
71
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}||
75
76 h3. identifier
77
78 table(table table-bordered table-condensed).
79 |_. tail_type→head_type|_. name→head_uuid {properties}|_. Notes|
80 |→Human        |hu123456 → _human uuid_||
81
82
83 h2. Methods
84
85 h3. create
86
87 Create a new Link.
88
89 Arguments:
90
91 table(table table-bordered table-condensed).
92 |_. Argument |_. Type |_. Description |_. Location |_. Example |
93 |link|object||query||
94
95 h3. delete
96
97 Delete an existing Link.
98
99 Arguments:
100
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||
104
105 h3. get
106
107 Gets a Link's metadata by UUID.
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 Link in question.|path||
114
115 h3. list
116
117 List links.
118
119 Arguments:
120
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||
126
127 h3. render_not_found
128
129 render_not_found links
130
131 Arguments:
132
133 table(table table-bordered table-condensed).
134 |_. Argument |_. Type |_. Description |_. Location |_. Example |
135 {background:#ccffcc}.|a|string||path||
136
137 h3. update
138
139 Update attributes of an existing Link.
140
141 Arguments:
142
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||