> ## Documentation Index
> Fetch the complete documentation index at: https://tbd-6fc993ce-hypeship-update-create-pool-guidance.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# manage_browser_pools

> Create and manage pools of pre-provisioned browsers

Manage pools of pre-provisioned browser instances for fast acquisition.

## Actions

| Action | Description |
| - | - |
| `create` | Set up a pool. |
| `update` | Change a pool's configuration. |
| `list` | List pools. |
| `get` | Inspect a specific pool. |
| `acquire` | Get a browser from a pool. |
| `release` | Return a browser to a pool. |
| `flush` | Destroy idle browsers in a pool. |
| `delete` | Remove a pool. |

## Parameters

| Parameter | Description |
| - | - |
| `action` | Operation to perform. Required. |
| `id_or_name` | Pool ID or name. Required for `get`, `update`, `delete`, `flush`, `acquire`, and `release`. |
| `limit` | (list) Maximum results per page. Must be between 1 and 100. |
| `offset` | (list) Pagination offset. Must be 0 or greater. |
| `name` | (create, update) Unique pool name. |
| `size` | (create, update) Number of browsers to maintain in the pool. |
| `fill_rate_per_minute` | (create, update) Integer pool fill rate percentage per minute. On create, defaults to 25; on update, omit to leave unchanged. Use `0` to pause filling. |
| `headless` | (create, update) Headless mode for pool browsers. |
| `stealth` | (create, update) Stealth mode for pool browsers. |
| `profile_id` or `profile_name` | (create, update) Profile to load into pool browsers. |
| `clear_profile` | (update) Remove the pool's profile. Cannot be combined with `profile_id` or `profile_name`. |
| `proxy_id` | (create, update) Proxy for pool browsers. On update, pass an empty string to clear it. |
| `start_url` | (create, update) URL to open when a browser is warmed into the pool. On update, pass an empty string to clear it. |
| `extension_id` or `extension_name` | (create, update) Extension to load into pool browsers. |
| `clear_extensions` | (update) Remove all pool extensions. Cannot be combined with `extension_id` or `extension_name`. |
| `chrome_policy` | (create, update) Chrome enterprise policy overrides. On update, pass an empty object to clear it. |
| `kiosk_mode` | (create, update) Hide the address bar and tabs in live view. |
| `viewport_width` and `viewport_height` | (create, update) Window dimensions in pixels. Supply both together. |
| `viewport_refresh_rate` | (create, update) Display refresh rate in Hz. Requires `viewport_width` and `viewport_height`. |
| `timeout_seconds` | (create, update) Idle timeout for acquired browsers. Must be between 10 and 259200 seconds. On create, defaults to 600; on update, omit to leave unchanged. |
| `discard_all_idle` | (update) Discard all idle browsers after applying the configuration. |
| `acquire_timeout_seconds` | (acquire) Max seconds to wait for a browser. |
| `session_id` | (release) Session ID of the browser to release. |
| `reuse` | (release) Reuse the browser instance or recreate it. Default true. |
| `force` | (delete) Force delete even if browsers are leased. |

`get`, `create`, and `update` responses report the authoritative `profile_id` and `extension_ids` stored on the pool.

`discard_all_idle` affects only browsers that are idle when the update runs. Acquired browsers retain their old configuration, and releasing one with the default `reuse: true` returns that old configuration to the pool. See [Update a browser pool](/browsers/pools#update-a-browser-pool) for `reuse: false` and later flush or discard recovery options.

## Example

```json theme={null}
{
  "action": "create",
  "name": "scrape-pool",
  "size": 5,
  "stealth": true
}
```
