Pools - Resize Pool
Changes the number of Compute Nodes that are assigned to a Pool.
You can only resize a Pool when its allocation state is steady. If the Pool is
already resizing, the request fails with status code 409. When you resize a
Pool, the Pool's allocation state changes from steady to resizing. You cannot
resize Pools which are configured for automatic scaling. If you try to do this,
the Batch service returns an error 409. If you resize a Pool downwards, the
Batch service chooses which Compute Nodes to remove. To remove specific Compute
Nodes, use the Pool remove Compute Nodes API instead.
POST {endpoint}/pools/{poolId}/resize?api-version=2025-06-01
POST {endpoint}/pools/{poolId}/resize?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). |
|
pool
|
path | True |
string |
The ID of the Pool to get. |
|
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. |
|
| If-Modified-Since |
string (date-time-rfc7231) |
A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time. |
|
| If-Unmodified-Since |
string (date-time-rfc7231) |
A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time. |
|
| If-Match |
string |
An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client. |
|
| If-None-Match |
string |
An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client. |
Request Body
Media Types: "application/json; odata=minimalmetadata"
| Name | Type | Description |
|---|---|---|
| nodeDeallocationOption |
Determines what to do with a Compute Node and its running task(s) if the Pool size is decreasing. The default value is requeue. |
|
| resizeTimeout |
string (duration) |
The timeout for allocation of Nodes to the Pool or removal of Compute Nodes from the Pool. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). |
| targetDedicatedNodes |
integer (int32) |
The desired number of dedicated Compute Nodes in the Pool. |
| targetLowPriorityNodes |
integer (int32) |
The desired number of Spot/Low-priority Compute Nodes in the Pool. |
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
Pool resize
Sample request
POST {endpoint}/pools/resizePool/resize?api-version=2025-06-01
{
"targetDedicatedNodes": 1,
"targetLowPriorityNodes": 0
}
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 |
BatchNodeDeallocationOption enums |
|
Batch |
Parameters for changing the size of an Azure Batch Pool. |
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. |
BatchNodeDeallocationOption
BatchNodeDeallocationOption enums
| Value | Description |
|---|---|
| requeue |
Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Remove Compute Nodes 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. Remove Compute Nodes as soon as Tasks have been terminated. |
| taskcompletion |
Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Remove Compute Nodes when all Tasks have completed. |
| retaineddata |
Deprecated, we encourage you to upload task data to Azure Storage in your task and use |
BatchPoolResizeOptions
Parameters for changing the size of an Azure Batch Pool.
| Name | Type | Description |
|---|---|---|
| nodeDeallocationOption |
Determines what to do with a Compute Node and its running task(s) if the Pool size is decreasing. The default value is requeue. |
|
| resizeTimeout |
string (duration) |
The timeout for allocation of Nodes to the Pool or removal of Compute Nodes from the Pool. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). |
| targetDedicatedNodes |
integer (int32) |
The desired number of dedicated Compute Nodes in the Pool. |
| targetLowPriorityNodes |
integer (int32) |
The desired number of Spot/Low-priority Compute Nodes in the Pool. |