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

# List Campaigns

> Retrieve a paginated list of campaigns with optional filters.

Use this endpoint to **retrieve a paginated list of campaigns** with optional filters.

## Endpoint

**GET** `/campaign-list`

**Authentication:** Required (workspace auth)

## Query Parameters

| Parameter         | Type            | Required | Description                                                                                                                             |
| ----------------- | --------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `page`            | number          | No       | Page number (default: `1`)                                                                                                              |
| `limit`           | number          | No       | Records per page (default: `10`)                                                                                                        |
| `agent_id`        | number \| array | No       | Filter by agent ID(s)                                                                                                                   |
| `campaign_name`   | string          | No       | Partial name search (LIKE)                                                                                                              |
| `campaign_status` | string          | No       | Filter by status. Valid values: `draft`, `inprogress`, `hold`, `pause`, `force_completed`, `deleted`. Defaults to all except `deleted`. |

## Campaign Status Values

| Status            | Description                  |
| ----------------- | ---------------------------- |
| `draft`           | Campaign is in draft mode    |
| `inprogress`      | Campaign is actively running |
| `hold`            | Campaign is on hold          |
| `pause`           | Campaign is paused           |
| `force_completed` | Campaign was force completed |
| `deleted`         | Campaign has been deleted    |

## Response

```json theme={null}
{
  "datalist": [
    {
      "id": 42,
      "campaign_name": "Winter Sale Campaign",
      "agent_name": "Sales Agent",
      "start_end_date": "1 Dec - 31 Dec",
      "max_retry": 3,
      "max_delay": "5m - 30m",
      "progress": "120/500",
      "campaign_status_name": "Inprogress",
      "campaign_status": "inprogress",
      "last_updated": "2 days ago"
    }
  ],
  "pagination": {
    "totalRecords": 25,
    "totalPages": 3,
    "currentPage": 1,
    "limit": 10
  }
}
```

## Notes

* `campaign_status` defaults to all statuses except `deleted`.
* A campaign is automatically labeled **Completed** if its `end_date` has passed.
* `progress` is formatted as `called/total` audience count.

## Example cURL

```bash theme={null}
curl -X GET "https://www.tryunleashx.com/api/v1/global/campaign-list?page=1&limit=10&campaign_status=inprogress" \
  -H "token: <api_key>"
```


## OpenAPI

````yaml api-reference/openapi.json GET /campaign-list
openapi: 3.1.0
info:
  title: >-
    UnleashX - Build human like conversations | Voice Agents | Automations | AI
    Workforce
  version: 1.0.0
  description: UnleashX - Your home for human like conversations
servers:
  - url: https://www.tryunleashx.com/api/v1/global/
security:
  - bearerAuth: []
paths:
  /campaign-list:
    get:
      tags:
        - Campaigns
      summary: List campaigns
      description: Retrieve a paginated list of campaigns with optional filters.
      parameters:
        - name: token
          in: header
          required: true
          description: API token for authentication
          schema:
            type: string
        - name: page
          in: query
          required: false
          schema:
            type: integer
          description: 'Page number (default: 1)'
        - name: limit
          in: query
          required: false
          schema:
            type: integer
          description: 'Records per page (default: 10)'
        - name: agent_id
          in: query
          required: false
          schema:
            type: integer
          description: Filter by agent ID
        - name: campaign_name
          in: query
          required: false
          schema:
            type: string
          description: Partial name search (LIKE)
        - name: campaign_status
          in: query
          required: false
          schema:
            type: string
            enum:
              - draft
              - inprogress
              - hold
              - pause
              - force_completed
              - deleted
          description: Filter by status. Defaults to all except deleted.
      responses:
        '200':
          description: Campaign list retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  datalist:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                        campaign_name:
                          type: string
                        is_published:
                          type: integer
                        agent_name:
                          type: string
                        start_end_date:
                          type: string
                        max_retry:
                          type: integer
                        progress:
                          type: string
                        campaign_status_name:
                          type: string
                        campaign_status:
                          type: string
                          description: >-
                            Status as string: draft, inprogress, hold, pause,
                            force_completed, deleted
                        last_updated:
                          type: string
                  pagination:
                    type: object
                    properties:
                      totalRecords:
                        type: integer
                      totalPages:
                        type: integer
                      currentPage:
                        type: integer
                      limit:
                        type: integer
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      security: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````