v97

latestOpenAPI 3.1.0raw.githubusercontent.com2026-07-31135175384.2 KB
Browser Pools

Update a browser pool

Updates the configuration used to create browsers in the pool. As with creation, save_changes on the pool profile is ignored (not rejected); pooled browsers never persist changes back to the profile. To clear the profile reference, send profile: { "id": "" }. Clearing the profile also disables refresh_on_profile_update.

patch/browser_pools/{id_or_name}

Path parameters

id_or_namestring required

Browser pool ID or name

Request body

sizeinteger

If provided, replaces the number of browsers to maintain in the pool. The maximum size is determined by your organization's pooled sessions limit (the sum of all pool sizes cannot exceed your limit).

namestring

If provided, replaces the pool name. Empty string is a no-op; the pool name cannot be cleared or reset to empty once assigned.

fill_rate_per_minuteinteger

If provided, replaces the percentage of the pool to fill per minute. The cap is 25 for most organizations but can be raised per-organization, so only the lower bound is enforced here.

timeout_secondsinteger

If provided, replaces the default idle timeout in seconds for browsers acquired from this pool before they are destroyed. Minimum 10, maximum 259200 (72 hours).

stealthboolean

If provided, replaces whether browsers launch in stealth mode.

headlessboolean

If provided, replaces whether browsers launch using a headless image.

refresh_on_profile_updateboolean

If provided, replaces whether idle browsers are flushed when the profile the pool uses is updated. When the pool's profile reference is changed (including newly attached) and this field is omitted, it defaults to true. Re-sending the same profile reference leaves this setting unchanged. Clearing the profile also disables this setting. Requires a profile to be set on the pool.

proxy_idstring

Empty string clears the previously-selected proxy. Omit this field to leave the proxy unchanged.

kiosk_modeboolean

If provided, replaces whether browsers launch in kiosk mode.

chrome_policyobject

If provided, replaces the custom Chrome enterprise policy overrides applied to all browsers in this pool. Empty object clears any previously-set policy. Keys are Chrome enterprise policy names; values must match their expected types. Blocked: kernel-managed policies (extensions, proxy, CDP/automation). See https://chromeenterprise.google/policies/ The serialized JSON payload is capped at 5 MiB.

start_urlstring

If provided, replaces the URL to navigate to when a new browser is warmed into the pool. Empty string clears the previously-set URL. Omit this field to leave it unchanged.

discard_all_idleboolean

Whether to discard all idle browsers and rebuild them immediately with the new configuration. Defaults to false. Only browsers that are idle when the update runs are rebuilt. A browser that is in use during the update keeps its original configuration, and if it is later released with reuse: true it returns to the pool with that stale configuration until it is discarded (by this flag on a later update, or by flushing the pool).

Example request

{
  "size": 10,
  "name": "my-pool",
  "stealth": true,
  "refresh_on_profile_update": true,
  "viewport": {
    "width": 1280,
    "height": 800,
    "refresh_rate": 60
  },
  "kiosk_mode": true,
  "start_url": "https://example.com"
}

Response

Browser pool details

idstring required

Unique identifier for the browser pool

namestring

Browser pool name, if set

available_countinteger required

Number of browsers currently available in the pool

acquired_countinteger required

Number of browsers currently acquired from the pool

created_atstring date-time required

Timestamp when the browser pool was created

profile_idstring

Resolved profile ID the pool is attached to. Omitted when no profile is attached. Authoritative for programmatic consumers; the profile inside browser_pool_config reflects the configured selector (echoed as sent on create).

extension_idsstring[] required

Resolved extension IDs attached to the pool, in configured load order. Empty when no extensions are attached. Authoritative for programmatic consumers; the extensions inside browser_pool_config reflect the configured selector (echoed as sent on create).

Example response

{
  "id": "iv25ujqf37x3j07dwoffegqr",
  "name": "my-pool",
  "available_count": 85,
  "acquired_count": 15,
  "browser_pool_config": {
    "size": 10,
    "name": "my-pool",
    "stealth": true,
    "refresh_on_profile_update": true,
    "viewport": {
      "width": 1280,
      "height": 800,
      "refresh_rate": 60
    },
    "kiosk_mode": true,
    "start_url": "https://example.com"
  },
  "profile_id": "iv25ujqf37x3j07dwoffegqr"
}