Skip to content
pols.so docs
Esc
↑↓navigate↵open⌘Jpreview

Get a link to the sandbox's desktop in the browser (noVNC)

A link to the sandbox’s noVNC desktop at https://<sandbox>-desktop.<sandbox domain>/#<token>. The token is in the URL fragment, which browsers do not send to servers: the edge’s desktop page reads it and presents it when it opens the desktop’s WebSocket, so it appears in no request URL and sets no cookie. The link opens and reconnects the desktop until expires_at (12 hours), while the sandbox keeps running and the API key that made it is not revoked; stopping the sandbox ends it, even after a resume. The sandbox must be running. Whoever has the link can use the desktop’s mouse and keyboard: treat it like a password.

POST/v1/sandboxes/{sandbox}/desktop
Authorization
AuthorizationBearer token · headerrequired

Org-scoped API key, pols_....

Path parameters
sandboxstringrequired

Sandbox ID (sbx_...) or name.

Responses
201

The desktop link.

urlstringrequired

The link, including its token (a query parameter for a port, the fragment for the desktop).

expires_atstring<date-time>required

For a port, open the link before this time; the desktop link works until then.

429

Rate limited (rate_limited): too many requests or failed authentications from this address, too many requests or lifecycle calls for this org, or too many of its exec, file, computer and CDP calls in progress at once. Retry after Retry-After seconds.

errorobjectrequired
Show properties
codestringrequired

Stable machine-readable code: bad_request (400), unauthorized (401), forbidden (403), quota_exceeded (403), not_found (404), conflict (409), rate_limited (429, see Retry-After), internal (500), runtime_error (502, the sandbox host failed), unavailable (503, the feature is not configured on this deployment), timeout (504, or 408 when a request body stalls).

messagestringrequired
default

Error.

errorobjectrequired
Show properties
codestringrequired

Stable machine-readable code: bad_request (400), unauthorized (401), forbidden (403), quota_exceeded (403), not_found (404), conflict (409), rate_limited (429, see Retry-After), internal (500), runtime_error (502, the sandbox host failed), unavailable (503, the feature is not configured on this deployment), timeout (504, or 408 when a request body stalls).

messagestringrequired
Request
curl -X POST 'https://api.pols.so/v1/sandboxes/string/desktop' \
  -H 'Authorization: Bearer YOUR_TOKEN'
Response
{
  "url": "https://sbx-3k9x2m1q8zt4-8080.on.pols.so/?pols_token=plink_...",
  "expires_at": "2019-08-24T14:15:22Z"
}