> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zipkit.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Create your first zip archive in minutes

## Get started in three steps

This guide will walk you through creating your first zip archive using the ZipKit API. You'll go from signup to a working API call in just a few minutes.

### Step 1: Create your account and project

<Steps>
  <Step title="Sign up for ZipKit">
    Create an account, once logged in, you'll be taken to your dashboard.
  </Step>

  <Step title="Create a project">
    Projects help you organize your zip operations. From your dashboard:

    1. Click "New Project"
    2. Give your project a name (e.g., "Production")
    3. Click "Create"
  </Step>
</Steps>

### Step 2: Configure your storage bucket

ZipKit stores zip archives in your cloud storage. You'll need to configure either an AWS S3 or Cloudflare R2 bucket.

<Tabs>
  <Tab title="AWS S3">
    1. Go to the "Buckets" section in your project
    2. Click "Add Bucket"
    3. Select "AWS S3" as the provider
    4. Enter your bucket configuration:
       * **Bucket Name**: Your S3 bucket name
       * **Access Key ID**: Your AWS access key
       * **Secret Access Key**: Your AWS secret key
       * **Region**: Your bucket's region (e.g., `us-east-1`)
    5. Click "Save"
  </Tab>

  <Tab title="Cloudflare R2">
    1. Go to the "Buckets" section in your project
    2. Click "Add Bucket"
    3. Select "Cloudflare R2" as the provider
    4. Enter your bucket configuration:
       * **Bucket Name**: Your R2 bucket name
       * **Access Key ID**: Your R2 access key ID
       * **Secret Access Key**: Your R2 secret access key
       * **Account ID**: Your Cloudflare account ID
    5. Click "Save"
  </Tab>
</Tabs>

<Note>
  Make sure your bucket has proper write permissions for the credentials you provide.
</Note>

### Step 3: Create an access token and make your first API call

<Steps>
  <Step title="Generate an access token">
    1. Go to the "Access Tokens" section
    2. Click "Create Token"
    3. Give it a name (e.g., "Development Token")
    4. Click "Create"
    5. **Copy the token immediately** - you won't be able to see it again!
  </Step>

  <Step title="Make your first API call">
    Now you're ready to create your first zip! Replace the placeholders in this example:

    ```bash theme={null}
    curl -X POST https://api.zipkit.io/v1/zips \
      -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "urls": [
          {
            "url": "https://app.zipkit.io/onboarding/success.jpg",
            "filename": "success.jpg"
          },
          {
            "url": "https://app.zipkit.io/onboarding/welcome.txt",
            "filename": "welcome.txt"
          }
        ],
        "bucket_name": "my-bucket",
        "key": "example.zip"
      }'
    ```

    You'll receive a response like this:

    ```json theme={null}
    {
      "data": {
        "uuid": "clx7g2m4p0000...",
        "status": "none"
      }
    }
    ```

    The `status` will be `"none"` initially, then change to `"processing"` and finally `"succeeded"` when complete.
  </Step>

  <Step title="Set up webhooks (optional)">
    To get notified when your zip is ready, configure a webhook URL in your project settings. ZipKit will send a notification when the zip completes.

    See the [Webhooks guide](/guides/webhooks) to set this up.
  </Step>
</Steps>

## What just happened?

1. **ZipKit received your request** with a list of URLs to bundle
2. **Downloaded each file** from the URLs you provided
3. **Created a zip archive** containing all the files
4. **Uploaded the zip** to your configured cloud storage bucket
5. The zip is now available in your bucket at the `key` you specified (e.g., `example.zip`)
