Dropzippa
Sign inCreate account

Features

Eight operations, applied durably.

A job is an ordered list of operations against folders the agent has been told it may touch. Everything below is enforced on the machine itself, not only at the API.

mkdir

Create a directory

Creates a directory inside a root, including any missing parents.

download

Fetch a file into a folder

Downloads a URL to a path inside a root. Supply an expected SHA-256 and the file is discarded rather than published if the bytes do not match.

copy

Copy a file or directory

Copies between two paths. Both sides are resolved independently, so a copy cannot read from outside a root any more than it can write outside one.

move

Move a file or directory

Moves between two paths. The source is removed only after the destination has been published.

unzip

Extract an archive

Extracts a .zip into a directory. Every entry path is validated against the destination before it is written, and entry count, uncompressed size and compression ratio are all capped.

zip

Create an archive

Compresses a directory inside a root into a .zip at another path inside a root.

write

Write file contents directly

Writes a base64 body to a path — for the small generated files, manifests and configs that are not worth hosting somewhere just to download again.

delete

Remove a file or directory

Deletes a path. Directories require an explicit recursive flag, and deletion has to be enabled per root, separately from writing.

Platform

The parts that matter when a job fails.

Delivering a file is easy until the network drops, the machine reboots, or the same request arrives twice.

Idempotency

Submit a job with an idempotency key and a retry after a timeout returns the original job instead of running the work twice. Reusing a key with a different body is rejected rather than silently accepted.

Leases and heartbeats

A claimed job is held under a lease that the agent renews while it works. If the machine dies, the lease expires and the job returns to the queue — bounded by an attempt cap so nothing retries forever.

Atomic publish

Writes are staged inside the destination root and moved into place only when the whole job succeeds. Same-volume renames mean a reader never sees a partly written file.

Job history

Every attempt is recorded with its outcome, and job history is retained for the window your plan includes, after the job row itself ages out.

Scoped API keys

Keys carry explicit scopes such as jobs:write and jobs:read. Read-only integrations never get the ability to submit work.

Live job stream

The dashboard follows jobs on a connected machine as their state changes, rather than making you poll for an outcome.

Try it on
one folder.

Create account