Skip to content

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.

  1. Log in to your Eazip dashboard
  2. Navigate to API Keys
  3. Click Create API Key
  4. Copy your new API key

Make a POST request to create a ZIP job:

Terminal window
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"
}

Poll the job status until it’s complete:

Terminal window
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.

Iterate zips[] and download each entry’s download_url. For this single-ZIP job there’s only one:

Terminal window
curl -O "https://api.eazip.io/download/eyJ..."

The download endpoint does not require your API key — the signed URL is self-authenticating.