Overview
Zips are the core of ZipKit - they represent jobs that fetch files from remote URLs, bundle them into a zip archive, and store the result in your cloud storage bucket.How Zip Creation Works
When you create a zip, ZipKit performs these steps asynchronously:- Validates your request (bucket exists, URLs are valid)
- Downloads each file from the provided URLs
- Creates a zip archive containing all downloaded files
- Uploads the zip to your configured cloud storage bucket
- Sends a webhook notification (if configured)
Zip Lifecycle
A zip job progresses through these statuses:none
Initial state when the zip is first created. The job is queued but hasn’t started processing yet.
processing
ZipKit is actively downloading files and creating the zip archive. This is where most of the work happens.
Creating a Zip
Create a zip via the API by providing:- urls: Array of file objects, each with
urlandfilename - bucket_name: Name of the configured bucket to store the zip
- key: Filename/path for the zip in your bucket
- service (optional):
s3orr2(defaults tos3)
Tracking Progress
Configure a webhook URL in your project settings to receive automatic notifications when zips complete:Where Zips are Stored
When a zip completes successfully, it’s stored in your configured cloud storage bucket at thekey you specified.
Example:
If you set "key": "my-archive.zip", the zip is stored at:
File Naming Inside Zips
Files inside the zip archive use the filenames you specify in theurls array. Each file object requires both a url (where to fetch the file) and a filename (what to name it in the zip).
Example:
Common Patterns
One-Time Archives
Create a zip once for a specific set of files:Recurring Archives
Create zips on a schedule (e.g., daily reports):Dynamic Content
Fetch the latest files from a content system and bundle them:Managing Zips
Viewing Zips
View all zip jobs for a project in the dashboard. The zip list shows:- zip ID
- Status
- Creation date
- Bucket used
Failed Zips
If a zip fails, common causes include:- Inaccessible URLs: Source files returned 404 or other errors
- Network issues: Timeouts or connection failures
- Bucket permissions: Insufficient permissions to write to the bucket
- Invalid bucket: Bucket doesn’t exist or was deleted