import requests
url = "https://api.13-215-85-171.sslip.io/v1/machines/{id}/desktop/viewer"
response = requests.get(url)
print(response.text)curl --request GET \
--url https://api.13-215-85-171.sslip.io/v1/machines/{id}/desktop/viewer"<string>"{
"error": "<string>",
"code": "invalid_request",
"error_detail": {
"code": "unauthorized",
"message": "<string>",
"phase": "auth",
"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>"
}Get the managed desktop viewer page
import requests
url = "https://api.13-215-85-171.sslip.io/v1/machines/{id}/desktop/viewer"
response = requests.get(url)
print(response.text)curl --request GET \
--url https://api.13-215-85-171.sslip.io/v1/machines/{id}/desktop/viewer"<string>"{
"error": "<string>",
"code": "invalid_request",
"error_detail": {
"code": "unauthorized",
"message": "<string>",
"phase": "auth",
"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
Machine ID (e.g. mch_a1b2c3d4)
Query Parameters
Short-lived managed desktop viewer auth token returned by /desktop/stream/start, /desktop/stream/auth-key, or /desktop/viewer/session.
Response
Browser viewer HTML for the managed desktop session. In NULLSPACE_PUBLIC_INGRESS_MODE=edge, the production viewer_url is edge-owned and same-origin with the edge desktop host; api_compat serving is limited to local, single-host OSS, or explicitly gated operator-debug compatibility. The route still requires the managed-session auth query token, honors the session's view_only mode, and self-renews through the public /desktop/viewer/session route instead of using the authenticated /desktop/stream/auth-key route. When the auth token is expired, replaced, stopped, or otherwise stale, the route still returns the HTML shell and boots the page into a terminal viewer state instead of returning a raw JSON auth error.
The response is of type string.