---
title: "List campaigns"
method: GET
path: "/api/v1/campaigns"
tags: ["campaigns"]
---

# List campaigns

`GET /api/v1/campaigns`

## Request

- Base URL: `https://app.blueticked.com`
- URL: `https://app.blueticked.com/api/v1/campaigns`
- Auth: HTTP bearer

Fetch campaign status, counters, filters and cursor pagination.

Filter by status or channel for operational dashboards.

`channel` is `whatsapp`, `sms` or `email`. `telegram` answers 400 `validation_failed` (details.field `channel`): Telegram is not a channel customers can use.

## Query parameters

- `limit` integer
- `cursor` string

## Response `200`

Success

- object
  - `data` object[], required
    - `id` string, uuid, required
    - `name` string, required
    - `channel` 'whatsapp' | 'sms' | 'email' | 'telegram', required
    - `status` string, required
    - `counts` object, required
      - `sent` number, required
      - `delivered` number, required
      - `failed` number, required
  - `next_cursor` string, nullable, required
  - `has_more` boolean, required
  - `request_id` string, required

## Other responses

- `400`: Validation failed
- `401`: Unauthorized: missing or invalid API key
- `402`: Insufficient wallet balance
- `403`: Forbidden: scope, plan limit, or suspension
- `404`: Not found
- `409`: Conflict (idempotency-key reuse or resource in use)
- `422`: Understood but refused: the request is well-formed, the action is not permitted for this resource
- `429`: Rate limited
- `500`: Internal error
- `502`: An upstream provider refused or failed the request
- `503`: Channel or send queue unavailable

---

[API](https://skmtc.dev/blueticked/apis/blueticked-api.md) · [All operations](https://skmtc.dev/blueticked/apis/blueticked-api/llms.txt) · [OpenAPI document](https://skmtc.dev/blueticked/apis/blueticked-api/revisions/07132284f4ff?raw)
