blob: 0eefd8367466e0ada7f822cc73d0f83287ffa73b [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-bot69706592021-03-03 03:54:02 -08007 }
Anthonios Partheniou10f4b672021-04-13 14:47:53 -04008 }
9 }
10 },
11 "basePath": "",
12 "baseUrl": "https://smartdevicemanagement.googleapis.com/",
13 "batchPath": "batch",
14 "canonicalName": "Smart Device Management",
15 "description": "Allow select enterprise partners to access, control, and manage Google and Nest devices programmatically.",
16 "discoveryVersion": "v1",
17 "documentationLink": "https://developers.google.com/nest/device-access",
18 "fullyEncodeReservedExpansion": true,
19 "icons": {
20 "x16": "http://www.google.com/images/icons/product/search-16.gif",
21 "x32": "http://www.google.com/images/icons/product/search-32.gif"
22 },
23 "id": "smartdevicemanagement:v1",
24 "kind": "discovery#restDescription",
25 "mtlsRootUrl": "https://smartdevicemanagement.mtls.googleapis.com/",
26 "name": "smartdevicemanagement",
27 "ownerDomain": "google.com",
28 "ownerName": "Google",
29 "parameters": {
30 "$.xgafv": {
31 "description": "V1 error format.",
32 "enum": [
33 "1",
34 "2"
35 ],
36 "enumDescriptions": [
37 "v1 error format",
38 "v2 error format"
39 ],
40 "location": "query",
41 "type": "string"
yoshi-code-bot69706592021-03-03 03:54:02 -080042 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040043 "access_token": {
44 "description": "OAuth access token.",
45 "location": "query",
46 "type": "string"
yoshi-code-bot69706592021-03-03 03:54:02 -080047 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040048 "alt": {
49 "default": "json",
50 "description": "Data format for response.",
51 "enum": [
52 "json",
53 "media",
54 "proto"
55 ],
56 "enumDescriptions": [
57 "Responses with Content-Type of application/json",
58 "Media download with context-dependent Content-Type",
59 "Responses with Content-Type of application/x-protobuf"
60 ],
61 "location": "query",
62 "type": "string"
yoshi-code-bot69706592021-03-03 03:54:02 -080063 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040064 "callback": {
65 "description": "JSONP",
66 "location": "query",
67 "type": "string"
yoshi-code-bot69706592021-03-03 03:54:02 -080068 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040069 "fields": {
70 "description": "Selector specifying which fields to include in a partial response.",
71 "location": "query",
72 "type": "string"
73 },
74 "key": {
75 "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.",
76 "location": "query",
77 "type": "string"
78 },
79 "oauth_token": {
80 "description": "OAuth 2.0 token for the current user.",
81 "location": "query",
82 "type": "string"
83 },
84 "prettyPrint": {
85 "default": "true",
86 "description": "Returns response with indentations and line breaks.",
87 "location": "query",
88 "type": "boolean"
89 },
90 "quotaUser": {
91 "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.",
92 "location": "query",
93 "type": "string"
94 },
95 "uploadType": {
96 "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
97 "location": "query",
98 "type": "string"
99 },
100 "upload_protocol": {
101 "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
102 "location": "query",
103 "type": "string"
104 }
105 },
106 "protocol": "rest",
107 "resources": {
108 "enterprises": {
109 "resources": {
110 "devices": {
111 "methods": {
112 "executeCommand": {
113 "description": "Executes a command to device managed by the enterprise.",
114 "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}:executeCommand",
115 "httpMethod": "POST",
116 "id": "smartdevicemanagement.enterprises.devices.executeCommand",
117 "parameterOrder": [
118 "name"
119 ],
120 "parameters": {
yoshi-code-bot69706592021-03-03 03:54:02 -0800121 "name": {
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400122 "description": "The name of the device requested. For example: \"enterprises/XYZ/devices/123\"",
123 "location": "path",
124 "pattern": "^enterprises/[^/]+/devices/[^/]+$",
125 "required": true,
126 "type": "string"
yoshi-code-bot69706592021-03-03 03:54:02 -0800127 }
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400128 },
129 "path": "v1/{+name}:executeCommand",
130 "request": {
131 "$ref": "GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandRequest"
132 },
133 "response": {
134 "$ref": "GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandResponse"
135 },
136 "scopes": [
137 "https://www.googleapis.com/auth/sdm.service"
138 ]
yoshi-code-bot69706592021-03-03 03:54:02 -0800139 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400140 "get": {
141 "description": "Gets a device managed by the enterprise.",
142 "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}",
143 "httpMethod": "GET",
144 "id": "smartdevicemanagement.enterprises.devices.get",
145 "parameterOrder": [
146 "name"
147 ],
148 "parameters": {
149 "name": {
150 "description": "The name of the device requested. For example: \"enterprises/XYZ/devices/123\"",
151 "location": "path",
152 "pattern": "^enterprises/[^/]+/devices/[^/]+$",
153 "required": true,
154 "type": "string"
155 }
156 },
157 "path": "v1/{+name}",
158 "response": {
159 "$ref": "GoogleHomeEnterpriseSdmV1Device"
160 },
161 "scopes": [
162 "https://www.googleapis.com/auth/sdm.service"
163 ]
164 },
165 "list": {
166 "description": "Lists devices managed by the enterprise.",
167 "flatPath": "v1/enterprises/{enterprisesId}/devices",
168 "httpMethod": "GET",
169 "id": "smartdevicemanagement.enterprises.devices.list",
170 "parameterOrder": [
171 "parent"
172 ],
173 "parameters": {
174 "filter": {
175 "description": "Optional filter to list devices. Filters can be done on: Device custom name (substring match): 'customName=wing'",
176 "location": "query",
177 "type": "string"
yoshi-code-bot69706592021-03-03 03:54:02 -0800178 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400179 "pageSize": {
180 "description": "Optional requested page size. Server may return fewer devices than requested. If unspecified, server will pick an appropriate default.",
181 "format": "int32",
182 "location": "query",
183 "type": "integer"
yoshi-code-bot69706592021-03-03 03:54:02 -0800184 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400185 "pageToken": {
186 "description": "Optional token of the page to retrieve.",
187 "location": "query",
188 "type": "string"
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800189 },
190 "parent": {
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400191 "description": "The parent enterprise to list devices under. E.g. \"enterprises/XYZ\".",
192 "location": "path",
193 "pattern": "^enterprises/[^/]+$",
194 "required": true,
195 "type": "string"
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800196 }
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400197 },
198 "path": "v1/{+parent}/devices",
199 "response": {
200 "$ref": "GoogleHomeEnterpriseSdmV1ListDevicesResponse"
201 },
202 "scopes": [
203 "https://www.googleapis.com/auth/sdm.service"
204 ]
205 }
206 }
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800207 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400208 "structures": {
209 "methods": {
210 "get": {
211 "description": "Gets a structure managed by the enterprise.",
212 "flatPath": "v1/enterprises/{enterprisesId}/structures/{structuresId}",
213 "httpMethod": "GET",
214 "id": "smartdevicemanagement.enterprises.structures.get",
215 "parameterOrder": [
216 "name"
217 ],
218 "parameters": {
yoshi-code-bot69706592021-03-03 03:54:02 -0800219 "name": {
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400220 "description": "The name of the structure requested. For example: \"enterprises/XYZ/structures/ABC\".",
221 "location": "path",
222 "pattern": "^enterprises/[^/]+/structures/[^/]+$",
223 "required": true,
224 "type": "string"
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800225 }
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400226 },
227 "path": "v1/{+name}",
228 "response": {
229 "$ref": "GoogleHomeEnterpriseSdmV1Structure"
230 },
231 "scopes": [
232 "https://www.googleapis.com/auth/sdm.service"
233 ]
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800234 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400235 "list": {
236 "description": "Lists structures managed by the enterprise.",
237 "flatPath": "v1/enterprises/{enterprisesId}/structures",
238 "httpMethod": "GET",
239 "id": "smartdevicemanagement.enterprises.structures.list",
240 "parameterOrder": [
241 "parent"
242 ],
243 "parameters": {
244 "filter": {
245 "description": "Optional filter to list structures.",
246 "location": "query",
247 "type": "string"
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800248 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400249 "pageSize": {
250 "description": "Requested page size. Server may return fewer structures than requested. If unspecified, server will pick an appropriate default.",
251 "format": "int32",
252 "location": "query",
253 "type": "integer"
254 },
255 "pageToken": {
256 "description": "The token of the page to retrieve.",
257 "location": "query",
258 "type": "string"
259 },
260 "parent": {
261 "description": "The parent enterprise to list structures under. E.g. \"enterprises/XYZ\".",
262 "location": "path",
263 "pattern": "^enterprises/[^/]+$",
264 "required": true,
265 "type": "string"
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800266 }
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400267 },
268 "path": "v1/{+parent}/structures",
269 "response": {
270 "$ref": "GoogleHomeEnterpriseSdmV1ListStructuresResponse"
271 },
272 "scopes": [
273 "https://www.googleapis.com/auth/sdm.service"
274 ]
275 }
276 },
277 "resources": {
278 "rooms": {
279 "methods": {
280 "get": {
281 "description": "Gets a room managed by the enterprise.",
282 "flatPath": "v1/enterprises/{enterprisesId}/structures/{structuresId}/rooms/{roomsId}",
283 "httpMethod": "GET",
284 "id": "smartdevicemanagement.enterprises.structures.rooms.get",
285 "parameterOrder": [
286 "name"
287 ],
288 "parameters": {
289 "name": {
290 "description": "The name of the room requested. For example: \"enterprises/XYZ/structures/ABC/rooms/123\".",
291 "location": "path",
292 "pattern": "^enterprises/[^/]+/structures/[^/]+/rooms/[^/]+$",
293 "required": true,
294 "type": "string"
295 }
296 },
297 "path": "v1/{+name}",
298 "response": {
299 "$ref": "GoogleHomeEnterpriseSdmV1Room"
300 },
301 "scopes": [
302 "https://www.googleapis.com/auth/sdm.service"
303 ]
304 },
305 "list": {
306 "description": "Lists rooms managed by the enterprise.",
307 "flatPath": "v1/enterprises/{enterprisesId}/structures/{structuresId}/rooms",
308 "httpMethod": "GET",
309 "id": "smartdevicemanagement.enterprises.structures.rooms.list",
310 "parameterOrder": [
311 "parent"
312 ],
313 "parameters": {
314 "pageSize": {
315 "description": "Requested page size. Server may return fewer rooms than requested. If unspecified, server will pick an appropriate default.",
316 "format": "int32",
317 "location": "query",
318 "type": "integer"
319 },
320 "pageToken": {
321 "description": "The token of the page to retrieve.",
322 "location": "query",
323 "type": "string"
324 },
325 "parent": {
326 "description": "The parent resource name of the rooms requested. For example: \"enterprises/XYZ/structures/ABC\".",
327 "location": "path",
328 "pattern": "^enterprises/[^/]+/structures/[^/]+$",
329 "required": true,
330 "type": "string"
331 }
332 },
333 "path": "v1/{+parent}/rooms",
334 "response": {
335 "$ref": "GoogleHomeEnterpriseSdmV1ListRoomsResponse"
336 },
337 "scopes": [
338 "https://www.googleapis.com/auth/sdm.service"
339 ]
340 }
341 }
342 }
343 }
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800344 }
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400345 }
346 }
347 },
348 "revision": "20210403",
349 "rootUrl": "https://smartdevicemanagement.googleapis.com/",
350 "schemas": {
351 "GoogleHomeEnterpriseSdmV1Device": {
352 "description": "Device resource represents an instance of enterprise managed device in the property.",
353 "id": "GoogleHomeEnterpriseSdmV1Device",
354 "properties": {
355 "name": {
356 "description": "Required. The resource name of the device. For example: \"enterprises/XYZ/devices/123\".",
357 "type": "string"
358 },
359 "parentRelations": {
360 "description": "Assignee details of the device.",
361 "items": {
362 "$ref": "GoogleHomeEnterpriseSdmV1ParentRelation"
363 },
364 "type": "array"
365 },
366 "traits": {
367 "additionalProperties": {
368 "description": "Properties of the object.",
369 "type": "any"
370 },
371 "description": "Output only. Device traits.",
372 "readOnly": true,
373 "type": "object"
374 },
375 "type": {
376 "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.",
377 "readOnly": true,
378 "type": "string"
379 }
380 },
381 "type": "object"
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800382 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400383 "GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandRequest": {
384 "description": "Request message for SmartDeviceManagementService.ExecuteDeviceCommand",
385 "id": "GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandRequest",
386 "properties": {
387 "command": {
388 "description": "The command name to execute, represented by the fully qualified protobuf message name.",
389 "type": "string"
390 },
391 "params": {
392 "additionalProperties": {
393 "description": "Properties of the object.",
394 "type": "any"
395 },
396 "description": "The command message to execute, represented as a Struct.",
397 "type": "object"
398 }
399 },
400 "type": "object"
401 },
402 "GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandResponse": {
403 "description": "Response message for SmartDeviceManagementService.ExecuteDeviceCommand",
404 "id": "GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandResponse",
405 "properties": {
406 "results": {
407 "additionalProperties": {
408 "description": "Properties of the object.",
409 "type": "any"
410 },
411 "description": "The results of executing the command.",
412 "type": "object"
413 }
414 },
415 "type": "object"
416 },
417 "GoogleHomeEnterpriseSdmV1ListDevicesResponse": {
418 "description": "Response message for SmartDeviceManagementService.ListDevices",
419 "id": "GoogleHomeEnterpriseSdmV1ListDevicesResponse",
420 "properties": {
421 "devices": {
422 "description": "The list of devices.",
423 "items": {
424 "$ref": "GoogleHomeEnterpriseSdmV1Device"
425 },
426 "type": "array"
427 },
428 "nextPageToken": {
429 "description": "The pagination token to retrieve the next page of results.",
430 "type": "string"
431 }
432 },
433 "type": "object"
434 },
435 "GoogleHomeEnterpriseSdmV1ListRoomsResponse": {
436 "description": "Response message for SmartDeviceManagementService.ListRooms",
437 "id": "GoogleHomeEnterpriseSdmV1ListRoomsResponse",
438 "properties": {
439 "nextPageToken": {
440 "description": "The pagination token to retrieve the next page of results. If this field is omitted, there are no subsequent pages.",
441 "type": "string"
442 },
443 "rooms": {
444 "description": "The list of rooms.",
445 "items": {
446 "$ref": "GoogleHomeEnterpriseSdmV1Room"
447 },
448 "type": "array"
449 }
450 },
451 "type": "object"
452 },
453 "GoogleHomeEnterpriseSdmV1ListStructuresResponse": {
454 "description": "Response message for SmartDeviceManagementService.ListStructures",
455 "id": "GoogleHomeEnterpriseSdmV1ListStructuresResponse",
456 "properties": {
457 "nextPageToken": {
458 "description": "The pagination token to retrieve the next page of results. If this field is omitted, there are no subsequent pages.",
459 "type": "string"
460 },
461 "structures": {
462 "description": "The list of structures.",
463 "items": {
464 "$ref": "GoogleHomeEnterpriseSdmV1Structure"
465 },
466 "type": "array"
467 }
468 },
469 "type": "object"
470 },
471 "GoogleHomeEnterpriseSdmV1ParentRelation": {
472 "description": "Represents device relationships, for instance, structure/room to which the device is assigned to.",
473 "id": "GoogleHomeEnterpriseSdmV1ParentRelation",
474 "properties": {
475 "displayName": {
476 "description": "Output only. The custom name of the relation -- e.g., structure/room where the device is assigned to.",
477 "readOnly": true,
478 "type": "string"
479 },
480 "parent": {
481 "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\"",
482 "readOnly": true,
483 "type": "string"
484 }
485 },
486 "type": "object"
487 },
488 "GoogleHomeEnterpriseSdmV1Room": {
489 "description": "Room resource represents an instance of sub-space within a structure such as rooms in a hotel suite or rental apartment.",
490 "id": "GoogleHomeEnterpriseSdmV1Room",
491 "properties": {
492 "name": {
493 "description": "Output only. The resource name of the room. For example: \"enterprises/XYZ/structures/ABC/rooms/123\".",
494 "readOnly": true,
495 "type": "string"
496 },
497 "traits": {
498 "additionalProperties": {
499 "description": "Properties of the object.",
500 "type": "any"
501 },
502 "description": "Room traits.",
503 "type": "object"
504 }
505 },
506 "type": "object"
507 },
508 "GoogleHomeEnterpriseSdmV1Structure": {
509 "description": "Structure resource represents an instance of enterprise managed home or hotel room.",
510 "id": "GoogleHomeEnterpriseSdmV1Structure",
511 "properties": {
512 "name": {
513 "description": "Output only. The resource name of the structure. For example: \"enterprises/XYZ/structures/ABC\".",
514 "readOnly": true,
515 "type": "string"
516 },
517 "traits": {
518 "additionalProperties": {
519 "description": "Properties of the object.",
520 "type": "any"
521 },
522 "description": "Structure traits.",
523 "type": "object"
524 }
525 },
526 "type": "object"
527 }
528 },
529 "servicePath": "",
530 "title": "Smart Device Management API",
531 "version": "v1",
532 "version_module": true
yoshi-code-bot69706592021-03-03 03:54:02 -0800533}