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

# List Campaigns

> List mail campaigns for your organization

List all mail campaigns with optional filtering by status and search.

<ParamField query="page" type="number" default="1">
  Page number
</ParamField>

<ParamField query="per_page" type="number" default="25">
  Results per page (1-100)
</ParamField>

<ParamField query="status" type="string">
  Filter by status: `draft`, `active`, `paused`, `completed`, `cancelled`
</ParamField>

<ParamField query="search" type="string">
  Search by campaign name
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl https://api.v2.dealmachine.com/v1/mail/campaigns?status=active \
    -H "Authorization: Bearer dm_sk_live_xxx"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.v2.dealmachine.com/v1/mail/campaigns?status=active', {
    headers: { 'Authorization': 'Bearer dm_sk_live_xxx' }
  });
  const { data, pagination } = await response.json();
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "data": [
      {
        "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "organization_id": 42,
        "name": "Spring Seller Campaign",
        "description": "Postcards for potential sellers",
        "status": "active",
        "type": "one_off",
        "source": "api",
        "contact_name": "John Smith",
        "contact_phone": "555-123-4567",
        "contact_email": "john@example.com",
        "qr_code_link": null,
        "return_name": "Acme Real Estate",
        "return_address_1": "456 Business Ave",
        "return_address_2": null,
        "return_city": "Austin",
        "return_state": "TX",
        "return_zip": "78702",
        "total_recipients": 150,
        "total_sent": 120,
        "total_delivered": 115,
        "created_at": "2026-03-01T14:23:45Z",
        "updated_at": "2026-03-10T09:15:00Z",
        "launched_at": "2026-03-02T10:00:00Z",
        "completed_at": null,
        "steps": [
          {
            "id": "1",
            "step_order": 1,
            "step_name": "Send",
            "design_id": "design-uuid-123",
            "design_prompt": null,
            "delay_days": 0,
            "interval_days": 0,
            "repeat_count": 1,
            "skip_if_responded": false
          }
        ]
      }
    ],
    "pagination": {
      "page": 1,
      "per_page": 25,
      "total": 1,
      "has_more": false
    }
  }
  ```
</ResponseExample>
