Cloud IoT API (cloudiot:v1)

2023-04-16

23 new methods | New API

Additions

    Methods
  • cloudiot.projects.locations.registries.devices.states.list

      Description: Lists the last few versions of the device state in descending order (i.e.: newest first).

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • Parameter Order: name

      Path: v1/{+name}/states

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}/states

      HTTP Method: GET

      Parameters:

        numStates

          Format: int32

          Type: integer

          Description: The number of states to list. States are listed in descending order of update time. The maximum number of states retained is 10. If this value is zero, it will return all the states available.

          Location: query

        name

          Location: path

          Required: Yes

          Description: Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.

          Type: string

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$

  • cloudiot.projects.locations.registries.devices.configVersions.list

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}/configVersions

      HTTP Method: GET

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • Path: v1/{+name}/configVersions

      Description: Lists the last few versions of the device configuration in descending order (i.e.: newest first).

      Parameter Order: name

      Parameters:

        numVersions

          Format: int32

          Location: query

          Description: The number of versions to list. Versions are listed in decreasing order of the version number. The maximum number of versions retained is 10. If this value is zero, it will return all the versions available.

          Type: integer

        name

          Location: path

          Type: string

          Required: Yes

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$

          Description: Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.

  • cloudiot.projects.locations.registries.devices.patch

      Parameter Order: name

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}

      HTTP Method: PATCH

      Path: v1/{+name}

      Description: Updates a device.

      Parameters:

        updateMask

          Format: google-fieldmask

          Location: query

          Type: string

          Description: Required. Only updates the `device` fields indicated by this mask. The field mask must not be empty, and it must not contain fields that are immutable or only set by the server. Mutable top-level fields: `credentials`, `blocked`, and `metadata`

        name

          Location: path

          Description: The resource path name. For example, `projects/p1/locations/us-central1/registries/registry0/devices/dev0` or `projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`. When `name` is populated as a response from the service, it always ends in the device numeric ID.

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$

          Type: string

          Required: Yes

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
  • cloudiot.projects.locations.registries.devices.sendCommandToDevice

      Parameter Order: name

      Parameters:

        name

          Location: path

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$

          Description: Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.

          Required: Yes

          Type: string

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • HTTP Method: POST

      Description: Sends a command to the specified device. In order for a device to be able to receive commands, it must: 1) be connected to Cloud IoT Core using the MQTT protocol, and 2) be subscribed to the group of MQTT topics specified by /devices/{device-id}/commands/#. This subscription will receive commands at the top-level topic /devices/{device-id}/commands as well as commands for subfolders, like /devices/{device-id}/commands/subfolder. Note that subscribing to specific subfolders is not supported. If the command could not be delivered to the device, this method will return an error; in particular, if the device is not subscribed, this method will return FAILED_PRECONDITION. Otherwise, this method will return OK. If the subscription is QoS 1, at least once delivery will be guaranteed; for QoS 0, no acknowledgment will be expected from the device.

      Path: v1/{+name}:sendCommandToDevice

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}:sendCommandToDevice

  • cloudiot.projects.locations.registries.devices.modifyCloudToDeviceConfig

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}:modifyCloudToDeviceConfig

      Parameter Order: name

      Description: Modifies the configuration for the device, which is eventually sent from the Cloud IoT Core servers. Returns the modified configuration version and its metadata.

      HTTP Method: POST

      Parameters:

        name

          Type: string

          Location: path

          Required: Yes

          Description: Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$

      Path: v1/{+name}:modifyCloudToDeviceConfig

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
  • cloudiot.projects.locations.registries.devices.delete

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • Parameter Order: name

      Path: v1/{+name}

      HTTP Method: DELETE

      Description: Deletes a device.

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}

      Parameters:

        name

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$

          Description: Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.

          Required: Yes

          Location: path

          Type: string

  • cloudiot.projects.locations.registries.devices.get

      Description: Gets details about a device.

      HTTP Method: GET

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • Parameters:

        name

          Location: path

          Required: Yes

          Description: Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$

          Type: string

        fieldMask

          Description: The fields of the `Device` resource to be returned in the response. If the field mask is unset or empty, all fields are returned. Fields have to be provided in snake_case format, for example: `last_heartbeat_time`.

          Location: query

          Format: google-fieldmask

          Type: string

      Parameter Order: name

      Path: v1/{+name}

  • cloudiot.projects.locations.registries.devices.create

      HTTP Method: POST

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • Parameters:

        parent

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+$

          Location: path

          Description: Required. The name of the device registry where this device should be created. For example, `projects/example-project/locations/us-central1/registries/my-registry`.

          Type: string

          Required: Yes

      Path: v1/{+parent}/devices

      Description: Creates a device in a device registry.

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices

      Parameter Order: parent

  • cloudiot.projects.locations.registries.devices.list

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • Description: List devices in a device registry.

      Parameter Order: parent

      HTTP Method: GET

      Path: v1/{+parent}/devices

      Parameters:

        gatewayListOptions.gatewayType

          Location: query

          Enum Descriptions:

        • If unspecified, the device is considered a non-gateway device.
        • The device is a gateway.
        • The device is not a gateway.
        • Type: string

          Description: If `GATEWAY` is specified, only gateways are returned. If `NON_GATEWAY` is specified, only non-gateway devices are returned. If `GATEWAY_TYPE_UNSPECIFIED` is specified, all devices are returned.

          Enum:

        • GATEWAY_TYPE_UNSPECIFIED
        • GATEWAY
        • NON_GATEWAY

        pageSize

          Description: The maximum number of devices to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.

          Format: int32

          Type: integer

          Location: query

        deviceNumIds

          Location: query

          Type: string

          Format: uint64

          Description: A list of device numeric IDs. If empty, this field is ignored. Maximum IDs: 10,000.

          Repeated: Yes

        deviceIds

          Repeated: Yes

          Description: A list of device string IDs. For example, `['device0', 'device12']`. If empty, this field is ignored. Maximum IDs: 10,000

          Location: query

          Type: string

        fieldMask

          Description: The fields of the `Device` resource to be returned in the response. The fields `id` and `num_id` are always returned, along with any other fields specified in snake_case format, for example: `last_heartbeat_time`.

          Format: google-fieldmask

          Location: query

          Type: string

        gatewayListOptions.associationsDeviceId

          Type: string

          Location: query

          Description: If set, returns only the gateways with which the specified device is associated. The device ID can be numeric (`num_id`) or the user-defined string (`id`). For example, if `456` is specified, returns only the gateways to which the device with `num_id` 456 is bound.

        pageToken

          Type: string

          Description: The value returned by the last `ListDevicesResponse`; indicates that this is a continuation of a prior `ListDevices` call and the system should return the next page of data.

          Location: query

        gatewayListOptions.associationsGatewayId

          Location: query

          Description: If set, only devices associated with the specified gateway are returned. The gateway ID can be numeric (`num_id`) or the user-defined string (`id`). For example, if `123` is specified, only devices bound to the gateway with `num_id` 123 are returned.

          Type: string

        parent

          Required: Yes

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+$

          Description: Required. The device registry path. Required. For example, `projects/my-project/locations/us-central1/registries/my-registry`.

          Type: string

          Location: path

  • cloudiot.projects.locations.registries.groups.devices.list

      HTTP Method: GET

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • Parameters:

        gatewayListOptions.associationsDeviceId

          Location: query

          Description: If set, returns only the gateways with which the specified device is associated. The device ID can be numeric (`num_id`) or the user-defined string (`id`). For example, if `456` is specified, returns only the gateways to which the device with `num_id` 456 is bound.

          Type: string

        pageSize

          Location: query

          Type: integer

          Description: The maximum number of devices to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.

          Format: int32

        parent

          Type: string

          Description: Required. The device registry path. Required. For example, `projects/my-project/locations/us-central1/registries/my-registry`.

          Location: path

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+/groups/[^/]+$

          Required: Yes

        gatewayListOptions.associationsGatewayId

          Description: If set, only devices associated with the specified gateway are returned. The gateway ID can be numeric (`num_id`) or the user-defined string (`id`). For example, if `123` is specified, only devices bound to the gateway with `num_id` 123 are returned.

          Location: query

          Type: string

        fieldMask

          Location: query

          Format: google-fieldmask

          Type: string

          Description: The fields of the `Device` resource to be returned in the response. The fields `id` and `num_id` are always returned, along with any other fields specified in snake_case format, for example: `last_heartbeat_time`.

        deviceIds

          Description: A list of device string IDs. For example, `['device0', 'device12']`. If empty, this field is ignored. Maximum IDs: 10,000

          Location: query

          Repeated: Yes

          Type: string

        gatewayListOptions.gatewayType

          Location: query

          Description: If `GATEWAY` is specified, only gateways are returned. If `NON_GATEWAY` is specified, only non-gateway devices are returned. If `GATEWAY_TYPE_UNSPECIFIED` is specified, all devices are returned.

          Enum:

        • GATEWAY_TYPE_UNSPECIFIED
        • GATEWAY
        • NON_GATEWAY
        • Type: string

          Enum Descriptions:

        • If unspecified, the device is considered a non-gateway device.
        • The device is a gateway.
        • The device is not a gateway.

        pageToken

          Location: query

          Description: The value returned by the last `ListDevicesResponse`; indicates that this is a continuation of a prior `ListDevices` call and the system should return the next page of data.

          Type: string

        deviceNumIds

          Description: A list of device numeric IDs. If empty, this field is ignored. Maximum IDs: 10,000.

          Type: string

          Repeated: Yes

          Format: uint64

          Location: query

      Parameter Order: parent

      Description: List devices in a device registry.

      Path: v1/{+parent}/devices

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/groups/{groupsId}/devices

  • cloudiot.projects.locations.registries.groups.testIamPermissions

      Parameter Order: resource

      HTTP Method: POST

      Path: v1/{+resource}:testIamPermissions

      Description: Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/groups/{groupsId}:testIamPermissions

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • Parameters:

        resource

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+/groups/[^/]+$

          Location: path

          Required: Yes

          Type: string

          Description: REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.

  • cloudiot.projects.locations.registries.groups.setIamPolicy

      Path: v1/{+resource}:setIamPolicy

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/groups/{groupsId}:setIamPolicy

      Parameter Order: resource

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • HTTP Method: POST

      Description: Sets the access control policy on the specified resource. Replaces any existing policy.

      Parameters:

        resource

          Location: path

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+/groups/[^/]+$

          Required: Yes

          Type: string

          Description: REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.

  • cloudiot.projects.locations.registries.groups.getIamPolicy

      Parameter Order: resource

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • Path: v1/{+resource}:getIamPolicy

      Description: Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/groups/{groupsId}:getIamPolicy

      HTTP Method: POST

      Parameters:

        resource

          Required: Yes

          Type: string

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+/groups/[^/]+$

          Location: path

          Description: REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.

  • cloudiot.projects.locations.registries.create

      HTTP Method: POST

      Parameters:

        parent

          Pattern: ^projects/[^/]+/locations/[^/]+$

          Location: path

          Type: string

          Required: Yes

          Description: Required. The project and cloud region where this device registry must be created. For example, `projects/example-project/locations/us-central1`.

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • Parameter Order: parent

      Path: v1/{+parent}/registries

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries

      Description: Creates a device registry that contains devices.

  • cloudiot.projects.locations.registries.setIamPolicy

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • Parameters:

        resource

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+$

          Location: path

          Type: string

          Description: REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.

          Required: Yes

      Description: Sets the access control policy on the specified resource. Replaces any existing policy.

      HTTP Method: POST

      Parameter Order: resource

      Path: v1/{+resource}:setIamPolicy

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:setIamPolicy

  • cloudiot.projects.locations.registries.list

      HTTP Method: GET

      Parameters:

        parent

          Location: path

          Required: Yes

          Description: Required. The project and cloud region path. For example, `projects/example-project/locations/us-central1`.

          Type: string

          Pattern: ^projects/[^/]+/locations/[^/]+$

        pageToken

          Description: The value returned by the last `ListDeviceRegistriesResponse`; indicates that this is a continuation of a prior `ListDeviceRegistries` call and the system should return the next page of data.

          Type: string

          Location: query

        pageSize

          Description: The maximum number of registries to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.

          Location: query

          Type: integer

          Format: int32

      Parameter Order: parent

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • Path: v1/{+parent}/registries

      Description: Lists device registries.

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries

  • cloudiot.projects.locations.registries.unbindDeviceFromGateway

      Path: v1/{+parent}:unbindDeviceFromGateway

      Description: Deletes the association between the device and the gateway.

      Parameter Order: parent

      HTTP Method: POST

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • Parameters:

        parent

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+$

          Required: Yes

          Location: path

          Type: string

          Description: Required. The name of the registry. For example, `projects/example-project/locations/us-central1/registries/my-registry`.

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:unbindDeviceFromGateway

  • cloudiot.projects.locations.registries.getIamPolicy

      Parameters:

        resource

          Required: Yes

          Type: string

          Location: path

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+$

          Description: REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.

      HTTP Method: POST

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • Description: Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.

      Parameter Order: resource

      Path: v1/{+resource}:getIamPolicy

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:getIamPolicy

  • cloudiot.projects.locations.registries.get

      Path: v1/{+name}

      Parameters:

        name

          Location: path

          Required: Yes

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+$

          Description: Required. The name of the device registry. For example, `projects/example-project/locations/us-central1/registries/my-registry`.

          Type: string

      Parameter Order: name

      HTTP Method: GET

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • Description: Gets a device registry configuration.

  • cloudiot.projects.locations.registries.delete

      Description: Deletes a device registry configuration.

      HTTP Method: DELETE

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}

      Path: v1/{+name}

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • Parameter Order: name

      Parameters:

        name

          Location: path

          Description: Required. The name of the device registry. For example, `projects/example-project/locations/us-central1/registries/my-registry`.

          Required: Yes

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+$

          Type: string

  • cloudiot.projects.locations.registries.bindDeviceToGateway

      HTTP Method: POST

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:bindDeviceToGateway

      Parameter Order: parent

      Parameters:

        parent

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+$

          Type: string

          Location: path

          Required: Yes

          Description: Required. The name of the registry. For example, `projects/example-project/locations/us-central1/registries/my-registry`.

      Path: v1/{+parent}:bindDeviceToGateway

      Description: Associates the device with the gateway.

  • cloudiot.projects.locations.registries.patch

      Description: Updates a device registry configuration.

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}

      Parameters:

        name

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+$

          Required: Yes

          Location: path

          Type: string

          Description: The resource path name. For example, `projects/example-project/locations/us-central1/registries/my-registry`.

        updateMask

          Description: Required. Only updates the `device_registry` fields indicated by this mask. The field mask must not be empty, and it must not contain fields that are immutable or only set by the server. Mutable top-level fields: `event_notification_config`, `http_config`, `mqtt_config`, and `state_notification_config`.

          Type: string

          Location: query

          Format: google-fieldmask

      Parameter Order: name

      Path: v1/{+name}

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • HTTP Method: PATCH

  • cloudiot.projects.locations.registries.testIamPermissions

      Description: Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.

      Parameter Order: resource

      HTTP Method: POST

      Path: v1/{+resource}:testIamPermissions

      Flat Path: v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:testIamPermissions

      Scopes:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloudiot
    • Parameters:

        resource

          Description: REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.

          Required: Yes

          Type: string

          Location: path

          Pattern: ^projects/[^/]+/locations/[^/]+/registries/[^/]+$