Skip to main content
POST
/
boxes
/
{boxId}
/
desktop
Get desktop streaming URL
curl --request POST \
  --url https://ascii.dev/api/box/v1/boxes/{boxId}/desktop \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "publicAccess": false
}
'
{ "ok": true, "type": "desktop.url", "success": true, "desktopUrl": "https://box-preview.example/vnc.html?_token=redacted", "ip": "203.0.113.10", "mode": "vnc" }

Authorizations

Authorization
string
header
required

Box API key in the form box_.... Create and rotate keys in the Box dashboard or through the v1 API key endpoints.

Path Parameters

boxId
string
required

Public Box id returned by create/list/get box calls.

Pattern: ^bx_[23456789abcdefghjkmnpqrstuvwxyz]{8}$

Query Parameters

vnc
enum<integer>

Use VNC/noVNC streaming mode.

Available options:
1
theme
enum<string>

Desktop streaming theme for non-VNC mode.

Available options:
light,
dark

Body

application/json

Optional desktop/VNC setup options used by the Box dashboard and CLI. Most callers send an empty body.

publicAccess
boolean
default:false

For ?vnc=1, return a noVNC URL that does not require an access token.

Response

Desktop streaming URL, or provisioning state for VNC setup.

ok
boolean
required
Example:

true

type
string
required

Stable success envelope discriminator added by v1.

Example:

"desktop.url"

success
boolean
desktopUrl
string<uri> | null

Secret-bearing desktop or noVNC URL. Redact from logs.

ip
string | null
mode
string
Example:

"vnc"

provisioning
boolean

For ?vnc=1, true means VNC is still being prepared; poll again.

message
string