Skip to main content
POST
JavaScript

Authorizations

Authorization
string
header
required

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

Idempotency-Key
string

A unique key that makes this request safe to retry. See Idempotent requests.

Maximum string length: 255
Example:

"d9105228-4a08-46b1-8b91-42fed586d383"

Api-Version-Date
string

Pins the request to a dated API version.

Example:

"2026-08-05-1"

Body

application/json
resource
enum<string>
required

The resource to export, e.g. payouts, receipts, or members.

Available options:
ad_campaigns,
ad_groups,
ads,
apps,
audiences,
bounties,
bounty_submissions,
card_transactions,
checkout_configurations,
disputes,
events,
financial-activity,
members,
memberships,
payout_methods,
payouts,
people,
plans,
products,
resolution_center_cases,
shipments,
social_accounts,
team_members,
transfers,
webhooks,
receipts,
unclaimed_memberships,
tracking_links,
promo_codes,
resolutions,
entries,
leads,
content_rewards_submissions,
invoices,
cancelation_reasons,
child_companies
account_id
string

The account to export from, prefixed biz_. Defaults to the credential's account.

columns
string[]

Column keys to include. Empty means all columns for the resource.

filters
object

Resource-specific filters. For native REST resources (payouts, transfers, memberships) these are the resource's own list query params; for dashboard tables they mirror the dashboard table filters.

Filters by resource (25)
ad_campaigns (4)

Mirrors the filtering query params of GET /api/v1/ad_campaigns.

  • created_after string — Only return campaigns created after this timestamp.
  • created_before string — Only return campaigns created before this timestamp.
  • query string — Filter campaigns by a title or ID substring.
  • status string — Only return campaigns with this status. One of draft, active, paused, payment_failed.
ad_groups (6)

Mirrors the filtering query params of GET /api/v1/ad_groups.

  • ad_campaign_id string — Filter to ad groups in this campaign.
  • ad_campaign_ids string[] — Filter to ad groups in these campaigns (max 100). Repeat the parameter for each id (ad_campaign_ids=a&ad_campaign_ids=b).
  • created_after string — Only return ad groups created after this timestamp.
  • created_before string — Only return ad groups created before this timestamp.
  • query string — Filter ad groups by a title or ID substring.
  • status string — Filter to ad groups with this status. One of active, paused, rejected, duplicating.
ads (8)

Mirrors the filtering query params of GET /api/v1/ads.

  • ad_campaign_id string — Only return ads in this ad campaign.
  • ad_campaign_ids string[] — Only return ads in these ad campaigns (max 100). Repeat the parameter for each id (ad_campaign_ids=a&ad_campaign_ids=b).
  • ad_group_id string — Only return ads in this ad group.
  • ad_group_ids string[] — Only return ads in these ad groups (max 100). Repeat the parameter for each id (ad_group_ids=a&ad_group_ids=b).
  • created_after string — Only return ads created after this timestamp.
  • created_before string — Only return ads created before this timestamp.
  • query string — Filter ads by a title or ID substring.
  • status string — Only return ads with this status. One of active, paused, in_review, rejected.
apps (4)

Mirrors the filtering query params of GET /api/v1/apps.

  • app_type string — Filter apps by the type of end-user they are built for. Apps of type website are left out unless you ask for them by name. One of b2b_app, b2c_app, company_app, component, website.
  • query string — A search string matched against app names.
  • verified_apps_only boolean — Whether to only return apps verified by Whop.
  • view_type string — Only return apps supporting this view type, such as dashboard or hub. One of hub, discover, dash, dashboard, analytics, skills, openapi.
audiences (3)

Mirrors the filtering query params of GET /api/v1/audiences.

  • audience_id string — Audience ID, prefixed adaud_, used to filter the response to one audience.
  • audience_type string — Filter by audience type: custom (uploaded lists) or lookalike. One of custom, lookalike.
  • source_type string — Filter by member source: csv_upload (uploaded lists) or people_filter (automatic audiences built from saved People filters). One of csv_upload, people_filter.
bounties (5)

Mirrors the filtering query params of GET /api/v1/bounties.

  • created_after string — Only bounties created after this ISO 8601 timestamp.
  • created_before string — Only bounties created before this ISO 8601 timestamp.
  • query string — Substring match on the bounty title or ID.
  • status string — Filter by lifecycle state. One of scheduled, open, closed, completed, canceled.
  • user_id string — List the bounties this user participated in (user_ tag). Must be the authenticated user.
bounty_submissions (4)

