My upload is rejected (400 / 413)
Q: The deploy API answers 400 “Invalid upload” or 413. What’s wrong with my archive?
The deploy API only accepts a tar (optionally gzipped) of plain, rendered files. It rejects anything that could be unsafe to extract:
- symlinks and hardlinks — ship the real files instead,
- absolute paths or
..inside the archive, - device/special files.
Rules of thumb:
- Your site must sit at the root of the archive —
index.html, notdist/index.html.deploy.shdoes this correctly viatar -C dist .. - Limits: 200 MiB compressed upload (413 above that), 512 MiB uncompressed, 50,000 files.
A 409 instead means your site isn’t ready to receive deploys yet (it is
still provisioning or suspended) — check its status in the dashboard.