---
title: "PUT /deviceUpdate/{instanceId}/management/groups/{groupId}/deployments/{deploymentId}"
method: PUT
path: "/deviceUpdate/{instanceId}/management/groups/{groupId}/deployments/{deploymentId}"
tags: ["Device and deployment management"]
---

# PUT /deviceUpdate/{instanceId}/management/groups/{groupId}/deployments/{deploymentId}

`PUT /deviceUpdate/{instanceId}/management/groups/{groupId}/deployments/{deploymentId}`

Creates or updates a deployment.

## Path parameters

- `instanceId` string, required
- `groupId` string, required
- `deploymentId` string, required

## Query parameters

- `api-version` string, required

## Request body

- Deployment — Deployment metadata.
  - `deploymentId` string, required — The caller-provided deployment identifier.
  - `startDateTime` string, date-time, required — The deployment start datetime.
  - `update` UpdateInfo, required — Update information.
    - `updateId` UpdateId, required — Update identifier.
      - `provider` string, required — Update provider.
      - `name` string, required — Update name.
      - `version` string, required — Update version.
    - `description` string — Update description.
    - `friendlyName` string — Friendly update name.
  - `groupId` string, required — The group identity for the devices the deployment is intended to update.
  - `deviceClassSubgroups` string[] — The device class subgroups the deployment is compatible with and subgroup deployments have been created for. This is not provided by the caller during CreateOrUpdateDeployment but is automatically determined by Device Update
  - `isCanceled` boolean — Boolean flag indicating whether the deployment was canceled.
  - `isRetried` boolean — Boolean flag indicating whether the deployment has been retried.
  - `rollbackPolicy` CloudInitiatedRollbackPolicy — Rollback policy for deployment
    - `update` UpdateInfo, required — Update information.
      - `updateId` UpdateId, required — Update identifier.
        - `provider` string, required — Update provider.
        - `name` string, required — Update name.
        - `version` string, required — Update version.
      - `description` string — Update description.
      - `friendlyName` string — Friendly update name.
    - `failure` CloudInitiatedRollbackPolicyFailure, required — Failure conditions to initiate rollback policy
      - `devicesFailedPercentage` integer, required — Percentage of devices that failed.
      - `devicesFailedCount` integer, required — Number of devices that failed.
  - `isCloudInitiatedRollback` boolean — Boolean flag indicating whether the deployment is a rollback deployment.

## Response `200`

The deployment properties.

- Deployment — Deployment metadata.
  - `deploymentId` string, required — The caller-provided deployment identifier.
  - `startDateTime` string, date-time, required — The deployment start datetime.
  - `update` UpdateInfo, required — Update information.
    - `updateId` UpdateId, required — Update identifier.
      - `provider` string, required — Update provider.
      - `name` string, required — Update name.
      - `version` string, required — Update version.
    - `description` string — Update description.
    - `friendlyName` string — Friendly update name.
  - `groupId` string, required — The group identity for the devices the deployment is intended to update.
  - `deviceClassSubgroups` string[] — The device class subgroups the deployment is compatible with and subgroup deployments have been created for. This is not provided by the caller during CreateOrUpdateDeployment but is automatically determined by Device Update
  - `isCanceled` boolean — Boolean flag indicating whether the deployment was canceled.
  - `isRetried` boolean — Boolean flag indicating whether the deployment has been retried.
  - `rollbackPolicy` CloudInitiatedRollbackPolicy — Rollback policy for deployment
    - `update` UpdateInfo, required — Update information.
      - `updateId` UpdateId, required — Update identifier.
        - `provider` string, required — Update provider.
        - `name` string, required — Update name.
        - `version` string, required — Update version.
      - `description` string — Update description.
      - `friendlyName` string — Friendly update name.
    - `failure` CloudInitiatedRollbackPolicyFailure, required — Failure conditions to initiate rollback policy
      - `devicesFailedPercentage` integer, required — Percentage of devices that failed.
      - `devicesFailedCount` integer, required — Number of devices that failed.
  - `isCloudInitiatedRollback` boolean — Boolean flag indicating whether the deployment is a rollback deployment.

## Other responses

- `default` — Default response.

## Changes

- **2026-07-13** (2020-09-01) `5ba53cf1b884` — 1 info
  - endpoint added
- **2021-03-02** (2020-09-01) `be0eed01a5b1` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/azure/apis/deviceupdate-microsoft-deviceupdate/changes/deviceUpdate/:instanceId/management/groups/:groupId/deployments/:deploymentId/put.md)

---

[API](https://skmtc.dev/azure/apis/deviceupdate-microsoft-deviceupdate.md) · [All operations](https://skmtc.dev/azure/apis/deviceupdate-microsoft-deviceupdate/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/azure/deviceupdate-microsoft-deviceupdate/revisions/5ba53cf1b884/schema)
