# List campaigns

Return a paginated list of the client's campaigns, optionally filtered by status and search, with a status_counts summary.

Endpoint: GET /public/v1/social/listening/campaign/
Version: 1.0.0
Security: Bearer

## Query parameters:

  - `page` (integer)
    Page number (1-based) for the paginated result.

  - `status` (string)
    Filter campaigns by lifecycle status. Omit to return all statuses.

  - `search` (string)
    Filter campaigns by name (case-insensitive substring match).

  - `ordering` (string)
    Sort field; prefix with '-' for descending. Defaults to newest first ('-created_at').

  - `page_size` (integer)
    Number of results to return per page. Defaults to 10.

## Response 200 fields (application/json):

  - `count` (integer, required)
    Total number of campaigns matching the filter.

  - `next` (string,null)
    URL of the next page, or null on the last page.

  - `previous` (string,null)
    URL of the previous page, or null on the first page.

  - `results` (array, required)
    Campaigns on the current page.

  - `results.id` (integer, required)

  - `results.name` (string, required)

  - `results.platforms` (object, required)

  - `results.status` (string, required)

  - `results.content_types` (object,null)

  - `results.start_date` (string, required)

  - `results.end_date` (string, required)

  - `results.budget` (string,null)

  - `results.creator_count` (string)
    Number of creators tracked across the campaign's subscriptions.

  - `results.sample_creators` (string)
    Up to 5 sampled creators (handle + avatar) across the campaign's subscriptions.

  - `results.total_posts` (string)
    Total detected posts summed across the campaign's subscriptions.

  - `results.engagement` (string)
    Total engagement (likes + comments) across the campaign's subscriptions.

  - `results.emv` (string)
    Earned Media Value for the campaign, computed per-platform and summed.

  - `results.seven_day_trend` (string)
    Daily engagement/post trend for the last 7 days.

  - `results.created_at` (string, required)

  - `status_counts` (object, required)

  - `status_counts.draft` (integer, required)
    Number of draft campaigns.

  - `status_counts.active` (integer, required)
    Number of active campaigns.

  - `status_counts.paused` (integer, required)
    Number of paused campaigns.

  - `status_counts.completed` (integer, required)
    Number of completed campaigns.


## Response 400 fields

## Response 401 fields

## Response 422 fields
