Let us pull records from a list without attaching it to a campaign

Right now we can create a list, add items, remove items, unbind/bind it from campaigns, even delete it — all without a campaign ID. But if we just want to see the records in that list, the API makes me bind it to a campaign first.

The UI already shows list contents when the list isn’t tied to a campaign, so why not the API too? It feels inconsistent.

The way it works today, we end up creating “fake” campaigns just to grab the data. That clutters the environment and sometimes even caused our lists to get out of sync. For us, these unbound lists are mostly test lists we use for staging, validation, and troubleshooting.

What would be great:

  • An endpoint like getRecordsByListId that just returns the list as-is, no campaign data attached.

  • Optional CSV export with delimiter choice (comma, semicolon, tab) and column selection. If CSV is picked, just dump the whole list in one shot.

Priority:

  • Dev side: high (makes life easier, avoids hacks).

  • Business side: routine (not breaking anything, just smoother and less error-prone).

Basically: if we can add and delete records from a list without a campaign, we should also be able to pull those records the same way.

The use case behind Campaign API was to feed into lists and read campaign results - results of list processing. What is your use case to read from a list, without campaign processing? Thanks!

Hi Sergey,

In our case, we receive daily list updates from clients. We store those lists internally, sanitize and normalize them, and then push them into BP. Things don’t always go perfectly — API calls can fail, communications break — and then we risk having lists that are out of sync.

The problem is: how do we check that when the list isn’t even tied to a campaign? There are plenty of times when you don’t have a campaign at all, especially with test lists, staging, or validation workflows.

From my point of view, it’s simple: if you can do it in the UI, you should be able to do it via API. Right now we end up creating “fake” campaigns just to read data that’s already there. That’s not only clunky — it also violates the basic CRUD principle. We can Create, Update, and Delete list records without a campaign, but we can’t Read them unless one is attached!?