# Update an Existing Deployment Task Updates the deployment task's template, schedule, broadcast settings, remote offices, media, and resource IDs. The task must not be in a running state. ## Endpoint `PUT /emsapi/osdeployer/tasks/{taskId}` ## Request ### Request URL `https://[{serverurl}](https://www.manageengine.com/products/desktop-central/help/api/cloud/oauth-authentication-endpoint-domain.html)/emsapi/osdeployer/tasks/{taskId}` ### Scope `DesktopCentralCloud.OSDTask.UPDATE` ### Header `Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52` ### Request Parameters #### Request Headers - **Content-Type** (`string`, Mandatory): `application/deploymentTaskDetails.v1+json` - **Accept** (`string`, Mandatory): `application/deploymentTaskCreatedStatus.v1+json` #### Path Parameters - **taskId** (`string`, Mandatory): ID of the OS Deployment task #### Query Parameters - **taskType** (`string`, Mandatory): Type of deployment task being updated. Determines which fields in the request body are applicable. Required. #### Request Body `application/deploymentTaskDetails.v1+json` - **taskName** (`string`, Mandatory): Display name of the deployment task. Matches `uem_fileName` regex. - **taskDescription** (`string`, Optional): Free-form description of the task. - **templateID** (`string`, Mandatory): Deployment template ID that defines the image and post-deployment actions. - **authCode** (`string`, Mandatory): One-time authorization code for agent enrolment. SECRET — never logged. - **taskSettings** (`JSON Object`, Mandatory): Broadcast type, bandwidth limit, wait time, and schedule details for the task. - **bandwidth** (`long`, Mandatory): Maximum bandwidth per target in kbps (e.g., `64000000`). - **waitTime** (`string`, Mandatory): Time in minutes to wait for clients to join before starting transmission. - **broadcastType** (`integer`, Mandatory): Broadcast mode: `0` = Unicast, `1` = Multicast. - **scheduleDetails** (`JSON Object`, Optional): Schedule configuration for the task. Optional. - **bandwidth** (`long`, Mandatory): Maximum bandwidth per target in kbps (e.g., `64000000`). - **waitTime** (`string`, Mandatory): Time in minutes to wait for clients to join before starting transmission. - **broadcastType** (`integer`, Mandatory): Broadcast mode: `0` = Unicast, `1` = Multicast. - **scheduleDetails** (`JSON Object`, Optional): Schedule configuration for the task. Optional. - **applicableRemoteOffices** (`array`, Optional): Remote-office IDs the task is allowed to target. Empty = all offices. - **remoteOfficeId** (`long`, Optional): Primary remote office that schedules and runs the task. - **mediaId** (`long`, Optional): ID of the OS Deployer boot media to be used by the task. - **resourceIDs** (`array`, Optional): OS Deployer resource IDs to be targeted by the task. ### Sample Request ```curl curl --request PUT \ --url 'https://appdomains/emsapi/osdeployer/tasks/{taskId}?taskType=SOME_STRING_VALUE' \ --header 'Accept: application/deploymentTaskCreatedStatus.v1+json' \ --header 'Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52' \ --header 'Content-Type: application/deploymentTaskDetails.v1+json' \ --data '{"authCode":"z34U","taskSettings":{"bandwidth":64000000,"waitTime":"10","broadcastType":1},"taskName":"DeploymentTask10","templateID":"1"}' ``` ### Sample Request Body Update task name, template, auth code, broadcast settings, schedule, and applicable remote offices. ```json { "authCode": "z34U", "taskSettings": { "bandwidth": 64000000, "waitTime": "10", "broadcastType": 1, "scheduleDetails": { "dailyTime": "07/09/2026, 16:34", "taskTimeZone": "Asia/Calcutta", "scheduleType": "Daily", "notificationEmail": "", "schedulerDisabled": false, "dailyIntervalType": "everyDay" } }, "taskDescription": "", "taskName": "DeploymentTask10", "applicableRemoteOffices": [ "1" ], "templateID": "1" } ``` ## Response Parameters ### HTTP Code 200 Response body: `application/deploymentTaskCreatedStatus.v1+json` - **isTaskCommitted** (`boolean`): True if the task was successfully updated and committed. - **taskID** (`long`): ID of the updated deployment task. ### Sample Response: HTTP 200 Task updated. ```json { "isTaskCommitted": true, "taskID": 200 } ``` ## Rate Limits ![Help icon](https://www.zohowebstatic.com/sites/zweb/images/people/ico-help.png) **Duration:** 1 minute | **Threshold:** 50 | **Lock period:** 5 minutes Duration - Time window for the threshold. Threshold - Number of API calls allowed within the specified duration. Lock Period - Wait time before consecutive API requests.