Smart Device Management API
Stay organized with collections Save and categorize content based on your preferences.
Allow select enterprise partners to access, control, and manage Google and Nest devices programmatically.
Service: smartdevicemanagement.googleapis.com
To call this service, we recommend that you use the Google-provided client libraries. If your application needs to use your own libraries to call this service, use the following information when you make the API requests.
Discovery document
A Discovery Document is a machine-readable specification for describing and consuming REST APIs. It is used to build client libraries, IDE plugins, and other tools that interact with Google APIs. One service may provide multiple discovery documents. This service provides the following discovery document:
Service endpoint
A service endpoint is a base URL that specifies the network address of an API service. One service might have multiple service endpoints. This service has the following service endpoint and all URIs below are relative to this service endpoint:
https://smartdevicemanagement.googleapis.com
Methods |
executeCommand | POST /v1/{name=enterprises/*/devices/*}:executeCommand Executes a command to device managed by the enterprise. |
get | GET /v1/{name=enterprises/*/devices/*} Gets a device managed by the enterprise. |
list | GET /v1/{parent=enterprises/*}/devices Lists devices managed by the enterprise. |
Methods |
get | GET /v1/{name=enterprises/*/structures/*} Gets a structure managed by the enterprise. |
list | GET /v1/{parent=enterprises/*}/structures Lists structures managed by the enterprise. |
Methods |
get | GET /v1/{name=enterprises/*/structures/*/rooms/*} Gets a room managed by the enterprise. |
list | GET /v1/{parent=enterprises/*/structures/*}/rooms Lists rooms managed by the enterprise. |
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-08-07 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-08-07 UTC."],[[["\u003cp\u003eThe Smart Device Management API enables select enterprise partners to programmatically access, control, and manage Google and Nest devices.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can utilize the provided REST resources for interacting with devices, structures, and rooms within the enterprise environment.\u003c/p\u003e\n"],["\u003cp\u003eThe API offers methods for executing commands on devices, retrieving device details, and listing devices, structures, and rooms.\u003c/p\u003e\n"],["\u003cp\u003eGoogle-provided client libraries are recommended for seamless integration with the service.\u003c/p\u003e\n"],["\u003cp\u003eA discovery document and service endpoint are available to facilitate interaction with the API.\u003c/p\u003e\n"]]],["Enterprise partners can use the `smartdevicemanagement.googleapis.com` service to interact with Google and Nest devices. This involves using REST APIs to manage devices, structures, and rooms. Key actions include: executing commands on devices via `executeCommand`, retrieving device details with `get`, and listing devices via `list`. Additionally, structures and rooms can be accessed and listed using `get` and `list` methods. The service uses a discovery document and a defined service endpoint for interaction.\n"],null,["Allow select enterprise partners to access, control, and manage Google and Nest devices programmatically.\n\n- [REST Resource: v1.enterprises.devices](#v1.enterprises.devices)\n- [REST Resource: v1.enterprises.structures](#v1.enterprises.structures)\n- [REST Resource: v1.enterprises.structures.rooms](#v1.enterprises.structures.rooms)\n\nService: smartdevicemanagement.googleapis.com\n\nTo call this service, we recommend that you use the Google-provided [client libraries](https://cloud.google.com/apis/docs/client-libraries-explained). If your application needs to use your own libraries to call this service, use the following information when you make the API requests.\n\nDiscovery document\n\nA [Discovery Document](https://developers.google.com/discovery/v1/reference/apis) is a machine-readable specification for describing and consuming REST APIs. It is used to build client libraries, IDE plugins, and other tools that interact with Google APIs. One service may provide multiple discovery documents. This service provides the following discovery document:\n\n- \u003chttps://smartdevicemanagement.googleapis.com/$discovery/rest?version=v1\u003e\n\nService endpoint \n\nA [service endpoint](https://cloud.google.com/apis/design/glossary#api_service_endpoint) is a base URL that specifies the network address of an API service. One service might have multiple service endpoints. This service has the following service endpoint and all URIs below are relative to this service endpoint:\n\n- `https://smartdevicemanagement.googleapis.com`\n\nREST Resource: [v1.enterprises.devices](/nest/device-access/reference/rest/v1/enterprises.devices)\n\n| Methods ||\n|--------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------|\n| [executeCommand](/nest/device-access/reference/rest/v1/enterprises.devices/executeCommand) | `POST /v1/{name=enterprises/*/devices/*}:executeCommand` Executes a command to device managed by the enterprise. |\n| [get](/nest/device-access/reference/rest/v1/enterprises.devices/get) | `GET /v1/{name=enterprises/*/devices/*}` Gets a device managed by the enterprise. |\n| [list](/nest/device-access/reference/rest/v1/enterprises.devices/list) | `GET /v1/{parent=enterprises/*}/devices` Lists devices managed by the enterprise. |\n\nREST Resource: [v1.enterprises.structures](/nest/device-access/reference/rest/v1/enterprises.structures)\n\n| Methods ||\n|---------------------------------------------------------------------------|-----------------------------------------------------------------------------------------|\n| [get](/nest/device-access/reference/rest/v1/enterprises.structures/get) | `GET /v1/{name=enterprises/*/structures/*}` Gets a structure managed by the enterprise. |\n| [list](/nest/device-access/reference/rest/v1/enterprises.structures/list) | `GET /v1/{parent=enterprises/*}/structures` Lists structures managed by the enterprise. |\n\nREST Resource: [v1.enterprises.structures.rooms](/nest/device-access/reference/rest/v1/enterprises.structures.rooms)\n\n| Methods ||\n|---------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------|\n| [get](/nest/device-access/reference/rest/v1/enterprises.structures.rooms/get) | `GET /v1/{name=enterprises/*/structures/*/rooms/*}` Gets a room managed by the enterprise. |\n| [list](/nest/device-access/reference/rest/v1/enterprises.structures.rooms/list) | `GET /v1/{parent=enterprises/*/structures/*}/rooms` Lists rooms managed by the enterprise. |"]]