---
title: "Get desktop streaming URL"
method: POST
path: "/boxes/{boxId}/desktop"
tags: ["Box"]
---

# Get desktop streaming URL

`POST /boxes/{boxId}/desktop`

Create or fetch a secret-bearing desktop/noVNC URL for live computer-use visibility. Use `?vnc=1` for noVNC; a `provisioning: true` response means poll again.

## Path parameters

- `boxId` string, required

## Query parameters

- `vnc` 1
- `theme` 'light' | 'dark'

## Request body

- DesktopRequest — Optional desktop/VNC setup options used by the Box dashboard and CLI. Most callers send an empty body.
  - `publicAccess` boolean — For `?vnc=1`, return a noVNC URL that does not require an access token.

## Response `200`

Desktop streaming URL, or provisioning state for VNC setup.

- DesktopResponse
  - `ok` boolean, required
  - `type` string, required — Stable success envelope discriminator added by v1.
  - `success` boolean
  - `desktopUrl` string, uri, nullable — Secret-bearing desktop or noVNC URL. Redact from logs.
  - `ip` string, nullable
  - `mode` string
  - `provisioning` boolean — For `?vnc=1`, true means VNC is still being prepared; poll again.
  - `message` string

## Other responses

- `400` — Invalid request body or parameters.
- `401` — Missing or invalid bearer token.
- `402` — Account cannot currently create or operate Boxes. The error body may include a dashboard billing URL, but billing actions are not part of the v1 API.
- `404` — Resource not found.

---

[API](https://skmtc.dev/ascii/apis/box-public-api-v1.md) · [All operations](https://skmtc.dev/ascii/apis/box-public-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ascii/box-public-api-v1/revisions/82d576f82046/schema)
