{
  "canonicalName": "Home Graph Service",
  "id": "homegraph:v1",
  "version": "v1",
  "ownerDomain": "google.com",
  "name": "homegraph",
  "kind": "discovery#restDescription",
  "schemas": {
    "QueryResponsePayload": {
      "id": "QueryResponsePayload",
      "type": "object",
      "properties": {
        "devices": {
          "additionalProperties": {
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object."
            },
            "type": "object"
          },
          "description": "States of the devices. Map of third-party device ID to struct of device states.",
          "type": "object"
        }
      },
      "description": "Payload containing device states information."
    },
    "ReportStateAndNotificationResponse": {
      "properties": {
        "requestId": {
          "description": "Request ID copied from ReportStateAndNotificationRequest.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "Response type for the [`ReportStateAndNotification`](#google.home.graph.v1.HomeGraphApiService.ReportStateAndNotification) call.",
      "id": "ReportStateAndNotificationResponse"
    },
    "StateAndNotificationPayload": {
      "type": "object",
      "description": "Payload containing the state and notification information for devices.",
      "id": "StateAndNotificationPayload",
      "properties": {
        "devices": {
          "description": "The devices for updating state and sending notifications.",
          "$ref": "ReportStateAndNotificationDevice"
        }
      }
    },
    "QueryResponse": {
      "properties": {
        "payload": {
          "description": "Device states for the devices given in the request.",
          "$ref": "QueryResponsePayload"
        },
        "requestId": {
          "description": "Request ID used for debugging. Copied from the request.",
          "type": "string"
        }
      },
      "description": "Response type for the [`Query`](#google.home.graph.v1.HomeGraphApiService.Query) call. This should follow the same format as the Google smart home `action.devices.QUERY` [response](https://developers.google.com/assistant/smarthome/reference/intent/query). # Example ```json { \"requestId\": \"ff36a3cc-ec34-11e6-b1a0-64510650abcf\", \"payload\": { \"devices\": { \"123\": { \"on\": true, \"online\": true }, \"456\": { \"on\": true, \"online\": true, \"brightness\": 80, \"color\": { \"name\": \"cerulean\", \"spectrumRGB\": 31655 } } } } } ```",
      "type": "object",
      "id": "QueryResponse"
    },
    "QueryRequestInput": {
      "properties": {
        "payload": {
          "description": "Payload containing third-party device IDs.",
          "$ref": "QueryRequestPayload"
        }
      },
      "description": "Device ID inputs to QueryRequest.",
      "id": "QueryRequestInput",
      "type": "object"
    },
    "Empty": {
      "properties": {},
      "type": "object",
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
      "id": "Empty"
    },
    "RequestSyncDevicesRequest": {
      "properties": {
        "agentUserId": {
          "type": "string",
          "description": "Required. Third-party user ID."
        },
        "async": {
          "description": "Optional. If set, the request will be added to a queue and a response will be returned immediately. This enables concurrent requests for the given `agent_user_id`, but the caller will not receive any error responses.",
          "type": "boolean"
        }
      },
      "type": "object",
      "id": "RequestSyncDevicesRequest",
      "description": "Request type for the [`RequestSyncDevices`](#google.home.graph.v1.HomeGraphApiService.RequestSyncDevices) call."
    },
    "DeviceInfo": {
      "description": "Device information.",
      "properties": {
        "manufacturer": {
          "type": "string",
          "description": "Device manufacturer."
        },
        "swVersion": {
          "type": "string",
          "description": "Device software version."
        },
        "hwVersion": {
          "type": "string",
          "description": "Device hardware version."
        },
        "model": {
          "description": "Device model.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "DeviceInfo"
    },
    "QueryRequest": {
      "id": "QueryRequest",
      "properties": {
        "requestId": {
          "description": "Request ID used for debugging.",
          "type": "string"
        },
        "inputs": {
          "description": "Required. Inputs containing third-party device IDs for which to get the device states.",
          "items": {
            "$ref": "QueryRequestInput"
          },
          "type": "array"
        },
        "agentUserId": {
          "description": "Required. Third-party user ID.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "Request type for the [`Query`](#google.home.graph.v1.HomeGraphApiService.Query) call."
    },
    "SyncRequest": {
      "description": "Request type for the [`Sync`](#google.home.graph.v1.HomeGraphApiService.Sync) call.",
      "properties": {
        "requestId": {
          "description": "Request ID used for debugging.",
          "type": "string"
        },
        "agentUserId": {
          "type": "string",
          "description": "Required. Third-party user ID."
        }
      },
      "type": "object",
      "id": "SyncRequest"
    },
    "SyncResponse": {
      "id": "SyncResponse",
      "properties": {
        "payload": {
          "$ref": "SyncResponsePayload",
          "description": "Devices associated with the third-party user."
        },
        "requestId": {
          "description": "Request ID used for debugging. Copied from the request.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "Response type for the [`Sync`](#google.home.graph.v1.HomeGraphApiService.Sync) call. This should follow the same format as the Google smart home `action.devices.SYNC` [response](https://developers.google.com/assistant/smarthome/reference/intent/sync). # Example ```json { \"requestId\": \"ff36a3cc-ec34-11e6-b1a0-64510650abcf\", \"payload\": { \"agentUserId\": \"1836.15267389\", \"devices\": [{ \"id\": \"123\", \"type\": \"action.devices.types.OUTLET\", \"traits\": [ \"action.devices.traits.OnOff\" ], \"name\": { \"defaultNames\": [\"My Outlet 1234\"], \"name\": \"Night light\", \"nicknames\": [\"wall plug\"] }, \"willReportState\": false, \"deviceInfo\": { \"manufacturer\": \"lights-out-inc\", \"model\": \"hs1234\", \"hwVersion\": \"3.2\", \"swVersion\": \"11.4\" }, \"customData\": { \"fooValue\": 74, \"barValue\": true, \"bazValue\": \"foo\" } }] } } ```"
    },
    "RequestSyncDevicesResponse": {
      "description": "Response type for the [`RequestSyncDevices`](#google.home.graph.v1.HomeGraphApiService.RequestSyncDevices) call. Intentionally empty upon success. An HTTP response code is returned with more details upon failure.",
      "type": "object",
      "id": "RequestSyncDevicesResponse",
      "properties": {}
    },
    "AgentDeviceId": {
      "properties": {
        "id": {
          "description": "Third-party device ID.",
          "type": "string"
        }
      },
      "description": "Third-party device ID for one device.",
      "id": "AgentDeviceId",
      "type": "object"
    },
    "QueryRequestPayload": {
      "description": "Payload containing device IDs.",
      "id": "QueryRequestPayload",
      "type": "object",
      "properties": {
        "devices": {
          "items": {
            "$ref": "AgentDeviceId"
          },
          "type": "array",
          "description": "Third-party device IDs for which to get the device states."
        }
      }
    },
    "Device": {
      "description": "Third-party device definition.",
      "properties": {
        "attributes": {
          "description": "Attributes for the traits supported by the device.",
          "additionalProperties": {
            "description": "Properties of the object.",
            "type": "any"
          },
          "type": "object"
        },
        "traits": {
          "items": {
            "type": "string"
          },
          "description": "Traits supported by the device. See [device traits](https://developers.google.com/assistant/smarthome/traits).",
          "type": "array"
        },
        "deviceInfo": {
          "description": "Device manufacturer, model, hardware version, and software version.",
          "$ref": "DeviceInfo"
        },
        "name": {
          "$ref": "DeviceNames",
          "description": "Names given to this device by your smart home Action."
        },
        "notificationSupportedByAgent": {
          "type": "boolean",
          "description": "Indicates whether your smart home Action will report notifications to Google for this device via ReportStateAndNotification. If your smart home Action enables users to control device notifications, you should update this field and call RequestSyncDevices."
        },
        "id": {
          "description": "Third-party device ID.",
          "type": "string"
        },
        "otherDeviceIds": {
          "description": "Alternate IDs associated with this device. This is used to identify cloud synced devices enabled for [local fulfillment](https://developers.google.com/assistant/smarthome/concepts/local).",
          "type": "array",
          "items": {
            "$ref": "AgentOtherDeviceId"
          }
        },
        "type": {
          "type": "string",
          "description": "Hardware type of the device. See [device types](https://developers.google.com/assistant/smarthome/guides)."
        },
        "roomHint": {
          "type": "string",
          "description": "Suggested name for the room where this device is installed. Google attempts to use this value during user setup."
        },
        "willReportState": {
          "type": "boolean",
          "description": "Indicates whether your smart home Action will report state of this device to Google via ReportStateAndNotification."
        },
        "structureHint": {
          "description": "Suggested name for the structure where this device is installed. Google attempts to use this value during user setup.",
          "type": "string"
        },
        "customData": {
          "description": "Custom device attributes stored in Home Graph and provided to your smart home Action in each [QUERY](https://developers.google.com/assistant/smarthome/reference/intent/query) and [EXECUTE](https://developers.google.com/assistant/smarthome/reference/intent/execute) intent.",
          "type": "object",
          "additionalProperties": {
            "description": "Properties of the object.",
            "type": "any"
          }
        }
      },
      "type": "object",
      "id": "Device"
    },
    "DeviceNames": {
      "type": "object",
      "id": "DeviceNames",
      "properties": {
        "name": {
          "description": "Primary name of the device, generally provided by the user.",
          "type": "string"
        },
        "nicknames": {
          "description": "Additional names provided by the user for the device.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "defaultNames": {
          "description": "List of names provided by the manufacturer rather than the user, such as serial numbers, SKUs, etc.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "description": "Identifiers used to describe the device."
    },
    "SyncResponsePayload": {
      "type": "object",
      "id": "SyncResponsePayload",
      "properties": {
        "devices": {
          "items": {
            "$ref": "Device"
          },
          "description": "Devices associated with the third-party user.",
          "type": "array"
        },
        "agentUserId": {
          "type": "string",
          "description": "Third-party user ID"
        }
      },
      "description": "Payload containing device information."
    },
    "AgentOtherDeviceId": {
      "description": "Alternate third-party device ID.",
      "type": "object",
      "properties": {
        "agentId": {
          "type": "string",
          "description": "Project ID for your smart home Action."
        },
        "deviceId": {
          "description": "Unique third-party device ID.",
          "type": "string"
        }
      },
      "id": "AgentOtherDeviceId"
    },
    "ReportStateAndNotificationDevice": {
      "properties": {
        "states": {
          "type": "object",
          "description": "States of devices to update. See the **Device STATES** section of the individual trait [reference guides](https://developers.google.com/assistant/smarthome/traits).",
          "additionalProperties": {
            "description": "Properties of the object.",
            "type": "any"
          }
        },
        "notifications": {
          "additionalProperties": {
            "description": "Properties of the object.",
            "type": "any"
          },
          "type": "object",
          "description": "Notifications metadata for devices. See the **Device NOTIFICATIONS** section of the individual trait [reference guides](https://developers.google.com/assistant/smarthome/traits)."
        }
      },
      "type": "object",
      "id": "ReportStateAndNotificationDevice",
      "description": "The states and notifications specific to a device."
    },
    "ReportStateAndNotificationRequest": {
      "description": "Request type for the [`ReportStateAndNotification`](#google.home.graph.v1.HomeGraphApiService.ReportStateAndNotification) call. It may include states, notifications, or both. States and notifications are defined per `device_id` (for example, \"123\" and \"456\" in the following example). # Example ```json { \"requestId\": \"ff36a3cc-ec34-11e6-b1a0-64510650abcf\", \"agentUserId\": \"1234\", \"payload\": { \"devices\": { \"states\": { \"123\": { \"on\": true }, \"456\": { \"on\": true, \"brightness\": 10 } }, } } } ```",
      "type": "object",
      "properties": {
        "agentUserId": {
          "description": "Required. Third-party user ID.",
          "type": "string"
        },
        "followUpToken": {
          "description": "Token to maintain state in the follow up notification response. Deprecated. See the [notifications guide](https://developers.google.com/assistant/smarthome/develop/notifications) for details on implementing follow up notifications.",
          "type": "string"
        },
        "eventId": {
          "description": "Unique identifier per event (for example, a doorbell press).",
          "type": "string"
        },
        "payload": {
          "$ref": "StateAndNotificationPayload",
          "description": "Required. State of devices to update and notification metadata for devices."
        },
        "requestId": {
          "description": "Request ID used for debugging.",
          "type": "string"
        }
      },
      "id": "ReportStateAndNotificationRequest"
    }
  },
  "protocol": "rest",
  "description": "",
  "baseUrl": "https://homegraph.googleapis.com/",
  "mtlsRootUrl": "https://homegraph.mtls.googleapis.com/",
  "revision": "20200827",
  "resources": {
    "agentUsers": {
      "methods": {
        "delete": {
          "scopes": [
            "https://www.googleapis.com/auth/homegraph"
          ],
          "id": "homegraph.agentUsers.delete",
          "response": {
            "$ref": "Empty"
          },
          "flatPath": "v1/agentUsers/{agentUsersId}",
          "parameterOrder": [
            "agentUserId"
          ],
          "path": "v1/{+agentUserId}",
          "parameters": {
            "agentUserId": {
              "location": "path",
              "type": "string",
              "required": true,
              "description": "Required. Third-party user ID.",
              "pattern": "^agentUsers/.*$"
            },
            "requestId": {
              "description": "Request ID used for debugging.",
              "type": "string",
              "location": "query"
            }
          },
          "description": "Unlinks the given third-party user from your smart home Action. All data related to this user will be deleted. For more details on how users link their accounts, see [fulfillment and authentication](https://developers.google.com/assistant/smarthome/concepts/fulfillment-authentication). The third-party user's identity is passed in via the `agent_user_id` (see DeleteAgentUserRequest). This request must be authorized using service account credentials from your Actions console project.",
          "httpMethod": "DELETE"
        }
      }
    },
    "devices": {
      "methods": {
        "reportStateAndNotification": {
          "flatPath": "v1/devices:reportStateAndNotification",
          "id": "homegraph.devices.reportStateAndNotification",
          "parameterOrder": [],
          "request": {
            "$ref": "ReportStateAndNotificationRequest"
          },
          "httpMethod": "POST",
          "parameters": {},
          "response": {
            "$ref": "ReportStateAndNotificationResponse"
          },
          "path": "v1/devices:reportStateAndNotification",
          "scopes": [
            "https://www.googleapis.com/auth/homegraph"
          ],
          "description": "Reports device state and optionally sends device notifications. Called by your smart home Action when the state of a third-party device changes or you need to send a notification about the device. See [Implement Report State](https://developers.google.com/assistant/smarthome/develop/report-state) for more information. This method updates the device state according to its declared [traits](https://developers.google.com/assistant/smarthome/concepts/devices-traits). Publishing a new state value outside of these traits will result in an `INVALID_ARGUMENT` error response. The third-party user's identity is passed in via the `agent_user_id` (see ReportStateAndNotificationRequest). This request must be authorized using service account credentials from your Actions console project."
        },
        "requestSync": {
          "httpMethod": "POST",
          "description": "Requests Google to send an `action.devices.SYNC` [intent](https://developers.google.com/assistant/smarthome/reference/intent/sync) to your smart home Action to update device metadata for the given user. The third-party user's identity is passed via the `agent_user_id` (see RequestSyncDevicesRequest). This request must be authorized using service account credentials from your Actions console project.",
          "path": "v1/devices:requestSync",
          "scopes": [
            "https://www.googleapis.com/auth/homegraph"
          ],
          "parameterOrder": [],
          "parameters": {},
          "response": {
            "$ref": "RequestSyncDevicesResponse"
          },
          "flatPath": "v1/devices:requestSync",
          "id": "homegraph.devices.requestSync",
          "request": {
            "$ref": "RequestSyncDevicesRequest"
          }
        },
        "query": {
          "parameterOrder": [],
          "description": "Gets the current states in Home Graph for the given set of the third-party user's devices. The third-party user's identity is passed in via the `agent_user_id` (see QueryRequest). This request must be authorized using service account credentials from your Actions console project.",
          "request": {
            "$ref": "QueryRequest"
          },
          "response": {
            "$ref": "QueryResponse"
          },
          "path": "v1/devices:query",
          "scopes": [
            "https://www.googleapis.com/auth/homegraph"
          ],
          "httpMethod": "POST",
          "flatPath": "v1/devices:query",
          "id": "homegraph.devices.query",
          "parameters": {}
        },
        "sync": {
          "request": {
            "$ref": "SyncRequest"
          },
          "httpMethod": "POST",
          "path": "v1/devices:sync",
          "id": "homegraph.devices.sync",
          "parameters": {},
          "description": "Gets all the devices associated with the given third-party user. The third-party user's identity is passed in via the `agent_user_id` (see SyncRequest). This request must be authorized using service account credentials from your Actions console project.",
          "parameterOrder": [],
          "response": {
            "$ref": "SyncResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/homegraph"
          ],
          "flatPath": "v1/devices:sync"
        }
      }
    }
  },
  "parameters": {
    "oauth_token": {
      "location": "query",
      "type": "string",
      "description": "OAuth 2.0 token for the current user."
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query"
    },
    "quotaUser": {
      "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.",
      "location": "query",
      "type": "string"
    },
    "callback": {
      "type": "string",
      "location": "query",
      "description": "JSONP"
    },
    "key": {
      "type": "string",
      "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.",
      "location": "query"
    },
    "$.xgafv": {
      "type": "string",
      "description": "V1 error format.",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "enum": [
        "1",
        "2"
      ]
    },
    "alt": {
      "location": "query",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "default": "json",
      "type": "string",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "description": "Data format for response."
    },
    "prettyPrint": {
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "default": "true",
      "location": "query"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    }
  },
  "basePath": "",
  "fullyEncodeReservedExpansion": true,
  "servicePath": "",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "title": "HomeGraph API",
  "ownerName": "Google",
  "version_module": true,
  "discoveryVersion": "v1",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/homegraph": {
          "description": "New Service: https://www.googleapis.com/auth/homegraph"
        }
      }
    }
  },
  "batchPath": "batch",
  "documentationLink": "https://developers.google.com/actions/smarthome/create-app#request-sync",
  "rootUrl": "https://homegraph.googleapis.com/"
}
