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

# List campaigns with stats

> All campaigns in the workspace, archived ones included (status "archived"), pinned first then newest first, with per-campaign counts and rates. Replies exclude automated/out-of-office. bounce_rate = bounced / reached (distinct leads sent to), the same number the web app shows; it counts real recipient bounces only. sender_bounced / sender_bounce_rate count leads whose delivery failed on our side (status sender_blocked) right now; sender_blocked_total / sender_blocked_total_rate count every our-side block ever (never decreases, survives re-queues), over the same reached. Pass pinned=1 for pinned campaigns only.

**Minimum role:** `view` (`x-min-role`). **Destructive:** `false` (`x-destructive`).



## OpenAPI

````yaml /openapi.json get /campaigns/list
openapi: 3.0.3
info:
  title: Sales Sequencer API
  version: '1'
  description: >-
    Every Sales Sequencer action over HTTP. Each call runs as the API key's
    creator, with that user's role, in the key's workspace. Auth: X-API-Key
    header.
servers:
  - url: https://api.salessequencer.com/api/v1
security:
  - key: []
paths:
  /campaigns/list:
    get:
      tags:
        - Campaigns
      summary: List campaigns with stats
      description: >-
        All campaigns in the workspace, archived ones included (status
        "archived"), pinned first then newest first, with per-campaign counts
        and rates. Replies exclude automated/out-of-office. bounce_rate =
        bounced / reached (distinct leads sent to), the same number the web app
        shows; it counts real recipient bounces only. sender_bounced /
        sender_bounce_rate count leads whose delivery failed on our side (status
        sender_blocked) right now; sender_blocked_total /
        sender_blocked_total_rate count every our-side block ever (never
        decreases, survives re-queues), over the same reached. Pass pinned=1 for
        pinned campaigns only.


        **Minimum role:** `view` (`x-min-role`). **Destructive:** `false`
        (`x-destructive`).
      operationId: spa_campaigns
      parameters:
        - description: 1 = only pinned campaigns.
          in: query
          name: pinned
          required: false
          schema:
            type: boolean
      responses:
        '200':
          description: >-
            JSON {campaigns:[{id, name, status, created_at, pinned, steps,
            mailboxes, leads, pending, reached, emails_sent, sent_today,
            replied, auto_replies, positive, bounced, reply_rate, bounce_rate,
            sender_bounced, sender_bounce_rate, sender_blocked_total,
            sender_blocked_total_rate, emails_per_positive,
            expected_additional_positive, progress}]}.
components:
  securitySchemes:
    key:
      in: header
      name: X-API-Key
      type: apiKey

````

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