# 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 URL `https://{server-hostname}:8383/emsapi/osdeployer/tasks/{taskId}` ## Scope `OSDTask.UPDATE` ## Header `Authorization: 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 ### Request Body `application/deploymentTaskDetails.v1+json` - `JSON Object` - **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. - **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://appdomain/emsapi/osdeployer/tasks/{taskId} \ --header 'Accept: application/deploymentTaskCreatedStatus.v1+json' \ --header 'Authorization: d92d4xxxxxxxxxxxxx15f52' \ --header 'Content-Type: application/deploymentTaskDetails.v1+json' \ --data '{"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"}' ``` ## 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` - `JSON Object` - **isTaskCommitted** `boolean` True if the task was successfully updated and committed. - **taskID** `long` ID of the updated deployment task. ### Possible Response Codes - **200** `HTTP code` ## Sample Response: HTTP 200 Task updated ```json { "isTaskCommitted": true, "taskID": 200 } ``` ## API Rate Limits ![](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.