Connect to the sandbox's Chrome DevTools Protocol endpoint (WebSocket)
A WebSocket upgrade. Once connected, this is Chrome’s browser-level
CDP endpoint (/devtools/browser/<id>): messages are relayed
unchanged in both directions. Chrome is started on the sandbox’s
desktop if it is not running yet, so the browser is also visible in
screenshots and can be driven with /computer/actions.
Authenticate with the API key (Authorization: Bearer pols_..., for
example Playwright’s connectOverCDP(url, { headers })), or with the
token query parameter of a URL from POST /v1/sandboxes/{sandbox}/browser/cdp. Errors before the upgrade are
returned as JSON.
/v1/sandboxes/{sandbox}/browser/cdpAuthorizationBearer token · headerrequiredOrg-scoped API key, pols_....
tokenAPI key · queryrequiredShort-lived, sandbox-scoped token from POST /v1/sandboxes/{sandbox}/browser/cdp. Only accepted to connect to that sandbox's CDP endpoint.
sandboxstringrequiredSandbox ID (sbx_...) or name.
Switched to the WebSocket protocol.
Rate limited (rate_limited): too many requests or failed
authentications from this address, too many requests or
lifecycle calls for this org, or too many of its exec, file,
computer and CDP calls in progress at once. Retry after
Retry-After seconds.
errorobjectrequiredShow propertiesHide properties
codestringrequiredStable machine-readable code: bad_request (400),
unauthorized (401), forbidden (403), quota_exceeded
(403), not_found (404), conflict (409),
rate_limited (429, see Retry-After), internal (500),
runtime_error (502, the sandbox host failed),
unavailable (503, the feature is not configured on this
deployment), timeout (504, or 408 when a request body
stalls).
messagestringrequiredError.
errorobjectrequiredShow propertiesHide properties
codestringrequiredStable machine-readable code: bad_request (400),
unauthorized (401), forbidden (403), quota_exceeded
(403), not_found (404), conflict (409),
rate_limited (429, see Retry-After), internal (500),
runtime_error (502, the sandbox host failed),
unavailable (503, the feature is not configured on this
deployment), timeout (504, or 408 when a request body
stalls).
messagestringrequired