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-13"

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
Example:

"transfers"

account_id
string

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

Example:

"biz_xxxxxxxxxxxxxx"

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. Verified website templates — websites with a published web build — are included, even though websites are otherwise left out of app lists.
  • 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 (9)

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.
  • include_resource boolean — Whether to include the resource field in the response or not. Consider passing false if you need a fast response without as many rich details.
  • 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, workforce, 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.
Example:
timezone
string

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

Example:

"America/Chicago"

Response

export created

created_at
string
required

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

Example:

"2026-01-01T12:00:00.000Z"

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.

Example:

"https://assets-2-rough.whop.com/uploads/image/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

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.

Example:

"2026-01-01T12:00:00.000Z"

id
string
required

Export ID, prefixed exprt_.

Example:

"exprt_xxxxxxxxxxxxxx"

progress_percent
integer | null
required

Estimated completion percentage from 0 to 100.

Example:

0

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:

"members"

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:

"completed"

updated_at
string
required

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

Example:

"2026-01-01T12:00:00.000Z"