Quick Start
This guide walks through the smallest end-to-end flow: create a job with remote file entries, check its status, and download the ZIP.
First, pick where you call Eazip from
Section titled “First, pick where you call Eazip from”Two integrations, two kinds of key. Start on the right one:
| You call Eazip from | Key | Start here |
|---|---|---|
| Your server — a backend, a script, a cron job | Secret zk_… API key | This page |
| The browser — a React or JavaScript frontend | Publishable pk_ez_… key | Browser SDK |
The rest of this page is the server-side flow. A secret key must never ship in client-side code, so if your export is triggered by a user in a browser, use the SDK instead of calling this API from the frontend.
Prerequisites
Section titled “Prerequisites”- An Eazip account (sign up free)
- An API key (create one in your dashboard)
Step 1: Get Your API Key
Section titled “Step 1: Get Your API Key”- Log in to your Eazip dashboard
- Navigate to API Keys
- Click Create API Key
- Copy your new API key
Step 2: Create Your First Job
Section titled “Step 2: Create Your First Job”Make a POST request to create a ZIP job:
curl -X POST https://api.eazip.io/jobs \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "files": [ { "url": "https://example.com/file1.pdf", "filename": "invoice-001.pdf" }, { "url": "https://example.com/file2.pdf" } ], "expires_in": 86400 }'Response (HTTP 201):
{ "success": true, "job_id": "550e8400-e29b-41d4-a716-446655440000"}Step 3: Check Job Status
Section titled “Step 3: Check Job Status”Poll the job status until it’s complete:
curl https://api.eazip.io/jobs/550e8400-e29b-41d4-a716-446655440000 \ -H "X-API-Key: YOUR_API_KEY"Response when complete:
{ "success": true, "job": { "id": "550e8400-e29b-41d4-a716-446655440000", "status": "completed", "files": [ { "url": "https://example.com/file1.pdf", "filename": "invoice-001.pdf" }, { "url": "https://example.com/file2.pdf", "filename": null } ], "url_count": 2, "file_count": 2, "fail_on_url_error": true, "zip_filename": "archive-550e8400.zip", "download_url": "https://api.eazip.io/download/eyJ...", "multi_zip": false, "zip_count": 1, "total_size": 1048576, "zips": [ { "id": "zip_a1b2c3d4e5f6", "sequence": 1, "status": "completed", "filename": "archive-550e8400.zip", "file_count": 2, "size": 1048576, "download_url": "https://api.eazip.io/download/eyJ..." } ], "expires_at": "2025-01-22T10:00:00.000Z" }}zips[] is the canonical list of output ZIPs for a job. Even for a single-ZIP job, you’ll get a length-1 array — and the same code keeps working if you later opt into auto-split (max_zip_size_bytes) and Eazip starts returning multiple ZIPs.
Step 4: Download Your ZIP
Section titled “Step 4: Download Your ZIP”Iterate zips[] and download each entry’s download_url. For this single-ZIP job there’s only one:
curl -O "https://api.eazip.io/download/eyJ..."The download endpoint does not require your API key — the signed URL is self-authenticating.