> ## Documentation Index
> Fetch the complete documentation index at: https://docs.glasswarp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Observe (JPEG + dirty + targets) in one RTT (VP0.5 grounding)

> One-round-trip agent observe: JPEG (same options as screenshot),
dirty rects take, and sparse click targets from host UIA (P8).
SDK applies Set-of-Mark when `mark=1` and targets are present.
Coords are native capture space.




## OpenAPI

````yaml /openapi.yaml get /v1/sessions/{sessionId}/observe
openapi: 3.1.0
info:
  title: Glasswarp Platform API
  version: 1.0.0
  description: >
    Real-time visual access and native input control on Windows machines.

    See any screen. Control any PC. One API.


    ## Authentication


    All `/v1/*` endpoints require a bearer token:


    ```

    Authorization: Bearer gw_live_sk_...

    ```


    API keys are created in the [Console](/console/keys).

    Keys are scoped to your account and can access any rig with API access
    enabled.


    ## Base URL


    `https://signal.glasswarp.com`
  contact:
    name: Glasswarp
    url: https://glasswarp.com
  license:
    name: Proprietary
servers:
  - url: https://signal.glasswarp.com
    description: Production
security:
  - apiKey: []
paths:
  /v1/sessions/{sessionId}/observe:
    get:
      tags:
        - Screenshots
        - Grounding
      summary: Observe (JPEG + dirty + targets) in one RTT (VP0.5 grounding)
      description: |
        One-round-trip agent observe: JPEG (same options as screenshot),
        dirty rects take, and sparse click targets from host UIA (P8).
        SDK applies Set-of-Mark when `mark=1` and targets are present.
        Coords are native capture space.
      operationId: observeSession
      parameters:
        - name: sessionId
          in: path
          required: true
          schema:
            type: string
        - name: max_width
          in: query
          schema:
            type: integer
            example: 1280
        - name: quality
          in: query
          schema:
            type: integer
            minimum: 40
            maximum: 100
        - name: x
          in: query
          schema:
            type: integer
        - name: 'y'
          in: query
          schema:
            type: integer
        - name: w
          in: query
          schema:
            type: integer
        - name: h
          in: query
          schema:
            type: integer
        - name: mark
          in: query
          schema:
            type: integer
            enum:
              - 0
              - 1
          description: Request SoM marking when host targets are non-empty
      responses:
        '200':
          description: Observe payload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObserveResult'
        '504':
          description: Screenshot timed out
components:
  schemas:
    ObserveResult:
      type: object
      properties:
        width:
          type: integer
        height:
          type: integer
        native_width:
          type: integer
        native_height:
          type: integer
        timestamp:
          type: integer
        jpeg_base64:
          type: string
          format: byte
        dirty:
          type: object
          properties:
            width:
              type: integer
            height:
              type: integer
            rects:
              type: array
              items:
                type: array
                items:
                  type: integer
        targets:
          type: array
          items:
            $ref: '#/components/schemas/GroundingTarget'
        marked:
          type: boolean
    GroundingTarget:
      type: object
      required:
        - id
        - x
        - 'y'
        - w
        - h
      properties:
        id:
          type: string
          description: Stable id for click_target / SoM mark
        x:
          type: integer
          description: Native capture origin X
        'y':
          type: integer
          description: Native capture origin Y
        w:
          type: integer
        h:
          type: integer
        role:
          type: string
          example: button
        name:
          type: string
          example: Submit
        source:
          type: string
          enum:
            - uia
            - cv
            - grid
            - client
          description: Where the target came from
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: API key in the format `gw_(live|test)_sk_<hex>`

````