# Glasswarp > API for real-time visual access and native input control on Windows machines you already own. See any screen. Control any PC. ## Docs - [Glasswarp](https://docs.glasswarp.com/index.md): The transport layer between your agent and Windows computers — eyes, hands, and a safe session. You bring the brain. For automators already doing no-API desktop work. - [Quickstart](https://docs.glasswarp.com/quickstart.md): Go from zero to a live Windows session in minutes. - [Connect via MCP](https://docs.glasswarp.com/get-started/mcp.md): Give Claude, Cursor, or any MCP client eyes and hands on a Windows PC you or your client already own — no integration code. - [Use with n8n](https://docs.glasswarp.com/guides/n8n.md): When an n8n workflow hits a Windows app with no connector, Glasswarp is that step — HTTP Request, not a community node. - [Setup for Agents](https://docs.glasswarp.com/setup-for-agents.md): Paste one prompt into your coding agent and let it wire Glasswarp into your project. - [Install the SDK](https://docs.glasswarp.com/get-started/install-sdk.md): Add the Glasswarp Python SDK to your project. - [Install the host agent](https://docs.glasswarp.com/get-started/install-host.md): Put Glasswarp on a Windows PC. The PC owner does not need a Glasswarp account. - [Pair a PC](https://docs.glasswarp.com/get-started/pair-rig.md): Bind a Windows machine to your Glasswarp account. The PC owner does not log in. - [Your first session](https://docs.glasswarp.com/get-started/first-session.md): Start a session, observe UIA targets, click by name, and clean up. - [Eyes and hands](https://docs.glasswarp.com/concepts/eyes-and-hands.md): The one idea behind Glasswarp — and the line between platform and agent. - [Rigs and sessions](https://docs.glasswarp.com/concepts/rigs-and-sessions.md): The two core objects: the machine and the connection to it. - [Vision](https://docs.glasswarp.com/concepts/vision.md): How your agent sees the screen — screenshots, observe, and dirty rects. - [Grounding](https://docs.glasswarp.com/concepts/grounding.md): Click targets, not guessed pixels. - [Safety and consent](https://docs.glasswarp.com/concepts/safety-and-consent.md): Consent, observability, encryption, and what Glasswarp can and cannot see. - [Observe the screen](https://docs.glasswarp.com/guides/observe.md): Capture frames, regions of interest, text summaries, and only what changed. - [Send input](https://docs.glasswarp.com/guides/input.md): Native Win32 clicks, typing, keys, drags, and scrolls. - [Launch apps](https://docs.glasswarp.com/guides/launch-apps.md): Spawn and drive Windows applications from your session. - [Live View](https://docs.glasswarp.com/guides/live-view.md): Watch any session at 60fps and keep humans in the loop. - [Safe agent sessions](https://docs.glasswarp.com/guides/safe-agent-sessions.md): Simple checklist for running agents on real Windows PCs. - [Keep a rig awake](https://docs.glasswarp.com/guides/keep-rig-awake.md): Keep Windows reachable for agent and remote sessions while allowing the screen to rest. - [Build an agent loop](https://docs.glasswarp.com/guides/agent-loop.md): observe → think → act → verify after each meaningful step. - [Ways to run agents](https://docs.glasswarp.com/guides/ways-to-run-agents.md): Three ways to drive a rig: n8n HTTP Request, chat-driven MCP, or a scaffolded SDK agent — plus pre-built demos. - [Session webhooks](https://docs.glasswarp.com/guides/webhooks.md): HTTPS callbacks when API sessions start and end — for ops alerts and agent orchestration. - [Templates](https://docs.glasswarp.com/examples/templates.md): Outcome-named starters: observe → think → act → verify on a real Windows PC. - [Paint: draw the wordmark](https://docs.glasswarp.com/examples/paint.md): An agent draws a bold, hollow GLASSWARP wordmark in Paint on real Windows. - [Mona Lisa: precise drags in Paint](https://docs.glasswarp.com/examples/mona-lisa.md): An agent paints a ~40×60 / 18-color Mona Lisa mosaic in Paint and saves it to the Desktop. - [Notepad: UIA targets + type](https://docs.glasswarp.com/examples/notepad.md): An agent launches Notepad, finds the edit surface via UIA, and types. - [Minesweeper: agent loop + grounding](https://docs.glasswarp.com/examples/minesweeper.md): An agent plays Google Minesweeper on a real Windows PC — observe → think → act → verify. - [Grounding: observe + Set-of-Mark](https://docs.glasswarp.com/examples/grounding.md): Turn a frame into numbered targets a vision model can click by id. - [Troubleshooting](https://docs.glasswarp.com/troubleshooting.md): Common failures and how to fix them fast. - [API reference](https://docs.glasswarp.com/api-reference/overview.md): The Glasswarp Platform API — real-time vision and native input on Windows. - [Latest host agent release (auto-update)](https://docs.glasswarp.com/api-reference/agent/latest-host-agent-release-auto-update.md): Public. Windows host agents poll this when idle to download a newer signed zip. See `docs/AGENT_AUTO_UPDATE.md`. - [List rigs](https://docs.glasswarp.com/api-reference/rigs/list-rigs.md): List all rigs on your account with online status and capabilities. - [Get rig details](https://docs.glasswarp.com/api-reference/rigs/get-rig-details.md): Get details and capabilities for a specific rig. - [List active sessions](https://docs.glasswarp.com/api-reference/sessions/list-active-sessions.md): List all active sessions for the authenticated API key. - [Create a session](https://docs.glasswarp.com/api-reference/sessions/create-a-session.md): Start a new desktop session on a rig. The rig must be online and have API access enabled by the owner. - [Get session details](https://docs.glasswarp.com/api-reference/sessions/get-session-details.md): Get the status, duration, and action count for a session. - [End a session](https://docs.glasswarp.com/api-reference/sessions/end-a-session.md): End a session. Triggers safety_restore on the host (restores desktop state, disarms input). - [Take a screenshot](https://docs.glasswarp.com/api-reference/screenshots/take-a-screenshot.md): Return a JPEG of the current desktop from the host's last-frame buffer (DXGI capture, not VNC). Capture is always native resolution (including 4K). Use `max_width` / `quality` to downscale on the host for faster LLM ingest. Response headers include both JPEG size and native desktop size for click co… - [Get accumulated dirty rectangles](https://docs.glasswarp.com/api-reference/screenshots/get-accumulated-dirty-rectangles.md): Returns DXGI `GetFrameDirtyRects` accumulated since the last poll, in capture-buffer coordinates `[x, y, w, h]`. When `available` is false (GDI capture fallback), dirty metadata is absent — treat as assume changed, never as "no change". Empty `rects` with `available: true` means no visual change. Pa… - [Observe: frame, changes, and click targets in one round trip](https://docs.glasswarp.com/api-reference/screenshots/observe:-frame-changes-and-click-targets-in-one-round-trip.md): One-round-trip agent observe: JPEG (same options as screenshot), dirty rects take, and sparse click targets from the host UI Automation snapshot. Response includes structured `text` (window title + readable target lines), `changed` (false only when DXGI dirty is available and empty; true when dirty… - [List click targets (grounding v1)](https://docs.glasswarp.com/api-reference/grounding/list-click-targets-grounding-v1.md): Sparse click targets in native capture coords from the host focused-window UI Automation snapshot. Empty if UIA finds nothing or the host is unavailable. Clients may still inject CV/grid targets via the SDK. - [Get live stream connection](https://docs.glasswarp.com/api-reference/streaming/get-live-stream-connection.md): Get WebRTC signaling credentials for a live 60fps video stream of the remote desktop. Returns a one-time connect URL — open a WebSocket to it, send an SDP OFFER, and receive an ANSWER to start receiving H.264 video over WebRTC. - [Launch an application on the rig](https://docs.glasswarp.com/api-reference/apps/launch-an-application-on-the-rig.md): Spawn a process on the host by absolute path or PATH name (e.g. `notepad.exe`). Does not enter Game Mode shell/display policy — desktop API session stays active. Returns the new PID. Tracked apps are killed on session end or via `/app/kill`. - [Kill apps launched in this session](https://docs.glasswarp.com/api-reference/apps/kill-apps-launched-in-this-session.md): Terminate processes previously spawned via `/app/launch`. Omit `pid` to kill all session-launched apps; pass `pid` to kill one. Uses `taskkill /T /F` with protected-process guards. - [Send input events](https://docs.glasswarp.com/api-reference/input/send-input-events.md): Send mouse and keyboard events to the remote desktop. Events are executed in order on the host. Optional per-event `delay_ms` pauses between events. - [List API keys](https://docs.glasswarp.com/api-reference/api-keys/list-api-keys.md): List all active API keys (prefix only — full key is never stored). - [Create an API key](https://docs.glasswarp.com/api-reference/api-keys/create-an-api-key.md): Create a new API key. The full key is returned once in the response and never stored — only a SHA-256 hash is persisted. - [Revoke an API key](https://docs.glasswarp.com/api-reference/api-keys/revoke-an-api-key.md): Immediately revoke an API key. Existing sessions are not affected. - [List session webhooks](https://docs.glasswarp.com/api-reference/webhooks/list-session-webhooks.md): List outbound HTTPS endpoints that receive `session.started` and `session.ended` events. Secrets are never returned on list. Management auth: console JWT (not API keys). - [Create a session webhook](https://docs.glasswarp.com/api-reference/webhooks/create-a-session-webhook.md): Register a public HTTPS endpoint. Management uses the **console JWT** (same as `/v1/keys`) — API keys (`gw_*`) cannot create webhooks. - [Delete a session webhook](https://docs.glasswarp.com/api-reference/webhooks/delete-a-session-webhook.md) ## OpenAPI Specs - [openapi](https://docs.glasswarp.com/openapi.yaml)