0e0c31e97216c4f002584e39f0f832d85923db53
[arvados.git] / public / discovery / v1 / apis / orvos / v1 / rest
1 {
2  "kind": "discovery#restDescription",
3  "discoveryVersion": "v1",
4  "id": "orvos:v1",
5  "name": "orvos",
6  "version": "v1",
7  "revision": "20130226",
8  "title": "Orvos API",
9  "description": "The API to interact with Orvos.",
10  "documentationLink": "https://redmine.clinicalfuture.com/projects/orvos/",
11  "protocol": "rest",
12  "baseUrl": "https://api.clinicalfuture.com:3000/orvos/v1/",
13  "basePath": "/orvos/v1/",
14  "rootUrl": "https://api.clinicalfuture.com:3000/",
15  "servicePath": "orvos/v1/",
16  "batchPath": "batch",
17  "parameters": {
18   "alt": {
19    "type": "string",
20    "description": "Data format for the response.",
21    "default": "json",
22    "enum": [
23     "json"
24    ],
25    "enumDescriptions": [
26     "Responses with Content-Type of application/json"
27    ],
28    "location": "query"
29   },
30   "fields": {
31    "type": "string",
32    "description": "Selector specifying which fields to include in a partial response.",
33    "location": "query"
34   },
35   "key": {
36    "type": "string",
37    "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
38    "location": "query"
39   },
40   "oauth_token": {
41    "type": "string",
42    "description": "OAuth 2.0 token for the current user.",
43    "location": "query"
44   },
45   "prettyPrint": {
46    "type": "boolean",
47    "description": "Returns response with indentations and line breaks.",
48    "default": "true",
49    "location": "query"
50   },
51   "quotaUser": {
52    "type": "string",
53    "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. Overrides userIp if both are provided.",
54    "location": "query"
55   },
56   "userIp": {
57    "type": "string",
58    "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
59    "location": "query"
60   }
61  },
62  "auth": {
63   "oauth2": {
64    "scopes": {
65     "https://api.clinicalfuture.com/auth/orvos": {
66      "description": "View and manage the objects in your Orvos"
67     },
68     "https://api.clinicalfuture.com/auth/orvos.readonly": {
69      "description": "View the objects in your Orvos"
70     }
71    }
72   }
73  },
74  "schemas": {
75   "About": {
76    "id": "About",
77    "type": "object",
78    "description": "An item with user information and settings.",
79    "properties": {
80     "additionalRoleInfo": {
81      "type": "array",
82      "description": "Information about supported additional roles per file type. The most specific type takes precedence.",
83      "items": {
84       "type": "object",
85       "properties": {
86        "roleSets": {
87         "type": "array",
88         "description": "The supported additional roles per primary role.",
89         "items": {
90          "type": "object",
91          "properties": {
92           "additionalRoles": {
93            "type": "array",
94            "description": "The supported additional roles with the primary role.",
95            "items": {
96             "type": "string"
97            }
98           },
99           "primaryRole": {
100            "type": "string",
101            "description": "A primary permission role."
102           }
103          }
104         }
105        },
106        "type": {
107         "type": "string",
108         "description": "The content type that this additional role info applies to."
109        }
110       }
111      }
112     },
113     "etag": {
114      "type": "string",
115      "description": "The ETag of the item."
116     },
117     "kind": {
118      "type": "string",
119      "description": "This is always orvos#about.",
120      "default": "orvos#about"
121     },
122     "largestChangeId": {
123      "type": "string",
124      "description": "The largest change id.",
125      "format": "int64"
126     },
127     "name": {
128      "type": "string",
129      "description": "The name of the current user."
130     },
131     "permissionId": {
132      "type": "string",
133      "description": "The current user's ID as visible in the permissions collection."
134     },
135     "quotaBytesTotal": {
136      "type": "string",
137      "description": "The total number of quota bytes.",
138      "format": "int64"
139     },
140     "quotaBytesUsed": {
141      "type": "string",
142      "description": "The number of quota bytes used.",
143      "format": "int64"
144     },
145     "remainingChangeIds": {
146      "type": "string",
147      "description": "The number of remaining change ids.",
148      "format": "int64"
149     },
150     "rootFolderId": {
151      "type": "string",
152      "description": "The id of the root folder."
153     },
154     "selfLink": {
155      "type": "string",
156      "description": "A link back to this item."
157     },
158     "user": {
159      "$ref": "User",
160      "description": "The authenticated user."
161     }
162    }
163   },
164   "Collection": {
165    "id": "Collection",
166    "type": "object",
167    "description": "A collection of data files.",
168    "properties": {
169     "kind": {
170      "type": "string",
171      "description": "The type of collection. This is always orvos#collection.",
172      "default": "orvos#collection"
173     },
174     "id": {
175      "type": "string",
176      "description": "The id of the collection."
177     },
178     "etag": {
179      "type": "string",
180      "description": "ETag of the collection."
181     },
182     "locator": {
183      "type": "string",
184      "description": "CAS locator for the data in the collection."
185     },
186     "selfLink": {
187      "type": "string",
188      "description": "A link back to this collection."
189     },
190     "createdByClient": {
191      "type": "string",
192      "description": "ID of the API client that created the collection."
193     },
194     "createdByUser": {
195      "type": "string",
196      "description": "ID of the user who created the collection."
197     },
198     "createdAt": {
199      "type": "string",
200      "description": "Create time for this collection (formatted RFC 3339 timestamp).",
201      "format": "date-time"
202     },
203     "modifiedByClient": {
204      "type": "string",
205      "description": "ID of the API client that last modified the collection."
206     },
207     "modifiedByUser": {
208      "type": "string",
209      "description": "ID of the user who last modified the collection."
210     },
211     "modifiedAt": {
212      "type": "string",
213      "description": "Modification time for this collection (formatted RFC 3339 timestamp).",
214      "format": "date-time"
215     },
216     "portableDataHash": {
217      "type": "string",
218      "description": "Relocatable hash of content only."
219     },
220     "name": {
221      "type": "string",
222      "description": "Name of the collection."
223     },
224     "redundancy": {
225      "type": "integer",
226      "description": "Desired replication level."
227     },
228     "redundancyConfirmedByClient": {
229      "type": "string",
230      "description": "ID of the API client that last verified redundancy level."
231     },
232     "redundancyConfirmedAt": {
233      "type": "string",
234      "description": "Time when replication level was last verified (formatted RFC 3339 timestamp)."
235     },
236     "redundancyConfirmedAs": {
237      "type": "integer",
238      "description": "Most recently verified replication level."
239     }
240    }
241   },
242   "CollectionList": {
243    "id": "CollectionList",
244    "type": "object",
245    "description": "A list of collections.",
246    "properties": {
247     "etag": {
248      "type": "string",
249      "description": "The ETag of the list."
250     },
251     "items": {
252      "type": "array",
253      "description": "The actual list of collections.",
254      "items": {
255       "$ref": "Collection"
256      }
257     },
258     "kind": {
259      "type": "string",
260      "description": "This is always orvos#collectionList.",
261      "default": "orvos#collectionList"
262     },
263     "nextLink": {
264      "type": "string",
265      "description": "A link to the next page of collections."
266     },
267     "nextPageToken": {
268      "type": "string",
269      "description": "The page token for the next page of collections."
270     },
271     "selfLink": {
272      "type": "string",
273      "description": "A link back to this list."
274     }
275    }
276   },
277   "Link": {
278    "id": "Link",
279    "type": "object",
280    "description": "A link object.",
281    "properties": {
282     "kind": {
283      "type": "string",
284      "description": "The type of link. This is always orvos#link.",
285      "default": "orvos#link"
286     },
287     "id": {
288      "type": "string",
289      "description": "The id of the link."
290     },
291     "etag": {
292      "type": "string",
293      "description": "ETag of the link."
294     },
295     "selfLink": {
296      "type": "string",
297      "description": "A link back to this link."
298     },
299     "createdByClient": {
300      "type": "string",
301      "description": "ID of the API client that created the collection."
302     },
303     "createdByUser": {
304      "type": "string",
305      "description": "ID of the user who created the collection."
306     },
307     "createdAt": {
308      "type": "string",
309      "description": "Create time for this link (formatted RFC 3339 timestamp).",
310      "format": "date-time"
311     },
312     "modifiedByClient": {
313      "type": "string",
314      "description": "ID of the API client that last modified the link."
315     },
316     "modifiedByUser": {
317      "type": "string",
318      "description": "ID of the user who last modified the link."
319     },
320     "modifiedAt": {
321      "type": "string",
322      "description": "Modification time for this link (formatted RFC 3339 timestamp).",
323      "format": "date-time"
324     },
325     "name": {
326      "type": "string",
327      "description": "Name of the link."
328     },
329     "linkClass": {
330      "type": "string",
331      "description": "Class of the link."
332     },
333     "properties": {
334      "type": "string",
335      "description": "Properties of the link."
336     },
337     "headUuid": {
338      "type": "string",
339      "description": "ID of the 'head' of the link."
340     },
341     "headKind": {
342      "type": "string",
343      "description": "Object type of the 'head' of the link."
344     },
345     "tailUuid": {
346      "type": "string",
347      "description": "ID of the 'tail' of the link."
348     },
349     "tailKind": {
350      "type": "string",
351      "description": "Object type of the 'tail' of the link."
352     }
353    }
354   },
355   "LinkList": {
356    "id": "LinkList",
357    "type": "object",
358    "description": "A list of links.",
359    "properties": {
360     "etag": {
361      "type": "string",
362      "description": "The ETag of the list."
363     },
364     "items": {
365      "type": "array",
366      "description": "The actual list of links.",
367      "items": {
368       "$ref": "Link"
369      }
370     },
371     "kind": {
372      "type": "string",
373      "description": "This is always orvos#linkList.",
374      "default": "orvos#linkList"
375     },
376     "nextLink": {
377      "type": "string",
378      "description": "A link to the next page of links."
379     },
380     "nextPageToken": {
381      "type": "string",
382      "description": "The page token for the next page of links."
383     },
384     "selfLink": {
385      "type": "string",
386      "description": "A link back to this list."
387     }
388    }
389   },
390   "User": {
391    "id": "User",
392    "type": "object",
393    "description": "The JSON template for a user.",
394    "properties": {
395     "displayName": {
396      "type": "string",
397      "description": "A plain text displayable name for this user."
398     },
399     "isAuthenticatedUser": {
400      "type": "boolean",
401      "description": "Whether this user is the same as the authenticated user of which the request was made on behalf."
402     },
403     "kind": {
404      "type": "string",
405      "description": "This is always orvos#user.",
406      "default": "orvos#user"
407     }
408    }
409   }
410  },
411  "resources": {
412   "about": {
413    "methods": {
414     "get": {
415      "id": "orvos.about.get",
416      "path": "about",
417      "httpMethod": "GET",
418      "description": "Gets the information about the current user along with Orvos API settings",
419      "parameters": {
420       "includeSubscribed": {
421        "type": "boolean",
422        "description": "Whether to include subscribed items when calculating the number of remaining change IDs",
423        "default": "true",
424        "location": "query"
425       },
426       "maxChangeIdCount": {
427        "type": "string",
428        "description": "Maximum number of remaining change IDs to count",
429        "default": "1",
430        "format": "int64",
431        "location": "query"
432       },
433       "startChangeId": {
434        "type": "string",
435        "description": "Change ID to start counting from when calculating number of remaining change IDs",
436        "format": "int64",
437        "location": "query"
438       }
439      },
440      "response": {
441       "$ref": "About"
442      },
443      "scopes": [
444       "https://api.clinicalfuture.com/auth/orvos",
445       "https://api.clinicalfuture.com/auth/orvos.readonly"
446      ]
447     }
448    }
449   },
450   "collections": {
451    "methods": {
452     "get": {
453      "id": "orvos.collections.get",
454      "path": "collections/{collectionId}",
455      "httpMethod": "GET",
456      "description": "Gets a collection's metadata by ID.",
457      "parameters": {
458       "collectionId": {
459        "type": "string",
460        "description": "The ID for the collection in question.",
461        "required": true,
462        "location": "path"
463       }
464      },
465      "parameterOrder": [
466       "collectionId"
467      ],
468      "response": {
469       "$ref": "Collection"
470      },
471      "scopes": [
472       "https://api.clinicalfuture.com/auth/orvos",
473       "https://api.clinicalfuture.com/auth/orvos.readonly"
474      ]
475     },
476     "list": {
477      "id": "orvos.collections.list",
478      "path": "collections",
479      "httpMethod": "GET",
480      "description": "Lists the user's collections.",
481      "parameters": {
482       "maxResults": {
483        "type": "integer",
484        "description": "Maximum number of collections to return.",
485        "default": "100",
486        "format": "int32",
487        "minimum": "0",
488        "location": "query"
489       },
490       "pageToken": {
491        "type": "string",
492        "description": "Page token for collections.",
493        "location": "query"
494       },
495       "q": {
496        "type": "string",
497        "description": "Query string for searching collections.",
498        "location": "query"
499       }
500      },
501      "response": {
502       "$ref": "CollectionList"
503      },
504      "scopes": [
505       "https://api.clinicalfuture.com/auth/orvos",
506       "https://api.clinicalfuture.com/auth/orvos.readonly"
507      ]
508     }
509    }
510   },
511   "links": {
512    "methods": {
513     "get": {
514      "id": "orvos.links.get",
515      "path": "links/{linkId}",
516      "httpMethod": "GET",
517      "description": "Gets a link's metadata by ID.",
518      "parameters": {
519       "linkId": {
520        "type": "string",
521        "description": "The ID for the link in question.",
522        "required": true,
523        "location": "path"
524       }
525      },
526      "parameterOrder": [
527       "linkId"
528      ],
529      "response": {
530       "$ref": "Link"
531      },
532      "scopes": [
533       "https://api.clinicalfuture.com/auth/orvos",
534       "https://api.clinicalfuture.com/auth/orvos.readonly"
535      ]
536     },
537     "list": {
538      "id": "orvos.links.list",
539      "path": "links",
540      "httpMethod": "GET",
541      "description": "Lists the user's links.",
542      "parameters": {
543       "maxResults": {
544        "type": "integer",
545        "description": "Maximum number of links to return.",
546        "default": "100",
547        "format": "int32",
548        "minimum": "0",
549        "location": "query"
550       },
551       "pageToken": {
552        "type": "string",
553        "description": "Page token for links.",
554        "location": "query"
555       },
556       "q": {
557        "type": "string",
558        "description": "Query string for searching links.",
559        "location": "query"
560       }
561      },
562      "response": {
563       "$ref": "linkList"
564      },
565      "scopes": [
566       "https://api.clinicalfuture.com/auth/orvos",
567       "https://api.clinicalfuture.com/auth/orvos.readonly"
568      ]
569     }
570    }
571   },
572   "nodes": {
573     "methods": {
574       "create": {
575        "id": "orvos.nodes.create",
576        "path": "nodes",
577        "httpMethod": "POST",
578        "parameters": {
579        }
580       },
581       "get": {
582         "id": "orvos.nodes.get",
583         "path": "nodes/{nodeId}",
584         "httpMethod": "GET",
585         "parameters": {
586           "uuid": {
587             "type": "string"
588           }
589         }
590       }
591     }
592   }
593  }
594 }