blob: 686e7dff98f8c891a417407704e159f79e18b3ae [file] [log] [blame]
Yoshi Automation Botb6971b02020-11-26 17:16:03 -08001{
Anthonios Partheniou10f4b672021-04-13 14:47:53 -04002 "auth": {
3 "oauth2": {
4 "scopes": {
5 "https://www.googleapis.com/auth/sdm.service": {
6 "description": "See and/or control the devices that you selected"
yoshi-code-botb1eafb32021-06-15 00:26:02 -07007 },
8 "https://www.googleapis.com/auth/sdm.thermostat.service": {
9 "description": "See and control the Nest thermostats that you select"
yoshi-code-bot69706592021-03-03 03:54:02 -080010 }
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040011 }
12 }
13 },
14 "basePath": "",
15 "baseUrl": "https://smartdevicemanagement.googleapis.com/",
16 "batchPath": "batch",
17 "canonicalName": "Smart Device Management",
18 "description": "Allow select enterprise partners to access, control, and manage Google and Nest devices programmatically.",
19 "discoveryVersion": "v1",
20 "documentationLink": "https://developers.google.com/nest/device-access",
21 "fullyEncodeReservedExpansion": true,
22 "icons": {
23 "x16": "http://www.google.com/images/icons/product/search-16.gif",
24 "x32": "http://www.google.com/images/icons/product/search-32.gif"
25 },
26 "id": "smartdevicemanagement:v1",
27 "kind": "discovery#restDescription",
28 "mtlsRootUrl": "https://smartdevicemanagement.mtls.googleapis.com/",
29 "name": "smartdevicemanagement",
30 "ownerDomain": "google.com",
31 "ownerName": "Google",
32 "parameters": {
33 "$.xgafv": {
34 "description": "V1 error format.",
35 "enum": [
36 "1",
37 "2"
38 ],
39 "enumDescriptions": [
40 "v1 error format",
41 "v2 error format"
42 ],
43 "location": "query",
44 "type": "string"
yoshi-code-bot69706592021-03-03 03:54:02 -080045 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040046 "access_token": {
47 "description": "OAuth access token.",
48 "location": "query",
49 "type": "string"
yoshi-code-bot69706592021-03-03 03:54:02 -080050 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040051 "alt": {
52 "default": "json",
53 "description": "Data format for response.",
54 "enum": [
55 "json",
56 "media",
57 "proto"
58 ],
59 "enumDescriptions": [
60 "Responses with Content-Type of application/json",
61 "Media download with context-dependent Content-Type",
62 "Responses with Content-Type of application/x-protobuf"
63 ],
64 "location": "query",
65 "type": "string"
yoshi-code-bot69706592021-03-03 03:54:02 -080066 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040067 "callback": {
68 "description": "JSONP",
69 "location": "query",
70 "type": "string"
yoshi-code-bot69706592021-03-03 03:54:02 -080071 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040072 "fields": {
73 "description": "Selector specifying which fields to include in a partial response.",
74 "location": "query",
75 "type": "string"
76 },
77 "key": {
78 "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.",
79 "location": "query",
80 "type": "string"
81 },
82 "oauth_token": {
83 "description": "OAuth 2.0 token for the current user.",
84 "location": "query",
85 "type": "string"
86 },
87 "prettyPrint": {
88 "default": "true",
89 "description": "Returns response with indentations and line breaks.",
90 "location": "query",
91 "type": "boolean"
92 },
93 "quotaUser": {
94 "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.",
95 "location": "query",
96 "type": "string"
97 },
98 "uploadType": {
99 "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
100 "location": "query",
101 "type": "string"
102 },
103 "upload_protocol": {
104 "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
105 "location": "query",
106 "type": "string"
107 }
108 },
109 "protocol": "rest",
110 "resources": {
111 "enterprises": {
112 "resources": {
113 "devices": {
114 "methods": {
115 "executeCommand": {
116 "description": "Executes a command to device managed by the enterprise.",
117 "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}:executeCommand",
118 "httpMethod": "POST",
119 "id": "smartdevicemanagement.enterprises.devices.executeCommand",
120 "parameterOrder": [
121 "name"
122 ],
123 "parameters": {
yoshi-code-bot69706592021-03-03 03:54:02 -0800124 "name": {
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400125 "description": "The name of the device requested. For example: \"enterprises/XYZ/devices/123\"",
126 "location": "path",
127 "pattern": "^enterprises/[^/]+/devices/[^/]+$",
128 "required": true,
129 "type": "string"
yoshi-code-bot69706592021-03-03 03:54:02 -0800130 }
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400131 },
132 "path": "v1/{+name}:executeCommand",
133 "request": {
134 "$ref": "GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandRequest"
135 },
136 "response": {
137 "$ref": "GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandResponse"
138 },
139 "scopes": [
yoshi-code-botb1eafb32021-06-15 00:26:02 -0700140 "https://www.googleapis.com/auth/sdm.service",
141 "https://www.googleapis.com/auth/sdm.thermostat.service"
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400142 ]
yoshi-code-bot69706592021-03-03 03:54:02 -0800143 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400144 "get": {
145 "description": "Gets a device managed by the enterprise.",
146 "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}",
147 "httpMethod": "GET",
148 "id": "smartdevicemanagement.enterprises.devices.get",
149 "parameterOrder": [
150 "name"
151 ],
152 "parameters": {
153 "name": {
154 "description": "The name of the device requested. For example: \"enterprises/XYZ/devices/123\"",
155 "location": "path",
156 "pattern": "^enterprises/[^/]+/devices/[^/]+$",
157 "required": true,
158 "type": "string"
159 }
160 },
161 "path": "v1/{+name}",
162 "response": {
163 "$ref": "GoogleHomeEnterpriseSdmV1Device"
164 },
165 "scopes": [
yoshi-code-botb1eafb32021-06-15 00:26:02 -0700166 "https://www.googleapis.com/auth/sdm.service",
167 "https://www.googleapis.com/auth/sdm.thermostat.service"
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400168 ]
169 },
170 "list": {
171 "description": "Lists devices managed by the enterprise.",
172 "flatPath": "v1/enterprises/{enterprisesId}/devices",
173 "httpMethod": "GET",
174 "id": "smartdevicemanagement.enterprises.devices.list",
175 "parameterOrder": [
176 "parent"
177 ],
178 "parameters": {
179 "filter": {
180 "description": "Optional filter to list devices. Filters can be done on: Device custom name (substring match): 'customName=wing'",
181 "location": "query",
182 "type": "string"
yoshi-code-bot69706592021-03-03 03:54:02 -0800183 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400184 "pageSize": {
185 "description": "Optional requested page size. Server may return fewer devices than requested. If unspecified, server will pick an appropriate default.",
186 "format": "int32",
187 "location": "query",
188 "type": "integer"
yoshi-code-bot69706592021-03-03 03:54:02 -0800189 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400190 "pageToken": {
191 "description": "Optional token of the page to retrieve.",
192 "location": "query",
193 "type": "string"
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800194 },
195 "parent": {
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400196 "description": "The parent enterprise to list devices under. E.g. \"enterprises/XYZ\".",
197 "location": "path",
198 "pattern": "^enterprises/[^/]+$",
199 "required": true,
200 "type": "string"
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800201 }
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400202 },
203 "path": "v1/{+parent}/devices",
204 "response": {
205 "$ref": "GoogleHomeEnterpriseSdmV1ListDevicesResponse"
206 },
207 "scopes": [
yoshi-code-botb1eafb32021-06-15 00:26:02 -0700208 "https://www.googleapis.com/auth/sdm.service",
209 "https://www.googleapis.com/auth/sdm.thermostat.service"
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400210 ]
211 }
212 }
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800213 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400214 "structures": {
215 "methods": {
216 "get": {
217 "description": "Gets a structure managed by the enterprise.",
218 "flatPath": "v1/enterprises/{enterprisesId}/structures/{structuresId}",
219 "httpMethod": "GET",
220 "id": "smartdevicemanagement.enterprises.structures.get",
221 "parameterOrder": [
222 "name"
223 ],
224 "parameters": {
yoshi-code-bot69706592021-03-03 03:54:02 -0800225 "name": {
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400226 "description": "The name of the structure requested. For example: \"enterprises/XYZ/structures/ABC\".",
227 "location": "path",
228 "pattern": "^enterprises/[^/]+/structures/[^/]+$",
229 "required": true,
230 "type": "string"
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800231 }
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400232 },
233 "path": "v1/{+name}",
234 "response": {
235 "$ref": "GoogleHomeEnterpriseSdmV1Structure"
236 },
237 "scopes": [
yoshi-code-botb1eafb32021-06-15 00:26:02 -0700238 "https://www.googleapis.com/auth/sdm.service",
239 "https://www.googleapis.com/auth/sdm.thermostat.service"
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400240 ]
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800241 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400242 "list": {
243 "description": "Lists structures managed by the enterprise.",
244 "flatPath": "v1/enterprises/{enterprisesId}/structures",
245 "httpMethod": "GET",
246 "id": "smartdevicemanagement.enterprises.structures.list",
247 "parameterOrder": [
248 "parent"
249 ],
250 "parameters": {
251 "filter": {
252 "description": "Optional filter to list structures.",
253 "location": "query",
254 "type": "string"
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800255 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400256 "pageSize": {
257 "description": "Requested page size. Server may return fewer structures than requested. If unspecified, server will pick an appropriate default.",
258 "format": "int32",
259 "location": "query",
260 "type": "integer"
261 },
262 "pageToken": {
263 "description": "The token of the page to retrieve.",
264 "location": "query",
265 "type": "string"
266 },
267 "parent": {
268 "description": "The parent enterprise to list structures under. E.g. \"enterprises/XYZ\".",
269 "location": "path",
270 "pattern": "^enterprises/[^/]+$",
271 "required": true,
272 "type": "string"
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800273 }
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400274 },
275 "path": "v1/{+parent}/structures",
276 "response": {
277 "$ref": "GoogleHomeEnterpriseSdmV1ListStructuresResponse"
278 },
279 "scopes": [
yoshi-code-botb1eafb32021-06-15 00:26:02 -0700280 "https://www.googleapis.com/auth/sdm.service",
281 "https://www.googleapis.com/auth/sdm.thermostat.service"
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400282 ]
283 }
284 },
285 "resources": {
286 "rooms": {
287 "methods": {
288 "get": {
289 "description": "Gets a room managed by the enterprise.",
290 "flatPath": "v1/enterprises/{enterprisesId}/structures/{structuresId}/rooms/{roomsId}",
291 "httpMethod": "GET",
292 "id": "smartdevicemanagement.enterprises.structures.rooms.get",
293 "parameterOrder": [
294 "name"
295 ],
296 "parameters": {
297 "name": {
298 "description": "The name of the room requested. For example: \"enterprises/XYZ/structures/ABC/rooms/123\".",
299 "location": "path",
300 "pattern": "^enterprises/[^/]+/structures/[^/]+/rooms/[^/]+$",
301 "required": true,
302 "type": "string"
303 }
304 },
305 "path": "v1/{+name}",
306 "response": {
307 "$ref": "GoogleHomeEnterpriseSdmV1Room"
308 },
309 "scopes": [
yoshi-code-botb1eafb32021-06-15 00:26:02 -0700310 "https://www.googleapis.com/auth/sdm.service",
311 "https://www.googleapis.com/auth/sdm.thermostat.service"
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400312 ]
313 },
314 "list": {
315 "description": "Lists rooms managed by the enterprise.",
316 "flatPath": "v1/enterprises/{enterprisesId}/structures/{structuresId}/rooms",
317 "httpMethod": "GET",
318 "id": "smartdevicemanagement.enterprises.structures.rooms.list",
319 "parameterOrder": [
320 "parent"
321 ],
322 "parameters": {
323 "pageSize": {
324 "description": "Requested page size. Server may return fewer rooms than requested. If unspecified, server will pick an appropriate default.",
325 "format": "int32",
326 "location": "query",
327 "type": "integer"
328 },
329 "pageToken": {
330 "description": "The token of the page to retrieve.",
331 "location": "query",
332 "type": "string"
333 },
334 "parent": {
335 "description": "The parent resource name of the rooms requested. For example: \"enterprises/XYZ/structures/ABC\".",
336 "location": "path",
337 "pattern": "^enterprises/[^/]+/structures/[^/]+$",
338 "required": true,
339 "type": "string"
340 }
341 },
342 "path": "v1/{+parent}/rooms",
343 "response": {
344 "$ref": "GoogleHomeEnterpriseSdmV1ListRoomsResponse"
345 },
346 "scopes": [
yoshi-code-botb1eafb32021-06-15 00:26:02 -0700347 "https://www.googleapis.com/auth/sdm.service",
348 "https://www.googleapis.com/auth/sdm.thermostat.service"
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400349 ]
350 }
351 }
352 }
353 }
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800354 }
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400355 }
356 }
357 },
yoshi-code-bot3e4b5db2021-08-10 00:22:29 -0700358 "revision": "20210731",
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400359 "rootUrl": "https://smartdevicemanagement.googleapis.com/",
360 "schemas": {
361 "GoogleHomeEnterpriseSdmV1Device": {
362 "description": "Device resource represents an instance of enterprise managed device in the property.",
363 "id": "GoogleHomeEnterpriseSdmV1Device",
364 "properties": {
365 "name": {
366 "description": "Required. The resource name of the device. For example: \"enterprises/XYZ/devices/123\".",
367 "type": "string"
368 },
369 "parentRelations": {
370 "description": "Assignee details of the device.",
371 "items": {
372 "$ref": "GoogleHomeEnterpriseSdmV1ParentRelation"
373 },
374 "type": "array"
375 },
376 "traits": {
377 "additionalProperties": {
378 "description": "Properties of the object.",
379 "type": "any"
380 },
381 "description": "Output only. Device traits.",
382 "readOnly": true,
383 "type": "object"
384 },
385 "type": {
386 "description": "Output only. Type of the device for general display purposes. For example: \"THERMOSTAT\". The device type should not be used to deduce or infer functionality of the actual device it is assigned to. Instead, use the returned traits for the device.",
387 "readOnly": true,
388 "type": "string"
389 }
390 },
391 "type": "object"
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800392 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400393 "GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandRequest": {
394 "description": "Request message for SmartDeviceManagementService.ExecuteDeviceCommand",
395 "id": "GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandRequest",
396 "properties": {
397 "command": {
398 "description": "The command name to execute, represented by the fully qualified protobuf message name.",
399 "type": "string"
400 },
401 "params": {
402 "additionalProperties": {
403 "description": "Properties of the object.",
404 "type": "any"
405 },
406 "description": "The command message to execute, represented as a Struct.",
407 "type": "object"
408 }
409 },
410 "type": "object"
411 },
412 "GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandResponse": {
413 "description": "Response message for SmartDeviceManagementService.ExecuteDeviceCommand",
414 "id": "GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandResponse",
415 "properties": {
416 "results": {
417 "additionalProperties": {
418 "description": "Properties of the object.",
419 "type": "any"
420 },
421 "description": "The results of executing the command.",
422 "type": "object"
423 }
424 },
425 "type": "object"
426 },
427 "GoogleHomeEnterpriseSdmV1ListDevicesResponse": {
428 "description": "Response message for SmartDeviceManagementService.ListDevices",
429 "id": "GoogleHomeEnterpriseSdmV1ListDevicesResponse",
430 "properties": {
431 "devices": {
432 "description": "The list of devices.",
433 "items": {
434 "$ref": "GoogleHomeEnterpriseSdmV1Device"
435 },
436 "type": "array"
437 },
438 "nextPageToken": {
439 "description": "The pagination token to retrieve the next page of results.",
440 "type": "string"
441 }
442 },
443 "type": "object"
444 },
445 "GoogleHomeEnterpriseSdmV1ListRoomsResponse": {
446 "description": "Response message for SmartDeviceManagementService.ListRooms",
447 "id": "GoogleHomeEnterpriseSdmV1ListRoomsResponse",
448 "properties": {
449 "nextPageToken": {
450 "description": "The pagination token to retrieve the next page of results. If this field is omitted, there are no subsequent pages.",
451 "type": "string"
452 },
453 "rooms": {
454 "description": "The list of rooms.",
455 "items": {
456 "$ref": "GoogleHomeEnterpriseSdmV1Room"
457 },
458 "type": "array"
459 }
460 },
461 "type": "object"
462 },
463 "GoogleHomeEnterpriseSdmV1ListStructuresResponse": {
464 "description": "Response message for SmartDeviceManagementService.ListStructures",
465 "id": "GoogleHomeEnterpriseSdmV1ListStructuresResponse",
466 "properties": {
467 "nextPageToken": {
468 "description": "The pagination token to retrieve the next page of results. If this field is omitted, there are no subsequent pages.",
469 "type": "string"
470 },
471 "structures": {
472 "description": "The list of structures.",
473 "items": {
474 "$ref": "GoogleHomeEnterpriseSdmV1Structure"
475 },
476 "type": "array"
477 }
478 },
479 "type": "object"
480 },
481 "GoogleHomeEnterpriseSdmV1ParentRelation": {
482 "description": "Represents device relationships, for instance, structure/room to which the device is assigned to.",
483 "id": "GoogleHomeEnterpriseSdmV1ParentRelation",
484 "properties": {
485 "displayName": {
486 "description": "Output only. The custom name of the relation -- e.g., structure/room where the device is assigned to.",
487 "readOnly": true,
488 "type": "string"
489 },
490 "parent": {
491 "description": "Output only. The name of the relation -- e.g., structure/room where the device is assigned to. For example: \"enterprises/XYZ/structures/ABC\" or \"enterprises/XYZ/structures/ABC/rooms/123\"",
492 "readOnly": true,
493 "type": "string"
494 }
495 },
496 "type": "object"
497 },
498 "GoogleHomeEnterpriseSdmV1Room": {
499 "description": "Room resource represents an instance of sub-space within a structure such as rooms in a hotel suite or rental apartment.",
500 "id": "GoogleHomeEnterpriseSdmV1Room",
501 "properties": {
502 "name": {
503 "description": "Output only. The resource name of the room. For example: \"enterprises/XYZ/structures/ABC/rooms/123\".",
504 "readOnly": true,
505 "type": "string"
506 },
507 "traits": {
508 "additionalProperties": {
509 "description": "Properties of the object.",
510 "type": "any"
511 },
512 "description": "Room traits.",
513 "type": "object"
514 }
515 },
516 "type": "object"
517 },
518 "GoogleHomeEnterpriseSdmV1Structure": {
519 "description": "Structure resource represents an instance of enterprise managed home or hotel room.",
520 "id": "GoogleHomeEnterpriseSdmV1Structure",
521 "properties": {
522 "name": {
523 "description": "Output only. The resource name of the structure. For example: \"enterprises/XYZ/structures/ABC\".",
524 "readOnly": true,
525 "type": "string"
526 },
527 "traits": {
528 "additionalProperties": {
529 "description": "Properties of the object.",
530 "type": "any"
531 },
532 "description": "Structure traits.",
533 "type": "object"
534 }
535 },
536 "type": "object"
537 }
538 },
539 "servicePath": "",
540 "title": "Smart Device Management API",
541 "version": "v1",
542 "version_module": true
yoshi-code-bot69706592021-03-03 03:54:02 -0800543}