@@ -0,0 +1,292 @@
1+{
2+ "baseUrl": "https://searchconsole.googleapis.com/",
3+ "canonicalName": "Search Console",
4+ "kind": "discovery#restDescription",
5+ "servicePath": "",
6+ "description": "Provides tools for running validation tests against single URLs",
7+ "rootUrl": "https://searchconsole.googleapis.com/",
8+ "basePath": "",
9+ "ownerDomain": "google.com",
10+ "name": "searchconsole",
11+ "batchPath": "batch",
12+ "revision": "20170208",
13+ "documentationLink": "https://developers.google.com/webmaster-tools/search-console-api/",
14+ "id": "searchconsole:v1",
15+ "title": "Google Search Console URL Testing Tools API",
16+ "ownerName": "Google",
17+ "discoveryVersion": "v1",
18+ "version_module": "True",
19+ "resources": {
20+ "urlTestingTools": {
21+ "resources": {
22+ "mobileFriendlyTest": {
23+ "methods": {
24+ "run": {
25+ "response": {
26+ "$ref": "RunMobileFriendlyTestResponse"
27+ },
28+ "parameterOrder": [],
29+ "httpMethod": "POST",
30+ "parameters": {},
31+ "flatPath": "v1/urlTestingTools/mobileFriendlyTest:run",
32+ "path": "v1/urlTestingTools/mobileFriendlyTest:run",
33+ "id": "searchconsole.urlTestingTools.mobileFriendlyTest.run",
34+ "description": "Runs Mobile-Friendly Test for a given URL.",
35+ "request": {
36+ "$ref": "RunMobileFriendlyTestRequest"
37+ }
38+ }
39+ }
40+ }
41+ }
42+ }
43+ },
44+ "parameters": {
45+ "pp": {
46+ "description": "Pretty-print response.",
47+ "type": "boolean",
48+ "default": "true",
49+ "location": "query"
50+ },
51+ "oauth_token": {
52+ "description": "OAuth 2.0 token for the current user.",
53+ "type": "string",
54+ "location": "query"
55+ },
56+ "bearer_token": {
57+ "type": "string",
58+ "location": "query",
59+ "description": "OAuth bearer token."
60+ },
61+ "upload_protocol": {
62+ "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
63+ "type": "string",
64+ "location": "query"
65+ },
66+ "prettyPrint": {
67+ "description": "Returns response with indentations and line breaks.",
68+ "type": "boolean",
69+ "default": "true",
70+ "location": "query"
71+ },
72+ "uploadType": {
73+ "location": "query",
74+ "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
75+ "type": "string"
76+ },
77+ "fields": {
78+ "location": "query",
79+ "description": "Selector specifying which fields to include in a partial response.",
80+ "type": "string"
81+ },
82+ "$.xgafv": {
83+ "type": "string",
84+ "enumDescriptions": [
85+ "v1 error format",
86+ "v2 error format"
87+ ],
88+ "location": "query",
89+ "enum": [
90+ "1",
91+ "2"
92+ ],
93+ "description": "V1 error format."
94+ },
95+ "callback": {
96+ "location": "query",
97+ "description": "JSONP",
98+ "type": "string"
99+ },
100+ "alt": {
101+ "type": "string",
102+ "enumDescriptions": [
103+ "Responses with Content-Type of application/json",
104+ "Media download with context-dependent Content-Type",
105+ "Responses with Content-Type of application/x-protobuf"
106+ ],
107+ "location": "query",
108+ "description": "Data format for response.",
109+ "default": "json",
110+ "enum": [
111+ "json",
112+ "media",
113+ "proto"
114+ ]
115+ },
116+ "key": {
117+ "location": "query",
118+ "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
119+ "type": "string"
120+ },
121+ "access_token": {
122+ "location": "query",
123+ "description": "OAuth access token.",
124+ "type": "string"
125+ },
126+ "quotaUser": {
127+ "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
128+ "type": "string",
129+ "location": "query"
130+ }
131+ },
132+ "schemas": {
133+ "MobileFriendlyIssue": {
134+ "type": "object",
135+ "properties": {
136+ "rule": {
137+ "enum": [
138+ "MOBILE_FRIENDLY_RULE_UNSPECIFIED",
139+ "USES_INCOMPATIBLE_PLUGINS",
140+ "CONFIGURE_VIEWPORT",
141+ "FIXED_WIDTH_VIEWPORT",
142+ "SIZE_CONTENT_TO_VIEWPORT",
143+ "USE_LEGIBLE_FONT_SIZES",
144+ "TAP_TARGETS_TOO_CLOSE"
145+ ],
146+ "description": "Rule violated.",
147+ "type": "string",
148+ "enumDescriptions": [
149+ "Unknown rule. Sorry, we don't have any description for the rule that was\nbroken.",
150+ "Plugins incompatible with mobile devices are being used. [Learn more]\n(https://support.google.com/webmasters/answer/6352293#flash_usage).",
151+ "Viewsport is not specified using the meta viewport tag. [Learn more]\n(https://support.google.com/webmasters/answer/6352293#viewport_not_configured).",
152+ "Viewport defined to a fixed width. [Learn more]\n(https://support.google.com/webmasters/answer/6352293#fixed-width_viewport).",
153+ "Content not sized to viewport. [Learn more]\n(https://support.google.com/webmasters/answer/6352293#content_not_sized_to_viewport).",
154+ "Font size is too small for easy reading on a small screen. [Learn More]\n(https://support.google.com/webmasters/answer/6352293#small_font_size).",
155+ "Touch elements are too close to each other. [Learn more]\n(https://support.google.com/webmasters/answer/6352293#touch_elements_too_close)."
156+ ]
157+ }
158+ },
159+ "id": "MobileFriendlyIssue",
160+ "description": "Mobile-friendly issue."
161+ },
162+ "RunMobileFriendlyTestResponse": {
163+ "description": "Mobile-friendly test response, including mobile-friendly issues and resource\nissues.",
164+ "type": "object",
165+ "properties": {
166+ "mobileFriendliness": {
167+ "enumDescriptions": [
168+ "Internal error when running this test. Please try running the test again.",
169+ "The page is mobile friendly.",
170+ "The page is not mobile friendly."
171+ ],
172+ "enum": [
173+ "MOBILE_FRIENDLY_TEST_RESULT_UNSPECIFIED",
174+ "MOBILE_FRIENDLY",
175+ "NOT_MOBILE_FRIENDLY"
176+ ],
177+ "description": "Test verdict, whether the page is mobile friendly or not.",
178+ "type": "string"
179+ },
180+ "mobileFriendlyIssues": {
181+ "description": "List of mobile-usability issues.",
182+ "type": "array",
183+ "items": {
184+ "$ref": "MobileFriendlyIssue"
185+ }
186+ },
187+ "screenshot": {
188+ "description": "Screenshot of the requested URL.",
189+ "$ref": "Image"
190+ },
191+ "testStatus": {
192+ "description": "Final state of the test, can be either complete or an error.",
193+ "$ref": "TestStatus"
194+ },
195+ "resourceIssues": {
196+ "description": "Information about embedded resources issues.",
197+ "type": "array",
198+ "items": {
199+ "$ref": "ResourceIssue"
200+ }
201+ }
202+ },
203+ "id": "RunMobileFriendlyTestResponse"
204+ },
205+ "ResourceIssue": {
206+ "properties": {
207+ "blockedResource": {
208+ "$ref": "BlockedResource",
209+ "description": "Describes a blocked resource issue."
210+ }
211+ },
212+ "id": "ResourceIssue",
213+ "description": "Information about a resource with issue.",
214+ "type": "object"
215+ },
216+ "BlockedResource": {
217+ "description": "Blocked resource.",
218+ "type": "object",
219+ "properties": {
220+ "url": {
221+ "type": "string",
222+ "description": "URL of the blocked resource."
223+ }
224+ },
225+ "id": "BlockedResource"
226+ },
227+ "TestStatus": {
228+ "description": "Final state of the test, including error details if necessary.",
229+ "type": "object",
230+ "properties": {
231+ "details": {
232+ "description": "Error details if applicable.",
233+ "type": "string"
234+ },
235+ "status": {
236+ "type": "string",
237+ "enumDescriptions": [
238+ "Internal error when running this test. Please try running the test again.",
239+ "Inspection has completed without errors.",
240+ "Inspection terminated in an error state. This indicates a problem in\nGoogle's infrastructure, not a user error. Please try again later.",
241+ "Google can not access the URL because of a user error such as a robots.txt\nblockage, a 403 or 500 code etc. Please make sure that the URL provided is\naccessible by Googlebot and is not password protected."
242+ ],
243+ "enum": [
244+ "TEST_STATUS_UNSPECIFIED",
245+ "COMPLETE",
246+ "INTERNAL_ERROR",
247+ "PAGE_UNREACHABLE"
248+ ],
249+ "description": "Status of the test."
250+ }
251+ },
252+ "id": "TestStatus"
253+ },
254+ "Image": {
255+ "properties": {
256+ "mimeType": {
257+ "description": "The mime-type of the image data.",
258+ "type": "string"
259+ },
260+ "data": {
261+ "type": "string",
262+ "description": "Image data in format determined by the mime type. Currently, the format\nwill always be \"image/png\", but this might change in the future.",
263+ "format": "byte"
264+ }
265+ },
266+ "id": "Image",
267+ "description": "Describe image data.",
268+ "type": "object"
269+ },
270+ "RunMobileFriendlyTestRequest": {
271+ "description": "Mobile-friendly test request.",
272+ "type": "object",
273+ "properties": {
274+ "url": {
275+ "description": "URL for inspection.",
276+ "type": "string"
277+ },
278+ "requestScreenshot": {
279+ "description": "Whether or not screenshot is requested. Default is false.",
280+ "type": "boolean"
281+ }
282+ },
283+ "id": "RunMobileFriendlyTestRequest"
284+ }
285+ },
286+ "protocol": "rest",
287+ "icons": {
288+ "x32": "http://www.google.com/images/icons/product/search-32.gif",
289+ "x16": "http://www.google.com/images/icons/product/search-16.gif"
290+ },
291+ "version": "v1"
292+}