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

# GET /pools

`GET /pools`

Lists all of the pools in the specified account.

## Query parameters

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

## Headers

- `client-request-id` string
- `return-client-request-id` boolean
- `ocp-date` string, date-time-rfc1123

## Response `200`

OK

- CloudPoolListResult — Response to a CloudPoolOperations.List request.
  - `value` CloudPool[] — Gets or sets the list of pools.
    - `id` string — Gets or sets 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 — Gets or sets the display name for the pool.
    - `url` string — Gets or sets the URL of the pool.
    - `eTag` string — Gets or sets the ETag of the pool.
    - `lastModified` string, date-time — Gets or sets the last modified time of the pool.
    - `creationTime` string, date-time — Gets or sets the creation time of the pool.
    - `state` 'active' | 'deleting' | 'upgrading' — Gets or sets the current state of the pool.
    - `stateTransitionTime` string, date-time — Gets or sets the time at which the pool entered its current state.
    - `allocationState` 'steady' | 'resizing' | 'stopping' — Gets or sets whether the pool is resizing.
    - `allocationStateTransitionTime` string, date-time — Gets or sets the time at which the pool entered its current allocation state.
    - `vmSize` string — Gets or sets the size of virtual machines in the pool. All VMs in a pool are the same size.
    - `osFamily` string — Gets or sets the Azure Guest OS family to be installed on the virtual machines in the pool.
    - `targetOSVersion` string — Gets or sets 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 family.
    - `currentOSVersion` string — Gets or sets 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.
    - `resizeTimeout` string, duration — Gets or sets 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 — Gets or sets an identifier for the pool resize error. Codes are invariant and are intended to be consumed programmatically.
      - `message` string — Gets or sets a message describing the pool resize error, intended to be suitable for display in a user interface.
      - `values` NameValuePair[] — Gets or sets a list of additional error details related to the pool resize error.
        - `name` string — Gets or sets the name in the name-value pair.
        - `value` string — Gets or sets the value in the name-value pair.
    - `currentDedicated` integer — Gets or sets the number of compute nodes currently in the pool.
    - `targetDedicated` integer — Gets or sets 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 — Gets or sets 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 — Gets or sets a formula for the desired number of compute nodes in the pool.
    - `autoScaleEvaluationInterval` string, duration — Gets or sets 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 — Gets or sets the time at which the autoscale formula was last evaluated.
      - `results` string — Gets or sets 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 — Gets or sets an identifier for the autoscale error. Codes are invariant and are intended to be consumed programmatically.
        - `message` string — Gets or sets a message describing the autoscale error, intended to be suitable for display in a user interface.
        - `values` NameValuePair[] — Gets or sets a list of additional error details related to the autoscale error.
          - `name` string — Gets or sets the name in the name-value pair.
          - `value` string — Gets or sets the value in the name-value pair.
    - `enableInterNodeCommunication` boolean — Gets or sets whether the pool permits direct communication between nodes.
    - `startTask` StartTask — A task defined on a pool and run by compute nodes when they join the pool.
      - `commandLine` string — Gets or sets the command line of the start task.
      - `resourceFiles` ResourceFile[] — Gets or sets a list of files that Batch will download to the compute node before running the command line.
        - `blobSource` string — Gets or sets the URL of a blob in Azure storage. The Batch service downloads the blob to the specified file path. The URL must be readable using anonymous access.
        - `filePath` string — Gets or sets the location on the compute node to which the file should be downloaded.
      - `environmentSettings` EnvironmentSetting[] — Gets or sets a list of environment variable settings for the start task.
        - `name` string — Gets or sets the name of the environment variable.
        - `value` string — Gets or sets the value of the environment variable.
      - `runElevated` boolean — Gets or sets whether to run the start task in elevated mode. The default value is false.
      - `maxTaskRetryCount` integer — Gets or sets the maximum number of times the task may be retried.
      - `waitForSuccess` boolean — Gets or sets 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[] — Gets or sets the list of certificates to be installed on each compute node in the pool.
      - `thumbprint` string, required — Gets or sets the thumbprint of the certificate.
      - `thumbprintAlgorithm` string, required — Gets or sets the algorithm with which the thumbprint is associated. This must be sha1.
      - `storeLocation` 'currentuser' | 'localmachine' | 'unmapped' — Gets or sets the location of the certificate store on the compute node into which to install the certificate. The default value is CurrentUser.
      - `storeName` string — Gets or sets the name of the certificate store on the compute node into which to install the certificate. The default value is My.
      - `visibility` string — Gets or sets 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 'rdp', separated by commas. The default is all accounts, corresponding to the string 'starttask,task,rdp'.
    - `applicationPackageReferences` ApplicationPackageReference[] — Gets or sets the list of application packages to be installed on each compute node in the pool.
      - `applicationId` string, required — Gets or sets the application package id.
      - `version` string — Gets or sets the application package version. If not specified, the default is used.
    - `maxTasksPerNode` integer — Gets or sets 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 — Gets or sets how tasks should be distributed across compute nodes
    - `metadata` MetadataItem[] — Gets or sets a list of name-value pairs associated with the pool as metadata.
      - `name` string — Gets or sets the name of the metadata item.
      - `value` string — Gets or sets the value of the metadata item.
    - `stats` PoolStatistics — Contains utilization and resource usage statistics for the lifetime of a pool.
      - `url` string, required — Gets or sets the URL for the statistics.
      - `startTime` string, date-time, required — Gets or sets the start time of the time range covered by the statistics.
      - `lastUpdateTime` string, date-time, required — Gets or sets 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 — Gets or sets the start time of the time range covered by the statistics.
        - `lastUpdateTime` string, date-time, required — Gets or sets the time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime.
        - `dedicatedCoreTime` string, duration, required — Gets or sets 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 — Gets or sets the start time of the time range covered by the statistics.
        - `lastUpdateTime` string, date-time, required — Gets or sets the time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime.
        - `avgCPUPercentage` number, double, required — Gets or sets the average CPU usage across all nodes in the pool (percentage per node).
        - `avgMemoryGiB` number, double, required — Gets or sets the average memory usage in GiB across all nodes in the pool.
        - `peakMemoryGiB` number, double, required — Gets or sets the peak memory usage in GiB across all nodes in the pool.
        - `avgDiskGiB` number, double, required — Gets or sets the average used disk space in GiB across all nodes in the pool.
        - `peakDiskGiB` number, double, required — Gets or sets the peak used disk space in GiB across all nodes in the pool.
        - `diskReadIOps` integer, required — Gets or sets the total number of disk read operations across all nodes in the pool.
        - `diskWriteIOps` integer, required — Gets or sets the total number of disk write operations across all nodes in the pool.
        - `diskReadGiB` number, double, required — Gets or sets the total amount of data in GiB of disk reads across all nodes in the pool.
        - `diskWriteGiB` number, double, required — Gets or sets the total amount of data in GiB of disk writes across all nodes in the pool.
        - `networkReadGiB` number, double, required — Gets or sets the total amount of data in GiB of network reads across all nodes in the pool.
        - `networkWriteGiB` number, double, required — Gets or sets the total amount of data in GiB of network writes across all nodes in the pool.
  - `odata.nextLink` string — Gets or sets the URL to get the next set of results.

## Other responses

- `default` — 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/d7960a570e92/schema)