Mirrors the filtering query params of GET /api/v1/bounty_submissions.

  • bounty_id string — Only submissions on this bounty (bnty_ tag).
  • created_after string — Only submissions created after this ISO 8601 timestamp.
  • created_before string — Only submissions created before this ISO 8601 timestamp.
  • status string — Filter by lifecycle state. One of in_progress, submitted, approved, denied.
card_transactions (6)

Mirrors the filtering query params of GET /api/v1/card_transactions.

  • card_id string[] — Return only transactions charged to these cards, each prefixed icrd_.
  • cardholder_id string[] — Return only transactions on cards assigned to these users, each prefixed user_.
  • created_after string — Return only transactions authorized at or after this ISO 8601 timestamp.
  • created_before string — Return only transactions authorized at or before this ISO 8601 timestamp.
  • status string — Return only transactions with this status. One of pending, completed, reversed, declined.
  • transaction_ids string[] — Return only these card transactions, each prefixed citx_. Repeat the parameter, or pass one comma-separated value.
checkout_configurations (3)

Mirrors the filtering query params of GET /api/v1/checkout_configurations.

  • created_after string — Only return checkout configurations created after this ISO 8601 timestamp.
  • created_before string — Only return checkout configurations created before this ISO 8601 timestamp.
  • plan_id string — Only return checkout configurations for this plan ID, prefixed plan_.
disputes (4)

Mirrors the filtering query params of GET /api/v1/disputes.

  • created_after string — Only disputes opened after this ISO 8601 timestamp.
  • created_before string — Only disputes opened before this ISO 8601 timestamp.
  • currency string — Only disputes in this three-letter ISO currency.
  • status string[] — Only disputes in these statuses. Repeat the parameter to pass several — one paginated list covers all of them. Covers both chargebacks and inquiries at each stage.
events (14)

Mirrors the filtering query params of GET /api/v1/events.

  • attribution_model string — Attribution model for the source filter (defaults to last_touch). One of last_touch, first_touch.
  • browser string — Browser families to filter by, comma-separated (e.g. Chrome, Mobile Safari).
  • city string — Cities to filter by, comma-separated.
  • country string — Country codes to filter by, comma-separated.
  • device string — Device families to filter by, comma-separated (e.g. iPhone, Mac).
  • event string — Full event names to filter by, comma-separated (payment.completed, pixel.lead, pixel.page, pixel.custom:) — the same vocabulary the events / people metrics use.
  • from string — Start of the time range as an ISO 8601 timestamp. Required when identifier is omitted.
  • hostname string — Page hostnames to filter by, comma-separated.
  • identifier string — Any hard identifier of the person: a person ID (prsn_*), user ID, email, phone number, or a tracking cookie value (wuid, anonymous ID, fbp/fbc/ttp/ga). Omit to list recent events for the account.
  • os string — Operating system families to filter by, comma-separated (e.g. iOS, Windows).
  • page string — Page paths to filter by, comma-separated.
  • source string — Canonical source path, exact or with a trailing :* prefix (whop::, ext:meta:, referrer:, direct). Restricts the list to conversion targets attributed to that source — the debuggability twin of a metric cell's source parameter.
  • to string — End of the time range as an ISO 8601 timestamp. Required when identifier is omitted; otherwise defaults to now.
  • utm_source string — utm_source values to filter by, comma-separated.
financial-activity (8)

Mirrors the filtering query params of GET /api/v1/financial-activity.

  • available_after string — Only include rows whose funds became withdrawable on or after this YYYY-MM-DD settlement date (UTC), distinct from posted_at. Requires currency.
  • available_before string — Only include rows whose funds became withdrawable on or before this YYYY-MM-DD settlement date (UTC). Set equal to available_after for a single day. Requires currency.
  • currency string — Optional currency code filter, for example usd.
  • include_owned_accounts boolean — When true, aggregates the authenticated user's personal ledger with the businesses they own (owner role with balance read) into one feed. Requires user_id to be the authenticated user; cannot be combined with account_id or the settlement-date filters. Each returned row includes the owning account.
  • line_types string[] — Optional ledger line categories to include. Some categories (for example onchain_deposit, which covers inbound crypto deposits such as MoonPay onramps) are only returned when explicitly requested here.
  • posted_after string — Only include rows posted after this ISO 8601 timestamp.
  • posted_before string — Only include rows posted before this ISO 8601 timestamp.
  • user_id string — The owning user ID (a user_ identifier). Provide this or account_id.
members (5)

