Skip to content
Dashboard

Computers

List computers
client.computers.list(ComputerListParams { type } query?, RequestOptionsoptions?): ComputerListResponse { id, auto_kill, created_at, 8 more }
GET/computers
Create a new computer instance
client.computers.create(ComputerCreateParams { auto_kill, context_id, display, 7 more } body?, RequestOptionsoptions?): ComputerResponse { id, auto_kill, created_at, 8 more }
POST/computers
Get computer status
client.computers.retrieve(stringid, RequestOptionsoptions?): ComputerResponse { id, auto_kill, created_at, 8 more }
GET/computers/{id}
Terminate computer
client.computers.delete(stringid, RequestOptionsoptions?): void
DELETE/computers/{id}
Execute multiple actions
client.computers.batch(stringid, ComputerBatchParams { actions } body, RequestOptionsoptions?): ComputerBatchResponse
POST/computers/{id}/batch
Change proxy settings
client.computers.changeProxy(stringid, ComputerChangeProxyParams { proxy_url } body, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
POST/computers/{id}/change-proxy
Click at coordinates
client.computers.click(stringid, ComputerClickParams { tab_id, x, y } body, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
POST/computers/{id}/click
Execute debug command
client.computers.debug(stringid, ComputerDebugParams { command, max_output_length, tab_id, timeout_seconds } body, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
POST/computers/{id}/debug
Double-click at coordinates
client.computers.doubleClick(stringid, ComputerDoubleClickParams { tab_id, x, y } body, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
POST/computers/{id}/double-click
Click and drag
client.computers.drag(stringid, ComputerDragParams { tab_id, x1, x2, 2 more } body, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
POST/computers/{id}/drag
Stream events
client.computers.retrieveEvents(stringid, RequestOptionsoptions?): void
GET/computers/{id}/events
Execute single action
client.computers.execute(stringid, ComputerExecuteParams { action } body, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
POST/computers/{id}/execute
Press hotkey combination
client.computers.hotkey(stringid, ComputerHotkeyParams { keys, tab_id } body, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
POST/computers/{id}/hotkey
Get page HTML
client.computers.html(stringid, ComputerHTMLParams { auto_detect_encoding, tab_id } body?, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
POST/computers/{id}/html
Keep computer alive
client.computers.keepalive(stringid, RequestOptionsoptions?): ComputerKeepaliveResponse
POST/computers/{id}/keepalive
Press and hold key
client.computers.keyDown(stringid, ComputerKeyDownParams { key, tab_id } body, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
POST/computers/{id}/key-down
Release held key
client.computers.keyUp(stringid, ComputerKeyUpParams { key, tab_id } body, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
POST/computers/{id}/key-up
Press and hold mouse button
client.computers.mouseDown(stringid, ComputerMouseDownParams { tab_id, x, y } body, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
POST/computers/{id}/mouse-down
Release mouse button
client.computers.mouseUp(stringid, ComputerMouseUpParams { tab_id, x, y } body, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
POST/computers/{id}/mouse-up
Navigate to URL
client.computers.navigate(stringid, ComputerNavigateParams { tab_id, url } body, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
POST/computers/{id}/navigate
Right-click at coordinates
client.computers.rightClick(stringid, ComputerRightClickParams { tab_id, x, y } body, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
POST/computers/{id}/right-click
Stream screencast frames
client.computers.retrieveScreencast(stringid, RequestOptionsoptions?): void
GET/computers/{id}/screencast
Capture screenshot
client.computers.screenshot(stringid, ComputerScreenshotParams { base64, tab_id } body?, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
POST/computers/{id}/screenshot
Scroll viewport
client.computers.scroll(stringid, ComputerScrollParams { dx, dy, tab_id, 2 more } body, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
POST/computers/{id}/scroll
Get computer status (TTL)
client.computers.retrieveStatus(stringid, RequestOptionsoptions?): ComputerRetrieveStatusResponse { id, auto_kill, created_at, 6 more }
GET/computers/{id}/status
Type text
client.computers.type(stringid, ComputerTypeParams { tab_id, text } body, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
POST/computers/{id}/type
Set viewport size
client.computers.viewport(stringid, ComputerViewportParams { height, scale_factor, tab_id, width } body, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
POST/computers/{id}/viewport
WebSocket connection
client.computers.retrieveWs(stringid, RequestOptionsoptions?): void
GET/computers/{id}/ws
ModelsExpand Collapse
ActionResult { error_message, executed_tab_id, page_context, 4 more }
error_message?: string
executed_tab_id?: string
page_context?: V2GoBackendInternalTypesPageContext { device_scale_factor, is_main_tab, page_height, 8 more }
device_scale_factor?: number
is_main_tab?: boolean
page_height?: number
page_width?: number
scroll_x?: number
scroll_y?: number
tab_id?: string
title?: string
url?: string
viewport_height?: number
viewport_width?: number
request_id?: string
result?: Record<string, unknown>
status?: string
timestamp?: string
ComputerAction { auto_detect_encoding, base64, button, 22 more }
auto_detect_encoding?: boolean

For get_html_content

base64?: boolean

For screenshot

button?: string
debug?: Debug { command, cwd, env, 4 more }
command?: string
cwd?: string
env?: Record<string, string>
max_output_length?: number
request_id?: string
stream?: boolean
timeout_seconds?: number
dx?: number

For scrolling

dy?: number
height?: number
include_context?: boolean

Include page context in response

key?: string

For key_down/key_up

keys?: Array<string>
ms?: number
proxy_url?: string
request_id?: string

RequestId is used for correlating streaming output to the originating request. Set on ActionRequest, not individual action types.

scale_factor?: number
tab_id?: string

For tab management (browser sessions only)

text?: string
type?: string

click|double_click|right_click|drag|type|keypress|scroll|wait|screenshot|go_to_url|debug|get_html_content|set_viewport|list_tabs|new_tab|switch_tab|close_tab|key_down|key_up|mouse_down|mouse_up

url?: string
width?: number

For set_viewport

x?: number
x1?: number

For dragging/scrolling

x2?: number

For dragging

y?: number
y1?: number
y2?: number
ComputerResponse { id, auto_kill, created_at, 8 more }
id?: string
auto_kill?: boolean
created_at?: string
endpoints?: Record<string, string>
expires_at?: string
idle_expires_at?: string
inactivity_timeout_seconds?: number
kind?: string
last_activity_at?: string
max_lifetime_seconds?: number
status?: string
V2GoBackendInternalTypesPageContext { device_scale_factor, is_main_tab, page_height, 8 more }
device_scale_factor?: number
is_main_tab?: boolean
page_height?: number
page_width?: number
scroll_x?: number
scroll_y?: number
tab_id?: string
title?: string
url?: string
viewport_height?: number
viewport_width?: number

ComputersExec

Execute command (streaming)
client.computers.exec.create(stringid, ExecCreateParams { command, cwd, env, timeout_seconds } body, RequestOptionsoptions?): ExecCreateResponse { code, data, message, type } | Stream<ExecCreateResponse { code, data, message, type } >
POST/computers/{id}/exec
Execute command (synchronous)
client.computers.exec.sync(stringid, ExecSyncParams { command, cwd, env, timeout_seconds } body, RequestOptionsoptions?): ExecSyncResponse { exit_code, stderr, stdout }
POST/computers/{id}/exec/sync

ComputersTabs

List all tabs
client.computers.tabs.list(stringid, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
GET/computers/{id}/tabs
Create new tab
client.computers.tabs.create(stringid, TabCreateParams { url } body?, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
POST/computers/{id}/tabs
Close tab
client.computers.tabs.delete(stringtabID, TabDeleteParams { id } params, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
DELETE/computers/{id}/tabs/{tab_id}
Switch to tab
client.computers.tabs.switch(stringtabID, TabSwitchParams { id } params, RequestOptionsoptions?): ActionResult { error_message, executed_tab_id, page_context, 4 more }
POST/computers/{id}/tabs/{tab_id}/switch