Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.getnen.ai/llms.txt

Use this file to discover all available pages before exploring further.

Each cloud desktop has a per-desktop shared drive backed by EFS. Files persist across controller rebinds, are scoped to the desktop (no cross-desktop visibility), and uploads are capped at 100 MiB.

List Files

nen desktop files list dsk_abc123def456
NAME              SIZE      MODIFIED
report.pdf        102400    just now
notes.txt         512       2m ago
Pass -q for names only, or --json for the structured form.

API

curl -H "Authorization: Bearer sk_nen_..." \
  "https://desktop.api.getnen.ai/desktops/dsk_abc123def456/files"
{"files":[{"name":"report.pdf","size":102400,"modified":1779229492.703}]}

Upload a File

nen desktop files upload dsk_abc123def456 ./report.pdf
The remote name defaults to the basename of the local path; override with --name. Content-Type is detected from the file extension and falls back to application/octet-stream.

API

curl -X POST -H "Authorization: Bearer sk_nen_..." \
  -H "Content-Type: application/pdf" \
  --data-binary @./report.pdf \
  "https://desktop.api.getnen.ai/desktops/dsk_abc123def456/files/report.pdf"
{"success":true,"size":102400,"filename":"report.pdf"}

Download a File

nen desktop files download dsk_abc123def456 report.pdf
By default writes to ./<name>; pass --output <path> (or -o - for stdout), or --force to overwrite.

API

curl -H "Authorization: Bearer sk_nen_..." \
  -o report.pdf \
  "https://desktop.api.getnen.ai/desktops/dsk_abc123def456/files/report.pdf"

Lifecycle

The per-desktop drive subdirectory is created on first connection to the desktop and reaped synchronously when the desktop is destroyed.
Files persist across controller task rebinds, but they do not persist past a desktop destroy. Treat the drive as scoped to the desktop’s lifetime.

Limits

  • Uploads are capped at 100 MiB per file (server-enforced).
  • The namespace is flat — no nested directories.
  • File names cannot contain path separators (/, \) or ...
  • Files persist across controller task replacements on the warm pool.

Next Steps

Manage Desktops

List, inspect, and delete cloud desktops

Desktop SDKs

upload_file / download_file / list_files in Python, JS, and Go