Gateway API
Every Murable computer exposes one token-gated gateway. Point your agent at it and drive the machine with Computer Use and Browser Use commands — no coordinates required for menu items, a structured element tree when you need to see, and a standard Chrome DevTools endpoint for the browser.
Authentication
The gateway is reached through the panel proxy, which keeps a stable address and wakes a stopped machine on the next request. Authenticate every call with your gateway key as a bearer token.
Base URL https://app.murable.ai/gw/{computer_id}
Authorization: Bearer <gateway_key>
GET https://app.murable.ai/gw/{computer_id}/computer/tree. Your gateway key is shown in the panel and can be regenerated there. Access is only through this gateway; raw CDP is not exposed to the open internet.Endpoint reference
| Method | Path | Description |
|---|---|---|
| GET | /computer/tree?app=… | structured element tree {role,name,bbox,text} — cheap, preferred |
| POST | /computer/capture | screenshot PNG — fallback when the tree is not enough |
| Method | Path | Description |
|---|---|---|
| POST | /computer/click_element | click a menu/dialog item by {name} — no coordinates |
| POST | /computer/click | click at {x,y} |
| POST | /computer/double_click | double-click at {x,y} |
| POST | /computer/move | move cursor to {x,y} |
| POST | /computer/type | type {text} |
| POST | /computer/key | press {key} — "Enter", "ctrl+c" |
| POST | /computer/drag | drag {start_x,start_y,end_x,end_y} |
| POST | /computer/scroll | scroll {direction,amount} |
| POST | /computer/wait | pause {seconds} (≤60) |
| GET | /computer/windows | list open windows |
| POST | /computer/focus | focus a window {app} |
| Method | Path | Description |
|---|---|---|
| POST | /computer/bash | run a shell command {command} (user abc) |
| POST | /computer/exec | run Python {code} |
| GET | /files/list?path=… | list a directory |
| GET | /files/read?path=… | read raw file bytes |
| POST | /files/write | write a file {path, content | content_b64} |
| DELETE | /files/delete?path=… | delete a file / directory |
| Method | Path | Description |
|---|---|---|
| CDP | /cdp/<key> | Chrome DevTools endpoint — /browser connect or Playwright --cdp-endpoint |
Browser Use over CDP
The gateway exposes the built-in cloud browser through a standard Chrome DevTools Protocol (CDP) endpoint at /cdp/<gateway_key>. CDP runs over a WebSocket, so any tooling that speaks it connects unchanged — attach Playwright with connectOverCDP (or --cdp-endpoint), Puppeteer with connect({ browserWSEndpoint }), or a Browser Use /browser connect. Because the connection is proxied through the gateway, the same bearer key gates it and the machine wakes on demand.