List Campaigns
li_list_campaignsEvery campaign you can see, newest first — its id, name, status, sending account, strategy, ICP, contact count, priority (true = its invites go before the account's other campaigns) and state (whether it is really sending, and why not). START HERE: li_campaign_status and li_campaign_contacts both need a campaignId, and this is what hands you one.
FILTERS run over every campaign before the page is cut: status ("active", "paused", "completed"), namePrefix (case-insensitive), sessionLabel/sessionId (sending account), minContacts/maxContacts (people in it). PAGED: the reply carries totalMatching, truncated and nextOffset (pass it as offset); a filtered empty page says how many campaigns exist without the filters. fields keeps only the named columns (campaignId always). format: "csv" returns the rows as one CSV string (csv + columns) instead of campaigns. DB-backed and instant.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Default 50 | |
| fields | No | Only these columns per row (campaignId is always kept). Omit for every column. | |
| format | No | "csv" = one header + rows string instead of the `campaigns` array | |
| offset | No | Skip this many matching campaigns — pass the last reply's `nextOffset` | |
| status | No | Only campaigns in this status, e.g. "active" | |
| sessionId | No | Limit to one account by id (li_list_accounts). Omit to cover every account you can see. | |
| namePrefix | No | Only campaigns whose name starts with this (case-insensitive) | |
| maxContacts | No | Only campaigns holding at most this many people (0 = empty ones) | |
| minContacts | No | Only campaigns holding at least this many people | |
| sessionLabel | No | Limit to one account by label, LinkedIn name, profile slug or member id. Omit to cover every account you can see. |