# List campaigns (/api-reference/campaigns/listCampaigns)

`GET /v1/campaigns`

Base URL: `https://api.bitelio.com`

Get a paginated list of email campaigns

---

**Path versioning.** This resource is also reachable at the unversioned `/campaigns`, which is where it has always lived and which keeps working indefinitely — `bitelio@0.1.0` calls it. Prefer `/v1/campaigns`: the `/v1` prefix is the path that carries a version promise, and a future `/v2` will be able to change shape without breaking anything written against this one.

## Query parameters

- `limit`: integer — Maximum items per page
- `cursor`: string — Pagination cursor
- `status`: enum ("DRAFT" | "SCHEDULED" | "SENDING" | "SENT")

## Responses

### `200` — List of campaigns

- `campaigns`: array<object>
  items:
    - `id`: string
    - `name`: string
    - `subject`: string
    - `type`: enum ("ALL" | "SEGMENT" | "FILTERED")
    - `status`: enum ("DRAFT" | "SCHEDULED" | "SENDING" | "SENT")
    - `scheduledAt`: string (date-time)
- `page`: integer
- `pageSize`: integer
- `total`: integer
- `totalPages`: integer

```json
{
  "campaigns": [
    {
      "id": "string",
      "name": "string",
      "subject": "string",
      "type": "ALL",
      "status": "DRAFT",
      "scheduledAt": "2026-10-24T08:42:45.056Z"
    }
  ],
  "page": 0,
  "pageSize": 0,
  "total": 0,
  "totalPages": 0
}
```

## Example request

```bash
curl -X GET 'https://api.bitelio.com/v1/campaigns' \
  -H 'Authorization: Bearer YOUR_API_KEY'
```
