Create a browser session
Create a new browser session from within an action.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Parameters for creating a browser session.
Custom Chrome enterprise policy overrides applied to this browser session. 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/
List of browser extensions to load into the session. Provide each by id or name.
20Extension selection for the browser session. Provide either id or name of an extension uploaded to Kernel.
- Option 1
- Option 2
If true, enables GPU acceleration for the browser session. Requires Start-Up or Enterprise plan and headless=false.
false
If true, launches the browser using a headless image (no VNC/GUI). Defaults to false.
false
action invocation ID
"rr33xuugxj9h0bkf1rdt2bet"
If true, launches the browser in kiosk mode to hide address bar and tabs in live view.
true
Optional human-readable name for the browser session, used to find it later in the dashboard. Must be unique among active sessions within the project. Can be changed later via PATCH /browsers/{id_or_name}.
1 - 255^[a-zA-Z0-9._-]{1,255}$"checkout-flow-1"
Network configuration for the browser session. Cannot be changed after creation.
Profile selection for the browser session. Provide either id or name. If specified, the matching profile will be loaded into the browser session. Profiles must be created beforehand.
- Option 1
- Option 2
Proxy configuration for the browser session. Cannot be combined with proxy_id. Omit to use the browser default: stealth browsers use Kernel's default stealth proxy, while non-stealth browsers use direct egress. Set mode to direct to force direct egress regardless of stealth. Set mode to default to explicitly use the browser default: Kernel's default stealth proxy when stealth=true, or direct egress when stealth=false. Select id or name to use that proxy regardless of stealth. Proxy selection does not change stealth or CAPTCHA solver behavior.
- Option 1
- Option 2
- Option 3
Optional proxy to associate to the browser session. Must reference a proxy in the same project as the browser session. Deprecated in favor of proxy.
Geographic region for the browser session. It is fixed once the session is created. Region selection requires a Start-Up or Enterprise plan, defaults to us-east when omitted on create.
us-east, eu-west Optional URL to open when the browser session is created. Navigation is best-effort, so navigation failures do not prevent the session from being created.
"https://example.com"
If true, launches the browser in stealth mode and enables the CAPTCHA solver. Defaults to false. When proxy is omitted, stealth browsers use Kernel's default stealth proxy and non-stealth browsers use direct egress. An explicit proxy configuration changes only egress; it does not enable or disable stealth or the CAPTCHA solver.
true
Optional user-defined key-value tags for the browser session, used to find and group sessions later. Can be changed later via PATCH /browsers/{id_or_name}. Up to 50 pairs.
Telemetry configuration for the browser session. Set enabled to true to start capture using VM defaults, or provide browser category settings. If omitted, null, set to an empty object ({}), set to enabled: false without browser category settings, or all four categories are explicitly disabled, capture is not started.
The number of seconds of inactivity before the browser session is terminated. Activity includes CDP connections and live view connections. Defaults to 60 seconds. Minimum allowed is 10 seconds. Maximum allowed is 259200 (72 hours). We check for inactivity every 5 seconds, so the actual timeout behavior you will see is +/- 5 seconds around the specified value.
10 <= x <= 259200Initial browser window size in pixels with optional refresh rate. If omitted, image defaults apply (1920x1080@25). For GPU images, the default is 1920x1080@60. Arbitrary viewport dimensions and refresh rates are accepted. Known-good presets include: 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60, 768x1024@60, 390x844@60. For GPU images, recommended presets use one of these resolutions with refresh rates 60, 30, 25, or 10: 800x600, 960x720, 1024x576, 1024x768, 1152x648, 1200x800, 1280x720, 1368x768, 1440x900, 1600x900, 1920x1080, 1920x1200, 390x844, 360x250, 768x1024, 800x1600. Viewports outside this list may exhibit unstable live view or recording behavior. If refresh_rate is not provided, it will be automatically determined based on the resolution (higher resolutions use lower refresh rates to keep bandwidth reasonable).
Response
Successful response
Websocket URL for Chrome DevTools Protocol connections to the browser session
"wss://proxy.yul-upbeat-herschel.onkernel.com:8443/browser/cdp?jwt=eyJ0eXAi..."
When the browser session was created.
Whether the browser session is running in headless mode.
false
Geographic region of the browser session. Fixed once the session is created.
us-east, eu-west Unique identifier for the browser session
"htzv5orfit78e1m2biiifpbv"
Whether the browser session is running in stealth mode.
false
The number of seconds of inactivity before the browser session is terminated.
Websocket URL for WebDriver BiDi connections to the browser session
"wss://proxy.yul-upbeat-herschel.onkernel.com:8443/browser/webdriver/session?jwt=eyJ0eXAi..."
Metro-API HTTP base URL for this browser session.
"https://proxy.yul-upbeat-herschel.onkernel.com:8443/browser/kernel"
Remote URL for live viewing the browser session. Only available for non-headless browsers.
"https://proxy.yul-upbeat-herschel.onkernel.com:8443/browser/live?jwt=eyJ0eXAi..."
Custom Chrome enterprise policy overrides that were applied to this browser session, if any. Echoed back for verification. Keys are Chrome enterprise policy names.
When the browser session was soft-deleted. Only present for deleted sessions.
Whether GPU acceleration is enabled for the browser session (only supported for headful sessions).
false
Whether the browser session is running in kiosk mode.
false
Human-readable name of the browser session, if one was set at creation.
"checkout-flow-1"
Network configuration the session was created with, if any. Omitted when the session has no network configuration.
Browser pool this session was acquired from, if any.
Browser profile metadata.
Whether changes made during this browser session are saved back to its profile when the session ends. Omitted when no profile is attached.
Resolved proxy configuration for this browser session.
- Option 1
- Option 2
- Option 3
ID of the proxy associated with this browser session, if any. Deprecated in favor of proxy.
URL the session was asked to navigate to on creation, if any. Recorded for debugging. Navigation is fire-and-forget — the URL is dispatched to the browser without waiting for it to load, and any errors (DNS failure, bad status, timeout) are silently dropped. Captures what was requested, not what the browser actually loaded.
"https://example.com"
User-defined key-value tags that were set on this browser session, if any. Echoed back when present.
Active telemetry configuration for the session, if any.
Session usage metrics.
Initial browser window size in pixels with optional refresh rate. If omitted, image defaults apply (1920x1080@25). For GPU images, the default is 1920x1080@60. Arbitrary viewport dimensions and refresh rates are accepted. Known-good presets include: 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60, 768x1024@60, 390x844@60. For GPU images, recommended presets use one of these resolutions with refresh rates 60, 30, 25, or 10: 800x600, 960x720, 1024x576, 1024x768, 1152x648, 1200x800, 1280x720, 1368x768, 1440x900, 1600x900, 1920x1080, 1920x1200, 390x844, 360x250, 768x1024, 800x1600. Viewports outside this list may exhibit unstable live view or recording behavior. If refresh_rate is not provided, it will be automatically determined based on the resolution (higher resolutions use lower refresh rates to keep bandwidth reasonable).