Update to use the latest version of discovery.
Reviewed in: http://codereview.appspot.com/4449066/
diff --git a/apiclient/discovery.py b/apiclient/discovery.py
index 6ba0208..b99f7c2 100644
--- a/apiclient/discovery.py
+++ b/apiclient/discovery.py
@@ -43,8 +43,8 @@
URITEMPLATE = re.compile('{[^}]*}')
VARNAME = re.compile('[a-zA-Z0-9_-]+')
-DISCOVERY_URI = ('https://www.googleapis.com/discovery/v0.3/describe/'
- '{api}/{apiVersion}')
+DISCOVERY_URI = ('https://www.googleapis.com/discovery/v1/apis/'
+ '{api}/{apiVersion}/rest')
DEFAULT_METHOD_DOC = 'A description of how to use this function'
# Query parameters that work, but don't appear in discovery
@@ -164,7 +164,7 @@
"""
service = simplejson.loads(service)
- base = urlparse.urljoin(base, service['restBasePath'])
+ base = urlparse.urljoin(base, service['basePath'])
if future:
future = simplejson.loads(future)
auth_discovery = future.get('auth', {})
@@ -232,16 +232,16 @@
self._requestBuilder = requestBuilder
def createMethod(theclass, methodName, methodDesc, futureDesc):
- pathUrl = methodDesc['restPath']
+ pathUrl = methodDesc['path']
httpMethod = methodDesc['httpMethod']
- methodId = methodDesc['rpcMethod']
+ methodId = methodDesc['id']
if 'parameters' not in methodDesc:
methodDesc['parameters'] = {}
for name in STACK_QUERY_PARAMETERS:
methodDesc['parameters'][name] = {
'type': 'string',
- 'restParameterType': 'query'
+ 'location': 'query'
}
if httpMethod in ['PUT', 'POST', 'PATCH']:
@@ -274,9 +274,9 @@
required_params.append(param)
if desc.get('repeated', False):
repeated_params.append(param)
- if desc.get('restParameterType') == 'query':
+ if desc.get('location') == 'query':
query_params.append(param)
- if desc.get('restParameterType') == 'path':
+ if desc.get('location') == 'path':
path_params[param] = param
param_type[param] = desc.get('type', 'string')
@@ -380,7 +380,7 @@
setattr(theclass, methodName, method)
def createNextMethod(theclass, methodName, methodDesc, futureDesc):
- methodId = methodDesc['rpcMethod'] + '.next'
+ methodId = methodDesc['id'] + '.next'
def methodNext(self, previous):
"""
diff --git a/samples/api-python-client-doc/index.html b/samples/api-python-client-doc/index.html
index a1f0dd0..20764f0 100644
--- a/samples/api-python-client-doc/index.html
+++ b/samples/api-python-client-doc/index.html
@@ -6,7 +6,7 @@
<body>
<h1> Google API Client for Python Documentation </h1>
{% for item in directory %}
- <p><a href="/{{ item.name }}/{{ item.version }}"><img src="{{ item.icons.x32 }}"/> {{ item.description }} </a></p>
+ <p><a href="/{{ item.name }}/{{ item.version }}"><img src="{{ item.icons.x32 }}"/> {{ item.title }} </a></p>
{% endfor %}
</body>
</html>
diff --git a/samples/api-python-client-doc/main.py b/samples/api-python-client-doc/main.py
index df0209a..506f27a 100755
--- a/samples/api-python-client-doc/main.py
+++ b/samples/api-python-client-doc/main.py
@@ -35,8 +35,10 @@
def get(self):
http = httplib2.Http(memcache)
- resp, content = http.request('https://www.googleapis.com/discovery/v0.3/directory?preferred=true')
+ resp, content = http.request('https://www.googleapis.com/discovery/v1/apis?preferred=true')
directory = simplejson.loads(content)['items']
+ for item in directory:
+ item['title'] = item.get('title', item.get('description', ''))
path = os.path.join(os.path.dirname(__file__), 'index.html')
self.response.out.write(
template.render(
diff --git a/tests/data/buzz.json b/tests/data/buzz.json
index 5de10de..cd121a2 100644
--- a/tests/data/buzz.json
+++ b/tests/data/buzz.json
@@ -1,16 +1,39 @@
{
+ "kind": "discovery#restDescription",
+ "id": "buzz:v1",
"name": "buzz",
"version": "v1",
- "description": "Buzz API",
- "restBasePath": "/buzz/v1/",
- "rpcPath": "/rpc",
+ "title": "Buzz API",
+ "description": "Lets you share updates, photos, videos, and more with your friends around the world",
+ "icons": {
+ "x16": "http://www.google.com/images/icons/product/buzz-16.png",
+ "x32": "http://www.google.com/images/icons/product/buzz-32.png"
+ },
+ "documentationLink": "http://code.google.com/apis/buzz/v1/using_rest.html",
+ "labels": [
+ "labs"
+ ],
+ "protocol": "rest",
+ "basePath": "/buzz/v1/",
+ "auth": {
+ "oauth2": {
+ "scopes": {
+ "https://www.googleapis.com/auth/buzz": {
+ "description": "Manage your Buzz activity and address book"
+ },
+ "https://www.googleapis.com/auth/buzz.readonly": {
+ "description": "View your Buzz activity and address book"
+ },
+ "https://www.googleapis.com/auth/picasa": {
+ "description": "Manage your photos and videos"
+ }
+ }
+ }
+ },
"features": [
"dataWrapper"
],
"schemas": {
- "ChiliEntitiesStarredAddJson": {
- "$ref": "Entity"
- },
"Activity": {
"id": "Activity",
"type": "object",
@@ -433,6 +456,35 @@
}
}
},
+ "AlbumLite": {
+ "id": "AlbumLite",
+ "type": "object",
+ "properties": {
+ "collection": {
+ "type": "object",
+ "properties": {
+ "album": {
+ "type": "any"
+ },
+ "albumId": {
+ "type": "any"
+ },
+ "photo": {
+ "type": "object",
+ "properties": {
+ "photoUrl": {
+ "type": "any"
+ }
+ }
+ }
+ }
+ },
+ "kind": {
+ "type": "string",
+ "default": "buzz#albumLite"
+ }
+ }
+ },
"AlbumsFeed": {
"id": "AlbumsFeed",
"type": "object",
@@ -719,102 +771,6 @@
}
}
},
- "Entity": {
- "id": "Entity",
- "type": "object",
- "properties": {
- "chipsUiAcl": {
- "type": "any"
- },
- "comment": {
- "type": "any"
- },
- "id": {
- "type": "any"
- },
- "kind": {
- "type": "string",
- "default": "buzz#entity"
- },
- "starredBy": {
- "type": "array",
- "items": {
- "$ref": "Person"
- }
- },
- "starredByViewer": {
- "type": "any"
- },
- "summary": {
- "type": "any"
- },
- "title": {
- "type": "any"
- },
- "totalNumStars": {
- "type": "any"
- },
- "viewerStarAcl": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "displayName": {
- "type": "any"
- },
- "id": {
- "type": "any"
- },
- "kind": {
- "type": "any"
- },
- "tags": {
- "type": "array",
- "items": {
- "type": "any"
- }
- }
- }
- }
- }
- }
- },
- "EntityAcl": {
- "id": "EntityAcl",
- "type": "object",
- "properties": {
- "chipsUiAcl": {
- "type": "string"
- },
- "kind": {
- "type": "string",
- "default": "buzz#entityAcl"
- },
- "viewerStarAcl": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "displayName": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "kind": {
- "type": "string"
- },
- "tags": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- }
- }
- }
- },
"Group": {
"id": "Group",
"type": "object",
@@ -1485,47 +1441,6 @@
}
}
},
- "StarredEntityFeed": {
- "id": "StarredEntityFeed",
- "type": "object",
- "properties": {
- "entry": {
- "type": "array",
- "items": {
- "$ref": "Entity"
- }
- },
- "kind": {
- "type": "string",
- "default": "buzz#starredEntityFeed"
- }
- }
- },
- "StarredEntityFeedForUser": {
- "id": "StarredEntityFeedForUser",
- "type": "object",
- "properties": {
- "entry": {
- "type": "array",
- "items": {
- "$ref": "Entity"
- }
- },
- "itemsPerPage": {
- "type": "any"
- },
- "kind": {
- "type": "string",
- "default": "buzz#starredEntityFeedForUser"
- },
- "startIndex": {
- "type": "any"
- },
- "totalResults": {
- "type": "any"
- }
- }
- },
"Video": {
"id": "Video",
"type": "object",
@@ -1536,6 +1451,9 @@
"size": {
"type": "integer"
},
+ "status": {
+ "type": "string"
+ },
"streams": {
"type": "array",
"items": {
@@ -1543,59 +1461,47 @@
}
}
}
- },
- "VideosFeed": {
- "id": "VideosFeed",
- "type": "object",
- "properties": {
- "items": {
- "type": "array",
- "items": {
- "$ref": "ChiliPhotosResourceJson"
- }
- },
- "kind": {
- "type": "string",
- "default": "buzz#videosFeed"
- }
- }
}
},
"resources": {
"activities": {
"methods": {
"count": {
- "restPath": "activities/count",
- "rpcMethod": "chili.activities.count",
+ "id": "chili.activities.count",
+ "path": "activities/count",
"httpMethod": "GET",
"description": "Get a count of link shares",
"parameters": {
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"url": {
- "restParameterType": "query",
- "repeated": true,
+ "type": "string",
"description": "URLs for which to get share counts.",
- "type": "string"
+ "repeated": true,
+ "location": "query"
}
},
"response": {
"$ref": "CountFeed"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz",
+ "https://www.googleapis.com/auth/buzz.readonly"
+ ]
},
"delete": {
- "restPath": "activities/{userId}/{scope}/{postId}",
- "rpcMethod": "chili.activities.delete",
+ "id": "chili.activities.delete",
+ "path": "activities/{userId}/{scope}/{postId}",
"httpMethod": "DELETE",
"description": "Delete an activity",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -1604,24 +1510,23 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"postId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the activity to delete.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"scope": {
- "restParameterType": "path",
- "required": true,
- "description": "The collection to which the activity belongs.",
"type": "string",
+ "description": "The collection to which the activity belongs.",
+ "required": true,
"enum": [
"@liked",
"@muted",
@@ -1631,31 +1536,35 @@
"Activities liked by the user.",
"Activities muted by the user.",
"Activities posted by the user."
- ]
+ ],
+ "location": "path"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user whose post to delete.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
"userId",
"scope",
"postId"
+ ],
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz"
]
},
"extractPeopleFromSearch": {
- "restPath": "activities/search/@people",
- "rpcMethod": "chili.activities.extractPeopleFromSearch",
+ "id": "chili.activities.extractPeopleFromSearch",
+ "path": "activities/search/@people",
"httpMethod": "GET",
"description": "Search for people by topic",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -1664,71 +1573,75 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"bbox": {
- "restParameterType": "query",
+ "type": "string",
"description": "Bounding box to use in a geographic location query.",
- "type": "string"
+ "location": "query"
},
"c": {
- "restParameterType": "query",
+ "type": "string",
"description": "A continuation token that allows pagination.",
- "type": "string"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"lat": {
- "restParameterType": "query",
+ "type": "string",
"description": "Latitude to use in a geographic location query.",
- "type": "string"
+ "location": "query"
},
"lon": {
- "restParameterType": "query",
+ "type": "string",
"description": "Longitude to use in a geographic location query.",
- "type": "string"
+ "location": "query"
},
"max-results": {
- "restParameterType": "query",
- "description": "Maximum number of results to include.",
"type": "integer",
+ "description": "Maximum number of results to include.",
+ "default": "20",
"minimum": "0",
"maximum": "4294967295",
- "default": "20"
+ "location": "query"
},
"pid": {
- "restParameterType": "query",
+ "type": "string",
"description": "ID of a place to use in a geographic location query.",
- "type": "string"
+ "location": "query"
},
"q": {
- "restParameterType": "query",
+ "type": "string",
"description": "Full-text search query string.",
- "type": "string"
+ "location": "query"
},
"radius": {
- "restParameterType": "query",
+ "type": "string",
"description": "Radius to use in a geographic location query.",
- "type": "string"
+ "location": "query"
}
},
"response": {
"$ref": "PeopleFeed"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz",
+ "https://www.googleapis.com/auth/buzz.readonly"
+ ]
},
"get": {
- "restPath": "activities/{userId}/@self/{postId}",
- "rpcMethod": "chili.activities.get",
+ "id": "chili.activities.get",
+ "path": "activities/{userId}/@self/{postId}",
"httpMethod": "GET",
"description": "Get an activity",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -1737,44 +1650,45 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"max-comments": {
- "restParameterType": "query",
+ "type": "integer",
"description": "Maximum number of comments to include.",
- "type": "integer",
- "minimum": "0",
- "maximum": "4294967295"
- },
- "max-liked": {
- "restParameterType": "query",
- "description": "Maximum number of likes to include.",
- "type": "integer",
+ "default": "0",
"minimum": "0",
"maximum": "4294967295",
- "default": "0"
+ "location": "query"
+ },
+ "max-liked": {
+ "type": "integer",
+ "description": "Maximum number of likes to include.",
+ "default": "0",
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "query"
},
"postId": {
- "restParameterType": "path",
+ "type": "string",
+ "description": "ID of the post to get.",
"required": true,
- "description": "ID of the user to get.",
- "type": "string"
+ "location": "path"
},
"truncateAtom": {
- "restParameterType": "query",
+ "type": "boolean",
"description": "Truncate the value of the atom:content element.",
- "type": "boolean"
+ "location": "query"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user whose post to get.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -1783,18 +1697,22 @@
],
"response": {
"$ref": "Activity"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz",
+ "https://www.googleapis.com/auth/buzz.readonly"
+ ]
},
"insert": {
- "restPath": "activities/{userId}/@self",
- "rpcMethod": "chili.activities.insert",
+ "id": "chili.activities.insert",
+ "path": "activities/{userId}/@self",
"httpMethod": "POST",
"description": "Create a new activity",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -1803,24 +1721,24 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"preview": {
- "restParameterType": "query",
- "description": "If true, only preview the action.",
"type": "boolean",
- "default": "false"
+ "description": "If true, only preview the action.",
+ "default": "false",
+ "location": "query"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -1831,18 +1749,21 @@
},
"response": {
"$ref": "Activity"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz"
+ ]
},
"list": {
- "restPath": "activities/{userId}/{scope}",
- "rpcMethod": "chili.activities.list",
+ "id": "chili.activities.list",
+ "path": "activities/{userId}/{scope}",
"httpMethod": "GET",
"description": "List activities",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -1851,46 +1772,46 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"c": {
- "restParameterType": "query",
+ "type": "string",
"description": "A continuation token that allows pagination.",
- "type": "string"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"max-comments": {
- "restParameterType": "query",
- "description": "Maximum number of comments to include.",
"type": "integer",
+ "description": "Maximum number of comments to include.",
+ "default": "0",
"minimum": "0",
- "maximum": "4294967295"
+ "maximum": "4294967295",
+ "location": "query"
},
"max-liked": {
- "restParameterType": "query",
- "description": "Maximum number of likes to include.",
"type": "integer",
+ "description": "Maximum number of likes to include.",
+ "default": "0",
"minimum": "0",
"maximum": "4294967295",
- "default": "0"
+ "location": "query"
},
"max-results": {
- "restParameterType": "query",
- "description": "Maximum number of results to include.",
"type": "integer",
+ "description": "Maximum number of results to include.",
+ "default": "20",
"minimum": "0",
"maximum": "4294967295",
- "default": "20"
+ "location": "query"
},
"scope": {
- "restParameterType": "path",
- "required": true,
- "description": "The collection of activities to list.",
"type": "string",
+ "description": "The collection of activities to list.",
+ "required": true,
"enum": [
"@comments",
"@consumption",
@@ -1904,18 +1825,19 @@
"Limit to activities liked by the user.",
"Limit to public activities posted by the user.",
"Limit to activities posted by the user."
- ]
+ ],
+ "location": "path"
},
"truncateAtom": {
- "restParameterType": "query",
+ "type": "boolean",
"description": "Truncate the value of the atom:content element.",
- "type": "boolean"
+ "location": "query"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -1924,18 +1846,22 @@
],
"response": {
"$ref": "ActivityFeed"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz",
+ "https://www.googleapis.com/auth/buzz.readonly"
+ ]
},
"search": {
- "restPath": "activities/search",
- "rpcMethod": "chili.activities.search",
+ "id": "chili.activities.search",
+ "path": "activities/search",
"httpMethod": "GET",
"description": "Search for activities",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -1944,76 +1870,80 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"bbox": {
- "restParameterType": "query",
+ "type": "string",
"description": "Bounding box to use in a geographic location query.",
- "type": "string"
+ "location": "query"
},
"c": {
- "restParameterType": "query",
+ "type": "string",
"description": "A continuation token that allows pagination.",
- "type": "string"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"lat": {
- "restParameterType": "query",
+ "type": "string",
"description": "Latitude to use in a geographic location query.",
- "type": "string"
+ "location": "query"
},
"lon": {
- "restParameterType": "query",
+ "type": "string",
"description": "Longitude to use in a geographic location query.",
- "type": "string"
+ "location": "query"
},
"max-results": {
- "restParameterType": "query",
- "description": "Maximum number of results to include.",
"type": "integer",
+ "description": "Maximum number of results to include.",
+ "default": "20",
"minimum": "0",
"maximum": "4294967295",
- "default": "20"
+ "location": "query"
},
"pid": {
- "restParameterType": "query",
+ "type": "string",
"description": "ID of a place to use in a geographic location query.",
- "type": "string"
+ "location": "query"
},
"q": {
- "restParameterType": "query",
+ "type": "string",
"description": "Full-text search query string.",
- "type": "string"
+ "location": "query"
},
"radius": {
- "restParameterType": "query",
+ "type": "string",
"description": "Radius to use in a geographic location query.",
- "type": "string"
+ "location": "query"
},
"truncateAtom": {
- "restParameterType": "query",
+ "type": "boolean",
"description": "Truncate the value of the atom:content element.",
- "type": "boolean"
+ "location": "query"
}
},
"response": {
"$ref": "ActivityFeed"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz",
+ "https://www.googleapis.com/auth/buzz.readonly"
+ ]
},
"track": {
- "restPath": "activities/track",
- "rpcMethod": "chili.activities.track",
+ "id": "chili.activities.track",
+ "path": "activities/track",
"httpMethod": "GET",
"description": "Get real-time activity tracking information",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -2022,75 +1952,79 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"bbox": {
- "restParameterType": "query",
+ "type": "string",
"description": "Bounding box to use in a geographic location query.",
- "type": "string"
+ "location": "query"
},
"c": {
- "restParameterType": "query",
+ "type": "string",
"description": "A continuation token that allows pagination.",
- "type": "string"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"lat": {
- "restParameterType": "query",
+ "type": "string",
"description": "Latitude to use in a geographic location query.",
- "type": "string"
+ "location": "query"
},
"lon": {
- "restParameterType": "query",
+ "type": "string",
"description": "Longitude to use in a geographic location query.",
- "type": "string"
+ "location": "query"
},
"max-results": {
- "restParameterType": "query",
- "description": "Maximum number of results to include.",
"type": "integer",
+ "description": "Maximum number of results to include.",
+ "default": "20",
"minimum": "0",
"maximum": "4294967295",
- "default": "20"
+ "location": "query"
},
"pid": {
- "restParameterType": "query",
+ "type": "string",
"description": "ID of a place to use in a geographic location query.",
- "type": "string"
+ "location": "query"
},
"q": {
- "restParameterType": "query",
+ "type": "string",
"description": "Full-text search query string.",
- "type": "string"
+ "location": "query"
},
"radius": {
- "restParameterType": "query",
+ "type": "string",
"description": "Radius to use in a geographic location query.",
- "type": "string"
+ "location": "query"
}
},
"response": {
"$ref": "ActivityFeed"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz",
+ "https://www.googleapis.com/auth/buzz.readonly"
+ ]
},
"update": {
- "restPath": "activities/{userId}/{scope}/{postId}",
- "rpcMethod": "chili.activities.update",
+ "id": "chili.activities.update",
+ "path": "activities/{userId}/{scope}/{postId}",
"httpMethod": "PUT",
"description": "Update an activity",
"parameters": {
"abuseType": {
- "restParameterType": "query",
- "type": "string"
+ "type": "string",
+ "location": "query"
},
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -2099,24 +2033,23 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"postId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the activity to update.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"scope": {
- "restParameterType": "path",
- "required": true,
- "description": "The collection to which the activity belongs.",
"type": "string",
+ "description": "The collection to which the activity belongs.",
+ "required": true,
"enum": [
"@abuse",
"@liked",
@@ -2128,13 +2061,14 @@
"Activities liked by the user.",
"Activities muted by the user.",
"Activities posted by the user."
- ]
+ ],
+ "location": "path"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user whose post to update.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -2147,22 +2081,25 @@
},
"response": {
"$ref": "Activity"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz"
+ ]
}
}
},
"comments": {
"methods": {
"delete": {
- "restPath": "activities/{userId}/@self/{postId}/@comments/{commentId}",
- "rpcMethod": "chili.comments.delete",
+ "id": "chili.comments.delete",
+ "path": "activities/{userId}/@self/{postId}/@comments/{commentId}",
"httpMethod": "DELETE",
"description": "Delete a comment",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -2171,48 +2108,51 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"commentId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the comment being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"postId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the activity for which to delete the comment.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
"userId",
"postId",
"commentId"
+ ],
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz"
]
},
"get": {
- "restPath": "activities/{userId}/@self/{postId}/@comments/{commentId}",
- "rpcMethod": "chili.comments.get",
+ "id": "chili.comments.get",
+ "path": "activities/{userId}/@self/{postId}/@comments/{commentId}",
"httpMethod": "GET",
"description": "Get a comment",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -2221,30 +2161,30 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"commentId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the comment being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"postId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the activity for which to get comments.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -2254,18 +2194,22 @@
],
"response": {
"$ref": "Comment"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz",
+ "https://www.googleapis.com/auth/buzz.readonly"
+ ]
},
"insert": {
- "restPath": "activities/{userId}/@self/{postId}/@comments",
- "rpcMethod": "chili.comments.insert",
+ "id": "chili.comments.insert",
+ "path": "activities/{userId}/@self/{postId}/@comments",
"httpMethod": "POST",
"description": "Create a comment",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -2274,24 +2218,24 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"postId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the activity on which to comment.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user on whose behalf to comment.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -2303,18 +2247,21 @@
},
"response": {
"$ref": "Comment"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz"
+ ]
},
"list": {
- "restPath": "activities/{userId}/{scope}/{postId}/@comments",
- "rpcMethod": "chili.comments.list",
+ "id": "chili.comments.list",
+ "path": "activities/{userId}/{scope}/{postId}/@comments",
"httpMethod": "GET",
"description": "List comments",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -2323,49 +2270,49 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"c": {
- "restParameterType": "query",
+ "type": "string",
"description": "A continuation token that allows pagination.",
- "type": "string"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"max-results": {
- "restParameterType": "query",
- "description": "Maximum number of results to include.",
"type": "integer",
+ "description": "Maximum number of results to include.",
+ "default": "20",
"minimum": "0",
"maximum": "4294967295",
- "default": "20"
+ "location": "query"
},
"postId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the activity for which to get comments.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"scope": {
- "restParameterType": "path",
- "required": true,
- "description": "The collection to which the activity belongs.",
"type": "string",
+ "description": "The collection to which the activity belongs.",
+ "required": true,
"enum": [
"@self"
],
"enumDescriptions": [
"Activities posted by the user."
- ]
+ ],
+ "location": "path"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user for whose post to get comments.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -2375,22 +2322,26 @@
],
"response": {
"$ref": "CommentFeed"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz",
+ "https://www.googleapis.com/auth/buzz.readonly"
+ ]
},
"update": {
- "restPath": "activities/{userId}/{scope}/{postId}/@comments/{commentId}",
- "rpcMethod": "chili.comments.update",
+ "id": "chili.comments.update",
+ "path": "activities/{userId}/{scope}/{postId}/@comments/{commentId}",
"httpMethod": "PUT",
"description": "Update a comment",
"parameters": {
"abuseType": {
- "restParameterType": "query",
- "type": "string"
+ "type": "string",
+ "location": "query"
},
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -2399,30 +2350,29 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"commentId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the comment being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"postId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the activity for which to update the comment.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"scope": {
- "restParameterType": "path",
- "required": true,
- "description": "The collection to which the activity belongs.",
"type": "string",
+ "description": "The collection to which the activity belongs.",
+ "required": true,
"enum": [
"@abuse",
"@self"
@@ -2430,13 +2380,14 @@
"enumDescriptions": [
"Comments reported by the user.",
"Comments posted by the user."
- ]
+ ],
+ "location": "path"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -2450,22 +2401,25 @@
},
"response": {
"$ref": "Comment"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz"
+ ]
}
}
},
"groups": {
"methods": {
"delete": {
- "restPath": "people/{userId}/@groups/{groupId}",
- "rpcMethod": "chili.groups.delete",
+ "id": "chili.groups.delete",
+ "path": "people/{userId}/@groups/{groupId}",
"httpMethod": "DELETE",
"description": "Delete a group",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -2474,41 +2428,44 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"groupId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the group to delete.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
"userId",
"groupId"
+ ],
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz"
]
},
"get": {
- "restPath": "people/{userId}/@groups/{groupId}/@self",
- "rpcMethod": "chili.groups.get",
+ "id": "chili.groups.get",
+ "path": "people/{userId}/@groups/{groupId}/@self",
"httpMethod": "GET",
"description": "Get a group",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -2517,24 +2474,24 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"groupId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the group to get.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -2543,18 +2500,22 @@
],
"response": {
"$ref": "Group"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz",
+ "https://www.googleapis.com/auth/buzz.readonly"
+ ]
},
"insert": {
- "restPath": "people/{userId}/@groups",
- "rpcMethod": "chili.groups.insert",
+ "id": "chili.groups.insert",
+ "path": "people/{userId}/@groups",
"httpMethod": "POST",
"description": "Create a group",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -2563,18 +2524,18 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -2585,18 +2546,21 @@
},
"response": {
"$ref": "Group"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz"
+ ]
},
"list": {
- "restPath": "people/{userId}/@groups",
- "rpcMethod": "chili.groups.list",
+ "id": "chili.groups.list",
+ "path": "people/{userId}/@groups",
"httpMethod": "GET",
"description": "Get a user's groups",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -2605,31 +2569,31 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"c": {
- "restParameterType": "query",
+ "type": "string",
"description": "A continuation token that allows pagination.",
- "type": "string"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"max-results": {
- "restParameterType": "query",
- "description": "Maximum number of results to include.",
"type": "integer",
+ "description": "Maximum number of results to include.",
+ "default": "20",
"minimum": "0",
"maximum": "4294967295",
- "default": "20"
+ "location": "query"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -2637,18 +2601,22 @@
],
"response": {
"$ref": "GroupFeed"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz",
+ "https://www.googleapis.com/auth/buzz.readonly"
+ ]
},
"update": {
- "restPath": "people/{userId}/@groups/{groupId}/@self",
- "rpcMethod": "chili.groups.update",
+ "id": "chili.groups.update",
+ "path": "people/{userId}/@groups/{groupId}/@self",
"httpMethod": "PUT",
"description": "Update a group",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -2657,24 +2625,24 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"groupId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the group to update.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -2686,22 +2654,25 @@
},
"response": {
"$ref": "Group"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz"
+ ]
}
}
},
"people": {
"methods": {
"delete": {
- "restPath": "people/{userId}/@groups/{groupId}/{personId}",
- "rpcMethod": "chili.people.delete",
+ "id": "chili.people.delete",
+ "path": "people/{userId}/@groups/{groupId}/{personId}",
"httpMethod": "DELETE",
"description": "Remove a person from a group",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -2710,48 +2681,51 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"groupId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the group from which to remove the person.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"personId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the person to remove from the group.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the owner of the group.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
"userId",
"groupId",
"personId"
+ ],
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz"
]
},
"get": {
- "restPath": "people/{userId}/@self",
- "rpcMethod": "chili.people.get",
+ "id": "chili.people.get",
+ "path": "people/{userId}/@self",
"httpMethod": "GET",
"description": "Get a user profile",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -2760,18 +2734,18 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -2779,18 +2753,22 @@
],
"response": {
"$ref": "Person"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz",
+ "https://www.googleapis.com/auth/buzz.readonly"
+ ]
},
"liked": {
- "restPath": "activities/{userId}/{scope}/{postId}/{groupId}",
- "rpcMethod": "chili.people.liked",
+ "id": "chili.people.liked",
+ "path": "activities/{userId}/{scope}/{postId}/{groupId}",
"httpMethod": "GET",
"description": "Get people who liked an activity",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -2799,53 +2777,53 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"c": {
- "restParameterType": "query",
+ "type": "string",
"description": "A continuation token that allows pagination.",
- "type": "string"
+ "location": "query"
},
"groupId": {
- "restParameterType": "path",
- "required": true,
"type": "string",
+ "required": true,
"enum": [
"@liked"
],
"enumDescriptions": [
"People who liked this activity."
- ]
+ ],
+ "location": "path"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"max-results": {
- "restParameterType": "query",
- "description": "Maximum number of results to include.",
"type": "integer",
+ "description": "Maximum number of results to include.",
+ "default": "20",
"minimum": "0",
"maximum": "4294967295",
- "default": "20"
+ "location": "query"
},
"postId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the activity that was liked.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"scope": {
- "restParameterType": "path",
+ "type": "string",
"required": true,
- "type": "string"
+ "location": "path"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -2856,18 +2834,22 @@
],
"response": {
"$ref": "PeopleFeed"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz",
+ "https://www.googleapis.com/auth/buzz.readonly"
+ ]
},
"list": {
- "restPath": "people/{userId}/@groups/{groupId}",
- "rpcMethod": "chili.people.list",
+ "id": "chili.people.list",
+ "path": "people/{userId}/@groups/{groupId}",
"httpMethod": "GET",
"description": "Get people in a group",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -2876,37 +2858,37 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"c": {
- "restParameterType": "query",
+ "type": "string",
"description": "A continuation token that allows pagination.",
- "type": "string"
+ "location": "query"
},
"groupId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the group for which to list users.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"max-results": {
- "restParameterType": "query",
- "description": "Maximum number of results to include.",
"type": "integer",
+ "description": "Maximum number of results to include.",
+ "default": "20",
"minimum": "0",
"maximum": "4294967295",
- "default": "20"
+ "location": "query"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -2915,18 +2897,22 @@
],
"response": {
"$ref": "PeopleFeed"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz",
+ "https://www.googleapis.com/auth/buzz.readonly"
+ ]
},
"reshared": {
- "restPath": "activities/{userId}/{scope}/{postId}/{groupId}",
- "rpcMethod": "chili.people.reshared",
+ "id": "chili.people.reshared",
+ "path": "activities/{userId}/{scope}/{postId}/{groupId}",
"httpMethod": "GET",
"description": "Get people who reshared an activity",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -2935,53 +2921,53 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"c": {
- "restParameterType": "query",
+ "type": "string",
"description": "A continuation token that allows pagination.",
- "type": "string"
+ "location": "query"
},
"groupId": {
- "restParameterType": "path",
- "required": true,
"type": "string",
+ "required": true,
"enum": [
"@reshared"
],
"enumDescriptions": [
"People who reshared this activity."
- ]
+ ],
+ "location": "path"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"max-results": {
- "restParameterType": "query",
- "description": "Maximum number of results to include.",
"type": "integer",
+ "description": "Maximum number of results to include.",
+ "default": "20",
"minimum": "0",
"maximum": "4294967295",
- "default": "20"
+ "location": "query"
},
"postId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the activity that was reshared.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"scope": {
- "restParameterType": "path",
+ "type": "string",
"required": true,
- "type": "string"
+ "location": "path"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -2992,18 +2978,22 @@
],
"response": {
"$ref": "PeopleFeed"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz",
+ "https://www.googleapis.com/auth/buzz.readonly"
+ ]
},
"search": {
- "restPath": "people/search",
- "rpcMethod": "chili.people.search",
+ "id": "chili.people.search",
+ "path": "people/search",
"httpMethod": "GET",
"description": "Search for people",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -3012,46 +3002,50 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"c": {
- "restParameterType": "query",
+ "type": "string",
"description": "A continuation token that allows pagination.",
- "type": "string"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"max-results": {
- "restParameterType": "query",
- "description": "Maximum number of results to include.",
"type": "integer",
+ "description": "Maximum number of results to include.",
+ "default": "20",
"minimum": "0",
"maximum": "4294967295",
- "default": "20"
+ "location": "query"
},
"q": {
- "restParameterType": "query",
+ "type": "string",
"description": "Full-text search query string.",
- "type": "string"
+ "location": "query"
}
},
"response": {
"$ref": "PeopleFeed"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz",
+ "https://www.googleapis.com/auth/buzz.readonly"
+ ]
},
"update": {
- "restPath": "people/{userId}/@groups/{groupId}/{personId}",
- "rpcMethod": "chili.people.update",
+ "id": "chili.people.update",
+ "path": "people/{userId}/@groups/{groupId}/{personId}",
"httpMethod": "PUT",
"description": "Add a person to a group",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -3060,30 +3054,30 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"groupId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the group to which to add the person.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"personId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the person to add to the group.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the owner of the group.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -3096,28 +3090,31 @@
},
"response": {
"$ref": "Person"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz"
+ ]
}
}
},
"photoAlbums": {
"methods": {
"delete": {
- "restPath": "photos/{userId}/@self/{albumId}",
- "rpcMethod": "chili.photoAlbums.delete",
+ "id": "chili.photoAlbums.delete",
+ "path": "photos/{userId}/@self/{albumId}",
"httpMethod": "DELETE",
"description": "Delete a photo album",
"parameters": {
"albumId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the album to delete.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -3126,41 +3123,44 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
"userId",
"albumId"
+ ],
+ "scopes": [
+ "https://www.googleapis.com/auth/picasa"
]
},
"get": {
- "restPath": "photos/{userId}/@self/{albumId}",
- "rpcMethod": "chili.photoAlbums.get",
+ "id": "chili.photoAlbums.get",
+ "path": "photos/{userId}/@self/{albumId}",
"httpMethod": "GET",
"description": "Get a photo album",
"parameters": {
"albumId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the album to get.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -3169,18 +3169,18 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -3189,18 +3189,21 @@
],
"response": {
"$ref": "Album"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/picasa"
+ ]
},
"insert": {
- "restPath": "photos/{userId}/@self",
- "rpcMethod": "chili.photoAlbums.insert",
+ "id": "chili.photoAlbums.insert",
+ "path": "photos/{userId}/@self",
"httpMethod": "POST",
"description": "Create a photo album",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -3209,18 +3212,18 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -3231,18 +3234,21 @@
},
"response": {
"$ref": "Album"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/picasa"
+ ]
},
"list": {
- "restPath": "photos/{userId}/{scope}",
- "rpcMethod": "chili.photoAlbums.list",
+ "id": "chili.photoAlbums.list",
+ "path": "photos/{userId}/{scope}",
"httpMethod": "GET",
"description": "List a user's photo albums",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -3251,43 +3257,43 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"c": {
- "restParameterType": "query",
+ "type": "string",
"description": "A continuation token that allows pagination.",
- "type": "string"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"max-results": {
- "restParameterType": "query",
- "description": "Maximum number of results to include.",
"type": "integer",
+ "description": "Maximum number of results to include.",
+ "default": "20",
"minimum": "0",
"maximum": "4294967295",
- "default": "20"
+ "location": "query"
},
"scope": {
- "restParameterType": "path",
- "required": true,
- "description": "The collection of albums to list.",
"type": "string",
+ "description": "The collection of albums to list.",
+ "required": true,
"enum": [
"@self"
],
"enumDescriptions": [
"Albums posted by the user."
- ]
+ ],
+ "location": "path"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -3296,28 +3302,31 @@
],
"response": {
"$ref": "AlbumsFeed"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/picasa"
+ ]
}
}
},
"photos": {
"methods": {
"delete": {
- "restPath": "photos/{userId}/@self/{albumId}/@photos/{photoId}",
- "rpcMethod": "chili.photos.delete",
+ "id": "chili.photos.delete",
+ "path": "photos/{userId}/@self/{albumId}/@photos/{photoId}",
"httpMethod": "DELETE",
"description": "Delete a photo",
"parameters": {
"albumId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the album to which to photo belongs.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -3326,48 +3335,51 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"photoId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the photo to delete.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
"userId",
"albumId",
"photoId"
+ ],
+ "scopes": [
+ "https://www.googleapis.com/auth/picasa"
]
},
"get": {
- "restPath": "photos/{userId}/@self/{albumId}/@photos/{photoId}",
- "rpcMethod": "chili.photos.get",
+ "id": "chili.photos.get",
+ "path": "photos/{userId}/@self/{albumId}/@photos/{photoId}",
"httpMethod": "GET",
"description": "Get photo metadata",
"parameters": {
"albumId": {
- "restParameterType": "path",
+ "type": "string",
+ "description": "ID of the album containing the photo.",
"required": true,
- "description": "ID of the photo for which to get metadata.",
- "type": "string"
+ "location": "path"
},
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -3376,24 +3388,24 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"photoId": {
- "restParameterType": "path",
+ "type": "string",
+ "description": "ID of the photo for which to get metadata.",
"required": true,
- "description": "ID of the album containing the photo.",
- "type": "string"
+ "location": "path"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -3403,24 +3415,27 @@
],
"response": {
"$ref": "ChiliPhotosResourceJson"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/picasa"
+ ]
},
"insert": {
- "restPath": "photos/{userId}/{albumId}",
- "rpcMethod": "chili.photos.insert",
+ "id": "chili.photos.insert",
+ "path": "photos/{userId}/{albumId}",
"httpMethod": "POST",
"description": "Upload a photo to an album",
"parameters": {
"albumId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the album to which to upload.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -3429,18 +3444,18 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -3448,28 +3463,31 @@
"albumId"
],
"request": {
- "$ref": "Album"
+ "$ref": "AlbumLite"
},
"response": {
- "$ref": "Album"
- }
+ "$ref": "AlbumLite"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz"
+ ]
},
"insert2": {
- "restPath": "photos/{userId}/@self/{albumId}/@photos",
- "rpcMethod": "chili.photos.insert2",
+ "id": "chili.photos.insert2",
+ "path": "photos/{userId}/@self/{albumId}/@photos",
"httpMethod": "POST",
"description": "Upload a photo to an album",
"parameters": {
"albumId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the album to which to upload.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -3478,18 +3496,18 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -3501,24 +3519,27 @@
},
"response": {
"$ref": "ChiliPhotosResourceJson"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/picasa"
+ ]
},
"listByAlbum": {
- "restPath": "photos/{userId}/@self/{albumId}/@photos",
- "rpcMethod": "chili.photos.listByAlbum",
+ "id": "chili.photos.listByAlbum",
+ "path": "photos/{userId}/@self/{albumId}/@photos",
"httpMethod": "GET",
"description": "List photos in an album",
"parameters": {
"albumId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the album for which to list photos.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -3527,31 +3548,31 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"c": {
- "restParameterType": "query",
+ "type": "string",
"description": "A continuation token that allows pagination.",
- "type": "string"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"max-results": {
- "restParameterType": "query",
- "description": "Maximum number of results to include.",
"type": "integer",
+ "description": "Maximum number of results to include.",
+ "default": "20",
"minimum": "0",
"maximum": "4294967295",
- "default": "20"
+ "location": "query"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -3560,18 +3581,21 @@
],
"response": {
"$ref": "PhotosFeed"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/picasa"
+ ]
},
"listByScope": {
- "restPath": "photos/{userId}/@self/{scope}/@photos",
- "rpcMethod": "chili.photos.listByScope",
+ "id": "chili.photos.listByScope",
+ "path": "photos/{userId}/@self/{scope}/@photos",
"httpMethod": "GET",
"description": "Get a user's photos",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -3580,43 +3604,43 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"c": {
- "restParameterType": "query",
+ "type": "string",
"description": "A continuation token that allows pagination.",
- "type": "string"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"max-results": {
- "restParameterType": "query",
- "description": "Maximum number of results to include.",
"type": "integer",
+ "description": "Maximum number of results to include.",
+ "default": "20",
"minimum": "0",
"maximum": "4294967295",
- "default": "20"
+ "location": "query"
},
"scope": {
- "restParameterType": "path",
- "required": true,
- "description": "The collection of photos to list.",
"type": "string",
+ "description": "The collection of photos to list.",
+ "required": true,
"enum": [
"@recent"
],
"enumDescriptions": [
"Recent photos uploaded by the user."
- ]
+ ],
+ "location": "path"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -3625,22 +3649,25 @@
],
"response": {
"$ref": "PhotosFeed"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/picasa"
+ ]
}
}
},
"related": {
"methods": {
"list": {
- "restPath": "activities/{userId}/{scope}/{postId}/@related",
- "rpcMethod": "chili.related.list",
+ "id": "chili.related.list",
+ "path": "activities/{userId}/{scope}/{postId}/@related",
"httpMethod": "GET",
"description": "Get related links for an activity",
"parameters": {
"alt": {
- "restParameterType": "query",
- "description": "Specifies an alternative representation type.",
"type": "string",
+ "description": "Specifies an alternative representation type.",
+ "default": "atom",
"enum": [
"atom",
"json"
@@ -3649,36 +3676,36 @@
"Use Atom XML format",
"Use JSON format"
],
- "default": "atom"
+ "location": "query"
},
"hl": {
- "restParameterType": "query",
+ "type": "string",
"description": "Language code to limit language results.",
- "type": "string"
+ "location": "query"
},
"postId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the activity to which to get related links.",
- "type": "string"
+ "required": true,
+ "location": "path"
},
"scope": {
- "restParameterType": "path",
- "required": true,
- "description": "The collection to which the activity belongs.",
"type": "string",
+ "description": "The collection to which the activity belongs.",
+ "required": true,
"enum": [
"@self"
],
"enumDescriptions": [
"Activities posted by the user."
- ]
+ ],
+ "location": "path"
},
"userId": {
- "restParameterType": "path",
- "required": true,
+ "type": "string",
"description": "ID of the user being referenced.",
- "type": "string"
+ "required": true,
+ "location": "path"
}
},
"parameterOrder": [
@@ -3688,7 +3715,11 @@
],
"response": {
"$ref": "RelatedFeed"
- }
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/buzz",
+ "https://www.googleapis.com/auth/buzz.readonly"
+ ]
}
}
}
diff --git a/tests/data/latitude.json b/tests/data/latitude.json
index 46f82f2..99967ef 100644
--- a/tests/data/latitude.json
+++ b/tests/data/latitude.json
@@ -1,92 +1,237 @@
{
+ "kind": "discovery#restDescription",
+ "id": "latitude:v1",
"name": "latitude",
"version": "v1",
"description": "Google Latitude API",
- "restBasePath": "/latitude/v1",
- "rpcPath": "/rpc",
+ "icons": {
+ "x16": "http://www.google.com/images/icons/product/search-16.gif",
+ "x32": "http://www.google.com/images/icons/product/search-32.gif"
+ },
+ "labels": [
+ "labs"
+ ],
+ "protocol": "rest",
+ "basePath": "/latitude/v1/",
+ "auth": {
+ "oauth2": {
+ "scopes": {
+ "https://www.googleapis.com/auth/latitude": {
+ "description": "Manage your current location and location history"
+ }
+ }
+ }
+ },
+ "features": [
+ "dataWrapper"
+ ],
+ "schemas": {
+ "LatitudeCurrentlocationResourceJson": {
+ "$ref": "Location"
+ },
+ "Location": {
+ "id": "Location",
+ "type": "object",
+ "properties": {
+ "accuracy": {
+ "type": "any"
+ },
+ "activityId": {
+ "type": "any"
+ },
+ "altitude": {
+ "type": "any"
+ },
+ "altitudeAccuracy": {
+ "type": "any"
+ },
+ "heading": {
+ "type": "any"
+ },
+ "kind": {
+ "type": "string",
+ "default": "latitude#location"
+ },
+ "latitude": {
+ "type": "any"
+ },
+ "longitude": {
+ "type": "any"
+ },
+ "placeid": {
+ "type": "any"
+ },
+ "speed": {
+ "type": "any"
+ },
+ "timestampMs": {
+ "type": "any"
+ }
+ }
+ },
+ "LocationFeed": {
+ "id": "LocationFeed",
+ "type": "object",
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "Location"
+ }
+ },
+ "kind": {
+ "type": "string",
+ "default": "latitude#locationFeed"
+ }
+ }
+ }
+ },
"resources": {
"currentLocation": {
"methods": {
"delete": {
- "restPath": "/currentLocation",
- "rpcMethod": "latitude.currentLocation.delete",
- "httpMethod": "DELETE"
+ "id": "latitude.currentLocation.delete",
+ "path": "currentLocation",
+ "httpMethod": "DELETE",
+ "description": "Deletes the authenticated user's current location.",
+ "scopes": [
+ "https://www.googleapis.com/auth/latitude"
+ ]
},
"get": {
- "restPath": "/currentLocation",
- "rpcMethod": "latitude.currentLocation.get",
+ "id": "latitude.currentLocation.get",
+ "path": "currentLocation",
"httpMethod": "GET",
+ "description": "Returns the authenticated user's current location.",
"parameters": {
"granularity": {
- "restParameterType": "query",
- "required": false
+ "type": "string",
+ "description": "Granularity of the requested location.",
+ "location": "query"
}
- }
+ },
+ "response": {
+ "$ref": "LatitudeCurrentlocationResourceJson"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/latitude"
+ ]
},
"insert": {
- "restPath": "/currentLocation",
- "rpcMethod": "latitude.currentLocation.insert",
- "httpMethod": "POST"
+ "id": "latitude.currentLocation.insert",
+ "path": "currentLocation",
+ "httpMethod": "POST",
+ "description": "Updates or creates the user's current location.",
+ "request": {
+ "$ref": "LatitudeCurrentlocationResourceJson"
+ },
+ "response": {
+ "$ref": "LatitudeCurrentlocationResourceJson"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/latitude"
+ ]
}
}
},
"location": {
"methods": {
"delete": {
- "restPath": "/location/{locationId}",
- "rpcMethod": "latitude.location.delete",
+ "id": "latitude.location.delete",
+ "path": "location/{locationId}",
"httpMethod": "DELETE",
+ "description": "Deletes a location from the user's location history.",
"parameters": {
"locationId": {
- "restParameterType": "path",
- "pattern": "[^/]+",
- "required": true
+ "type": "string",
+ "description": "Timestamp of the location to delete (ms since epoch).",
+ "required": true,
+ "location": "path"
}
- }
+ },
+ "parameterOrder": [
+ "locationId"
+ ],
+ "scopes": [
+ "https://www.googleapis.com/auth/latitude"
+ ]
},
"get": {
- "restPath": "/location/{locationId}",
- "rpcMethod": "latitude.location.get",
+ "id": "latitude.location.get",
+ "path": "location/{locationId}",
"httpMethod": "GET",
+ "description": "Reads a location from the user's location history.",
"parameters": {
"granularity": {
- "restParameterType": "query",
- "required": false
+ "type": "string",
+ "description": "Granularity of the location to return.",
+ "location": "query"
},
"locationId": {
- "restParameterType": "path",
- "pattern": "[^/]+",
- "required": true
+ "type": "string",
+ "description": "Timestamp of the location to read (ms since epoch).",
+ "required": true,
+ "location": "path"
}
- }
+ },
+ "parameterOrder": [
+ "locationId"
+ ],
+ "response": {
+ "$ref": "Location"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/latitude"
+ ]
},
"insert": {
- "restPath": "/location",
- "rpcMethod": "latitude.location.insert",
- "httpMethod": "POST"
+ "id": "latitude.location.insert",
+ "path": "location",
+ "httpMethod": "POST",
+ "description": "Inserts or updates a location in the user's location history.",
+ "request": {
+ "$ref": "Location"
+ },
+ "response": {
+ "$ref": "Location"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/latitude"
+ ]
},
"list": {
- "restPath": "/location",
- "rpcMethod": "latitude.location.list",
+ "id": "latitude.location.list",
+ "path": "location",
"httpMethod": "GET",
+ "description": "Lists the user's location history.",
"parameters": {
"granularity": {
- "restParameterType": "query",
- "required": false
+ "type": "string",
+ "description": "Granularity of the requested locations.",
+ "location": "query"
},
"max-results": {
- "restParameterType": "query",
- "required": false
+ "type": "string",
+ "description": "Maximum number of locations to return.",
+ "location": "query"
},
"max-time": {
- "restParameterType": "query",
- "required": false
+ "type": "string",
+ "description": "Maximum timestamp of locations to return (ms since epoch).",
+ "location": "query"
},
"min-time": {
- "restParameterType": "query",
- "required": false
+ "type": "string",
+ "description": "Minimum timestamp of locations to return (ms since epoch).",
+ "location": "query"
}
- }
+ },
+ "response": {
+ "$ref": "LocationFeed"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/latitude"
+ ]
}
}
}
diff --git a/tests/data/moderator.json b/tests/data/moderator.json
index e69de29..55a7483 100644
--- a/tests/data/moderator.json
+++ b/tests/data/moderator.json
@@ -0,0 +1,1665 @@
+{
+ "kind": "discovery#restDescription",
+ "id": "moderator:v1",
+ "name": "moderator",
+ "version": "v1",
+ "description": "Moderator API",
+ "icons": {
+ "x16": "http://www.google.com/images/icons/product/moderator-32.png",
+ "x32": "http://www.google.com/images/icons/product/search-32.gif"
+ },
+ "documentationLink": "http://code.google.com/apis/moderator/v1/using_rest.html",
+ "labels": [
+ "labs"
+ ],
+ "protocol": "rest",
+ "basePath": "/moderator/v1/",
+ "auth": {
+ "oauth2": {
+ "scopes": {
+ "https://www.googleapis.com/auth/moderator": {
+ "description": "Manage your activity in Google Moderator"
+ }
+ }
+ }
+ },
+ "features": [
+ "dataWrapper"
+ ],
+ "schemas": {
+ "ModeratorTopicsResourcePartial": {
+ "id": "ModeratorTopicsResourcePartial",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "object",
+ "properties": {
+ "seriesId": {
+ "type": "integer"
+ },
+ "topicId": {
+ "type": "integer"
+ }
+ }
+ }
+ }
+ },
+ "ModeratorVotesResourcePartial": {
+ "id": "ModeratorVotesResourcePartial",
+ "type": "object",
+ "properties": {
+ "flag": {
+ "type": "string"
+ },
+ "vote": {
+ "type": "string"
+ }
+ }
+ },
+ "Profile": {
+ "id": "Profile",
+ "type": "object",
+ "properties": {
+ "attribution": {
+ "type": "object",
+ "properties": {
+ "avatarUrl": {
+ "type": "string"
+ },
+ "displayName": {
+ "type": "string"
+ },
+ "geo": {
+ "type": "object",
+ "properties": {
+ "latitude": {
+ "type": "number"
+ },
+ "location": {
+ "type": "string"
+ },
+ "longitude": {
+ "type": "number"
+ }
+ }
+ },
+ "location": {
+ "type": "string"
+ }
+ }
+ },
+ "id": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "type": "string"
+ }
+ }
+ },
+ "kind": {
+ "type": "string",
+ "default": "moderator#profile"
+ }
+ }
+ },
+ "Series": {
+ "id": "Series",
+ "type": "object",
+ "properties": {
+ "anonymousSubmissionAllowed": {
+ "type": "boolean"
+ },
+ "counters": {
+ "type": "object",
+ "properties": {
+ "anonymousSubmissions": {
+ "type": "integer"
+ },
+ "minusVotes": {
+ "type": "integer"
+ },
+ "noneVotes": {
+ "type": "integer"
+ },
+ "plusVotes": {
+ "type": "integer"
+ },
+ "submissions": {
+ "type": "integer"
+ },
+ "users": {
+ "type": "integer"
+ },
+ "videoSubmissions": {
+ "type": "integer"
+ }
+ }
+ },
+ "description": {
+ "type": "string"
+ },
+ "id": {
+ "type": "object",
+ "properties": {
+ "seriesId": {
+ "type": "integer"
+ }
+ }
+ },
+ "kind": {
+ "type": "string",
+ "default": "moderator#series"
+ },
+ "name": {
+ "type": "string"
+ },
+ "numTopics": {
+ "type": "integer"
+ },
+ "videoSubmissionAllowed": {
+ "type": "boolean"
+ }
+ }
+ },
+ "SeriesList": {
+ "id": "SeriesList",
+ "type": "object",
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "Series"
+ }
+ },
+ "kind": {
+ "type": "string",
+ "default": "moderator#seriesList"
+ }
+ }
+ },
+ "Submission": {
+ "id": "Submission",
+ "type": "object",
+ "properties": {
+ "attachmentUrl": {
+ "type": "string"
+ },
+ "attribution": {
+ "type": "object",
+ "properties": {
+ "avatarUrl": {
+ "type": "string"
+ },
+ "displayName": {
+ "type": "string"
+ },
+ "location": {
+ "type": "string"
+ }
+ }
+ },
+ "author": {
+ "type": "string"
+ },
+ "counters": {
+ "type": "object",
+ "properties": {
+ "minusVotes": {
+ "type": "integer"
+ },
+ "noneVotes": {
+ "type": "integer"
+ },
+ "plusVotes": {
+ "type": "integer"
+ }
+ }
+ },
+ "created": {
+ "type": "integer"
+ },
+ "geo": {
+ "type": "object",
+ "properties": {
+ "latitude": {
+ "type": "number"
+ },
+ "location": {
+ "type": "string"
+ },
+ "longitude": {
+ "type": "number"
+ }
+ }
+ },
+ "id": {
+ "type": "object",
+ "properties": {
+ "seriesId": {
+ "type": "integer"
+ },
+ "submissionId": {
+ "type": "integer"
+ }
+ }
+ },
+ "kind": {
+ "type": "string",
+ "default": "moderator#submission"
+ },
+ "parentSubmissionId": {
+ "type": "object",
+ "properties": {
+ "seriesId": {
+ "type": "integer"
+ },
+ "submissionId": {
+ "type": "integer"
+ }
+ }
+ },
+ "text": {
+ "type": "string"
+ },
+ "topics": {
+ "type": "array",
+ "items": {
+ "$ref": "ModeratorTopicsResourcePartial"
+ }
+ },
+ "translations": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "lang": {
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "vote": {
+ "$ref": "ModeratorVotesResourcePartial"
+ }
+ }
+ },
+ "SubmissionList": {
+ "id": "SubmissionList",
+ "type": "object",
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "Submission"
+ }
+ },
+ "kind": {
+ "type": "string",
+ "default": "moderator#submissionList"
+ }
+ }
+ },
+ "Tag": {
+ "id": "Tag",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "object",
+ "properties": {
+ "seriesId": {
+ "type": "integer"
+ },
+ "submissionId": {
+ "type": "integer"
+ },
+ "tagId": {
+ "type": "string"
+ }
+ }
+ },
+ "kind": {
+ "type": "string",
+ "default": "moderator#tag"
+ },
+ "text": {
+ "type": "string"
+ }
+ }
+ },
+ "TagList": {
+ "id": "TagList",
+ "type": "object",
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "Tag"
+ }
+ },
+ "kind": {
+ "type": "string",
+ "default": "moderator#tagList"
+ }
+ }
+ },
+ "Topic": {
+ "id": "Topic",
+ "type": "object",
+ "properties": {
+ "counters": {
+ "type": "object",
+ "properties": {
+ "minusVotes": {
+ "type": "integer"
+ },
+ "noneVotes": {
+ "type": "integer"
+ },
+ "plusVotes": {
+ "type": "integer"
+ },
+ "submissions": {
+ "type": "integer"
+ },
+ "users": {
+ "type": "integer"
+ },
+ "videoSubmissions": {
+ "type": "integer"
+ }
+ }
+ },
+ "description": {
+ "type": "string"
+ },
+ "featuredSubmission": {
+ "type": "any"
+ },
+ "id": {
+ "type": "object",
+ "properties": {
+ "seriesId": {
+ "type": "integer"
+ },
+ "topicId": {
+ "type": "integer"
+ }
+ }
+ },
+ "kind": {
+ "type": "string",
+ "default": "moderator#topic"
+ },
+ "name": {
+ "type": "string"
+ },
+ "presenter": {
+ "type": "string"
+ },
+ "rules": {
+ "type": "object",
+ "properties": {
+ "submissions": {
+ "type": "object",
+ "properties": {
+ "close": {
+ "type": "integer"
+ },
+ "open": {
+ "type": "integer"
+ }
+ }
+ },
+ "votes": {
+ "type": "object",
+ "properties": {
+ "close": {
+ "type": "integer"
+ },
+ "open": {
+ "type": "integer"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "Topic2": {
+ "id": "Topic2",
+ "type": "object",
+ "properties": {
+ "counters": {
+ "type": "object",
+ "properties": {
+ "minusVotes": {
+ "type": "integer"
+ },
+ "noneVotes": {
+ "type": "integer"
+ },
+ "plusVotes": {
+ "type": "integer"
+ },
+ "submissions": {
+ "type": "integer"
+ },
+ "users": {
+ "type": "integer"
+ },
+ "videoSubmissions": {
+ "type": "integer"
+ }
+ }
+ },
+ "description": {
+ "type": "string"
+ },
+ "featuredSubmission": {
+ "$ref": "Submission"
+ },
+ "id": {
+ "type": "object",
+ "properties": {
+ "seriesId": {
+ "type": "integer"
+ },
+ "topicId": {
+ "type": "integer"
+ }
+ }
+ },
+ "kind": {
+ "type": "string",
+ "default": "moderator#topic"
+ },
+ "name": {
+ "type": "string"
+ },
+ "presenter": {
+ "type": "string"
+ },
+ "rules": {
+ "type": "object",
+ "properties": {
+ "submissions": {
+ "type": "object",
+ "properties": {
+ "close": {
+ "type": "integer"
+ },
+ "open": {
+ "type": "integer"
+ }
+ }
+ },
+ "votes": {
+ "type": "object",
+ "properties": {
+ "close": {
+ "type": "integer"
+ },
+ "open": {
+ "type": "integer"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "TopicList": {
+ "id": "TopicList",
+ "type": "object",
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "Topic"
+ }
+ },
+ "kind": {
+ "type": "string",
+ "default": "moderator#topicList"
+ }
+ }
+ },
+ "Vote": {
+ "id": "Vote",
+ "type": "object",
+ "properties": {
+ "flag": {
+ "type": "string"
+ },
+ "id": {
+ "type": "object",
+ "properties": {
+ "seriesId": {
+ "type": "integer"
+ },
+ "submissionId": {
+ "type": "integer"
+ }
+ }
+ },
+ "kind": {
+ "type": "string",
+ "default": "moderator#vote"
+ },
+ "vote": {
+ "type": "string"
+ }
+ }
+ },
+ "VoteList": {
+ "id": "VoteList",
+ "type": "object",
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "Vote"
+ }
+ },
+ "kind": {
+ "type": "string",
+ "default": "moderator#voteList"
+ }
+ }
+ }
+ },
+ "resources": {
+ "featured": {
+ "resources": {
+ "series": {
+ "methods": {
+ "list": {
+ "id": "moderator.featured.series.list",
+ "path": "series/featured",
+ "httpMethod": "GET",
+ "description": "Lists the featured series.",
+ "response": {
+ "$ref": "SeriesList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "global": {
+ "resources": {
+ "series": {
+ "methods": {
+ "list": {
+ "id": "moderator.global.series.list",
+ "path": "search",
+ "httpMethod": "GET",
+ "description": "Searches the public series and returns the search results.",
+ "parameters": {
+ "max-results": {
+ "type": "integer",
+ "description": "Maximum number of results to return.",
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "query"
+ },
+ "q": {
+ "type": "string",
+ "description": "Search query.",
+ "location": "query"
+ },
+ "start-index": {
+ "type": "integer",
+ "description": "Index of the first result to be retrieved.",
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "query"
+ }
+ },
+ "response": {
+ "$ref": "SeriesList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "my": {
+ "resources": {
+ "series": {
+ "methods": {
+ "list": {
+ "id": "moderator.my.series.list",
+ "path": "series/@me/mine",
+ "httpMethod": "GET",
+ "description": "Lists all series created by the authenticated user.",
+ "response": {
+ "$ref": "SeriesList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "myrecent": {
+ "resources": {
+ "series": {
+ "methods": {
+ "list": {
+ "id": "moderator.myrecent.series.list",
+ "path": "series/@me/recent",
+ "httpMethod": "GET",
+ "description": "Lists the series the authenticated user has visited.",
+ "response": {
+ "$ref": "SeriesList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "profiles": {
+ "methods": {
+ "get": {
+ "id": "moderator.profiles.get",
+ "path": "profiles/@me",
+ "httpMethod": "GET",
+ "description": "Returns the profile information for the authenticated user.",
+ "response": {
+ "$ref": "Profile"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ },
+ "update": {
+ "id": "moderator.profiles.update",
+ "path": "profiles/@me",
+ "httpMethod": "PUT",
+ "description": "Updates the profile information for the authenticated user.",
+ "request": {
+ "$ref": "Profile"
+ },
+ "response": {
+ "$ref": "Profile"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "methods": {
+ "insert": {
+ "id": "moderator.responses.insert",
+ "path": "series/{seriesId}/topics/{topicId}/submissions/{parentSubmissionId}/responses",
+ "httpMethod": "POST",
+ "description": "Inserts a response for the specified submission in the specified topic within the specified series.",
+ "parameters": {
+ "anonymous": {
+ "type": "boolean",
+ "description": "Set to true to mark the new submission as anonymous.",
+ "location": "query"
+ },
+ "parentSubmissionId": {
+ "type": "integer",
+ "description": "The decimal ID of the parent Submission within the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "seriesId": {
+ "type": "integer",
+ "description": "The decimal ID of the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "topicId": {
+ "type": "integer",
+ "description": "The decimal ID of the Topic within the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "seriesId",
+ "topicId",
+ "parentSubmissionId"
+ ],
+ "request": {
+ "$ref": "Submission"
+ },
+ "response": {
+ "$ref": "Submission"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ },
+ "list": {
+ "id": "moderator.responses.list",
+ "path": "series/{seriesId}/submissions/{submissionId}/responses",
+ "httpMethod": "GET",
+ "description": "Lists or searches the responses for the specified submission within the specified series and returns the search results.",
+ "parameters": {
+ "author": {
+ "type": "string",
+ "description": "Restricts the results to submissions by a specific author.",
+ "location": "query"
+ },
+ "hasAttachedVideo": {
+ "type": "boolean",
+ "description": "Specifies whether to restrict to submissions that have videos attached.",
+ "location": "query"
+ },
+ "max-results": {
+ "type": "integer",
+ "description": "Maximum number of results to return.",
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "query"
+ },
+ "q": {
+ "type": "string",
+ "description": "Search query.",
+ "location": "query"
+ },
+ "seriesId": {
+ "type": "integer",
+ "description": "The decimal ID of the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "sort": {
+ "type": "string",
+ "description": "Sort order.",
+ "location": "query"
+ },
+ "start-index": {
+ "type": "integer",
+ "description": "Index of the first result to be retrieved.",
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "query"
+ },
+ "submissionId": {
+ "type": "integer",
+ "description": "The decimal ID of the Submission within the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "seriesId",
+ "submissionId"
+ ],
+ "response": {
+ "$ref": "SubmissionList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ }
+ }
+ },
+ "series": {
+ "methods": {
+ "get": {
+ "id": "moderator.series.get",
+ "path": "series/{seriesId}",
+ "httpMethod": "GET",
+ "description": "Returns the specified series.",
+ "parameters": {
+ "seriesId": {
+ "type": "integer",
+ "description": "The decimal ID of the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "seriesId"
+ ],
+ "response": {
+ "$ref": "Series"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ },
+ "insert": {
+ "id": "moderator.series.insert",
+ "path": "series",
+ "httpMethod": "POST",
+ "description": "Inserts a new series.",
+ "request": {
+ "$ref": "Series"
+ },
+ "response": {
+ "$ref": "Series"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ },
+ "list": {
+ "id": "moderator.series.list",
+ "path": "series",
+ "httpMethod": "GET",
+ "description": "Searches the series and returns the search results.",
+ "parameters": {
+ "max-results": {
+ "type": "integer",
+ "description": "Maximum number of results to return.",
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "query"
+ },
+ "q": {
+ "type": "string",
+ "description": "Search query.",
+ "location": "query"
+ },
+ "start-index": {
+ "type": "integer",
+ "description": "Index of the first result to be retrieved.",
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "query"
+ }
+ },
+ "response": {
+ "$ref": "SeriesList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ },
+ "update": {
+ "id": "moderator.series.update",
+ "path": "series/{seriesId}",
+ "httpMethod": "PUT",
+ "description": "Updates the specified series.",
+ "parameters": {
+ "seriesId": {
+ "type": "integer",
+ "description": "The decimal ID of the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "seriesId"
+ ],
+ "request": {
+ "$ref": "Series"
+ },
+ "response": {
+ "$ref": "Series"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ }
+ },
+ "resources": {
+ "responses": {
+ "methods": {
+ "list": {
+ "id": "moderator.series.responses.list",
+ "path": "series/{seriesId}/responses",
+ "httpMethod": "GET",
+ "description": "Searches the responses for the specified series and returns the search results.",
+ "parameters": {
+ "author": {
+ "type": "string",
+ "description": "Restricts the results to submissions by a specific author.",
+ "location": "query"
+ },
+ "hasAttachedVideo": {
+ "type": "boolean",
+ "description": "Specifies whether to restrict to submissions that have videos attached.",
+ "location": "query"
+ },
+ "max-results": {
+ "type": "integer",
+ "description": "Maximum number of results to return.",
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "query"
+ },
+ "q": {
+ "type": "string",
+ "description": "Search query.",
+ "location": "query"
+ },
+ "seriesId": {
+ "type": "integer",
+ "description": "The decimal ID of the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "sort": {
+ "type": "string",
+ "description": "Sort order.",
+ "location": "query"
+ },
+ "start-index": {
+ "type": "integer",
+ "description": "Index of the first result to be retrieved.",
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "query"
+ }
+ },
+ "parameterOrder": [
+ "seriesId"
+ ],
+ "response": {
+ "$ref": "SeriesList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ }
+ }
+ },
+ "submissions": {
+ "methods": {
+ "list": {
+ "id": "moderator.series.submissions.list",
+ "path": "series/{seriesId}/submissions",
+ "httpMethod": "GET",
+ "description": "Searches the submissions for the specified series and returns the search results.",
+ "parameters": {
+ "author": {
+ "type": "string",
+ "description": "Restricts the results to submissions by a specific author.",
+ "location": "query"
+ },
+ "hasAttachedVideo": {
+ "type": "boolean",
+ "description": "Specifies whether to restrict to submissions that have videos attached.",
+ "location": "query"
+ },
+ "includeVotes": {
+ "type": "boolean",
+ "description": "Specifies whether to include the current user's vote",
+ "location": "query"
+ },
+ "lang": {
+ "type": "string",
+ "description": "The language code for the language the client prefers resuls in.",
+ "location": "query"
+ },
+ "max-results": {
+ "type": "integer",
+ "description": "Maximum number of results to return.",
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "query"
+ },
+ "q": {
+ "type": "string",
+ "description": "Search query.",
+ "location": "query"
+ },
+ "seriesId": {
+ "type": "integer",
+ "description": "The decimal ID of the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "sort": {
+ "type": "string",
+ "description": "Sort order.",
+ "location": "query"
+ },
+ "start-index": {
+ "type": "integer",
+ "description": "Index of the first result to be retrieved.",
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "query"
+ }
+ },
+ "parameterOrder": [
+ "seriesId"
+ ],
+ "response": {
+ "$ref": "SubmissionList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "submissions": {
+ "methods": {
+ "get": {
+ "id": "moderator.submissions.get",
+ "path": "series/{seriesId}/submissions/{submissionId}",
+ "httpMethod": "GET",
+ "description": "Returns the specified submission within the specified series.",
+ "parameters": {
+ "includeVotes": {
+ "type": "boolean",
+ "description": "Specifies whether to include the current user's vote",
+ "location": "query"
+ },
+ "lang": {
+ "type": "string",
+ "description": "The language code for the language the client prefers resuls in.",
+ "location": "query"
+ },
+ "seriesId": {
+ "type": "integer",
+ "description": "The decimal ID of the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "submissionId": {
+ "type": "integer",
+ "description": "The decimal ID of the Submission within the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "seriesId",
+ "submissionId"
+ ],
+ "response": {
+ "$ref": "Submission"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ },
+ "insert": {
+ "id": "moderator.submissions.insert",
+ "path": "series/{seriesId}/topics/{topicId}/submissions",
+ "httpMethod": "POST",
+ "description": "Inserts a new submission in the specified topic within the specified series.",
+ "parameters": {
+ "anonymous": {
+ "type": "boolean",
+ "description": "Set to true to mark the new submission as anonymous.",
+ "location": "query"
+ },
+ "seriesId": {
+ "type": "integer",
+ "description": "The decimal ID of the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "topicId": {
+ "type": "integer",
+ "description": "The decimal ID of the Topic within the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "seriesId",
+ "topicId"
+ ],
+ "request": {
+ "$ref": "Submission"
+ },
+ "response": {
+ "$ref": "Submission"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ }
+ }
+ },
+ "tags": {
+ "methods": {
+ "delete": {
+ "id": "moderator.tags.delete",
+ "path": "series/{seriesId}/submissions/{submissionId}/tags/{tagId}",
+ "httpMethod": "DELETE",
+ "description": "Deletes the specified tag from the specified submission within the specified series.",
+ "parameters": {
+ "seriesId": {
+ "type": "integer",
+ "description": "The decimal ID of the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "submissionId": {
+ "type": "integer",
+ "description": "The decimal ID of the Submission within the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "tagId": {
+ "type": "string",
+ "required": true,
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "seriesId",
+ "submissionId",
+ "tagId"
+ ],
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ },
+ "insert": {
+ "id": "moderator.tags.insert",
+ "path": "series/{seriesId}/submissions/{submissionId}/tags",
+ "httpMethod": "POST",
+ "description": "Inserts a new tag for the specified submission within the specified series.",
+ "parameters": {
+ "seriesId": {
+ "type": "integer",
+ "description": "The decimal ID of the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "submissionId": {
+ "type": "integer",
+ "description": "The decimal ID of the Submission within the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "seriesId",
+ "submissionId"
+ ],
+ "request": {
+ "$ref": "Tag"
+ },
+ "response": {
+ "$ref": "Tag"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ },
+ "list": {
+ "id": "moderator.tags.list",
+ "path": "series/{seriesId}/submissions/{submissionId}/tags",
+ "httpMethod": "GET",
+ "description": "Lists all tags for the specified submission within the specified series.",
+ "parameters": {
+ "seriesId": {
+ "type": "integer",
+ "description": "The decimal ID of the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "submissionId": {
+ "type": "integer",
+ "description": "The decimal ID of the Submission within the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "seriesId",
+ "submissionId"
+ ],
+ "response": {
+ "$ref": "TagList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ }
+ }
+ },
+ "topics": {
+ "methods": {
+ "get": {
+ "id": "moderator.topics.get",
+ "path": "series/{seriesId}/topics/{topicId}",
+ "httpMethod": "GET",
+ "description": "Returns the specified topic from the specified series.",
+ "parameters": {
+ "seriesId": {
+ "type": "integer",
+ "description": "The decimal ID of the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "topicId": {
+ "type": "integer",
+ "description": "The decimal ID of the Topic within the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "seriesId",
+ "topicId"
+ ],
+ "response": {
+ "$ref": "Topic2"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ },
+ "insert": {
+ "id": "moderator.topics.insert",
+ "path": "series/{seriesId}/topics",
+ "httpMethod": "POST",
+ "description": "Inserts a new topic into the specified series.",
+ "parameters": {
+ "seriesId": {
+ "type": "integer",
+ "description": "The decimal ID of the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "seriesId"
+ ],
+ "request": {
+ "$ref": "Topic"
+ },
+ "response": {
+ "$ref": "Topic"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ },
+ "list": {
+ "id": "moderator.topics.list",
+ "path": "series/{seriesId}/topics",
+ "httpMethod": "GET",
+ "description": "Searches the topics within the specified series and returns the search results.",
+ "parameters": {
+ "max-results": {
+ "type": "integer",
+ "description": "Maximum number of results to return.",
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "query"
+ },
+ "mode": {
+ "type": "string",
+ "location": "query"
+ },
+ "q": {
+ "type": "string",
+ "description": "Search query.",
+ "location": "query"
+ },
+ "seriesId": {
+ "type": "integer",
+ "description": "The decimal ID of the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "start-index": {
+ "type": "integer",
+ "description": "Index of the first result to be retrieved.",
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "query"
+ }
+ },
+ "parameterOrder": [
+ "seriesId"
+ ],
+ "response": {
+ "$ref": "TopicList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ },
+ "update": {
+ "id": "moderator.topics.update",
+ "path": "series/{seriesId}/topics/{topicId}",
+ "httpMethod": "PUT",
+ "description": "Updates the specified topic within the specified series.",
+ "parameters": {
+ "seriesId": {
+ "type": "integer",
+ "description": "The decimal ID of the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "topicId": {
+ "type": "integer",
+ "description": "The decimal ID of the Topic within the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "seriesId",
+ "topicId"
+ ],
+ "request": {
+ "$ref": "Topic"
+ },
+ "response": {
+ "$ref": "Topic"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ }
+ },
+ "resources": {
+ "submissions": {
+ "methods": {
+ "list": {
+ "id": "moderator.topics.submissions.list",
+ "path": "series/{seriesId}/topics/{topicId}/submissions",
+ "httpMethod": "GET",
+ "description": "Searches the submissions for the specified topic within the specified series and returns the search results.",
+ "parameters": {
+ "author": {
+ "type": "string",
+ "description": "Restricts the results to submissions by a specific author.",
+ "location": "query"
+ },
+ "hasAttachedVideo": {
+ "type": "boolean",
+ "description": "Specifies whether to restrict to submissions that have videos attached.",
+ "location": "query"
+ },
+ "includeVotes": {
+ "type": "boolean",
+ "description": "Specifies whether to include the current user's vote",
+ "location": "query"
+ },
+ "max-results": {
+ "type": "integer",
+ "description": "Maximum number of results to return.",
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "query"
+ },
+ "q": {
+ "type": "string",
+ "description": "Search query.",
+ "location": "query"
+ },
+ "seriesId": {
+ "type": "integer",
+ "description": "The decimal ID of the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "sort": {
+ "type": "string",
+ "description": "Sort order.",
+ "location": "query"
+ },
+ "start-index": {
+ "type": "integer",
+ "description": "Index of the first result to be retrieved.",
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "query"
+ },
+ "topicId": {
+ "type": "integer",
+ "description": "The decimal ID of the Topic within the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "seriesId",
+ "topicId"
+ ],
+ "response": {
+ "$ref": "SubmissionList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "votes": {
+ "methods": {
+ "get": {
+ "id": "moderator.votes.get",
+ "path": "series/{seriesId}/submissions/{submissionId}/votes/@me",
+ "httpMethod": "GET",
+ "description": "Returns the votes by the authenticated user for the specified submission within the specified series.",
+ "parameters": {
+ "seriesId": {
+ "type": "integer",
+ "description": "The decimal ID of the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "submissionId": {
+ "type": "integer",
+ "description": "The decimal ID of the Submission within the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "userId": {
+ "type": "string",
+ "location": "query"
+ }
+ },
+ "parameterOrder": [
+ "seriesId",
+ "submissionId"
+ ],
+ "response": {
+ "$ref": "Vote"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ },
+ "insert": {
+ "id": "moderator.votes.insert",
+ "path": "series/{seriesId}/submissions/{submissionId}/votes/@me",
+ "httpMethod": "POST",
+ "description": "Inserts a new vote by the authenticated user for the specified submission within the specified series.",
+ "parameters": {
+ "seriesId": {
+ "type": "integer",
+ "description": "The decimal ID of the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "submissionId": {
+ "type": "integer",
+ "description": "The decimal ID of the Submission within the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "seriesId",
+ "submissionId"
+ ],
+ "request": {
+ "$ref": "Vote"
+ },
+ "response": {
+ "$ref": "Vote"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ },
+ "list": {
+ "id": "moderator.votes.list",
+ "path": "series/{seriesId}/votes/@me",
+ "httpMethod": "GET",
+ "description": "Lists the votes by the authenticated user for the given series.",
+ "parameters": {
+ "max-results": {
+ "type": "integer",
+ "description": "Maximum number of results to return.",
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "query"
+ },
+ "seriesId": {
+ "type": "integer",
+ "description": "The decimal ID of the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "start-index": {
+ "type": "integer",
+ "description": "Index of the first result to be retrieved.",
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "query"
+ }
+ },
+ "parameterOrder": [
+ "seriesId"
+ ],
+ "response": {
+ "$ref": "VoteList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ },
+ "update": {
+ "id": "moderator.votes.update",
+ "path": "series/{seriesId}/submissions/{submissionId}/votes/@me",
+ "httpMethod": "PUT",
+ "description": "Updates the votes by the authenticated user for the specified submission within the specified series.",
+ "parameters": {
+ "seriesId": {
+ "type": "integer",
+ "description": "The decimal ID of the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "submissionId": {
+ "type": "integer",
+ "description": "The decimal ID of the Submission within the Series.",
+ "required": true,
+ "minimum": "0",
+ "maximum": "4294967295",
+ "location": "path"
+ },
+ "userId": {
+ "type": "string",
+ "location": "query"
+ }
+ },
+ "parameterOrder": [
+ "seriesId",
+ "submissionId"
+ ],
+ "request": {
+ "$ref": "Vote"
+ },
+ "response": {
+ "$ref": "Vote"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/moderator"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/tests/data/zoo.json b/tests/data/zoo.json
index 284619e..b392270 100644
--- a/tests/data/zoo.json
+++ b/tests/data/zoo.json
@@ -3,7 +3,7 @@
"name": "zoo",
"version": "v1",
"description": "Zoo API used for Apiary testing",
- "restBasePath": "/zoo/",
+ "basePath": "/zoo/",
"rpcPath": "/rpc",
"features": [
"dataWrapper"
@@ -114,19 +114,19 @@
},
"methods": {
"query": {
- "restPath": "query",
- "rpcMethod": "bigquery.query",
+ "path": "query",
+ "id": "bigquery.query",
"httpMethod": "GET",
"parameters": {
"q": {
"type": "string",
- "restParameterType": "query",
+ "location": "query",
"required": false,
"repeated": false
},
"i": {
"type": "integer",
- "restParameterType": "query",
+ "location": "query",
"required": false,
"repeated": false,
"minimum": "0",
@@ -135,31 +135,31 @@
},
"n": {
"type": "number",
- "restParameterType": "query",
+ "location": "query",
"required": false,
"repeated": false
},
"b": {
"type": "boolean",
- "restParameterType": "query",
+ "location": "query",
"required": false,
"repeated": false
},
"a": {
"type": "any",
- "restParameterType": "query",
+ "location": "query",
"required": false,
"repeated": false
},
"o": {
"type": "object",
- "restParameterType": "query",
+ "location": "query",
"required": false,
"repeated": false
},
"e": {
"type": "string",
- "restParameterType": "query",
+ "location": "query",
"required": false,
"repeated": false,
"enum": [
@@ -176,12 +176,12 @@
"favorites": {
"methods": {
"list": {
- "restPath": "favorites/@me/mine",
- "rpcMethod": "zoo.animals.mine",
+ "path": "favorites/@me/mine",
+ "id": "zoo.animals.mine",
"httpMethod": "GET",
"parameters": {
"max-results": {
- "restParameterType": "query",
+ "location": "query",
"required": false
}
}
@@ -193,8 +193,8 @@
"animals": {
"methods": {
"crossbreed": {
- "restPath": "animals/crossbreed",
- "rpcMethod": "zoo.animals.crossbreed",
+ "path": "animals/crossbreed",
+ "id": "zoo.animals.crossbreed",
"httpMethod": "POST",
"description": "Cross-breed animals",
"response": {
@@ -202,13 +202,13 @@
}
},
"delete": {
- "restPath": "animals/{name}",
- "rpcMethod": "zoo.animals.delete",
+ "path": "animals/{name}",
+ "id": "zoo.animals.delete",
"httpMethod": "DELETE",
"description": "Delete animals",
"parameters": {
"name": {
- "restParameterType": "path",
+ "location": "path",
"required": true,
"description": "Name of the animal to delete",
"type": "string"
@@ -219,19 +219,19 @@
]
},
"get": {
- "restPath": "animals/{name}",
- "rpcMethod": "zoo.animals.get",
+ "path": "animals/{name}",
+ "id": "zoo.animals.get",
"httpMethod": "GET",
"description": "Get animals",
"parameters": {
"name": {
- "restParameterType": "path",
+ "location": "path",
"required": true,
"description": "Name of the animal to load",
"type": "string"
},
"projection": {
- "restParameterType": "query",
+ "location": "query",
"type": "string",
"enum": [
"full"
@@ -249,8 +249,8 @@
}
},
"insert": {
- "restPath": "animals",
- "rpcMethod": "zoo.animals.insert",
+ "path": "animals",
+ "id": "zoo.animals.insert",
"httpMethod": "POST",
"description": "Insert animals",
"request": {
@@ -261,24 +261,24 @@
}
},
"list": {
- "restPath": "animals",
- "rpcMethod": "zoo.animals.list",
+ "path": "animals",
+ "id": "zoo.animals.list",
"httpMethod": "GET",
"description": "List animals",
"parameters": {
"max-results": {
- "restParameterType": "query",
+ "location": "query",
"description": "Maximum number of results to return",
"type": "integer",
"minimum": "0"
},
"name": {
- "restParameterType": "query",
+ "location": "query",
"description": "Restrict result to animals with this name",
"type": "string"
},
"projection": {
- "restParameterType": "query",
+ "location": "query",
"type": "string",
"enum": [
"full"
@@ -288,7 +288,7 @@
]
},
"start-token": {
- "restParameterType": "query",
+ "location": "query",
"description": "Pagination token",
"type": "string"
}
@@ -298,13 +298,13 @@
}
},
"patch": {
- "restPath": "animals/{name}",
- "rpcMethod": "zoo.animals.patch",
+ "path": "animals/{name}",
+ "id": "zoo.animals.patch",
"httpMethod": "PATCH",
"description": "Update animals",
"parameters": {
"name": {
- "restParameterType": "path",
+ "location": "path",
"required": true,
"description": "Name of the animal to update",
"type": "string"
@@ -321,13 +321,13 @@
}
},
"update": {
- "restPath": "animals/{name}",
- "rpcMethod": "zoo.animals.update",
+ "path": "animals/{name}",
+ "id": "zoo.animals.update",
"httpMethod": "PUT",
"description": "Update animals",
"parameters": {
"name": {
- "restParameterType": "path",
+ "location": "path",
"description": "Name of the animal to update",
"type": "string"
}
@@ -347,8 +347,8 @@
"load": {
"methods": {
"list": {
- "restPath": "load",
- "rpcMethod": "zoo.load.list",
+ "path": "load",
+ "id": "zoo.load.list",
"httpMethod": "GET",
"response": {
"$ref": "LoadFeed"
@@ -359,8 +359,8 @@
"loadNoTemplate": {
"methods": {
"list": {
- "restPath": "loadNoTemplate",
- "rpcMethod": "zoo.loadNoTemplate.list",
+ "path": "loadNoTemplate",
+ "id": "zoo.loadNoTemplate.list",
"httpMethod": "GET"
}
}
@@ -368,24 +368,24 @@
"scopedAnimals": {
"methods": {
"list": {
- "restPath": "scopedanimals",
- "rpcMethod": "zoo.scopedAnimals.list",
+ "path": "scopedanimals",
+ "id": "zoo.scopedAnimals.list",
"httpMethod": "GET",
"description": "List animals (scoped)",
"parameters": {
"max-results": {
- "restParameterType": "query",
+ "location": "query",
"description": "Maximum number of results to return",
"type": "integer",
"minimum": "0"
},
"name": {
- "restParameterType": "query",
+ "location": "query",
"description": "Restrict result to animals with this name",
"type": "string"
},
"projection": {
- "restParameterType": "query",
+ "location": "query",
"type": "string",
"enum": [
"full"
@@ -395,7 +395,7 @@
]
},
"start-token": {
- "restParameterType": "query",
+ "location": "query",
"description": "Pagination token",
"type": "string"
}