/home/instapod, /var/www, or /tmp.
List Files
Response:
200 OK
files array if the directory doesn’t exist.
Read a File
Response:
200 OK
Write a File
200 OK
Upload a File
multipart/form-data
Response:
200 OK
Download a File
Content-Disposition: attachment.
Delete a File
200 OK
Rename / Move
200 OK
Copy
200 OK
Create Folder
200 OK
mkdir -p).
Sync Endpoints
Three endpoints exist for uploading a whole project efficiently. They are whatinstapods deploy uses, and they’re documented here because anything that syncs a
directory wants the same three steps: compare cheaply, confirm what looks unchanged, then upload the
rest in one request.
File Manifest
path to bytes.
Response:
200 OK
files object, not a 404.
File Hashes
Response:
200 OK
hashes rather than reported as an
error. Treat an absent hash as “changed” and re-upload it; that’s the safe direction, and it’s what
the CLI does.
Upload an Archive
.tar.gz and extracts it into a directory on the pod, replacing what would otherwise be
one request per file.
Request: multipart/form-data
200 OK
/home/instapod is fixed up afterwards.
Path Validation
All paths must be:- Absolute (start with
/) - Within allowed directories:
/home/instapod,/var/www, or/tmp - Free of traversal (no
..segments)
400 Bad Request.