# Kernel ## Docs - [List apps](https://kernel.sh/docs/api-reference/apps/list-apps.md): List applications. Optionally filter by app name and/or version label. - [Capture a screenshot of the browser instance](https://kernel.sh/docs/api-reference/browser-computer-controls/capture-a-screenshot-of-the-browser-instance.md) - [Drag the mouse along a path](https://kernel.sh/docs/api-reference/browser-computer-controls/drag-the-mouse-along-a-path.md) - [Move the mouse cursor to the specified coordinates on the browser instance](https://kernel.sh/docs/api-reference/browser-computer-controls/move-the-mouse-cursor-to-the-specified-coordinates-on-the-browser-instance.md) - [Press one or more keys on the host computer](https://kernel.sh/docs/api-reference/browser-computer-controls/press-one-or-more-keys-on-the-host-computer.md) - [Read text from the clipboard on the browser instance](https://kernel.sh/docs/api-reference/browser-computer-controls/read-text-from-the-clipboard-on-the-browser-instance.md) - [Scroll the mouse wheel at a position on the host computer](https://kernel.sh/docs/api-reference/browser-computer-controls/scroll-the-mouse-wheel-at-a-position-on-the-host-computer.md) - [Set cursor visibility](https://kernel.sh/docs/api-reference/browser-computer-controls/set-cursor-visibility.md) - [Simulate a mouse click action on the browser instance](https://kernel.sh/docs/api-reference/browser-computer-controls/simulate-a-mouse-click-action-on-the-browser-instance.md) - [Type text on the browser instance](https://kernel.sh/docs/api-reference/browser-computer-controls/type-text-on-the-browser-instance.md) - [Write text to the clipboard on the browser instance](https://kernel.sh/docs/api-reference/browser-computer-controls/write-text-to-the-clipboard-on-the-browser-instance.md) - [Create a new directory](https://kernel.sh/docs/api-reference/browser-filesystem/create-a-new-directory.md) - [Delete a directory](https://kernel.sh/docs/api-reference/browser-filesystem/delete-a-directory.md) - [Delete a file](https://kernel.sh/docs/api-reference/browser-filesystem/delete-a-file.md) - [Download a directory as a ZIP archive](https://kernel.sh/docs/api-reference/browser-filesystem/download-a-directory-as-a-zip-archive.md): Returns a ZIP file containing the contents of the specified directory. - [Get information about a file or directory](https://kernel.sh/docs/api-reference/browser-filesystem/get-information-about-a-file-or-directory.md) - [List files in a directory](https://kernel.sh/docs/api-reference/browser-filesystem/list-files-in-a-directory.md) - [Move or rename a file or directory](https://kernel.sh/docs/api-reference/browser-filesystem/move-or-rename-a-file-or-directory.md) - [Read file contents](https://kernel.sh/docs/api-reference/browser-filesystem/read-file-contents.md) - [Set file or directory permissions/ownership](https://kernel.sh/docs/api-reference/browser-filesystem/set-file-or-directory-permissionsownership.md) - [Stop watching a directory](https://kernel.sh/docs/api-reference/browser-filesystem/stop-watching-a-directory.md) - [Stream filesystem events for a watch](https://kernel.sh/docs/api-reference/browser-filesystem/stream-filesystem-events-for-a-watch.md) - [Upload a zip archive and extract it](https://kernel.sh/docs/api-reference/browser-filesystem/upload-a-zip-archive-and-extract-it.md): Upload a zip file and extract its contents to the specified destination path. - [Upload one or more files](https://kernel.sh/docs/api-reference/browser-filesystem/upload-one-or-more-files.md): Allows uploading single or multiple files to the remote filesystem. - [Watch a directory for changes](https://kernel.sh/docs/api-reference/browser-filesystem/watch-a-directory-for-changes.md) - [Write or create a file](https://kernel.sh/docs/api-reference/browser-filesystem/write-or-create-a-file.md) - [Stream log files on the browser instance via SSE](https://kernel.sh/docs/api-reference/browser-logs/stream-log-files-on-the-browser-instance-via-sse.md) - [Execute Playwright/TypeScript code against the browser](https://kernel.sh/docs/api-reference/browser-playwright/execute-playwrighttypescript-code-against-the-browser.md): Execute arbitrary Playwright code in a fresh execution context against the browser. The code runs in the same VM as the browser, minimizing latency and maximizing throughput. It has access to 'page', 'context', and 'browser' variables. It can `return` a value, and this value is returned in the respo… - [Acquire a browser from the pool](https://kernel.sh/docs/api-reference/browser-pools/acquire-a-browser-from-the-pool.md): Long-polling endpoint to acquire a browser from the pool. Returns immediately when a browser is available, or returns 204 No Content when the poll times out. The client should retry the request to continue waiting for a browser. The acquired browser will use the pool's timeout_seconds for its idle t… - [Create a browser pool](https://kernel.sh/docs/api-reference/browser-pools/create-a-browser-pool.md): Create a new browser pool with the specified configuration and size. - [Delete a browser pool](https://kernel.sh/docs/api-reference/browser-pools/delete-a-browser-pool.md): Delete a browser pool and all browsers in it. By default, deletion is blocked if browsers are currently leased. Use force=true to terminate leased browsers. - [Flush all idle browsers in the pool](https://kernel.sh/docs/api-reference/browser-pools/flush-all-idle-browsers-in-the-pool.md): Destroys all idle browsers in the pool; leased browsers are not affected. - [Get browser pool details](https://kernel.sh/docs/api-reference/browser-pools/get-browser-pool-details.md): Retrieve details for a single browser pool by its ID or name. - [List browser pools](https://kernel.sh/docs/api-reference/browser-pools/list-browser-pools.md): List browser pools owned by the caller's organization. - [Release a browser back to the pool](https://kernel.sh/docs/api-reference/browser-pools/release-a-browser-back-to-the-pool.md): Release a browser back to the pool, optionally recreating the browser instance. - [Update a browser pool](https://kernel.sh/docs/api-reference/browser-pools/update-a-browser-pool.md): Updates the configuration used to create browsers in the pool. - [Execute a command asynchronously](https://kernel.sh/docs/api-reference/browser-processes/execute-a-command-asynchronously.md) - [Execute a command synchronously](https://kernel.sh/docs/api-reference/browser-processes/execute-a-command-synchronously.md) - [Get process status](https://kernel.sh/docs/api-reference/browser-processes/get-process-status.md) - [Resize a PTY-backed process terminal](https://kernel.sh/docs/api-reference/browser-processes/resize-a-pty-backed-process-terminal.md) - [Send signal to process](https://kernel.sh/docs/api-reference/browser-processes/send-signal-to-process.md) - [Stream process stdout via SSE](https://kernel.sh/docs/api-reference/browser-processes/stream-process-stdout-via-sse.md) - [Write to process stdin](https://kernel.sh/docs/api-reference/browser-processes/write-to-process-stdin.md) - [Download a replay recording](https://kernel.sh/docs/api-reference/browser-replays/download-a-replay-recording.md): Download or stream the specified replay recording. - [List browser session replays](https://kernel.sh/docs/api-reference/browser-replays/list-browser-session-replays.md): List all replays for the specified browser session. - [Start a browser session replay recording](https://kernel.sh/docs/api-reference/browser-replays/start-a-browser-session-replay-recording.md): Start recording the browser session and return a replay ID. - [Stop a browser session replay recording](https://kernel.sh/docs/api-reference/browser-replays/stop-a-browser-session-replay-recording.md): Stop the specified replay recording and persist the video. - [Ad-hoc upload one or more unpacked extensions to a running browser instance.](https://kernel.sh/docs/api-reference/browsers/ad-hoc-upload-one-or-more-unpacked-extensions-to-a-running-browser-instance.md): Loads one or more unpacked extensions and restarts Chromium on the browser instance. - [Create a browser session](https://kernel.sh/docs/api-reference/browsers/create-a-browser-session.md): Create a new browser session from within an action. - [Delete a browser session by ID.](https://kernel.sh/docs/api-reference/browsers/delete-a-browser-session-by-id.md): Delete a browser session by ID - [Delete a persistent browser session](https://kernel.sh/docs/api-reference/browsers/delete-a-persistent-browser-session.md): DEPRECATED: Use DELETE /browsers/{id} instead. Delete a persistent browser session by its persistent_id. - [Execute a batch of computer actions sequentially](https://kernel.sh/docs/api-reference/browsers/execute-a-batch-of-computer-actions-sequentially.md): Send an array of computer actions to execute in order on the browser instance. Execution stops on the first error. This reduces network latency compared to sending individual action requests. - [Get browser session details](https://kernel.sh/docs/api-reference/browsers/get-browser-session-details.md): Get information about a browser session. - [Get the current mouse cursor position on the browser instance](https://kernel.sh/docs/api-reference/browsers/get-the-current-mouse-cursor-position-on-the-browser-instance.md) - [List browser sessions](https://kernel.sh/docs/api-reference/browsers/list-browser-sessions.md): List all browser sessions with pagination support. Use status parameter to filter by session state. - [Make an HTTP request through the browser's network stack](https://kernel.sh/docs/api-reference/browsers/make-an-http-request-through-the-browsers-network-stack.md): Sends an HTTP request through Chrome's HTTP request stack, inheriting the browser's TLS fingerprint, cookies, proxy configuration, and headers. Returns a structured JSON response with status, headers, body, and timing. - [Update browser session](https://kernel.sh/docs/api-reference/browsers/update-browser-session.md): Update a browser session. - [Create a deployment](https://kernel.sh/docs/api-reference/deployments/create-a-deployment.md): Create a new deployment. - [Delete a deployment](https://kernel.sh/docs/api-reference/deployments/delete-a-deployment.md): Stops a running deployment and marks it for deletion. If the deployment is already in a terminal state (stopped or failed), returns immediately. - [Get deployment details](https://kernel.sh/docs/api-reference/deployments/get-deployment-details.md): Get information about a deployment's status. - [List deployments](https://kernel.sh/docs/api-reference/deployments/list-deployments.md): List deployments. Optionally filter by application name and version. - [Stream deployment events via SSE](https://kernel.sh/docs/api-reference/deployments/stream-deployment-events-via-sse.md): Establishes a Server-Sent Events (SSE) stream that delivers real-time logs and status updates for a deployment. The stream terminates automatically once the deployment reaches a terminal state. - [Delete extension by ID or name](https://kernel.sh/docs/api-reference/extensions/delete-extension-by-id-or-name.md): Delete an extension by its ID or by its name. - [Download extension archive](https://kernel.sh/docs/api-reference/extensions/download-extension-archive.md): Download the extension as a ZIP archive by ID or name. - [Download unpacked extension from Chrome Web Store](https://kernel.sh/docs/api-reference/extensions/download-unpacked-extension-from-chrome-web-store.md): Returns a ZIP archive containing the unpacked extension fetched from the Chrome Web Store. - [List browser extensions](https://kernel.sh/docs/api-reference/extensions/list-browser-extensions.md): List extensions owned by the caller's organization. - [Upload a browser extension](https://kernel.sh/docs/api-reference/extensions/upload-a-browser-extension.md): Upload a zip file containing an unpacked browser extension. Optionally provide a unique name for later reference. - [Delete browser sessions for an invocation](https://kernel.sh/docs/api-reference/invocations/delete-browser-sessions-for-an-invocation.md): Delete all browser sessions created within the specified invocation. - [Get invocation details](https://kernel.sh/docs/api-reference/invocations/get-invocation-details.md): Get details about an invocation's status and output. - [Invoke an action](https://kernel.sh/docs/api-reference/invocations/invoke-an-action.md): Invoke an action. - [List browsers for an invocation](https://kernel.sh/docs/api-reference/invocations/list-browsers-for-an-invocation.md): Returns all active browser sessions created within the specified invocation. - [List invocations](https://kernel.sh/docs/api-reference/invocations/list-invocations.md): List invocations. Optionally filter by application name, action name, status, deployment ID, or start time. - [Stream invocation events via SSE](https://kernel.sh/docs/api-reference/invocations/stream-invocation-events-via-sse.md): Establishes a Server-Sent Events (SSE) stream that delivers real-time logs and status updates for an invocation. The stream terminates automatically once the invocation reaches a terminal state. - [Update invocation](https://kernel.sh/docs/api-reference/invocations/update-invocation.md): Update an invocation's status or output. This can be used to cancel an invocation by setting the status to "failed". - [Create auth connection](https://kernel.sh/docs/api-reference/managed-auth/create-auth-connection.md): Creates an auth connection for a profile and domain combination. If the provided profile_name does not exist, it is created automatically. Returns 409 Conflict if an auth connection already exists for the given profile and domain. - [Delete auth connection](https://kernel.sh/docs/api-reference/managed-auth/delete-auth-connection.md): Deletes an auth connection and terminates its workflow. This will: - Delete the auth connection record - Terminate the Temporal workflow - Cancel any in-progress login flows - [Get auth connection](https://kernel.sh/docs/api-reference/managed-auth/get-auth-connection.md): Retrieve an auth connection by its ID. Includes current flow state if a login is in progress. - [List auth connections](https://kernel.sh/docs/api-reference/managed-auth/list-auth-connections.md): List auth connections with optional filters for profile_name and domain. - [Start login flow](https://kernel.sh/docs/api-reference/managed-auth/start-login-flow.md): Starts a login flow for the auth connection. Returns immediately with a hosted URL for the user to complete authentication, or triggers automatic re-auth if credentials are stored. - [Stream login flow events via SSE](https://kernel.sh/docs/api-reference/managed-auth/stream-login-flow-events-via-sse.md): Establishes a Server-Sent Events (SSE) stream that delivers real-time login flow state updates. The stream terminates automatically once the flow reaches a terminal state (SUCCESS, FAILED, EXPIRED, CANCELED). - [Submit field values](https://kernel.sh/docs/api-reference/managed-auth/submit-field-values.md): Submits field values for the login form. Poll the auth connection to track progress and get results. - [Update auth connection](https://kernel.sh/docs/api-reference/managed-auth/update-auth-connection.md): Update an auth connection's configuration. Only the fields provided will be updated. - [Create a new profile](https://kernel.sh/docs/api-reference/profiles/create-a-new-profile.md): Create a browser profile that can be used to load state into future browser sessions. - [Delete profile by ID or name](https://kernel.sh/docs/api-reference/profiles/delete-profile-by-id-or-name.md): Delete a profile by its ID or by its name. - [Download profile archive](https://kernel.sh/docs/api-reference/profiles/download-profile-archive.md): Download the profile. Profiles are JSON files containing the pieces of state that we save. - [Get profile by ID or name](https://kernel.sh/docs/api-reference/profiles/get-profile-by-id-or-name.md): Retrieve details for a single profile by its ID or name. - [List profiles](https://kernel.sh/docs/api-reference/profiles/list-profiles.md): List profiles with optional filtering and pagination. - [Check proxy health](https://kernel.sh/docs/api-reference/proxies/check-proxy-health.md): Run a health check on the proxy to verify it's working. Optionally specify a URL to test reachability against a specific target. For ISP and datacenter proxies, this reliably tests whether the target site is reachable from the proxy's stable exit IP. For residential and mobile proxies, the exit node… - [Create a proxy](https://kernel.sh/docs/api-reference/proxies/create-a-proxy.md): Create a new proxy configuration for the caller's organization. - [Delete proxy by ID](https://kernel.sh/docs/api-reference/proxies/delete-proxy-by-id.md): Soft delete a proxy. Sessions referencing it are not modified. - [Get proxy by ID](https://kernel.sh/docs/api-reference/proxies/get-proxy-by-id.md): Retrieve a proxy belonging to the caller's organization by ID. - [List proxies](https://kernel.sh/docs/api-reference/proxies/list-proxies.md): List proxies owned by the caller's organization. - [Deploying](https://kernel.sh/docs/apps/deploy.md) - [Developing](https://kernel.sh/docs/apps/develop.md) - [Invoking](https://kernel.sh/docs/apps/invoke.md) - [Logs](https://kernel.sh/docs/apps/logs.md) - [Secrets](https://kernel.sh/docs/apps/secrets.md) - [Status](https://kernel.sh/docs/apps/status.md) - [Stopping](https://kernel.sh/docs/apps/stop.md) - [Credentials](https://kernel.sh/docs/auth/credentials.md): Automate authentication with stored credentials - [FAQ](https://kernel.sh/docs/auth/faq.md) - [Hosted UI](https://kernel.sh/docs/auth/hosted-ui.md): The simplest way to create authenticated browser sessions - [Overview](https://kernel.sh/docs/auth/overview.md): Maintain authenticated browser sessions for agents - [Profiles](https://kernel.sh/docs/auth/profiles.md): The primitive to persist and reuse browser session state (cookies, local storage) across browsers - [Programmatic Flow](https://kernel.sh/docs/auth/programmatic.md): Build your own credential collection UI with full control - [Overview](https://kernel.sh/docs/browsers/bot-detection/overview.md) - [Stealth Mode](https://kernel.sh/docs/browsers/bot-detection/stealth.md) - [Web Bot Auth](https://kernel.sh/docs/browsers/bot-detection/web-bot-auth.md): Cryptographically sign browser requests with Web Bot Auth - [Computer Controls](https://kernel.sh/docs/browsers/computer-controls.md): Control the computer's mouse, keyboard, and screen - [Create a Browser](https://kernel.sh/docs/browsers/create-a-browser.md): on-demand browsers for your agents - [Extensions](https://kernel.sh/docs/browsers/extensions.md): Use browser extensions in Kernel browsers - [FAQ](https://kernel.sh/docs/browsers/faq.md): Frequently asked questions about Kernel browsers - [File I/O](https://kernel.sh/docs/browsers/file-io.md): Downloads, uploads, and manipulating the browser's filesystem - [GPU Acceleration](https://kernel.sh/docs/browsers/gpu-acceleration.md) - [Headless Mode](https://kernel.sh/docs/browsers/headless.md) - [Live View](https://kernel.sh/docs/browsers/live-view.md) - [Performance](https://kernel.sh/docs/browsers/performance.md) - [Playwright Execution](https://kernel.sh/docs/browsers/playwright-execution.md): Execute Playwright code in the same VM as your browser - [FAQ](https://kernel.sh/docs/browsers/pools/faq.md) - [Overview](https://kernel.sh/docs/browsers/pools/overview.md): Pre-configure pools of reserved browsers for immediate acquisition - [custom chrome policies](https://kernel.sh/docs/browsers/pools/policy-json.md): Customize Chrome behavior in reserved browser pools using Chrome policies - [Scaling in Production](https://kernel.sh/docs/browsers/pools/scaling.md): Recommended practices for scaling - [Replays](https://kernel.sh/docs/browsers/replays.md): Record and view browser sessions as mp4 videos - [SSH Access](https://kernel.sh/docs/browsers/ssh.md): Open an interactive SSH session to a browser VM - [Standby Mode](https://kernel.sh/docs/browsers/standby.md) - [Termination & Timeouts](https://kernel.sh/docs/browsers/termination.md) - [Viewports](https://kernel.sh/docs/browsers/viewport.md): Configure browser viewport size and refresh rate for your automations - [Discord](https://kernel.sh/docs/community/discord.md) - [Github](https://kernel.sh/docs/community/github.md) - [batteries included](https://kernel.sh/docs/index.md) - [Concepts](https://kernel.sh/docs/info/concepts.md) - [Pricing & Limits](https://kernel.sh/docs/info/pricing.md) - [Projects](https://kernel.sh/docs/info/projects.md): Organize resources and isolate access within your Kernel organization - [Support](https://kernel.sh/docs/info/support.md) - [Browsers on Unikernels](https://kernel.sh/docs/info/unikernels.md) - [1Password](https://kernel.sh/docs/integrations/1password.md): Use credentials from your 1Password vaults for Managed Auth - [Agent Browser](https://kernel.sh/docs/integrations/agent-browser.md) - [Browser Use](https://kernel.sh/docs/integrations/browser-use.md) - [Claude Agent SDK](https://kernel.sh/docs/integrations/claude-agent-sdk.md) - [Anthropic](https://kernel.sh/docs/integrations/computer-use/anthropic.md) - [Gemini](https://kernel.sh/docs/integrations/computer-use/gemini.md) - [OpenAGI](https://kernel.sh/docs/integrations/computer-use/openagi.md) - [OpenAI](https://kernel.sh/docs/integrations/computer-use/openai.md) - [Tzafon](https://kernel.sh/docs/integrations/computer-use/tzafon.md) - [Yutori](https://kernel.sh/docs/integrations/computer-use/yutori.md) - [Laminar](https://kernel.sh/docs/integrations/laminar.md) - [Magnitude](https://kernel.sh/docs/integrations/magnitude.md) - [Notte](https://kernel.sh/docs/integrations/notte.md) - [Overview](https://kernel.sh/docs/integrations/overview.md) - [Stagehand](https://kernel.sh/docs/integrations/stagehand.md) - [Val Town](https://kernel.sh/docs/integrations/valtown.md) - [AI SDK Tool](https://kernel.sh/docs/integrations/vercel/ai-sdk.md): Build AI Agents with Kernel powered browser automation capabilities - [Marketplace Integration](https://kernel.sh/docs/integrations/vercel/marketplace.md): Integrate Kernel through the Vercel Marketplace - [Overview](https://kernel.sh/docs/integrations/vercel/overview.md): Integrate Kernel with Vercel for seamless browser automation in your web applications - [Vibium](https://kernel.sh/docs/integrations/vibium.md) - [Scrapybara](https://kernel.sh/docs/migrations/scrapybara.md) - [Custom Proxies](https://kernel.sh/docs/proxies/custom.md) - [Datacenter Proxies](https://kernel.sh/docs/proxies/datacenter.md) - [ISP Proxies](https://kernel.sh/docs/proxies/isp.md) - [Overview](https://kernel.sh/docs/proxies/overview.md) - [Residential Proxies](https://kernel.sh/docs/proxies/residential.md) - [Kernel CLI](https://kernel.sh/docs/reference/cli.md) - [Apps](https://kernel.sh/docs/reference/cli/apps.md) - [Authentication](https://kernel.sh/docs/reference/cli/auth.md) - [Browsers](https://kernel.sh/docs/reference/cli/browsers.md) - [Create Kernel App](https://kernel.sh/docs/reference/cli/create.md) - [Extensions](https://kernel.sh/docs/reference/cli/extensions.md) - [MCP](https://kernel.sh/docs/reference/cli/mcp.md) - [Projects](https://kernel.sh/docs/reference/cli/projects.md) - [MCP Server](https://kernel.sh/docs/reference/mcp-server.md): Access Kernel's cloud-based browsers via MCP ## OpenAPI Specs - [openapi.documented](https://app.stainless.com/api/spec/documented/kernel/openapi.documented.yml) - [browser](https://kernel.sh/docs/reference/browser.yaml) ## Optional - [Changelog](https://www.kernel.sh/changelog)