Create
Creates an audience. Default (audience_type omitted or custom): creates one audience from an uploaded customer identity CSV file (name, column_mapping, and file_id required) and starts processing it; responds with the audience object. With filters: creates an audience from saved People filters (name required) — membership is built from the account’s People data, and auto_refresh decides whether it keeps tracking the filters or keeps whoever matched at creation. With audience_type: lookalike: creates a ladder of Meta lookalike audiences from an existing ready custom audience (source_audience_id, count, and percentage required) — count equal similarity bands slicing the top percentage% (3 audiences at 6% = 0–2%, 2–4%, 4–6%), each returned as its own audience in a { data: [...] } envelope.
POST /files, then pass the returned file_... ID as file_id.
column_mapping tells Whop which CSV header contains each identity field. Headers can be custom, but rows missing both email and phone are skipped. After creating the audience, poll List Audiences until status is ready, partial, or failed.
Map ltv to a column of per-customer lifetime values to build a value-based audience. Lookalikes created from it favor people similar to your highest-value customers.
Authorizations
An Account API key, account-scoped JWT, App API key, or user OAuth token. Prepend the key or token with Bearer, for example Bearer ***************************.
Headers
A unique key that makes this request safe to retry. See Idempotent requests.
255"d9105228-4a08-46b1-8b91-42fed586d383"
Body
Account ID, prefixed biz_.
What to create. Defaults to custom (CSV upload).
custom, lookalike Filter audiences only, and set only at creation. true (the default) rebuilds membership from the filters twice a day. false keeps whoever matched at creation and never rebuilds.
Custom audiences only. Maps supported identity fields to CSV column headers. Map at least one of email or phone.
Lookalikes only. Number of lookalike audiences to create (1–6).
Custom audiences only. The uploaded customer CSV — a file id (file_...) returned by POST /files.
Filter audiences only. The People filters that define membership, keyed exactly as GET /people accepts them — for example {"os": "iOS", "country": "US"}. Date filters must be rolling windows — first_seen_within_days or last_seen_within_days — so the audience re-anchors on every refresh; fixed dates such as first_seen_after are rejected. Source values are canonical source paths (whop:<campaign>:<group>:<ad>, ext:<platform>:..., referrer:<domain>, direct), exact or with a trailing :* wildcard.
Audience display name. Required for custom audiences; lookalike names are generated from the source audience.
Lookalikes only. Total similarity reach as a whole percent (1–20), sliced evenly across count — must be divisible by count.
Lookalikes only. The ready custom audience (adaud_) to build from; it needs at least 100 matched people.
Response
Audience created — the audience object for custom audiences, or { data: [...] } for lookalike ladders.
- Option 1
- Option 2
custom = a customer list (uploaded, or built from saved People filters); lookalike = Meta lookalike built from a custom audience.
custom, lookalike "custom"
Whether membership keeps updating. true rebuilds it from the saved filters twice a day, so people join and leave as they start and stop matching. false keeps whoever matched when it was built and never rebuilds. Always false for uploaded lists and lookalikes.
When the audience was created, as an ISO 8601 timestamp.
Processing error message. null unless processing is partial or failed.
For audiences built from People filters: the filters that define membership, keyed exactly as GET /people accepts them — for example {"os": "iOS", "country": "US"}. null for uploaded lists and lookalikes.
Audience ID, prefixed adaud_.
When the audience membership was last rebuilt, as an ISO 8601 timestamp. null until the first build completes.
For lookalikes: the upper bound of the similarity band as a fraction (0.02 = top 2%). null for custom audiences.
For lookalikes: the lower bound of the similarity band as a fraction. null for custom audiences and first-tier lookalikes.
Members successfully uploaded to connected ad accounts. Always 0 for lookalikes.
Audience display name.
External audience IDs created on connected ad platforms, such as Meta.
Members processed from the source so far. Always 0 for lookalikes.
Processing progress from 0 to 100.
For lookalikes: the audience this lookalike was built from. null for custom audiences.
Where members come from. csv_upload = an uploaded customer list; people_filter = built from saved People filters. See auto_refresh for whether a people_filter audience keeps updating.
csv_upload, people_filter "csv_upload"
Current state of the audience import. syncing means Whop is sending matched rows to connected ad accounts. When status is partial or failed, error_message explains what went wrong.
pending, processing, syncing, ready, partial, failed Total members detected in the source — CSV rows for uploaded lists, matching people for automatic audiences. Always 0 for lookalikes.
When the audience was last updated, as an ISO 8601 timestamp.

