Unbind a device from a gateway

Unbind a device from a gateway.

Documentation pages that include this code sample

To view the code sample used in context, see the following documentation:

Code sample


public static object UnbindDeviceFromGateway(string projectId, string cloudRegion,
    string registryName, string deviceId, string gatewayId)
    var cloudIot = CreateAuthorizedClient();
    var registryPath = $"projects/{projectId}" +
        $"/locations/{cloudRegion}" +
    UnbindDeviceFromGatewayRequest req = new UnbindDeviceFromGatewayRequest
        DeviceId = deviceId,
        GatewayId = gatewayId

    var res = cloudIot
        .UnbindDeviceFromGateway(req, registryPath)
    Console.WriteLine("Device unbound: {0}", deviceId);

    return 0;


GoogleCredentials credential =
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
HttpRequestInitializer init = new HttpCredentialsAdapter(credential);
final CloudIot service =
    new CloudIot.Builder(GoogleNetHttpTransport.newTrustedTransport(), jsonFactory, init)

final String registryPath =
        "projects/%s/locations/%s/registries/%s", projectId, cloudRegion, registryName);

UnbindDeviceFromGatewayRequest request = new UnbindDeviceFromGatewayRequest();

UnbindDeviceFromGatewayResponse response =
        .unbindDeviceFromGateway(registryPath, request)

System.out.println(String.format("Device unbound: %s", response.toPrettyString()));


use Google\Cloud\Iot\V1\DeviceManagerClient;

 * Unbinds a device from a gateway.
 * @param string $projectId (optional) Google Cloud project ID
 * @param string $location (Optional) Google Cloud region
 * @param string $registryId IOT Device Registry ID
 * @param string $deviceId the device ID to unbind
 * @param string $gatewayId the ID for the gateway to unbind from
function unbind_device_from_gateway(
    $location = 'us-central1',
) {
    print('Unbinding Device from Gateway' . PHP_EOL);

    // Instantiate a client.
    $deviceManager = new DeviceManagerClient();
    $registryName = $deviceManager->registryName($projectId, $location, $registryId);

    $result = $deviceManager->unbindDeviceFromGateway($registryName, $gatewayId, $deviceId);

    print('Device unbound');


# project_id = 'YOUR_PROJECT_ID'
# cloud_region = 'us-central1'
# registry_id = 'your-registry-id'
# device_id = 'your-device-id'
# gateway_id = 'your-gateway-id'
client = iot_v1.DeviceManagerClient()

parent = client.registry_path(project_id, cloud_region, registry_id)

res = client.unbind_device_from_gateway(
    request={"parent": parent, "gateway_id": gateway_id, "device_id": device_id}

print("Device unbound: {}".format(res))


# project_id  = "Your Google Cloud project ID"
# location_id = "The Cloud region the registry is located in"
# registry_id = "The registry to bind a device in"
# gateway_id  = "The Gateway to bind to"
# device_id   = "The identifier of the device to bind"

require "google/apis/cloudiot_v1"

# Initialize the client and authenticate with the specified scope
Cloudiot   = Google::Apis::CloudiotV1
iot_client = Cloudiot::CloudIotService.new
iot_client.authorization = Google::Auth.get_application_default(

# The resource name of the location associated with the project
parent = "projects/#{project_id}/locations/#{location_id}/registries/#{registry_id}"

unbind_req = Google::Apis::CloudiotV1::UnbindDeviceFromGatewayRequest.new
unbind_req.gateway_id = gateway_id
unbind_req.device_id = device_id

res = iot_client.unbind_registry_device_from_gateway parent, unbind_req
puts "Device unbound"

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser