Overview
The ZIP upload API lets you upload compressed project archives for analysis. Each ZIP is linked to a portfolio and can contain multiple git repositories.Upload ZIP File
Upload a ZIP file containing your projects.POST /zip/upload
ZIP file to upload. Must have
.zip extensionOptional portfolio UUID to link this ZIP to an existing portfolio. If not provided, a new portfolio UUID is generated
Unique identifier for the uploaded ZIP file
Original filename of the uploaded ZIP
UUID linking this ZIP to a portfolio session
422- File is not a ZIP file400- ZIP file is corrupted (returned during analysis)
List ZIP Directories
Get the directory structure of an uploaded ZIP file.GET /zip/{zip_id}/directories
ID of the uploaded ZIP file
ID of the uploaded ZIP file
Original filename of the ZIP
List of top-level directories in the ZIP file
List of file paths from the ZIP directory after extraction
404- ZIP file not found
This endpoint extracts the ZIP file to a persistent location (
./.extracted/{zip_id}/) for analysis. The extraction is cached for subsequent requests.Get Portfolio ZIPs
Retrieve all ZIPs linked to a portfolio.GET /zip/portfolios/{portfolio_id}
UUID of the portfolio
UUID of the portfolio
All ZIPs linked to this portfolio
404- Portfolio not found
Example: Multi-ZIP Portfolio
You can upload multiple ZIPs to the same portfolio for incremental analysis:Storage
- Uploaded ZIPs are stored in
./uploads/directory - Filenames are prefixed with timestamp to avoid collisions
- Extraction happens to
./.extracted/{zip_id}/for persistent access - Files are not automatically deleted (manual cleanup required)
Next Steps
After uploading a ZIP:- Analyze the repositories with
POST /analyze/{zip_id} - View discovered projects with
GET /projects - Generate portfolio content with
POST /portfolio/generate