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

# List Campaigns

> Retrieve every calling campaign in your workspace, with status and live progress counters, ordered newest first.

<Warning>
  **Legacy endpoint - deprecated.** Unversioned endpoints are scheduled for removal on **July 31, 2026**. A public v1 replacement is not currently listed in the v1 reference. This endpoint remains available for existing integrations until then.
</Warning>

Returns every calling campaign in your workspace, paginated and sorted by creation date (newest first). Each entry includes the campaign's `id`, display `name`, current `status` (`active`, `paused`, `completed`, `cancelled`), totals of `total_leads` and `completed_calls`, and the creation timestamp. Use this to power a campaigns overview dashboard, sync campaign state into your own database, or build reporting that watches the pipeline of running outreach.

## When to use this

* **Campaign dashboards**: render a table of every campaign with status badges and progress bars.
* **Compliance audits**: enumerate every campaign that has run during a given period.
* **Operational monitoring**: detect campaigns that have stalled (long gap between created and last call) and flag them for review.
* **Reporting pipelines**: sync campaign metadata into a data warehouse alongside per-call logs.

For the configuration and progress of a single campaign, use [Get Campaign](/docs/api-reference/campaigns/get).

## Query parameters

| Parameter | Description                                                               |
| --------- | ------------------------------------------------------------------------- |
| `page`    | Page number, starting from 1.                                             |
| `limit`   | Results per page (max 100, default 20).                                   |
| `status`  | Filter by campaign status (`active`, `paused`, `completed`, `cancelled`). |
| `search`  | Filter by name (partial match).                                           |

## Errors

* `403 Forbidden` is returned when the API key cannot read campaigns on this workspace.

## Related endpoints

* [Get Campaign](/docs/api-reference/campaigns/get): fetch a single campaign's detail.
* [Create Campaign](/docs/api-reference/campaigns/create): start a new campaign.
* [Update Campaign](/docs/api-reference/campaigns/update): change campaign settings or pause state.
* [Pagination](/docs/api-reference/pagination): how DialNexa list endpoints paginate.


## OpenAPI

````yaml GET /campaigns
openapi: 3.0.0
info:
  title: DialNexa API
  description: >-
    Public REST API for the DialNexa voice AI platform. Versioned endpoints are
    under /v1; unversioned endpoints are legacy and deprecated.
  version: 1.0.0
servers:
  - url: https://api.dialnexa.com
    description: DialNexa production API
security:
  - bearer: []
tags:
  - name: API Keys
  - name: Agent Functions
  - name: Agents V1
  - name: Agents2
  - name: Batch Calls
  - name: Batch Calls V1
  - name: Call Logs
  - name: Calls
  - name: Calls V1
  - name: Campaign Leads
  - name: Campaigns
  - name: External Webhooks
  - name: Knowledge Base
  - name: Knowledge Base V1
  - name: LLMs
  - name: LLMs V1
  - name: Languages
  - name: Languages V1
  - name: Organization Phone Numbers
  - name: Organization Phone Numbers V1
  - name: Phone Number Pricing
  - name: Phone Number Pricing V1
  - name: Transcribers
  - name: Transcribers V1
  - name: User Webhooks
  - name: User Webhooks V1
  - name: V1
  - name: Voices
  - name: Voices V1
  - name: Webcall
  - name: Workflow Leads
  - name: Workflow Leads V1
  - name: Workflows
  - name: Workflows V1
paths:
  /campaigns:
    get:
      tags:
        - Campaigns
      summary: Get all campaigns with pagination
      description: >-
        **Legacy endpoint - deprecated, scheduled for removal on July 31,
        2026.** Use the `/v1` version for new integrations. 
      operationId: CampaignsController_findAll
      parameters:
        - name: x-organization-id
          in: header
          description: RSA encrypted organization ID (base64 format)
          required: true
          schema:
            type: string
            example: BASE64_ENCRYPTED_ORG_ID_HERE
      responses:
        '200':
          description: Campaigns fetched successfully
        '500':
          description: Internal Server Error
      deprecated: true
components:
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````