Quick Start
Get started with Eazip API using a minimal end-to-end example.
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
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
- An Eazip account (sign up free)
- An API key (create one in your dashboard)
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
:::caution Keep your API key secure. Never expose it in client-side code or public repositories. :::
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
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
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.