---
title: "GET /pools/{poolId}"
method: GET
path: "/pools/{poolId}"
tags: ["Pools"]
---

# GET /pools/{poolId}

`GET /pools/{poolId}`

Gets information about the specified pool.

## Path parameters

- `poolId` string, required

## Query parameters

- `$select` string
- `$expand` string
- `timeout` integer
- `api-version` string, required

## Headers

- `client-request-id` string
- `return-client-request-id` boolean
- `ocp-date` string, date-time-rfc1123
- `If-Match` string
- `If-None-Match` string
- `If-Modified-Since` string, date-time-rfc1123
- `If-Unmodified-Since` string, date-time-rfc1123

## Response `200`

OK

- CloudPool — A pool in the Azure Batch service.
  - `id` string — A string that uniquely identifies the pool within the account. The id can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters.
  - `displayName` string — The display name for the pool.
  - `url` string — The URL of the pool.
  - `eTag` string — The ETag of the pool.
  - `lastModified` string, date-time — The last modified time of the pool.
  - `creationTime` string, date-time — The creation time of the pool.
  - `state` 'active' | 'deleting' | 'upgrading' — The current state of the pool.
  - `stateTransitionTime` string, date-time — The time at which the pool entered its current state.
  - `allocationState` 'steady' | 'resizing' | 'stopping' — Whether the pool is resizing.
  - `allocationStateTransitionTime` string, date-time — The time at which the pool entered its current allocation state.
  - `vmSize` string — The size of virtual machines in the pool. All virtual machines in a pool are the same size.
  - `cloudServiceConfiguration` CloudServiceConfiguration — The configuration for nodes in a pool based on the Azure Cloud Services platform.
    - `osFamily` string, required — The Azure Guest OS family to be installed on the virtual machines in the pool.
    - `targetOSVersion` string — The Azure Guest OS version to be installed on the virtual machines in the pool. The default value is * which specifies the latest operating system version for the specified OS family.
    - `currentOSVersion` string — The Azure Guest OS Version currently installed on the virtual machines in the pool. This may differ from TargetOSVersion if the pool state is Upgrading.
  - `virtualMachineConfiguration` VirtualMachineConfiguration — The configuration for compute nodes in a pool based on the Azure Virtual Machines infrastructure.
    - `imageReference` ImageReference, required — A reference to an Azure Virtual Machines Marketplace image.
      - `publisher` string, required — The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer.
      - `offer` string, required — The offer type of the Azure Virtual Machines Marketplace image. For example, UbuntuServer or WindowsServer.
      - `sku` string, required — The SKU of the Azure Virtual Machines Marketplace image. For example, 14.04.0-LTS or 2012-R2-Datacenter.
      - `version` string — The version of the Azure Virtual Machines Marketplace image. A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'.
    - `nodeAgentSKUId` string, required — The SKU of Batch Node Agent to be provisioned on the compute node. The Batch node agent is a program that runs on each node in the pool, and provides the command-and-control interface between the node and the Batch service. There are different implementations of the node agent, known as SKUs, for different operating systems.
    - `windowsConfiguration` WindowsConfiguration — Windows operating system settings to apply to the virtual machine.
      - `enableAutomaticUpdates` boolean — Whether automatic updates are enabled on the virtual machine. If omitted, the default value is true.
  - `resizeTimeout` string, duration — The timeout for allocation of compute nodes to the pool. In a Get Pool operation, this is the timeout for the most recent resize operation. The default value is 10 minutes.
  - `resizeError` ResizeError — An error that occurred when resizing a pool.
    - `code` string — An identifier for the pool resize error. Codes are invariant and are intended to be consumed programmatically.
    - `message` string — A message describing the pool resize error, intended to be suitable for display in a user interface.
    - `values` NameValuePair[] — A list of additional error details related to the pool resize error.
      - `name` string — The name in the name-value pair.
      - `value` string — The value in the name-value pair.
  - `currentDedicated` integer — The number of compute nodes currently in the pool.
  - `targetDedicated` integer — The desired number of compute nodes in the pool. This property must have the default value if EnableAutoScale is true. It is required if EnableAutoScale is false.
  - `enableAutoScale` boolean — Whether the pool size should automatically adjust over time. If true, the AutoScaleFormula property must be set. If false, the TargetDedicated property must be set.
  - `autoScaleFormula` string — A formula for the desired number of compute nodes in the pool.
  - `autoScaleEvaluationInterval` string, duration — A time interval for the desired AutoScale evaluation period in the pool.
  - `autoScaleRun` AutoScaleRun — The results and errors from an execution of a pool autoscale formula.
    - `timestamp` string, date-time, required — The time at which the autoscale formula was last evaluated.
    - `results` string — The final values of all variables used in the evaluation of the autoscale formula. Each variable value is returned in the form $variable=value, and variables are separated by semicolons.
    - `error` AutoScaleRunError — An error that occurred when executing or evaluating a pool autoscale formula.
      - `code` string — An identifier for the autoscale error. Codes are invariant and are intended to be consumed programmatically.
      - `message` string — A message describing the autoscale error, intended to be suitable for display in a user interface.
      - `values` NameValuePair[] — A list of additional error details related to the autoscale error.
        - `name` string — The name in the name-value pair.
        - `value` string — The value in the name-value pair.
  - `enableInterNodeCommunication` boolean — Whether the pool permits direct communication between nodes.
  - `startTask` StartTask — A task which is run when a compute node joins a pool in the Azure Batch service, or when the compute node is rebooted or reimaged.
    - `commandLine` string — The command line of the start task.
    - `resourceFiles` ResourceFile[] — A list of files that the Batch service will download to the compute node before running the command line.
      - `blobSource` string — The URL of the file within Azure Blob Storage. This URL should include a shared access signature if the blob is not publicly readable.
      - `filePath` string — The location to which to download the file, relative to the task's working directory.
      - `fileMode` string — The file mode attribute in octal format. This property will be ignored if it is specified for a resourceFile which will be downloaded to a Windows compute node.
    - `environmentSettings` EnvironmentSetting[] — A list of environment variable settings for the start task.
      - `name` string — The name of the environment variable.
      - `value` string — The value of the environment variable.
    - `runElevated` boolean — Whether to run the start task in elevated mode. The default value is false.
    - `maxTaskRetryCount` integer — The maximum number of times the task may be retried.
    - `waitForSuccess` boolean — Whether the Batch service should wait for the start task to complete successfully (that is, to exit with exit code 0) before scheduling any tasks on the compute node.
  - `certificateReferences` CertificateReference[] — The list of certificates to be installed on each compute node in the pool.
    - `thumbprint` string, required — The thumbprint of the certificate.
    - `thumbprintAlgorithm` string, required — The algorithm with which the thumbprint is associated. This must be sha1.
    - `storeLocation` 'currentuser' | 'localmachine' | 'unmapped' — The location of the certificate store on the compute node into which to install the certificate. The default value is CurrentUser.
    - `storeName` string — The name of the certificate store on the compute node into which to install the certificate. The default value is My.
    - `visibility` string[] — Which user accounts on the compute node should have access to the private data of the certificate. This may be any subset of the values 'starttask', 'task' and 'remoteuser', separated by commas. The default is all accounts, corresponding to the string 'starttask,task,remoteuser'.
  - `applicationPackageReferences` ApplicationPackageReference[] — The list of application packages to be installed on each compute node in the pool.
    - `applicationId` string, required — The id of the application to install.
    - `version` string — The version of the application to install. If omitted, the default version is installed.
  - `maxTasksPerNode` integer — The maximum number of tasks that can run concurrently on a single compute node in the pool.
  - `taskSchedulingPolicy` TaskSchedulingPolicy — Specifies how tasks should be distributed across compute nodes.
    - `nodeFillType` 'spread' | 'pack' | 'unmapped', required — How tasks should be distributed across compute nodes
  - `metadata` MetadataItem[] — A list of name-value pairs associated with the pool as metadata.
    - `name` string — The name of the metadata item.
    - `value` string — The value of the metadata item.
  - `stats` PoolStatistics — Contains utilization and resource usage statistics for the lifetime of a pool.
    - `url` string, required — The URL for the statistics.
    - `startTime` string, date-time, required — The start time of the time range covered by the statistics.
    - `lastUpdateTime` string, date-time, required — The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime.
    - `usageStats` UsageStatistics — Statistics related to pool usage information.
      - `startTime` string, date-time, required — The start time of the time range covered by the statistics.
      - `lastUpdateTime` string, date-time, required — The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime.
      - `dedicatedCoreTime` string, duration, required — The aggregated wall-clock time of the dedicated compute node cores being part of the pool.
    - `resourceStats` ResourceStatistics — Statistics related to resource consumption by compute nodes in a pool.
      - `startTime` string, date-time, required — The start time of the time range covered by the statistics.
      - `lastUpdateTime` string, date-time, required — The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime.
      - `avgCPUPercentage` number, double, required — The average CPU usage across all nodes in the pool (percentage per node).
      - `avgMemoryGiB` number, double, required — The average memory usage in GiB across all nodes in the pool.
      - `peakMemoryGiB` number, double, required — The peak memory usage in GiB across all nodes in the pool.
      - `avgDiskGiB` number, double, required — The average used disk space in GiB across all nodes in the pool.
      - `peakDiskGiB` number, double, required — The peak used disk space in GiB across all nodes in the pool.
      - `diskReadIOps` integer, required — The total number of disk read operations across all nodes in the pool.
      - `diskWriteIOps` integer, required — The total number of disk write operations across all nodes in the pool.
      - `diskReadGiB` number, double, required — The total amount of data in GiB of disk reads across all nodes in the pool.
      - `diskWriteGiB` number, double, required — The total amount of data in GiB of disk writes across all nodes in the pool.
      - `networkReadGiB` number, double, required — The total amount of data in GiB of network reads across all nodes in the pool.
      - `networkWriteGiB` number, double, required — The total amount of data in GiB of network writes across all nodes in the pool.

## Other responses

- `default` — The error from the Batch service.

---

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