Eazip
Eazip CloudHTTP API

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 fromKeyStart here
Your server — a backend, a script, a cron jobSecret zk_… API keyThis page
The browser — a React or JavaScript frontendPublishable pk_ez_… keyBrowser 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

Step 1: Get Your API Key

  1. Log in to your Eazip dashboard
  2. Navigate to API Keys
  3. Click Create API Key
  4. 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.

Next Steps