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

# GET List Campaigns

> Retrieve all marketing campaigns with filtering.

## List campaigns

`GET /api/campaigns`

Retrieve a paginated list of campaigns.

### Headers

**Cookie** `string` *required*

Session cookie (login via POST /api/auth/login)

### Query parameters

**page** `integer` (default: 1)

Page number.

**limit** `integer` (default: 20)

Items per page.

**status** `string`

Filter: `draft`, `scheduled`, `running`, `completed`, `failed`.

**search** `string`

Search campaign name.

```bash cURL theme={null}
curl "https://zeplo.ai/api/campaigns?status=completed&limit=10" \
  -H "Cookie: connect.sid=s%3A7HImZ-T2BxWSbUsf9dtWdOlBW4rVuORO.5J0Do0NyvBu%2BkTvu1aHvtNs00BKhkpUKTwiokLS0cpw"
```

```json Response theme={null}
{
  "success": true,
  "data": [
    {
      "id": 1,
      "name": "New Year Promo",
      "status": "completed",
      "type": "template",
      "channelId": "647015955153740",
      "templateName": "new_year_promo",
      "totalRecipients": 500,
      "sentCount": 480,
      "deliveredCount": 470,
      "readCount": 320,
      "repliedCount": 45,
      "failedCount": 20,
      "scheduledAt": "2026-01-01T09:00:00Z",
      "startedAt": "2026-01-01T09:00:00Z",
      "completedAt": "2026-01-01T09:15:00Z",
      "createdAt": "2025-12-28T10:00:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 10,
    "total": 25,
    "totalPages": 3
  }
}
```

***

## Get campaigns by user

`POST /api/getCampaignsByUserId`

```bash cURL theme={null}
curl -X POST https://zeplo.ai/api/getCampaignsByUserId \
  -H "Cookie: connect.sid=s%3A7HImZ-T2BxWSbUsf9dtWdOlBW4rVuORO.5J0Do0NyvBu%2BkTvu1aHvtNs00BKhkpUKTwiokLS0cpw" \
  -H "Content-Type: application/json" \
  -d '{ "userId": 1 }'
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.