Skip to content

Bundles ​

Organize and group your short URLs for better management.

Overview ​

Bundles help you organize related short URLs into logical groups for easier management, tracking, and analysis. Group URLs by campaign, project, client, or any other criteria.

Creating Bundles ​

Create a Bundle ​

json
POST /api/bundles

{
  "name": "Q1 Marketing Campaign",
  "description": "All URLs for Q1 2025 marketing activities",
  "color": "#3B82F6",
  "icon": "rocket"
}

Parameters:

ParameterDescriptionRequiredDefault
nameBundle name✅-
descriptionBundle description❌-
colorDisplay color (hex)❌#3B82F6
iconIcon name❌folder
urlIdsInitial URL IDs❌[]

Create with URLs ​

Add URLs when creating a bundle:

json
POST /api/bundles

{
  "name": "Product Launch",
  "urlIds": ["url_123", "url_456", "url_789"]
}

Managing Bundles ​

List All Bundles ​

GET /api/bundles?page=1&pageSize=10&search=marketing&status=ACTIVE

Query Parameters:

ParameterDescriptionDefault
pagePage number1
pageSizeItems per page10
searchSearch name/description-
statusFilter by status-

Get Bundle Details ​

GET /api/bundles/{id}

Response includes:

  • Bundle information
  • All URLs in the bundle
  • URL statistics

Update Bundle ​

json
PUT /api/bundles/{id}

{
  "name": "Updated Name",
  "description": "New description",
  "color": "#EF4444",
  "icon": "star"
}

Delete Bundle ​

DELETE /api/bundles/{id}

INFO

Deleting a bundle only removes the grouping. The URLs themselves are preserved.

URL Management ​

Add Single URL ​

json
POST /api/bundles/{id}/urls

{
  "urlId": "url_123"
}

Add Multiple URLs ​

json
POST /api/bundles/{id}/urls/batch

{
  "urlIds": ["url_123", "url_456", "url_789"]
}

Remove URL from Bundle ​

DELETE /api/bundles/{id}/urls/{urlId}

INFO

Removing a URL from a bundle only removes the association. The URL remains active.

Reorder URLs ​

Change the display order of a URL within a bundle:

json
PATCH /api/bundles/{id}/urls/{urlId}/order

{
  "order": 0
}

Order is 0-based index - 0 moves the URL to the first position.

Bundle Statistics ​

Get Bundle Stats ​

GET /api/bundles/{id}/stats

Response:

json
{
  "bundleId": "bundle_123",
  "urlCount": 15,
  "totalClicks": 45000,
  "topUrls": [
    {
      "id": "url_123",
      "slug": "summer-sale",
      "clickCount": 12000
    },
    {
      "id": "url_456",
      "slug": "newsletter-jan",
      "clickCount": 8500
    }
  ],
  "clickTrend": [
    { "date": "2025-01-08", "clicks": 1200 },
    { "date": "2025-01-09", "clicks": 1350 },
    { "date": "2025-01-10", "clicks": 980 }
  ]
}

Statistics include:

  • Total URLs in bundle
  • Combined click count
  • Top performing URLs
  • Click trends (last 7 days)

Bundle Status ​

Available Statuses ​

StatusDescription
ACTIVEBundle is visible and active
ARCHIVEDBundle is hidden but preserved

Archive a Bundle ​

Hide a bundle without deleting it:

POST /api/bundles/{id}/archive

Restore a Bundle ​

Bring back an archived bundle:

POST /api/bundles/{id}/restore

Use Cases ​

Marketing Campaigns ​

Organize campaign URLs:

Bundle: Summer Sale 2025
├── Homepage Banner → /summer-home
├── Email Newsletter → /summer-email
├── Social Media → /summer-social
├── Google Ads → /summer-ads
└── Influencer Links → /summer-inf-*

Client Projects ​

Group URLs by client:

Bundle: Acme Corporation
├── Main Website → /acme-main
├── Product Catalog → /acme-products
├── Support Portal → /acme-support
└── Career Page → /acme-careers

Product Launches ​

Track launch-related URLs:

Bundle: Product X Launch
├── Landing Page A (A/B) → /productx-a
├── Landing Page B (A/B) → /productx-b
├── Press Release → /productx-press
├── Demo Video → /productx-demo
└── Waitlist → /productx-waitlist

Event Management ​

Organize event URLs:

Bundle: Tech Conference 2025
├── Registration → /conf-register
├── Schedule → /conf-schedule
├── Speaker Bios → /conf-speakers
├── Venue Info → /conf-venue
└── Live Stream → /conf-live

Best Practices ​

1. Use Descriptive Names ​

Choose clear, meaningful bundle names:

  • ✅ "Q1 2025 Email Campaign"
  • ❌ "Campaign 1"

2. Consistent Color Coding ​

Use colors to categorize bundles:

  • 🔵 Blue - Marketing
  • 🟢 Green - Sales
  • 🟣 Purple - Product
  • 🟠 Orange - Events

3. Archive Old Bundles ​

Don't delete completed campaigns - archive them:

  • Preserves historical data
  • Keeps workspace clean
  • Allows future reference

4. Regular Cleanup ​

Periodically review bundles:

  • Remove unused URLs
  • Update descriptions
  • Archive completed campaigns

5. Use Icons ​

Choose relevant icons for quick identification:

  • 📧 Email campaigns
  • 📱 Social media
  • 🎯 Advertising
  • 📊 Analytics

Bulk Operations with Bundles ​

Add URLs to Bundle via Bulk Update ​

json
PATCH /api/urls/bulk

{
  "urlIds": ["url_1", "url_2", "url_3"],
  "operation": "bundle",
  "value": "bundle_123"
}

This adds multiple URLs to a bundle in one operation.

Next Steps ​

Released under the MIT License.