Mirrors the filtering query params of GET /api/v1/members.

  • access_level string — Filter by what the member can reach on the account. One of no_access, admin, customer.
  • created_after string — Only members who joined after this ISO 8601 timestamp.
  • created_before string — Only members who joined before this ISO 8601 timestamp.
  • query string — Search members by name or username. An exact email address also matches when the credential holds the member:email:read scope.
  • status string — Filter by whether the member is still part of the account. One of joined, left.
memberships (6)

Mirrors the filtering query params of GET /api/v1/memberships.

  • created_after string — Only memberships created after this ISO 8601 timestamp.
  • created_before string — Only memberships created before this ISO 8601 timestamp.
  • plan_id string — Filter to memberships of this plan (plan_ tag). Repeat as plan_ids[] for several.
  • product_id string — Filter to memberships of this product (prod_ tag). Repeat as product_ids[] for several.
  • status string — Filter by billing state. canceling matches active memberships set to cancel at period end; paused matches memberships with payment collection paused. One of active, trialing, past_due, completed, canceled, expired, canceling, paused.
  • user_id string — Narrow to one user's memberships (user_ tag, or me for the caller). A user outside the caller's visible set returns an empty list.
payouts (2)

Mirrors the filtering query params of GET /api/v1/payouts.

  • currency string — Optional currency code filter, for example usd.
  • user_id string — The owning user ID (a user_ identifier). Provide this or account_id.
people (20)

Mirrors the filtering query params of GET /api/v1/people.

  • attribution_model string — Attribution model the source filter matches against (defaults to last_touch). One of last_touch, first_touch.
  • audience_id string — Only include people in this audience. An audience that keeps itself up to date resolves to the People filters that define it, so this always reflects who matches now; uploaded lists and point-in-time snapshots match their recorded members.
  • contactable boolean — true for people who have an email address or phone number — the ones an ad platform can match.
  • country string — Only include people whose most recent visit came from this ISO 3166-1 alpha-2 country code.
  • custom_event string — Only include people who fired this custom pixel event.
  • email string — Only include the person linked to this email address.
  • event_from string — With event_to plus an event or source filter, switches to exact-population mode: person ids are resolved and paginated on the events side within this window (the same query the people metric counts), then hydrated per page.
  • event_name string[] — Only include people who fired any of these events, e.g. payment.completed or page.checkout.view.
  • event_to string — The inclusive end of the event window for exact-population mode.
  • first_seen_after string — Only include people first seen at or after this ISO 8601 timestamp.
  • first_seen_before string — Only include people first seen before this ISO 8601 timestamp.
  • first_seen_within_days integer — Only include people first seen within this many days, as a rolling window.
  • has_purchased boolean — true for customers only, false for people who have never purchased.
  • last_seen_after string — Only include people last seen at or after this ISO 8601 timestamp.
  • last_seen_before string — Only include people last seen before this ISO 8601 timestamp.
  • last_seen_within_days integer — Only include people last seen within this many days, as a rolling window.
  • phone string — Only include the person linked to this phone number.
  • query string — Search people by name, email, phone, or whop user ID (case-insensitive substring match).
  • source string[] — Only include people acquired from any of these sources — canonical paths (whop:::, ext::..., referrer:, direct, other), exact or with a trailing :* prefix. The same vocabulary the events / people metrics use.
  • user_id string — Only include the person linked to this whop user ID.
plans (6)

Mirrors the filtering query params of GET /api/v1/plans.

  • created_after string — Only return plans created after this timestamp.
  • created_before string — Only return plans created before this timestamp.
  • plan_types string[] — Filter to only plans matching these billing types.
  • product_ids string[] — Filter to only plans belonging to these product identifiers.
  • release_methods string[] — Filter to only plans matching these release methods.
  • visibilities string[] — Filter to only plans matching these visibility states.
products (2)

Mirrors the filtering query params of GET /api/v1/products.

  • access_pass_types string[] — Filter to only products matching these types.
  • visibilities string[] — Filter to only products matching these visibility states.
promo_codes (5)

Mirrors the filtering query params of GET /api/v1/promo_codes.

  • created_after string — Only promo codes created after this ISO 8601 timestamp.
  • created_before string — Only promo codes created before this ISO 8601 timestamp.
  • plan_ids string[] — Only promo codes scoped to these plan IDs.
  • product_ids string[] — Only promo codes scoped to these product IDs.
  • status string — Promo-code status. expired groups inactive and archived codes. One of active, inactive, archived, expired.
resolution_center_cases (6)

