Skip to main content
GET
Observe: frame, changes, and click targets in one round trip

Authorizations

Authorization
string
header
required

API key in the format gw_(live|test)_sk_<hex>

Path Parameters

sessionId
string
required

Query Parameters

max_width
integer
Example:

1280

quality
integer
Required range: 40 <= x <= 100
x
integer
y
integer
w
integer
h
integer
mark
enum<integer>

Request SoM marking when host targets are non-empty (ignored when image=0)

Available options:
0,
1
image
enum<integer>
default:1

Set to 0 for text/targets-only observe (no JPEG). Use for simple verification — did the dialog close? is the field focused?

Available options:
0,
1

Response

Observe payload

width
integer
height
integer
native_width
integer
native_height
integer
timestamp
integer
jpeg_base64
string<byte>

Omitted when image=0 (text/targets-only observe)

dirty
object | null

Accumulated DXGI dirty rects since the last take, or null when dirty metadata is unavailable (GDI capture fallback). Never a synthesized full-frame rect. Null ⇒ agents should assume changed.

changed
boolean

False only when DXGI dirty was available and empty. True when dirty is null/unavailable (assume changed) or when rects exist.

capture_mode
enum<string>

Host API capture path (updates mid-session on DXGI loss → GDI fallback)

Available options:
dxgi,
gdi,
gdi_fallback,
unknown
targets
object[]
text
object

Compact structured text for agent decisions without image tokens

marked
boolean
timing
object

Server-side timing for this observe (milliseconds). Host fields are null until the paired host daemon reports them.