Skip to content
Browse docs

Panes docs

Files

PUT /v1/machines/{id}/files?path=<absolute Windows path> uploads raw bytes. A write lands whole or not at all and creates missing folders. GET the same URL downloads the file as bytes. URL-encode the path; do not put file contents into JSON.

curl --fail-with-body -sS -X PUT \
  "$PANES_API/v1/machines/$ID/files?path=C%3A%2Fwork%2Fdata.csv" \
  -H "Authorization: Bearer $PANES_API_KEY" --data-binary @data.csv
curl --fail-with-body -sS --get "$PANES_API/v1/machines/$ID/files" \
  -H "Authorization: Bearer $PANES_API_KEY" --data-urlencode 'path=C:/work/report.xlsx' -o report.xlsx

Use the API origin for large transfers. The local MCP bridge accepts at most 1 MiB per base64 file tool call; use HTTP or an SDK for larger files.