Streams every person in one signals state of an intents or persona audience as one CSV file, with CCPA opt-outs removed. Use it instead of paging GET /api/v1/signals/audiences/{id}/members when you want the whole list.
Only intents and persona audiences have member lists. Any other audience returns 400.
Columns. hem (SHA-256 of the lowercased email), intent_trend, active_days_14d, topic_ids (topic ids separated by ;) and company_domain. A value the person does not have is an empty cell. The file name is audience-{id}-{state}-{day}.csv.
Billing. One predictive_signal unit per member, for every caller. A state and day is billed once per audience: downloading the same list again is free. The response header X-Record-Count holds the row count that was billed. Compare it with the rows you received to detect a stream that ended early.
Check the cost first. Add dry_run=true to get the row count and the cost as JSON. Nothing is billed. The preview carries the day it quoted, so pass that day on the real download. When the list is already billed, records_to_charge is 0.
Parameters. This route accepts only project_id, state, day and dry_run. Any other query parameter returns 400.
A test API key gets a fixed sample file with the response header X-Delivr-Mode: test. Nothing is billed.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
400Invalid request. A missing project, a missing or unknown state, a bad day or dry_run, an unknown query parameter, or an audience without member lists.
401Missing or invalid authentication.
402The organization cannot be billed. Read error for the cause. A dry_run is never refused for this reason.
404Audience not found in this project.
503Member lists are temporarily unavailable. Retry shortly. Nothing is billed.
