Nodes - Deallocate Node
Deallocates the specified Compute Node.
You can deallocate a Compute Node only if it is in an idle or running state.
POST {endpoint}/pools/{poolId}/nodes/{nodeId}/deallocate?api-version=2025-06-01
POST {endpoint}/pools/{poolId}/nodes/{nodeId}/deallocate?api-version=2025-06-01&timeOut={timeOut}
URI Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
|
endpoint
|
path | True |
string (uri) |
Batch account endpoint (for example: https://batchaccount.eastus2.batch.azure.com). |
|
node
|
path | True |
string |
The ID of the Compute Node that you want to restart. |
|
pool
|
path | True |
string |
The ID of the Pool that contains the Compute Node. |
|
api-version
|
query | True |
string minLength: 1 |
The API version to use for this operation. |
|
time
|
query |
integer (int32) |
The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. If the value is larger than 30, the default will be used instead.". |
Request Header
Media Types: "application/json; odata=minimalmetadata"
| Name | Required | Type | Description |
|---|---|---|---|
| client-request-id |
string |
The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. |
|
| return-client-request-id |
boolean |
Whether the server should return the client-request-id in the response. |
|
| ocp-date |
string (date-time-rfc7231) |
The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly. |
Request Body
Media Types: "application/json; odata=minimalmetadata"
| Name | Type | Description |
|---|---|---|
| nodeDeallocateOption |
When to deallocate the Compute Node and what to do with currently running Tasks. The default value is requeue. |
Responses
| Name | Type | Description |
|---|---|---|
| 202 Accepted |
The request has been accepted for processing, but processing has not yet completed. Headers
|
|
| Other Status Codes |
An unexpected error response. |
Security
OAuth2Auth
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
Scopes
| Name | Description |
|---|---|
| https://batch.core.windows.net//.default |
Examples
Node Deallocate
Sample request
POST {endpoint}/pools/poolId/nodes/tvm-1695681911_1-20161122t193202z/deallocate?api-version=2025-06-01
Sample response
Definitions
| Name | Description |
|---|---|
|
Batch |
An error response received from the Azure Batch service. |
|
Batch |
An item of additional information included in an Azure Batch error response. |
|
Batch |
An error message received in an Azure Batch error response. |
|
Batch |
BatchNodeDeallocateOption enums |
|
Batch |
Options for deallocating a Compute Node. |
BatchError
An error response received from the Azure Batch service.
| Name | Type | Description |
|---|---|---|
| code |
string |
An identifier for the error. Codes are invariant and are intended to be consumed programmatically. |
| message |
A message describing the error, intended to be suitable for display in a user interface. |
|
| values |
A collection of key-value pairs containing additional details about the error. |
BatchErrorDetail
An item of additional information included in an Azure Batch error response.
| Name | Type | Description |
|---|---|---|
| key |
string |
An identifier specifying the meaning of the Value property. |
| value |
string |
The additional information included with the error response. |
BatchErrorMessage
An error message received in an Azure Batch error response.
| Name | Type | Description |
|---|---|---|
| lang |
string |
The language code of the error message. |
| value |
string |
The text of the message. |
BatchNodeDeallocateOption
BatchNodeDeallocateOption enums
| Value | Description |
|---|---|
| requeue |
Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Deallocate the Compute Node as soon as Tasks have been terminated. |
| terminate |
Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Deallocate the Compute Node as soon as Tasks have been terminated. |
| taskcompletion |
Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Deallocate the Compute Node when all Tasks have completed. |
| retaineddata |
Deprecated, we encourage you to upload task data to Azure Storage in your task and use |
BatchNodeDeallocateOptions
Options for deallocating a Compute Node.
| Name | Type | Description |
|---|---|---|
| nodeDeallocateOption |
When to deallocate the Compute Node and what to do with currently running Tasks. The default value is requeue. |