blob: b4d7cfe937a821cb9267d0f516774da8dcbebb0b [file] [log] [blame]
Joe Gregorio2379ecc2010-10-26 10:51:28 -04001{
Joe Gregoriof4153422011-03-18 22:45:18 -04002 "kind": "discovery#describeItem",
Joe Gregorio2379ecc2010-10-26 10:51:28 -04003 "name": "zoo",
4 "version": "v1",
Joe Gregoriof4153422011-03-18 22:45:18 -04005 "description": "Zoo API used for Apiary testing",
Joe Gregorio6a63a762011-05-02 22:36:05 -04006 "basePath": "/zoo/",
Joe Gregorio2379ecc2010-10-26 10:51:28 -04007 "rpcPath": "/rpc",
Joe Gregorioc8e421c2012-06-06 14:03:13 -04008 "parameters": {
9 "alt": {
10 "type": "string",
11 "description": "Data format for the response.",
12 "default": "json",
13 "enum": [
14 "json"
15 ],
16 "enumDescriptions": [
17 "Responses with Content-Type of application/json"
18 ],
19 "location": "query"
20 },
21 "fields": {
22 "type": "string",
23 "description": "Selector specifying which fields to include in a partial response.",
24 "location": "query"
25 },
26 "key": {
27 "type": "string",
28 "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.",
29 "location": "query"
30 },
31 "oauth_token": {
32 "type": "string",
33 "description": "OAuth 2.0 token for the current user.",
34 "location": "query"
35 },
36 "prettyPrint": {
37 "type": "boolean",
38 "description": "Returns response with indentations and line breaks.",
39 "default": "true",
40 "location": "query"
41 },
42 "quotaUser": {
43 "type": "string",
44 "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.",
45 "location": "query"
46 },
47 "userIp": {
48 "type": "string",
49 "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
50 "location": "query"
51 }
52 },
Joe Gregoriof4153422011-03-18 22:45:18 -040053 "features": [
54 "dataWrapper"
55 ],
56 "schemas": {
57 "Animal": {
58 "id": "Animal",
59 "type": "object",
60 "properties": {
61 "etag": {
62 "type": "string"
63 },
64 "kind": {
65 "type": "string",
66 "default": "zoo#animal"
67 },
68 "name": {
69 "type": "string"
70 },
71 "photo": {
72 "type": "object",
73 "properties": {
74 "filename": {
75 "type": "string"
76 },
77 "hash": {
78 "type": "string"
79 },
80 "hashAlgorithm": {
81 "type": "string"
82 },
83 "size": {
84 "type": "integer"
85 },
86 "type": {
87 "type": "string"
88 }
89 }
90 }
91 }
92 },
93 "Animal2": {
94 "id": "Animal2",
95 "type": "object",
96 "properties": {
97 "kind": {
98 "type": "string",
99 "default": "zoo#animal"
100 },
101 "name": {
102 "type": "string"
103 }
104 }
105 },
106 "AnimalFeed": {
107 "id": "AnimalFeed",
108 "type": "object",
109 "properties": {
110 "etag": {
111 "type": "string"
112 },
113 "items": {
114 "type": "array",
115 "items": {
116 "$ref": "Animal"
117 }
118 },
119 "kind": {
120 "type": "string",
121 "default": "zoo#animalFeed"
122 }
123 }
124 },
125 "LoadFeed": {
126 "id": "LoadFeed",
127 "type": "object",
128 "properties": {
129 "items": {
130 "type": "array",
131 "items": {
132 "type": "object",
133 "properties": {
134 "doubleVal": {
135 "type": "number"
136 },
Joe Gregorio2b781282011-12-08 12:00:25 -0500137 "nullVal": {
138 "type": "null"
139 },
140 "booleanVal": {
141 "type": "boolean",
142 "description": "True or False."
143 },
144 "anyVal": {
145 "type": "any",
146 "description": "Anything will do."
147 },
Joe Gregoriof4153422011-03-18 22:45:18 -0400148 "enumVal": {
149 "type": "string"
150 },
151 "kind": {
152 "type": "string",
153 "default": "zoo#loadValue"
154 },
155 "longVal": {
156 "type": "integer"
157 },
158 "stringVal": {
159 "type": "string"
160 }
161 }
162 }
163 },
164 "kind": {
165 "type": "string",
166 "default": "zoo#loadFeed"
167 }
168 }
169 }
170 },
Joe Gregorio7a6df3a2011-01-31 21:55:21 -0500171 "methods": {
172 "query": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400173 "path": "query",
174 "id": "bigquery.query",
Joe Gregorio7a6df3a2011-01-31 21:55:21 -0500175 "httpMethod": "GET",
176 "parameters": {
177 "q": {
Joe Gregoriobee86832011-02-22 10:00:19 -0500178 "type": "string",
Joe Gregorio6a63a762011-05-02 22:36:05 -0400179 "location": "query",
Joe Gregorio7a6df3a2011-01-31 21:55:21 -0500180 "required": false,
181 "repeated": false
Joe Gregoriobee86832011-02-22 10:00:19 -0500182 },
183 "i": {
184 "type": "integer",
Joe Gregorio6a63a762011-05-02 22:36:05 -0400185 "location": "query",
Joe Gregoriobee86832011-02-22 10:00:19 -0500186 "required": false,
187 "repeated": false,
188 "minimum": "0",
189 "maximum": "4294967295",
190 "default": "20"
191 },
192 "n": {
193 "type": "number",
Joe Gregorio6a63a762011-05-02 22:36:05 -0400194 "location": "query",
Joe Gregoriobee86832011-02-22 10:00:19 -0500195 "required": false,
196 "repeated": false
197 },
198 "b": {
199 "type": "boolean",
Joe Gregorio6a63a762011-05-02 22:36:05 -0400200 "location": "query",
Joe Gregoriobee86832011-02-22 10:00:19 -0500201 "required": false,
202 "repeated": false
203 },
204 "a": {
205 "type": "any",
Joe Gregorio6a63a762011-05-02 22:36:05 -0400206 "location": "query",
Joe Gregoriobee86832011-02-22 10:00:19 -0500207 "required": false,
208 "repeated": false
209 },
210 "o": {
211 "type": "object",
Joe Gregorio6a63a762011-05-02 22:36:05 -0400212 "location": "query",
Joe Gregoriobee86832011-02-22 10:00:19 -0500213 "required": false,
214 "repeated": false
215 },
216 "e": {
217 "type": "string",
Joe Gregorio6a63a762011-05-02 22:36:05 -0400218 "location": "query",
Joe Gregoriobee86832011-02-22 10:00:19 -0500219 "required": false,
220 "repeated": false,
221 "enum": [
222 "foo",
223 "bar"
224 ]
Joe Gregorio6804c7a2011-11-18 14:30:32 -0500225 },
Craig Citro1e742822012-03-01 12:59:22 -0800226 "er": {
227 "type": "string",
228 "location": "query",
229 "required": false,
230 "repeated": true,
231 "enum": [
232 "one",
233 "two",
234 "three"
235 ]
236 },
Joe Gregorio6804c7a2011-11-18 14:30:32 -0500237 "rr": {
238 "type": "string",
239 "location": "query",
240 "required": false,
241 "repeated": true,
242 "pattern": "[a-z]+"
Joe Gregorio7a6df3a2011-01-31 21:55:21 -0500243 }
244 }
245 }
246 },
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400247 "resources": {
Joe Gregorio3fada332011-01-07 17:07:45 -0500248 "my": {
249 "resources": {
250 "favorites": {
251 "methods": {
252 "list": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400253 "path": "favorites/@me/mine",
254 "id": "zoo.animals.mine",
Joe Gregorio3fada332011-01-07 17:07:45 -0500255 "httpMethod": "GET",
256 "parameters": {
257 "max-results": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400258 "location": "query",
Joe Gregorio3fada332011-01-07 17:07:45 -0500259 "required": false
260 }
261 }
262 }
263 }
264 }
265 }
266 },
Joe Gregoriod92897c2011-07-07 11:44:56 -0400267 "global": {
268 "resources": {
269 "print": {
270 "methods": {
271 "assert": {
272 "path": "global/print/assert",
273 "id": "zoo.animals.mine",
274 "httpMethod": "GET",
275 "parameters": {
276 "max-results": {
277 "location": "query",
278 "required": false
279 }
280 }
281 }
282 }
283 }
284 }
285 },
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400286 "animals": {
287 "methods": {
288 "crossbreed": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400289 "path": "animals/crossbreed",
290 "id": "zoo.animals.crossbreed",
Joe Gregoriof4153422011-03-18 22:45:18 -0400291 "httpMethod": "POST",
292 "description": "Cross-breed animals",
293 "response": {
294 "$ref": "Animal2"
Joe Gregorio84d3c1f2011-07-25 10:39:45 -0400295 },
296 "mediaUpload": {
297 "accept": [
298 "image/png"
299 ],
300 "protocols": {
301 "simple": {
302 "multipart": true,
303 "path": "upload/activities/{userId}/@self"
304 },
305 "resumable": {
306 "multipart": true,
307 "path": "upload/activities/{userId}/@self"
308 }
309 }
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400310 }
311 },
312 "delete": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400313 "path": "animals/{name}",
314 "id": "zoo.animals.delete",
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400315 "httpMethod": "DELETE",
Joe Gregoriof4153422011-03-18 22:45:18 -0400316 "description": "Delete animals",
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400317 "parameters": {
318 "name": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400319 "location": "path",
Joe Gregoriof4153422011-03-18 22:45:18 -0400320 "required": true,
321 "description": "Name of the animal to delete",
322 "type": "string"
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400323 }
Joe Gregoriof4153422011-03-18 22:45:18 -0400324 },
325 "parameterOrder": [
326 "name"
327 ]
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400328 },
329 "get": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400330 "path": "animals/{name}",
331 "id": "zoo.animals.get",
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400332 "httpMethod": "GET",
Joe Gregoriof4153422011-03-18 22:45:18 -0400333 "description": "Get animals",
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400334 "parameters": {
335 "name": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400336 "location": "path",
Joe Gregoriof4153422011-03-18 22:45:18 -0400337 "required": true,
338 "description": "Name of the animal to load",
339 "type": "string"
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400340 },
341 "projection": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400342 "location": "query",
Joe Gregoriof4153422011-03-18 22:45:18 -0400343 "type": "string",
344 "enum": [
345 "full"
346 ],
347 "enumDescriptions": [
348 "Include everything"
349 ]
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400350 }
Joe Gregoriof4153422011-03-18 22:45:18 -0400351 },
352 "parameterOrder": [
353 "name"
354 ],
355 "response": {
356 "$ref": "Animal"
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400357 }
358 },
Joe Gregorioe08a1662011-12-07 09:48:22 -0500359 "getmedia": {
360 "path": "animals/{name}",
361 "id": "zoo.animals.get",
362 "httpMethod": "GET",
363 "description": "Get animals",
364 "parameters": {
365 "name": {
366 "location": "path",
367 "required": true,
368 "description": "Name of the animal to load",
369 "type": "string"
370 },
371 "projection": {
372 "location": "query",
373 "type": "string",
374 "enum": [
375 "full"
376 ],
377 "enumDescriptions": [
378 "Include everything"
379 ]
380 }
381 },
382 "parameterOrder": [
383 "name"
384 ]
385 },
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400386 "insert": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400387 "path": "animals",
388 "id": "zoo.animals.insert",
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400389 "httpMethod": "POST",
Joe Gregoriof4153422011-03-18 22:45:18 -0400390 "description": "Insert animals",
391 "request": {
392 "$ref": "Animal"
393 },
394 "response": {
395 "$ref": "Animal"
Joe Gregoriofdf7c802011-06-30 12:33:38 -0400396 },
397 "mediaUpload": {
398 "accept": [
399 "image/png"
400 ],
401 "maxSize": "1KB",
402 "protocols": {
403 "simple": {
404 "multipart": true,
405 "path": "upload/activities/{userId}/@self"
406 },
407 "resumable": {
408 "multipart": true,
409 "path": "upload/activities/{userId}/@self"
410 }
411 }
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400412 }
413 },
414 "list": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400415 "path": "animals",
416 "id": "zoo.animals.list",
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400417 "httpMethod": "GET",
Joe Gregoriof4153422011-03-18 22:45:18 -0400418 "description": "List animals",
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400419 "parameters": {
420 "max-results": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400421 "location": "query",
Joe Gregoriof4153422011-03-18 22:45:18 -0400422 "description": "Maximum number of results to return",
423 "type": "integer",
424 "minimum": "0"
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400425 },
426 "name": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400427 "location": "query",
Joe Gregoriof4153422011-03-18 22:45:18 -0400428 "description": "Restrict result to animals with this name",
429 "type": "string"
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400430 },
431 "projection": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400432 "location": "query",
Joe Gregoriof4153422011-03-18 22:45:18 -0400433 "type": "string",
434 "enum": [
435 "full"
436 ],
437 "enumDescriptions": [
438 "Include absolutely everything"
439 ]
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400440 },
441 "start-token": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400442 "location": "query",
Joe Gregoriof4153422011-03-18 22:45:18 -0400443 "description": "Pagination token",
444 "type": "string"
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400445 }
Joe Gregoriof4153422011-03-18 22:45:18 -0400446 },
447 "response": {
448 "$ref": "AnimalFeed"
449 }
450 },
451 "patch": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400452 "path": "animals/{name}",
453 "id": "zoo.animals.patch",
Joe Gregoriof4153422011-03-18 22:45:18 -0400454 "httpMethod": "PATCH",
455 "description": "Update animals",
456 "parameters": {
457 "name": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400458 "location": "path",
Joe Gregoriof4153422011-03-18 22:45:18 -0400459 "required": true,
460 "description": "Name of the animal to update",
461 "type": "string"
462 }
463 },
464 "parameterOrder": [
465 "name"
466 ],
467 "request": {
468 "$ref": "Animal"
469 },
470 "response": {
471 "$ref": "Animal"
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400472 }
473 },
474 "update": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400475 "path": "animals/{name}",
476 "id": "zoo.animals.update",
Joe Gregoriof4153422011-03-18 22:45:18 -0400477 "httpMethod": "PUT",
478 "description": "Update animals",
479 "parameters": {
480 "name": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400481 "location": "path",
Joe Gregoriof4153422011-03-18 22:45:18 -0400482 "description": "Name of the animal to update",
483 "type": "string"
484 }
485 },
486 "parameterOrder": [
487 "name"
488 ],
489 "request": {
490 "$ref": "Animal"
491 },
492 "response": {
493 "$ref": "Animal"
494 }
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400495 }
496 }
497 },
498 "load": {
499 "methods": {
500 "list": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400501 "path": "load",
502 "id": "zoo.load.list",
Joe Gregoriof4153422011-03-18 22:45:18 -0400503 "httpMethod": "GET",
504 "response": {
505 "$ref": "LoadFeed"
506 }
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400507 }
508 }
509 },
510 "loadNoTemplate": {
511 "methods": {
512 "list": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400513 "path": "loadNoTemplate",
514 "id": "zoo.loadNoTemplate.list",
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400515 "httpMethod": "GET"
516 }
517 }
Joe Gregoriof4153422011-03-18 22:45:18 -0400518 },
519 "scopedAnimals": {
520 "methods": {
521 "list": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400522 "path": "scopedanimals",
523 "id": "zoo.scopedAnimals.list",
Joe Gregoriof4153422011-03-18 22:45:18 -0400524 "httpMethod": "GET",
525 "description": "List animals (scoped)",
526 "parameters": {
527 "max-results": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400528 "location": "query",
Joe Gregoriof4153422011-03-18 22:45:18 -0400529 "description": "Maximum number of results to return",
530 "type": "integer",
531 "minimum": "0"
532 },
533 "name": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400534 "location": "query",
Joe Gregoriof4153422011-03-18 22:45:18 -0400535 "description": "Restrict result to animals with this name",
536 "type": "string"
537 },
538 "projection": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400539 "location": "query",
Joe Gregoriof4153422011-03-18 22:45:18 -0400540 "type": "string",
541 "enum": [
542 "full"
543 ],
544 "enumDescriptions": [
545 "Include absolutely everything"
546 ]
547 },
548 "start-token": {
Joe Gregorio6a63a762011-05-02 22:36:05 -0400549 "location": "query",
Joe Gregoriof4153422011-03-18 22:45:18 -0400550 "description": "Pagination token",
551 "type": "string"
552 }
553 },
554 "response": {
555 "$ref": "AnimalFeed"
556 }
557 }
558 }
Joe Gregorio2379ecc2010-10-26 10:51:28 -0400559 }
560 }
561}