Mirrors the filtering query params of GET /api/v1/resolution_center_cases.

  • created_after string — Only cases created after this ISO 8601 timestamp.
  • created_before string — Only cases created before this ISO 8601 timestamp.
  • outcome string[] — Only closed cases that ended these ways. Repeat the parameter to pass several.
  • reason string[] — Only cases opened for these reasons. Repeat the parameter to pass several.
  • status string[] — Only cases in these statuses. Repeat the parameter to pass several — one paginated list covers all of them.
  • user_id string — Only cases opened by this customer — a user_ tag, or me for the calling user. It narrows what you can already read, so me lists the cases you opened without the ones on accounts you are a team member of.
shipments (4)

Mirrors the filtering query params of GET /api/v1/shipments.

  • created_after string — Return shipments created after this ISO 8601 timestamp.
  • created_before string — Return shipments created before this ISO 8601 timestamp.
  • payment_id string[] — Only shipments fulfilling these payments, each prefixed pay_. Repeat the parameter to pass several, up to 100 per request — one paginated list covers all of them.
  • status string — Filter to shipments with this delivery status. One of unknown, pre_transit, in_transit, out_for_delivery, delivered, available_for_pickup, return_to_sender, failure, cancelled, error.
social_accounts (4)

Mirrors the filtering query params of GET /api/v1/social_accounts.

  • platform string — Only return social accounts for the platform that is specified. One of x, instagram, youtube, tiktok, facebook, discord, telegram.
  • scopes string[] — Only return social accounts that have these scopes.
  • user_id string — The User that the social accounts are connected to. Provide either this or account_id.
  • verified boolean — Only return social accounts that are verified on the platform.
team_members (5)

Mirrors the filtering query params of GET /api/v1/team_members.

  • created_after string — Only return members added after this ISO 8601 timestamp.
  • created_before string — Only return members added before this ISO 8601 timestamp.
  • role string — Only return members with this role. custom matches members on a dashboard-managed custom role. One of owner, admin, sales_manager, moderator, advertiser, app_manager, support, manager, custom.
  • status string — Only return members with this status: joined (accepted members) or pending (pending invites). Both are returned by default. One of joined, pending.
  • user_id string — Only return the membership for this user ID, prefixed user_.
transfers (4)

Mirrors the filtering query params of GET /api/v1/transfers.

  • created_after string — Only transfers created strictly after this ISO 8601 timestamp.
  • created_before string — Only transfers created strictly before this ISO 8601 timestamp.
  • destination_id string — Filter to transfers received by this account. Provide this or origin_id.
  • origin_id string — Filter to transfers sent from this account. Provide this or destination_id.
webhooks (3)

Mirrors the filtering query params of GET /api/v1/webhooks.

  • app_id string — Only return webhooks attached to this app. Omit to list the account's own webhooks.
  • has_failures boolean — Only return webhooks whose endpoint is currently failing — every delivery since the current failure streak began has been rejected. Clears as soon as a delivery succeeds.
  • include_app_webhooks boolean — Also return webhooks attached to the account's apps, not just the account's own. Cannot be combined with app_id.
timezone
string

IANA timezone for date columns, e.g. America/New_York. Defaults to UTC.

Response

export created

created_at
string
required

When the export was requested, as an ISO 8601 timestamp.

download_url
string | null
required

A short-lived link to download the finished CSV. null until status is completed, and again once the export has expired.

expires_at
string
required

When the CSV is deleted and the export moves to expired, as an ISO 8601 timestamp. Exports are retained for 30 days.

id
string
required

Export ID, prefixed exprt_.

resource
enum<string>
required

The resource that was exported, e.g. receipts, members, or payouts.

Available options:
ad_campaigns,
ad_groups,
ads,
apps,
audiences,
bounties,
bounty_submissions,
card_transactions,
checkout_configurations,
disputes,
events,
financial-activity,
members,
memberships,
payout_methods,
payouts,
people,
plans,
products,
resolution_center_cases,
shipments,
social_accounts,
team_members,
transfers,
webhooks,
receipts,
unclaimed_memberships,
tracking_links,
promo_codes,
resolutions,
entries,
leads,
content_rewards_submissions,
invoices,
cancelation_reasons,
child_companies,
ledger_lines,
withdrawal_lines
Example:

"ad_campaigns"

status
enum<string>
required

pending or processing while the CSV is generated, completed when the download is ready, failed if it errored, expired once the CSV has been deleted.

Available options:
pending,
processing,
completed,
failed,
expired
Example:

"pending"

updated_at
string
required

When the export last changed status, as an ISO 8601 timestamp.