List Campaigns

Query Options

Search, status filtering, and bounded pagination

  • search matches campaign names and descriptions and is limited to 200 characters.
  • statuses accepts a JSON-encoded array containing draft, running, or both.
  • Results default to 20 records per page. per_page cannot exceed 25.
GET
/v1/campaigns

List campaigns in the authenticated workspace

Request body

searchstring

Search campaign names and descriptions. Maximum 200 characters.

statusesarray

JSON-encoded array of campaign statuses. Allowed values are `draft` and `running`.

pagenumber

Page number. Defaults to `1`.

per_pagenumber

Results per page. Defaults to `20` and has a maximum of `25`.

Request
cURL
curl --get "https://api.leadpush.io/v1/campaigns" \
  --data-urlencode 'search=welcome' \
  --data-urlencode 'statuses=["running"]' \
  --data-urlencode 'page=1' \
  --data-urlencode 'per_page=20' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer {token}"
Response Example
{
  "data": [
    {
      "uuid": "<campaign_uuid>",
      "name": "Welcome series",
      "description": "Onboard new subscribers",
      "status": "running",
      "tags": ["<tag_uuid>"],
      "active_version_uuid": "<campaign_version_uuid>",
      "display_version_number": 3,
      "has_unpublished_changes": false,
      "created_at": "2026-09-01T14:30:00.000000Z",
      "updated_at": "2026-10-01T09:15:00.000000Z"
    }
  ],
  "meta": {
    "current_page": 1,
    "per_page": 20,
    "total": 1,
    "last_page": 1,
    "has_next": false
  }
}