Create
Create an audience from a customer list, your account’s Whop People data, or engagement with videos, lead forms, Instagram profiles, or Facebook pages. Create lookalike audiences to reach people similar to an existing audience. Processing runs asynchronously. Custom creation returns one audience; lookalike creation returns the requested similarity bands in data.
POST /files on the Legacy API, 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 Whop skips rows that lack both email and phone. 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"
Pins the request to a dated API version.
"2026-09-15"
Body
Account ID, prefixed biz_.
"biz_xxxxxxxxxxxxxx"
Audience type. Defaults to custom.
custom, lookalike "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.
true
CSV 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).
3
Rules for membership based on social engagement. Requires a connected social account with advertising access.
CSV audiences only. The uploaded customer CSV — a file id (file_...) returned by POST /files.
"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
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.
"Page engagers"
Lookalikes only. Total similarity reach as a whole percent (1–20), sliced evenly across count — must be divisible by count. For example, 3 audiences at 6% creates 0–2%, 2–4%, and 4–6% bands.
6
Lookalikes only. The ready custom audience (adaud_) to build from; uploaded and People audiences need at least 100 matched people. Meta validates engagement audience eligibility when creating the lookalike.
"adaud_xxxxxxxxxxxxxx"
Custom audience source. Inferred from engagement, then filters, otherwise defaults to csv_upload. Supply only the fields for the selected source.
csv_upload, people_filter, engagement "engagement"
Response
Audience created. Custom creation returns one audience; lookalike creation returns an array in data.
- Option 1
- Option 2
Whether the audience targets a defined group of people or people similar to an existing audience.
custom, lookalike "lookalike"
Whether Whop rebuilds membership from saved People filters twice a day. When false, People audiences keep the members matched at creation. Always false for uploaded lists, lookalikes, and engagement audiences. Engagement membership is maintained by Meta.
false
When the audience was created, as an ISO 8601 timestamp.
"2026-01-01T12:00:00.000Z"
Social engagement rules maintained by the ad platform. null for other audience sources.
Processing error message. null unless processing is partial or failed.
"412 of 1,000 rows had no email or phone number, so the list could not be matched."
Saved Whop People filters that define membership, using the same keys as GET /people. null for uploaded lists, engagement audiences, and lookalikes.
Audience ID, prefixed adaud_.
"adaud_xxxxxxxxxxxxxx"
When the audience membership was last rebuilt, as an ISO 8601 timestamp. null until the first build completes.
"2026-01-01T12:00:00.000Z"
For lookalikes: the upper bound of the similarity band as a fraction (0.02 = top 2%). null for custom audiences.
0.04
For lookalikes: the lower bound of the similarity band as a fraction. null for custom audiences and first-tier lookalikes.
0.02
Members successfully uploaded to connected ad accounts. Always 0 for lookalikes and engagement audiences.
0
Audience display name.
"Past purchasers Lookalike 2–4%"
External audience IDs created on connected ad platforms, such as Meta.
Members processed from the source so far. Always 0 for lookalikes and engagement audiences.
0
Processing progress from 0 to 100.
0
For lookalikes: the audience this lookalike was built from. null for custom audiences.
"adaud_xxxxxxxxxxxxxx"
Membership source: an uploaded CSV, Whop People filters, or social engagement.
csv_upload, people_filter, engagement "csv_upload"
Current state of audience creation. For engagement audiences, ready means the rules were created on Meta; membership may still be populating. 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 and engagement audiences.
0
When the audience was last updated, as an ISO 8601 timestamp.
"2026-01-01T12:00:00.000Z"

