Skip to main content
GET
/
v1
/
sandboxes
/
{id}
/
desktop
/
viewer
/
ws
Upgrade to the managed desktop viewer websocket bridge
import requests

url = "https://api.13-215-85-171.sslip.io/v1/sandboxes/{id}/desktop/viewer/ws"

response = requests.get(url)

print(response.text)
{
  "error": "<string>",
  "error_detail": {
    "message": "<string>",
    "retryable": true,
    "suggested_action": "<string>",
    "step_index": 123,
    "attempt": 123,
    "max_attempts": 123,
    "cache_subject": "<string>",
    "build_id": "<string>",
    "request_id": "<string>",
    "details": {}
  },
  "request_id": "<string>",
  "build_id": "<string>"
}

Path Parameters

id
string
required

Sandbox ID (e.g. sb_a1b2c3d4)

Query Parameters

auth
string
required

Short-lived managed desktop viewer auth token returned by /desktop/stream/start, /desktop/stream/auth-key, or /desktop/viewer/session.

Response

WebSocket upgrade for the managed viewer bridge. The route requires the managed-session auth query token. For sessions started with view_only=true, interactive RFB client messages are filtered server-side before they reach the guest VNC socket. In edge mode the websocket bridge is edge-owned and forwards through the assigned private host-agent instead of the API-local bridge. The browser viewer page is expected to renew its session through /desktop/viewer/session before reconnecting here after a drop.