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

# List Campaigns

`GET /api/v1/campaigns`

## Query parameters

- `include_archived` boolean

## Response `200`

Successful Response

- CampaignListResponse
  - `items` CampaignRead[], required
    - `id` string, uuid, required
    - `tenant_id` string, uuid, required
    - `name` string, required
    - `status` 'draft' | 'generating' | 'review' | 'scheduled' | 'sending' | 'sent' | 'paused' | 'failed', required — Lifecycle of a campaign (see ``state_machine.LEGAL_TRANSITIONS``).
    - `enrollment_type` 'list_snapshot' | 'trigger', required — How recipients enter a campaign. ``list_snapshot`` freezes the audience from a ``ContactList`` at creation. ``trigger`` enrolls live off interaction events (evaluator lands in a later PR); modeled now so trigger campaigns need no rework.
    - `approval_mode` 'autonomous' | 'review', required — Whether drafts send autonomously or wait for human review.
    - `source_list_id` string, uuid, nullable
    - `goal` string, nullable
    - `template_key` string, nullable
    - `offer` string, nullable
    - `promo_code` string, nullable
    - `stay_window_start` string, date, nullable
    - `stay_window_end` string, date, nullable
    - `cta_label` string, nullable
    - `email_background_color` string, nullable
    - `email_accent_color` string, nullable
    - `email_logo_url` string, nullable
    - `sender_identity_id` string, uuid, nullable
    - `created_by_user_id` string, uuid, nullable
    - `audience_count` integer, required
    - `drafted_count` integer, required
    - `approved_count` integer, required
    - `sent_count` integer, required
    - `delivered_count` integer, required
    - `opened_count` integer, required
    - `clicked_count` integer, required
    - `replied_count` integer, required
    - `positive_count` integer, required
    - `bounced_count` integer, required
    - `converted_count` integer, required
    - `revenue_cents` integer, required
    - `scheduled_at` string, date-time, nullable
    - `sending_started_at` string, date-time, nullable
    - `sent_at` string, date-time, nullable
    - `archived_at` string, date-time, nullable
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/getanana/apis/cleon-api.md) · [All operations](https://skmtc.dev/getanana/apis/cleon-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getanana/cleon-api/revisions/c0f54348e251/schema)
