> ## Documentation Index
> Fetch the complete documentation index at: https://docs.whop.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Account

> Creates an account. User tokens create business accounts; Account API keys create connected accounts. Tax fields (`tax_remitted_by`, `tax_type`, `product_tax_code_id`, `business_address`, `tax_identifiers`) are configured with Update Account, not at creation.



## OpenAPI

````yaml /openapi/api-v1-native.json post /accounts
openapi: 3.1.0
info:
  description: >-
    The Whop REST API. Please see
    https://docs.whop.com/developer/api/getting-started for more details.
  termsOfService: https://whop.com/tos-developer-api/
  title: Whop API
  version: 1.0.0
  x-api-version-date: '2026-10-14'
servers:
  - description: Production Whop API
    url: https://api.whop.com/api/v1
  - description: Sandbox Whop API
    url: https://sandbox-api.whop.com/api/v1
security: []
tags:
  - description: >
      An Account represents a person or business on Whop that can have its own
      profile, wallet, and account-scoped settings. Use accounts for customers,
      creators, merchants, sellers, or connected businesses your integration
      supports.


      Use the Accounts API to create accounts, list accounts visible to your
      credentials, retrieve or update an account, suspend or delete a connected
      account managed by your platform, and retrieve the account associated with
      the current API key.


      To accept payment-financing methods, an account applies through a
      financing application: a request to review the account for payment
      financing, not a loan or business capital. Create an application, save
      answers to its requirements, then submit it for review. You can manage
      applications for your own account and its direct connected accounts.
    name: Accounts
    x-whop-summary: 'A business on Whop: profile, wallet, capabilities, settings.'
  - description: >
      A User represents a person on Whop. Users have a public profile and can
      buy products, join accounts, and access experiences.


      Use the Users API to search for users, retrieve or update profiles, and
      check whether a user has access to an account, product, or experience.
    name: Users
    x-whop-summary: 'A person on Whop: profile and connected identities.'
  - description: >
      A Team Member is a member of an account's team: the link between a user
      and an account, carrying the role that controls what they can do. Roles
      are either system roles (like `admin` or `moderator`) or `custom` roles
      managed from the dashboard.


      Use the Team Members API to list an account's team, add a user to the team
      with a system role, change a member's role, and remove members. Adding a
      user who has not yet accepted sends an invitation instead.
    name: Team Members
    x-whop-summary: An account's team members and the roles that scope their access.
  - description: >
      A Member is one buyer's relationship with an account: one record per
      customer, however many memberships they hold. It tracks whether they have
      joined or left, their access level, and when they last opened the
      account's content.


      Use the Members API to list and search an account's members, retrieve a
      single member, and read a member's activity log. Member rows are created
      and maintained by the membership lifecycle; to grant or revoke access,
      work with memberships instead.
    name: Members
    x-whop-summary: One buyer's relationship with an account, across all their purchases.
  - description: >
      Economic Intelligence is Whop's recommendation engine for an account. Each
      recommendation is one action: a title the owner sees, a step-by-step brief
      Whop AI carries out, and the result it expects. Whop generates them from
      the account's sales, site, ads, and what its owner has said.


      Use the Economic Intelligence API to list an account's recommendations,
      request new ones for a specific goal, and follow each one from `queued` to
      `ready`, then to `executed` once the owner runs it or `superseded` when a
      newer one replaces it.
    name: Economic Intelligence
    x-whop-summary: What an account should do next to grow, generated from its own data.
  - description: >
      A Webhook is an endpoint on your server that Whop sends signed HTTP POST
      requests to when events happen, such as a payment succeeding or a
      membership going active. A webhook is attached to an account or an app and
      subscribes to the events you choose.


      Use the Webhooks API to create and update endpoints, send a test event,
      inspect the delivery log, and replay deliveries your server missed. See
      [Webhooks & Events](/developer/guides/webhooks) for verifying signatures
      and handling retries.
    name: Webhooks
    x-whop-summary: Event notifications pushed to your server as things happen.
  - description: >
      Stats represent aggregated activity for an account over time. They help
      you understand revenue, transactions, disputes, members, referrals, and
      advertising performance across reporting periods like days, weeks, or
      months.


      Use the Stats API to list the metrics you can chart and retrieve one as a
      time series over a date range, or list reports and retrieve aggregates
      that are not bucketed over time, such as platform-wide payment trends.
    name: Stats
    x-whop-summary: Aggregated financial, audience, and traffic reporting.
  - description: >
      A Verification represents a legal identity for a person or business.
      Accounts and users complete verification when Whop needs to confirm who
      they are before enabling payouts or compliance-sensitive workflows.


      Use the Verifications API to start or resume a hosted verification
      session, check review status, and submit requested details or documents.
      If `requested_information` contains items, submit answers with [Update
      Verification](/api-reference/beta/verifications/update-verification).
    name: Verifications
    x-whop-summary: Legal identity required before payouts and card issuing.
  - description: >
      An Export is a CSV of one of an account's dashboard tables, such as
      members, payments, or disputes. Exports are generated in the background,
      so a new export starts `pending` and becomes `completed` with a download
      link.


      Use the Exports API to start an export, poll it until `download_url` is
      set, and list an account's past exports. Each table requires its own
      export scope, and finished files are deleted after 30 days.
    name: Exports
    x-whop-summary: Asynchronous CSV dumps of an account's dashboard data.
  - description: >
      A Notification is a message delivered to a user, such as a new post, a
      payment, or a mention. Each one comes from an experience the user belongs
      to or a team they are on, and falls under a topic, like new sales, that
      users set preferences on.


      Use the Notifications API to list a user's feed, read and clear unread
      badges, send notifications from your app to an experience's users or an
      account's team, and list the topic catalog that notification preferences
      reference.
    name: Notifications
    x-whop-summary: >-
      The user's notification feed: unread badges, mark-read, app sends, and the
      topic catalog.
  - description: >
      A Payment is one charge against a buyer, for one or more variants. Create
      an on-session payment with a `confirmation_token` for the method the buyer
      selected, or an off-session payment with an existing member's stored
      payment method.


      Use the Payments API to charge buyers, list and retrieve payments, and
      refund, void, capture, or retry them. Collection runs in the background,
      so the create response is not the outcome. Poll [Retrieve
      status](/api-reference/beta/payments/retrieve-payment-status) for how far
      the payment has gone and, while it is `requires_action`, what the buyer
      must do next: follow a redirect, complete 3D Secure, display transfer
      instructions, or link a bank account. Update the payment's `return_url` to
      change where they land afterwards, up until they come back.
    name: Payments
    x-whop-summary: A charge against a buyer, and the step they still owe.
  - description: >
      A Payment Quote prices a purchase exactly as a payment for it will be
      charged: the same line pricing, promo code, and tax, for a buyer located
      by the address, country, or IP address you send. A quote is priced once,
      can be consumed by one payment, and expires.


      Use the Payment Quotes API to show a buyer the total, tax, and currency
      before they pay, then pass the quote's `id` as `quote_id` when you create
      the payment to charge exactly that quote. Quote again whenever the cart,
      promo code, or address changes.
    name: Payment Quotes
    x-whop-summary: 'A purchase priced before it is paid: its lines, promo code and tax.'
  - description: >
      A Refund is one full or partial reversal of a payment, issued with [Refund
      Payment](/api-reference/beta/payments/refund-payment). It records how much
      moved, through which provider, and whether it succeeded.


      Use the Refunds API to list the refunds on a payment or across an account,
      and to retrieve a single refund.
    name: Refunds
    x-whop-summary: Money returned to a buyer from a payment.
  - description: >
      A Confirmation Token is a single-use, short-lived reference to a payment
      method and billing details collected from a buyer. Its response never
      returns the underlying payment credential.


      Whop Elements mint the token in your buyer-facing collection flow and hand
      you its `ctok_` ID to send to the Payments API from your server. Retrieve
      a token to display its payment method and billing preview or check whether
      it is still usable.
    name: Confirmation Tokens
    x-whop-summary: A short-lived reference to payment details collected from a buyer.
  - description: >
      A Setup Intent saves a buyer's payment method for later without taking
      money now. Create one from a confirmation token the payment elements
      collected in setup mode, or from a payment method already on file to
      re-verify it. It runs the same collection flow a payment does, so the
      buyer may still owe a step: 3D Secure on a card, a hosted enrollment, or
      linking a bank account.


      The create response is the setup intent as created, not its outcome. Hand
      its `client_secret` to the elements' `handleNextAction`, or poll [Retrieve
      status](/api-reference/beta/setup-intents/retrieve-setup-status) for how
      far the setup has gone and what is outstanding. Once it reaches
      `succeeded`, `payment_method_id` names the saved method and Create Payment
      charges it.
    name: Setup Intents
    x-whop-summary: Saving a buyer's payment method without charging it.
  - description: >
      A Payment Rule lets an account act on its own payments before they reach
      the bank: block them, let them through, send them to review, or ask the
      buyer for 3D Secure. Each rule matches on a small set of payment
      attributes, and every condition must hold for it to apply.


      A rule's definition is fixed once created, so the payments it decided keep
      naming the rule that decided them. Use
      [Replace](/api-reference/beta/payment-rules/replace-a-payment-rule) to
      change one, and [List
      fields](/api-reference/beta/payment-rules/list-fields) for the attributes,
      operators and values a condition can use.
    name: Payment Rules
    x-whop-summary: Rules an account writes to decide its own payments.
  - description: >
      A Dispute is a chargeback a customer files against a payment through their
      bank, or an inquiry that may become one. It carries the disputed payment,
      a deadline to respond, your evidence, and the outcome once the processor
      rules.


      Use the Disputes API to list disputes, edit the evidence packet while a
      dispute is still contestable, and submit it for review.
    name: Disputes
    x-whop-summary: Chargebacks filed against an account, with evidence and outcomes.
  - description: >
      A Dispute alert is an early warning from a card issuer that a settled
      payment is being questioned, ahead of any chargeback. `type` separates
      fraud reports (`early_fraud_warning`), pre-dispute notices
      (`dispute_alert`), and Visa RDR cases the network already closed by
      refunding (`rapid_dispute_resolution`).


      Use the Dispute alerts API to list alerts for an account, filter them by
      type or payment, and read `actionable` to see whether refunding can still
      avoid the chargeback.
    name: Dispute alerts
    x-whop-summary: Issuer warnings that arrive before a chargeback does.
  - description: >
      A Resolution Center Case is opened by a buyer when something is wrong with
      a purchase, such as an unwanted renewal, an item that never arrived, or a
      charge they don't recognize. It is the step before a chargeback: the buyer
      and merchant work it out directly, and Whop decides the case if they
      can't.


      Use the Resolution Center Cases API from either side: as the buyer, open,
      reply to, appeal, or withdraw a case; as the merchant, accept it
      (refunding the payment), deny it, or ask the buyer for more information.
    name: Resolution Center Cases
    x-whop-summary: File or respond to a case against a payment, as the buyer or the merchant.
  - description: >
      A Financial Activity row is a single movement of money in or out of an
      account's or user's balance: a payment, payout, refund, transfer, on-chain
      deposit, swap, or card transaction. Each row carries a typed `resource`
      and `source` so you can present and link the event without extra lookups.


      Use the Financial Activity API to build a statement or transaction feed
      for an account or user, and financial reports to summarize balance
      activity, income, and balances over a date range, then break a report
      total down into what drove it.
    name: Ledgers
    x-whop-docs-title: Financial Activity
    x-whop-summary: The activity feed behind an account or user's balance.
  - description: >
      Payouts represent money sent from an account or user balance to an
      external destination, such as a bank account, wallet, or other saved
      payout method.


      Use the Payouts API to create and track payouts, manage saved payout
      methods, and show expected arrival details for funds leaving Whop.
    name: Payouts
    x-whop-summary: Send money from a balance to a bank or wallet.
  - description: >
      Cards represent virtual payment cards that spend from an account or user
      balance. Cards can be assigned to cardholders and configured with spending
      limits for controlled spending.


      Use the Cards API to issue cards, list cards for an account or user,
      retrieve active card details such as the card number and CVC, and list the
      transactions made with them.
    name: Cards
    x-whop-summary: Issue cards that spend from a balance.
  - description: >
      A Cashback Rule pays a platform's direct connected accounts back a share
      of their card spend, funded by the platform. Each rule sets a rate, an
      eligibility window, and optional merchant filters, and can be limited to
      one connected account.


      Use the Cashback Rules API to create, update, and list the rules your
      platform funds, then pay out cashback on demand from your available USD
      balance.
    name: Cashback Rules
    x-whop-summary: Configure platform-sponsored card cashback.
  - description: >
      A Transfer moves money between Whop balances: from one account or user to
      another, from an account's wallet to a person or address, or into a claim
      link anyone with the URL can redeem.


      Use the Transfers API to send money, find recipients you can pay, list and
      retrieve transfers when reconciling money movement, and preview or redeem
      claim links.


      Subscribe to `transfer.completed` and `transfer.failed` for outcomes
      instead of polling. Each participating account can subscribe to these
      events. `transfer.created` is also emitted on success, not when processing
      starts. A failed transfer can be retried under the same ID and later
      succeed; retrieve the transfer to reconcile its current status.


      A successful balance transfer credits the recipient's available balance
      unless a release date applies. Transfers funded from pending balance
      retain a release date and credit pending balance; applicable recipient
      reserves or fraud holds can keep funds unavailable. `succeeded` confirms
      the transfer completed, not that all funds are withdrawable.
    name: Transfers
    x-whop-summary: Move funds between Whop accounts and users.
  - description: >
      Deposits describe the ways to add funds to an account or user balance: a
      hosted deposit page, bank transfer instructions, and crypto wallet
      addresses.


      Use the Deposits API to get deposit instructions for an account or user,
      such as a crypto address to send funds to or bank details for a transfer.
    name: Deposits
    x-whop-summary: Add funds to a balance.
  - description: >
      A Swap converts value between supported tokens, chains, or wallet
      destinations, or between fiat currencies at the mid-market rate, for an
      account or user. A swap quote previews the expected output, fees, and
      approval requirements before you create the swap.


      Use the Swaps API to quote a conversion, create the swap, list recent
      swaps, and retrieve a swap's status until it completes.
    name: Swaps
    x-whop-summary: Convert a balance between currencies.
  - description: >
      A Trade is one request on an account's or user's Whop-managed wallet. An
      `order` places one order from the trading balance, bridging the USDT0 it
      needs from the wallet first when the balance is short. A `close` closes
      the whole position in one market; when the account is then flat, a
      `withdraw` trade sends the trading balance back to the wallet. A `deposit`
      or `withdraw` moves money between the wallet and the trading balance.
      Orders trade Hyperliquid perpetuals and spot pairs priced in USDC.


      Use the Trades API to place orders, close positions and move funds, and
      follow each trade until it finishes. Trades run in the background; an
      order that bridged money in and does not fill sends that money back to the
      wallet, and `funds_location` says where the money is.


      The trading API, including `include_trading` on accounts and users, is in
      beta. It can change without a new API version date.
    name: Trades
    x-whop-summary: >-
      Place orders, close positions, and move funds for perpetual and spot
      trading from a Whop-managed wallet.
  - description: >
      A Product is a digital good or service sold on Whop. Products contain
      variants for pricing and may contain experiences for content delivery.


      Use the Products API to search the public marketplace, list an account's
      products, retrieve a product, and create, update, or delete products.
    name: Products
    x-whop-summary: The things you sell. Each owns variants and a store page.
  - description: >
      A Waitlist Entry is a user's signup for a variant that requires seller
      approval. Joining doesn't grant a membership or charge a payment method;
      the seller approves or denies each signup.


      Use the Waitlist Entries API to join a waitlist, read or cancel your own
      signups, and approve or deny the signups for accounts you operate.
    name: Waitlist Entries
    x-whop-summary: Join waitlists and manage customer signups awaiting approval.
  - description: >
      A Variant is one purchasable configuration of a product. It controls
      price, billing cadence, stock, SKU, attributes, tax behavior, checkout
      fields, and purchase visibility. Variant IDs remain prefixed `plan_`.


      Use the Variants API to create variants for products, list existing
      variants, retrieve or update variant configuration, calculate tax for
      checkout, and delete variants that should no longer be offered.
    name: Variants
    x-whop-summary: Purchasable configurations of a product.
  - description: >
      A Promo Code is a discount a buyer enters at checkout, either a percentage
      or a fixed amount off. It belongs to an account, can be limited to one
      product, and controls who can redeem it, how many times, until when, and
      for how many billing periods the discount lasts.


      Use the Promo Codes API to create codes for an account, list and retrieve
      them, deactivate a code to pause redemptions or activate it again, and
      archive codes you no longer offer.
    name: Promo Codes
    x-whop-summary: Discounts that creators configure for checkout.
  - description: >
      A Membership is a customer's purchase of a variant: the subscription or
      one-time grant that gives them access to a product. It tracks billing
      state (`active`, `trialing`, `past_due`, and so on), the current period,
      pending cancellations, custom metadata, and the software license key when
      the product includes licensing.


      Use the Memberships API to list an account's memberships or your own,
      retrieve one by ID or license key, invite a recipient to join through a
      free variant, and manage the lifecycle: cancel immediately or at period
      end, reverse a scheduled cancellation, pause and resume payment
      collection, extend or reactivate access, apply a promo code or affiliate,
      change renewal cadence, resync access, generate a transfer link, and
      update metadata.
    name: Memberships
    x-whop-summary: A customer's purchase of a variant, from checkout through cancellation.
  - description: >
      A Review is a customer's star rating and optional written feedback on a
      product, shown on the product's store page.


      Use the Reviews API to list a product's reviews, filtered by star rating
      or creation date, and retrieve a review by ID.
    name: Reviews
    x-whop-summary: Customer star ratings and written feedback on a product.
  - description: >
      A Checkout Configuration is a reusable checkout link owned by an account.
      In `payment` mode it sells a specific variant; in `setup` mode it collects
      and saves payment details without charging. Each configuration can also
      override which payment methods are accepted and how 3D Secure is enforced
      for that checkout.


      Use the Checkout Configurations API to create checkout links for an
      existing or inline variant, list configurations for an account, retrieve
      the configuration behind a checkout URL, and delete links that should no
      longer be used.
    name: Checkout Configurations
    x-whop-summary: Turn a variant into a shareable, prefilled checkout link.
  - description: >
      The Payment Method Domains API is deprecated. Add, check, and remove Apple
      Pay domains with the `apple_pay` capability of the [Domains
      API](/api-reference/beta/domains/domain) instead. These endpoints keep
      working and return `Deprecation` and successor `Link` headers. A domain
      keeps its ID, so `/domains/{id}` takes the `dom_` or `pmd_` ID these
      endpoints return.


      A Payment Method Domain registers a hostname with a wallet provider so its
      payment methods can appear at a checkout served from that domain. The
      domain proves ownership by hosting the provider's association file — for
      Apple Pay, at `/.well-known/apple-developer-merchantid-domain-association`
      — and `status` reports whether verification has completed. Embedded
      surfaces like the [Express Checkout
      element](/elements/beta/checkout/expressCheckout) only render Apple Pay,
      Google Pay and PayPal express on a `verified` domain (first-party whop.com
      pages are pre-approved).


      | Payment Method Domains API | Domains API |

      | --- | --- |

      | `GET /payment_method_domains?status=verified` | `GET
      /domains?apple_pay=ready`, or `apple_pay=any` for every Apple Pay domain |

      | `?hostname=` | `?domain=` |

      | `GET /payment_method_domains/{id}` | `GET /domains/{id}` |

      | `POST /payment_method_domains` with `hostname` and `account_id` | `POST
      /domains` with `domain`, `account_id`, and `apple_pay: {}`. If the account
      already has the domain, `PATCH /domains/{id}` with `apple_pay: {}` |

      | `POST /payment_method_domains/{id}/verify` | `POST /domains/{id}/check`
      |

      | `DELETE /payment_method_domains/{id}` | `PATCH /domains/{id}` with
      `apple_pay: null` |

      | `hostname` | `domain` |

      | `status: verified` | `apple_pay.state: ready` |

      | `status: pending` | `apple_pay.state: pending` while Whop registers the
      domain, or `action_required` until you host the association file and check
      the domain |

      | `provider` | No field: every Apple Pay domain is registered with Apple |


      Registration runs in the background, so creating or checking a domain
      returns `pending`: retrieve the domain until `apple_pay.state` is `ready`
      or `action_required`. The Domains API needs the `domain:read` and
      `domain:manage` permissions instead of `company:manage_checkout`, so give
      API keys those scopes. `DELETE /domains/{id}` removes the whole domain,
      including any website on it, so use `PATCH` to remove only Apple Pay.
    name: Payment Method Domains
    x-whop-summary: >-
      Deprecated: domains verified to show Apple Pay at checkout. Use Domains
      instead.
  - description: >
      A Shipment attaches a carrier tracking number to a payment and follows the
      package from label creation to delivery, exposing the current delivery
      status and a customer-facing tracking URL.


      Use the Shipments API to list an account's shipments, retrieve one by its
      ID or the payment it fulfills, attach a tracking number to a payment, and
      update the tracking number on an existing shipment.
    name: Shipments
    x-whop-summary: Track the delivery of an order by its carrier tracking number.
  - description: >
      A Product Affiliate represents a user's enrollment in a product's
      affiliate program. An enrollment can exist before the user makes a
      referral or earns a reward.


      Use the Product Affiliates API to list product affiliates for an account,
      search by affiliate name or username, and narrow the results by product,
      enrollment status, or signup date.
    name: Product Affiliates
    x-whop-summary: >-
      Users enrolled to promote a product, including affiliates with no
      referrals.
  - description: >
      A Partner Referral Request is a partner's referral link, or a request to
      be credited as the referrer of an existing business or user. An
      attribution request takes effect only when the recipient accepts it.


      Use the Partner Referral Requests API to create referral links, send
      attribution requests, list the links and requests you've sent or received,
      and accept, decline, or cancel a pending request.
    name: Partner Referral Requests
    x-whop-summary: Request business or partner attribution and manage approval.
  - description: >
      Get started at [whop.com/network](https://whop.com/network). A Partner is
      a user who refers people and businesses to Whop. The partner profile
      includes enrollment, active direct business referral counts, and default
      payout terms.


      Retrieve your profile with `/partners/me`. Use
      `/partner_referral_requests` to create and manage referral links and their
      rewards. You can also enroll in the partner program, review referred users
      and businesses, track earnings, and see the partner leaderboard.
    name: Partners
    x-whop-summary: >-
      Your partner profile, referral links, payout rates, and referred
      businesses.
  - description: >
      A Bounty is a paid task posted by an account or user. The reward is held
      in escrow when the bounty publishes, workers submit proof of completed
      work, and each accepted submission is paid out until every winner slot
      fills.


      Use the Bounties API to create and publish a bounty, list an account's
      bounties for reporting or dashboards, list the bounties a user can work or
      has participated in, and retrieve a single bounty by ID.
    name: Bounties
    x-whop-summary: Paid tasks with reviewed submissions and escrowed rewards.
  - description: >
      A Bounty Submission is one worker's attempt on a bounty. It starts as an
      in-progress attempt, enters the review queue when proof is submitted, and
      ends approved (paid from the bounty's escrowed pool) or denied.


      Use the Bounty Submissions API to submit proof of completed work to a
      bounty, list the submissions you authored, and review the submissions on
      your bounties — across every bounty or narrowed to one.
    name: Bounty Submissions
    x-whop-summary: Work submitted to a bounty, from attempt to payout.
  - description: >
      A Person is an identity-linked profile of a visitor or customer of an
      account, assembled from every [event](/api-reference/beta/events/event)
      the person generated, such as pixel page views, ad clicks, leads, and
      payments.


      Use the People API to list and segment the people of an account by
      activity, purchases, traffic source, or marketing touch, and to retrieve
      one person by person ID, user ID, email address, or phone number.
    name: People
    x-whop-summary: >-
      Visitors and customers of an account, with identity, purchase, and traffic
      profiles.
  - description: >
      An Event records conversion or engagement activity for an account, such as
      page views, purchases, or leads. Each event ties the action to the
      [person](/api-reference/beta/people/person) who took it, so activity can
      be attributed to the ads and links that drove it.


      Use the Events API to send new tracking events, list recent
      identity-linked events for an account, and inspect the events recorded for
      a person. The resource also exposes an anonymized read mode — the pulse
      feed — a platform-wide snapshot of recent purchases that carries nothing
      identifying. The pulse feed is public; other Events endpoints require
      authentication and are scoped to an account.


      Events are only as good as the pixel sending them, so [Validate
      Pixel](/api-reference/beta/events/validate-pixel) answers whether an
      account's pixel is working: it reads the events the pixel has sent, and
      when you pass a `url` whose page hasn't sent any lately, it fetches that
      page and looks for the pixel in its source. Use it before launching an ad
      to confirm its destination is tracked, or in a setup flow to tell a
      merchant whether their install is live.
    name: Events
    x-whop-summary: Conversion and engagement events tracked for attribution.
  - description: >
      An Ad is the individual creative unit delivered by an [ad
      group](/api-reference/beta/ad-groups/ad-group). It holds the copy,
      creative assets, and destination URL for one ad.


      Use the Ads API to list ads for an account, create ads inside ad groups,
      retrieve or update creative details, delete ads that should stop running,
      and pause or resume delivery.
    name: Ads
    x-whop-summary: 'The creative: copy, assets, and destination URL.'
  - description: >
      A conversion value rule changes the conversion values Whop sends to ad
      networks while Whop keeps recording the accurate values. Each rule belongs
      to an account and applies one value adjustment to a set of targets (the
      account, an ad campaign, an ad group, or an ad) and events. Every selected
      event applies to every selected target, and the most specific rule
      applies.


      Use the Ad Conversion Value Rules API to create, edit, pause, resume, and
      delete rules, and to find the rules that cover a campaign, ad group, or
      ad. Each write succeeds or fails as one transaction, and each conversion
      send uses the rules saved at that moment.
    name: Ad Conversion Value Rules
    x-whop-summary: Modify how conversion events are delivered to ad networks.
  - description: >
      An Ad Pixel connects a pixel you own on an ad platform to a business whose
      campaigns you claimed through the advertiser supplier program. Whop sends
      that pixel the conversions credited to your claimed campaigns for that
      business, using the access token you provide.


      Use the Ad Pixels API to add one pixel per business, list or retrieve your
      pixels, replace an access token the ad platform rejected, and remove a
      pixel to stop deliveries.
    name: Ad Pixels
    x-whop-summary: Your own pixels that receive conversions from campaigns you claimed.
  - description: >
      An Ad Campaign is the top-level container for paid ads on an ad network.
      It sets the platform, objective, and budget strategy shared by its [ad
      groups](/api-reference/beta/ad-groups/ad-group) and ads.


      Use the Ad Campaigns API to create campaigns, list campaigns for an
      account, retrieve or update campaign settings, and pause or resume
      campaign delivery.


      Ads billing combines eligible spend across the account's campaigns. A
      failed payment blocks delivery with `delivery_status: payment_failed`
      while preserving the configured active/paused `status`. Fix the account's
      payment method and [retry its ads
      payment](/api-reference/beta/accounts/retry-failed-ads-payments) once for
      the account. The retry is asynchronous: acceptance does not confirm
      payment. Successful settlement clears the block; active campaigns can
      resume if otherwise eligible, while paused campaigns stay paused. See
      [billing and retries](/developer/ads/overview#paying-for-ads).
    name: Ad Campaigns
    x-whop-summary: Platform, objective, and budget for a set of ads.
  - description: >
      An Ad Group sits inside an [ad
      campaign](/api-reference/beta/ad-campaigns/ad-campaign) and controls
      delivery for [ads](/api-reference/beta/ads/ad). It sets the audience,
      placements, schedule, budget, and optimization goal for its ads.


      Use the Ad Groups API to create ad groups in campaigns, list or retrieve
      targeting and delivery settings, update budgets or targeting, delete
      groups that should stop running, and pause or resume delivery. It can also
      search the ad platform's targeting taxonomy for options to target and
      estimate how many people a draft targeting spec can reach.
    name: Ad Groups
    x-whop-summary: Audience, placements, and schedule within a campaign.
  - description: >
      An Audience is a reusable group of people to include or exclude when
      targeting ads. Build custom audiences from customer lists, Whop People
      data, or social engagement, and create lookalikes to reach people similar
      to an existing audience.


      Use the Audiences API to create audiences, add people to an uploaded
      customer list, rename or refilter an audience, and monitor asynchronous
      processing. Engagement sources on Meta include videos, lead forms,
      Instagram profiles, and Facebook pages, and their membership updates on
      Meta; Whop People audiences can refresh automatically or keep a snapshot.
    name: Audiences
    x-whop-summary: Reusable targeting lists for ad groups.
  - description: >
      A File is an uploaded document or media object, identified by a `file_`
      ID. Creating a file returns a presigned destination; upload the bytes
      there and the file becomes `ready`.


      Use the Files API to create a file, upload its content directly to storage
      (in one PUT, or in parts for large files), and retrieve it while polling
      for readiness. A ready file's ID can be attached wherever Whop accepts
      files.
    name: Files
    x-whop-summary: Upload files and attach them wherever Whop accepts documents.
  - description: >
      A Media Asset is an AI-generated image or video created from a prompt and
      billed from an account balance. When generation finishes, the asset
      includes a file that can be attached anywhere Whop accepts files.


      Use the Media API to start a generation job and retrieve the asset while
      it processes or after it is ready.
    name: Media
    x-whop-summary: >-
      AI-generated assets, billed from a balance, attachable wherever files are
      accepted.
  - description: >
      An External Account represents a profile on another platform connected to
      a Whop account or user, such as a Facebook page, Instagram account, or
      TikTok account. Connecting an external account lets Whop run
      [ads](/api-reference/beta/ads/ad) under that profile's identity and
      promote its existing posts. External account IDs are prefixed `sacc_`.


      Use the External Accounts API to list connected accounts, create a
      Whop-managed Facebook page or TikTok account, start an OAuth connection,
      disconnect an external account, list a connected profile's posts or a
      Facebook page's lead forms, and manage the creators an Instagram account
      runs partnership ads with.
    name: External Accounts
    x-whop-summary: Profiles on other platforms connected to an account or user.
  - description: >
      Social Accounts is the former public name for External Accounts. Existing
      integrations can keep calling these deprecated endpoints while they
      migrate; every response points to the matching External Accounts endpoint.


      Use the External Accounts API for all new integrations. External account
      IDs keep their `sacc_` prefix, and the underlying resource is unchanged.
    name: Social Accounts
    x-whop-summary: Deprecated compatibility endpoints for external accounts.
  - description: >
      An App is software you build on Whop. It can be a hosted web app served at
      its domains, such as a `whop.site` address or a custom domain, or an API
      integration installed as an experience, and it belongs to the account that
      owns its credentials, settings, builds, and runtime logs.


      Use the Apps API to manage app configuration, deploy an app's working copy
      and follow the run on the app's `deployment` field, and, for hosted apps,
      read server runtime logs for console output, uncaught exceptions, and
      failed requests.


      Apps are also reusable blueprints. List official blueprints with
      `app_type=website&verified=true&order=template_usage`, or community
      blueprints with
      `app_type=website&verified=false&recommended=true&order=template_usage`.
      Pass the returned App `id` as `blueprint_id` when creating an Account.
    name: Apps
    x-whop-summary: 'Apps you build on Whop: metadata, hosted builds, runtime logs.'
  - description: >
      A Domain is a hostname an account holds on Whop. Its capabilities set what
      Whop does with it: `registration` buys the domain through Whop, runs its
      DNS, and renews it every year; `verification` connects a domain registered
      elsewhere once you publish the DNS records it returns, and expires if
      ownership is not proven within 48 hours; `website` serves one of the
      account's apps on it.


      Use the Domains API to search for a domain to buy, buy or connect one,
      serve a website on it, and check its DNS, payment, and renewal state.
      Thirty days before a bought domain expires, Whop opens a renewal charge at
      `purchase_url` and, while `auto_renew` is on, charges the saved card. An
      unpaid domain stops serving when it expires but stays renewable at
      `purchase_url` until the registry's grace period ends, and is then
      removed.
    name: Domains
    x-whop-summary: Custom domains assigned to hosted apps.
  - description: >
      An App Build is a versioned artifact uploaded for an app — a hosted web
      archive, or an iOS/Android bundle. Builds start as drafts, go through
      review, and one approved build per platform is served to users as the
      production build.


      Use the App Builds API to upload a build for an app, list an app's builds
      with platform and status filters, retrieve a build, and promote a draft or
      approved build to production.
    name: App Builds
    x-whop-summary: Versioned build artifacts deployed to an app's platforms.
  - description: >
      An API Key is a programmatic credential owned by an account or app. Each
      key carries its own permissions policy — explicit permission statements or
      an inherited system role — and can be restricted with an expiration date
      and an IP allowlist.


      Use the API Keys API to list an account or app's keys, create a key (the
      full secret is returned once, on creation), inspect a key's effective
      grants, update its name or restrictions, rotate its secret, and revoke it.
      These endpoints require a user session — they cannot be called with an API
      key.
    name: API Keys
    x-whop-summary: Programmatic credentials for an account or app.
  - description: >
      An Api Log is a record of a single request made to Whop's API using one of
      your account's API keys — the programmatic counterpart to the dashboard
      audit log, which only records actions taken by signed-in team members.
      Reads and failed requests are logged too.


      Use the Api Logs API to see what your integrations are doing on Whop: the
      operation, HTTP method and status, outcome, and timing of each request,
      newest first.
    name: Api Logs
    x-whop-summary: Requests made to Whop's API with your account's API keys.
  - description: >
      A Permission is one action, such as `stats:read`, paired with whether your
      credential is granted it on a given resource. It answers for whatever you
      authenticated with, so you can decide what to show or attempt instead of
      discovering a `403`.


      Use the Permissions API to check an account, product, experience, or app,
      narrowing to the actions you care about. It reports only your own access —
      to manage who else can reach an account, use the Team Members API.
    name: Permissions
    x-whop-summary: What your credential is allowed to do on a resource.
  - description: >
      An Experiment is a feature flag or A/B test owned by an account.
      Treatments take stable percentage ranges of traffic and everyone else gets
      control, so growing an allocation never moves an existing user to another
      arm.


      Use the Experiments API to create a draft, configure its weights,
      targeting, and resource bindings, then activate, pause, or end it, and to
      evaluate which arm a user, account, or anonymous visitor gets. Managing
      experiments requires `experiment:read` or `experiment:manage`; evaluation
      works without authentication.
    name: Experiments
    x-whop-summary: Feature flags and A/B experiments for gradual rollout.
  - description: >
      A feedback submission sends an issue, confusing behavior, documentation
      gap, or unanswered question to Whop. It is recorded under the
      authenticated user, account, or app, with an optional account for context,
      and reviewed by Whop.


      User, account, and app credentials can all submit. The response is a
      receipt with an `fbk_` ID: Whop does not reply to submissions, and they
      cannot be listed or retrieved through the API.
    name: Feedback
    x-whop-summary: Issues and unanswered questions sent to Whop for review.
paths:
  /accounts:
    parameters:
      - $ref: '#/components/parameters/ApiVersionDate'
    post:
      tags:
        - Accounts
      summary: Create Account
      description: >-
        Creates an account. User tokens create business accounts; Account API
        keys create connected accounts. Tax fields (`tax_remitted_by`,
        `tax_type`, `product_tax_code_id`, `business_address`,
        `tax_identifiers`) are configured with Update Account, not at creation.
      operationId: createAccount
      parameters:
        - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        content:
          application/json:
            schema:
              properties:
                affiliate_code:
                  description: >-
                    A saved partner referral link code for this new business
                    account. An existing primary user referral takes priority.
                    Used with user tokens creating top-level accounts.
                  example: account-partner-link
                  type:
                    - string
                    - 'null'
                blueprint_id:
                  description: >-
                    The blueprint App ID, prefixed `app_`. Creates a hosted
                    website for the account and queues its deployment
                    asynchronously; the Account response does not report
                    deployment completion.
                  example: app_xxxxxxxxxxxxxx
                  type:
                    - string
                    - 'null'
                country:
                  description: >-
                    The ISO 3166-1 alpha-2 country code where the account's
                    business is located (e.g. `US`). Defaults to the parent
                    account's country for connected accounts.
                  example: US
                  type: string
                dispute_fighter_enabled:
                  description: >-
                    Whether Whop assembles and files dispute evidence for this
                    account. Enabling it opts into the success fee charged on
                    disputes it wins. Requires payment:dispute. Omit to preserve
                    the existing setting or creation default.
                  type: boolean
                email:
                  description: >-
                    The email address of the account owner. Required when
                    creating a connected account.
                  example: marcus@shinetime.example
                  type: string
                metadata:
                  additionalProperties: true
                  description: Arbitrary key/value metadata to store on the account.
                  example:
                    external_id: user_12345
                  type: object
                orchestration_enabled:
                  description: >-
                    Whether payment orchestration is enabled for this account.
                    Requires payout:account:update. Omit to preserve the
                    existing setting or creation default.
                  type: boolean
                send_customer_emails:
                  default: false
                  description: >-
                    Whether Whop sends transactional emails to customers on
                    behalf of the connected account.
                  example: true
                  type: boolean
                title:
                  description: >-
                    The display name of the account. Defaults to
                    `metadata.external_id` or the owner's email when omitted.
                  example: Referred Studio
                  type: string
                website:
                  description: >-
                    The account's business website, as an `http` or `https` URL
                    of at most 255 characters. Also added to the account's
                    `social_links` as a `website` entry.
                  example: https://shinetimedetail.com
                  type:
                    - string
                    - 'null'
              type: object
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
          description: account created
        '400':
          $ref: '#/components/responses/InvalidParameters'
          description: the request body is invalid
        '401':
          $ref: '#/components/responses/Unauthorized'
          description: missing or invalid authentication
        '403':
          $ref: '#/components/responses/Forbidden'
          description: credential lacks the required connected-account creation scope
        '409':
          $ref: '#/components/responses/Conflict'
      security:
        - accountApiKeyOrOauthTokenAuth:
            - company:create
        - accountApiKeyOrOauthTokenAuth:
            - company:create_child
      x-codeSamples:
        - lang: TypeScript
          source: >
            import { WhopClient } from "@whop/sdk";


            const client = new WhopClient({ token: "YOUR_TOKEN", apiVersionDate:
            "2026-08-21-1", idempotencyKey: "YOUR_IDEMPOTENCY_KEY" });

            await client.accounts.create();
components:
  parameters:
    ApiVersionDate:
      description: Pins the request to a dated API version.
      in: header
      name: Api-Version-Date
      required: false
      schema:
        example: '2026-10-14'
        type: string
    IdempotencyKey:
      description: >-
        A unique key that makes this request safe to retry. See [Idempotent
        requests](https://docs.whop.com/developer/api/idempotency).
      in: header
      name: Idempotency-Key
      required: false
      schema:
        example: d9105228-4a08-46b1-8b91-42fed586d383
        maxLength: 255
        type: string
  schemas:
    Account:
      properties:
        ads_spend_usd:
          description: >-
            Lifetime charged ad spend for the account, in USD. Computed only on
            `list` for callers with `stats:read` on the account; `null`
            otherwise.
          example: 0
          type:
            - number
            - 'null'
        balances:
          items:
            $ref: '#/components/schemas/AccountBalanceToken'
            description: >-
              Account holdings, each with USD value. Empty when `total_usd` is
              `null`.
          type: array
        banner_image_url:
          description: Account banner image URL.
          example: >-
            https://whop-assets-example.s3.amazonaws.com/uploads/image/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type:
            - string
            - 'null'
        business_address:
          description: >-
            Account business address used to calculate tax, with `line1`,
            `line2`, `city`, `state`, `postal_code`, and `country`. `null` when
            no address is set.
          example:
            city: Austin
            country: US
            line1: 4180 Burnet Rd
            line2: Suite 2
            postal_code: '78756'
            state: TX
          type:
            - object
            - 'null'
        business_name:
          description: The account's legal business name used with its tax address.
          example: Shine Time Auto Detailing, LLC
          maxLength: 255
          type:
            - string
            - 'null'
        business_type:
          description: >-
            High-level business category for the account. See the [business
            types and industries
            glossary](/api-reference/beta/accounts/account#business-types-and-industries-glossary)
            for valid values.
          example: software
          type:
            - string
            - 'null'
          x-whop-hide-enum-values: true
        can_transfer_pending_balance_to_children:
          description: >-
            Whether pending funds may be transferred from this platform account
            to its connected accounts.
          example: false
          type: boolean
        cancellation_policy:
          description: >-
            The account's cancellation policy document, or `null` if they have
            not published one.
          oneOf:
            - $ref: '#/components/schemas/File'
            - type: 'null'
        capabilities:
          description: >-
            Payment rails enabled for this account, each `active`, `inactive`,
            or `pending` (onboarding or review in progress). Computed only on
            `retrieve` and `me` for callers with `company:balance:read` scope;
            `null` otherwise.
          oneOf:
            - $ref: '#/components/schemas/AccountCapabilities'
            - type: 'null'
        cards:
          description: >-
            Whop Cards application details for the account. Returned on `list`,
            `retrieve`, and `me` for callers with `company:balance:read` scope;
            `null` otherwise, or when the account has no card application or
            blocking application review.
          oneOf:
            - $ref: '#/components/schemas/AccountCards'
            - type: 'null'
        collect_vat_id:
          description: >-
            Whether checkout shows a VAT/tax ID field for buyers to optionally
            enter. Does not require a VAT ID to purchase.
          example: false
          type: boolean
        company_formation:
          $ref: '#/components/schemas/AccountCompanyFormation'
          description: >-
            Company formation state for the account, managed through [Form
            Company](/api-reference/beta/accounts/form-company). A `draft`
            `status` until the formation checkout is paid, then filing progress
            with downloadable documents and signatures awaiting action. Empty
            when the formation state is temporarily unavailable.
        country:
          description: Country where the account is located.
          example: us
          type:
            - string
            - 'null'
        created_at:
          description: When the account was created, as an ISO 8601 timestamp.
          example: '2026-01-01T12:00:00.000Z'
          type: string
        description:
          description: Account promotional description.
          example: >-
            Mobile ceramic coating, paint correction, and interior detailing
            across the Austin metro.
          type:
            - string
            - 'null'
        direct_reports_count:
          description: >-
            How many team members report to the business directly, with no
            manager above them. Present on single-account reads.
          example: 0
          type: integer
        dispute_fighter_enabled:
          description: >-
            Whether Whop assembles and files dispute evidence for this account.
            Enabling it opts the account into the success fee charged on
            disputes it wins.
          example: false
          type: boolean
        economic_intelligence:
          description: >-
            Whether Economic Intelligence is on for the account. It turns off
            automatically when its committed period ends.
          example: false
          type: boolean
        email:
          description: Account owner email address.
          example: marcus@shinetime.example
          type:
            - string
            - 'null'
        eula:
          description: >-
            The account's end-user license agreement document, or `null` if they
            have not published one.
          oneOf:
            - $ref: '#/components/schemas/File'
            - type: 'null'
        financing:
          description: >-
            The account's most recent financing application. Computed only on
            `retrieve` and `me` for callers with `company:balance:read` scope;
            `null` otherwise, or when the account has never applied for
            financing.
          oneOf:
            - $ref: '#/components/schemas/AccountFinancing'
            - type: 'null'
        home_preferences:
          items:
            description: Public account home page preferences.
            enum:
              - hide_member_count
              - hide_members_card
            example: hide_member_count
            type: string
          type: array
        id:
          description: Account ID, prefixed `biz_`.
          example: biz_xxxxxxxxxxxxxx
          type: string
        industry_type:
          description: >-
            Specific industry vertical for the account. See the [business types
            and industries
            glossary](/api-reference/beta/accounts/account#business-types-and-industries-glossary)
            for valid values.
          example: trading
          type:
            - string
            - 'null'
          x-whop-hide-enum-values: true
        invoice_prefix:
          description: Prefix used for account invoices.
          example: INV
          type:
            - string
            - 'null'
        level:
          description: >-
            The Whop Levels progress of the account's `owner`, counted across
            every account they own, so all of them show the same level. Computed
            only on `retrieve` and `me` for callers with `company:basic:read`
            scope; `null` otherwise, and when the account is not in Whop Levels.
          oneOf:
            - $ref: '#/components/schemas/AccountLevel'
            - type: 'null'
        logo_url:
          description: Account logo image URL.
          example: >-
            https://whop-assets-example.s3.amazonaws.com/uploads/image/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type:
            - string
            - 'null'
        metadata:
          description: Arbitrary key/value metadata supplied at account creation.
          example:
            external_id: connected_account_123
          type: object
        onboarding_type:
          description: Type of onboarding the account has completed.
          enum:
            - platform
            - seller
            - null
          example: platform
          type:
            - string
            - 'null'
        opengraph_image_url:
          description: Account Open Graph image URL.
          example: >-
            https://whop-assets-example.s3.amazonaws.com/uploads/image/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type:
            - string
            - 'null'
        opengraph_image_variant:
          description: Account Open Graph image variant.
          enum:
            - white
            - black
            - orange
            - null
          example: black
          type:
            - string
            - 'null'
        orchestration_enabled:
          description: Whether payment orchestration is enabled for this account.
          example: true
          type: boolean
        other_business_description:
          description: Business type details when business_type is `other`.
          example: null
          type:
            - string
            - 'null'
        other_industry_description:
          description: Industry details when industry_type is `other`.
          example: null
          type:
            - string
            - 'null'
        owner:
          $ref: '#/components/schemas/UserSummary'
          description: >-
            The single user who owns the account, whose email is the `email`
            above. Distinct from the `owner` role on team members, which any
            number of them can hold.
        parent_account:
          description: >-
            Parent account for connected accounts, or `null` for standalone
            accounts.
          oneOf:
            - $ref: '#/components/schemas/AccountParent'
            - type: 'null'
        partner:
          description: >-
            The account's active first-tier partner. Present on retrieve
            responses; null when no active first-tier partner is attributed to
            the account. Omitted from other responses.
          oneOf:
            - $ref: '#/components/schemas/AccountPartner'
            - type: 'null'
        payment_controls:
          description: >-
            Payment health controls currently applied to the account. Computed
            only on `retrieve` and `me` for callers with `company:balance:read`
            scope; `null` otherwise.
          oneOf:
            - $ref: '#/components/schemas/AccountPaymentControls'
            - type: 'null'
        platform_credits:
          items:
            $ref: '#/components/schemas/Money'
            description: >-
              Whop-issued platform credits per currency, read from the balance
              cache. Credits can only be spent on eligible Whop products such as
              Whop Ads, can never be withdrawn, and are not included in
              `balances` or `total_usd`. Empty when the account holds none or
              `total_usd` is `null`.
          type: array
        privacy_policy:
          description: >-
            The account's privacy policy document, or `null` if they have not
            published one.
          oneOf:
            - $ref: '#/components/schemas/File'
            - type: 'null'
        product_tax_code:
          description: >-
            Tax classification code applied by default to the account's
            products, with `id`, `name`, and `product_type`. `null` when no
            default is set.
          example:
            id: ptc_xxxxxxxxxxxxxx
            name: General - Digital Goods
            product_type: digital
          type:
            - object
            - 'null'
        recommended_actions:
          deprecated: true
          description: >-
            DEPRECATED: Use the `GET
            /economic_intelligence?account_id={account_id}` endpoint instead.
          items:
            $ref: '#/components/schemas/AccountRecommendedAction'
            description: >-
              Deprecated: use the `GET
              /economic_intelligence?account_id={account_id}` endpoint instead.
              Optional actions that unlock capabilities or grow the account,
              same shape as `required_actions`. Computed only on `retrieve` and
              `me`; `null` otherwise.
          type:
            - array
            - 'null'
        require_2fa:
          description: Whether authorized users must enable two-factor authentication.
          example: false
          type: boolean
        required_actions:
          items:
            $ref: '#/components/schemas/AccountRequiredAction'
            description: >-
              Actions the account owner must take to unblock capabilities like
              payouts and card spend, ordered by display priority. Computed only
              on `retrieve` and `me` for callers with `company:balance:read`
              scope; `null` otherwise.
          type:
            - array
            - 'null'
        return_policy:
          description: >-
            The account's return policy document, or `null` if they have not
            published one.
          oneOf:
            - $ref: '#/components/schemas/File'
            - type: 'null'
        rewards:
          items:
            $ref: '#/components/schemas/AccountPartnerReward'
            description: >-
              Business rewards attached through this account's active referral
              link, with account-specific progress and ledger status. Present on
              retrieve responses; empty without both balance and stats read
              access.
          type: array
        route:
          description: Account public route identifier.
          example: biz_xxxxxxxxxxxxxx
          type: string
        send_customer_emails:
          description: >-
            Whether Whop sends transactional emails to customers on behalf of
            this account.
          example: false
          type: boolean
        shipping_policy:
          description: >-
            The account's shipping policy document, or `null` if they have not
            published one.
          oneOf:
            - $ref: '#/components/schemas/File'
            - type: 'null'
        show_joined_whops:
          description: Whether the account appears in joined whops on other accounts.
          example: true
          type: boolean
        show_reviews_dtc:
          description: Whether reviews are displayed on direct-to-consumer product pages.
          example: true
          type: boolean
        show_user_directory:
          description: Whether the account shows users in the user directory.
          example: true
          type: boolean
        social_links:
          items:
            $ref: '#/components/schemas/AccountSocialLink'
            description: Account social links.
          type: array
        stablecoin_rails:
          description: >-
            Whether the account settles on stablecoin rails — its balance is
            held on-chain as USDT and paid out over crypto, rather than as fiat
            cash.
          example: false
          type: boolean
        status:
          description: >-
            Whether the account can operate on Whop: `active` or `suspended`.
            Computed on `list`, `retrieve`, `me`, and `suspend`; `null`
            otherwise.
          example: active
          type:
            - string
            - 'null'
        status_reason:
          description: >-
            Why the account was suspended, as the label shown to the account
            owner, such as `Suspended - Fraudulent activity`. Computed on
            `retrieve`, `me`, and `suspend`; `null` otherwise, when `status` is
            not `suspended`, and when the suspension was recorded without a
            reason.
          example: Suspended - Fraudulent activity
          type:
            - string
            - 'null'
        store_page_config:
          $ref: '#/components/schemas/AccountStorePageConfig'
          description: Account store page display configuration.
        target_audience:
          description: Target audience for this account.
          example: Owners of new and enthusiast vehicles in Austin, TX
          type:
            - string
            - 'null'
        tax_collection_enabled_states:
          items:
            description: >-
              US state codes (of the 50 states plus `DC`) where the account
              collects tax: the full set when Whop remits (`tax_remitted_by`
              `whop`), the configured subset when the account self-remits
              (`self`), and empty when neither. On update, send the complete
              list to replace it (only allowed when `self`).
            example: TX
            type: string
          type: array
        tax_identifiers:
          items:
            $ref: '#/components/schemas/AccountTaxIdentifier'
            description: Account tax/VAT registrations. Empty when none are set.
          type: array
        tax_remitted_by:
          description: >-
            Who calculates and remits tax for the account: `whop` (Whop
            calculates and remits), `self` (Whop calculates; the account
            collects and remits), or `none` (neither; the account is
            responsible). `null` until the account enrolls in the Whop tax
            service.
          enum:
            - whop
            - self
            - none
            - null
          example: self
          type:
            - string
            - 'null'
        tax_type:
          description: >-
            How tax is applied to the account's prices: `inclusive` (tax
            included in the listed price) or `exclusive` (tax added on top).
            Defaults to `exclusive` when unset; `null` only when the account has
            no payment connection.
          enum:
            - inclusive
            - exclusive
            - null
          example: inclusive
          type:
            - string
            - 'null'
        terms_of_service:
          description: >-
            The account's terms of service document, or `null` if they have not
            published one.
          oneOf:
            - $ref: '#/components/schemas/File'
            - type: 'null'
        three_ds_level:
          description: >-
            3D Secure behavior for supported on-session card payments.
            `mandate_challenge` requires a 3DS challenge before payment
            processing; `mandate_if_required` mandates a challenge only when the
            payment processor requires it; `frictionless_if_required` uses the
            regular frictionless 3DS flow. Payments of $1,000 or more use
            `mandate_if_required` unless `mandate_challenge` is selected. Risk
            and authentication recovery requirements can override the
            preference. `null` uses the standard checkout flow.
          enum:
            - mandate_challenge
            - mandate_if_required
            - frictionless_if_required
            - null
          example: mandate_challenge
          type:
            - string
            - 'null'
        title:
          description: Account display name.
          example: Shine Time Auto Detailing
          type: string
        total_earned_usd:
          description: >-
            Account lifetime sales, normalized to USD. Computed only on
            `retrieve` and `me` for callers with `stats:read` scope; `null`
            otherwise.
          example: 0
          type:
            - number
            - 'null'
        total_usd:
          description: >-
            Total USD value across balances with known exchange rates. Computed
            only on single-account reads (`retrieve` and `me`); `null` on list
            responses, writes, missing balance-read permission, or unavailable
            balance source.
          example: '50.00'
          type:
            - string
            - 'null'
        trading:
          description: >-
            The trading account address and its WebSocket subscriptions. Opt in
            with `include_trading=true` on single-account reads. `null`
            otherwise, without trading permission, or without an Ethereum
            wallet.
          oneOf:
            - $ref: '#/components/schemas/TradingAccount'
            - type: 'null'
        use_logo_as_opengraph_image_fallback:
          description: Whether the account uses its logo as the fallback Open Graph image.
          example: false
          type: boolean
        verification:
          description: >-
            Account identity verification status for the `individual` (KYC) and
            `business` (KYB) profiles. Each is `null` until created, otherwise a
            `status` of `not_started`, `pending`, `manual_review`, `approved`,
            or `rejected`.
          example:
            business: null
            individual: null
          type: object
        volume_l30d_usd:
          description: >-
            Volume through the account in the last 30 days (GMV from paid
            receipts), normalized to USD. Computed only on `list` for callers
            with `stats:read` on the account; `null` otherwise.
          example: 0
          type:
            - number
            - 'null'
        volume_usd:
          description: >-
            Lifetime volume through the account — sales plus transfers received
            — normalized to USD. Computed only on `list` for callers with
            `stats:read` on the account; `null` otherwise.
          type:
            - number
            - 'null'
        wallet:
          description: >-
            Account primary crypto wallet, or `null` if none has been
            provisioned.
          oneOf:
            - $ref: '#/components/schemas/AccountWallet'
            - type: 'null'
        website:
          description: >-
            The account's business website URL, or `null` if none has been
            provided. Setting it also adds a `website` entry to `social_links`.
          example: https://shinetimedetail.com
          type:
            - string
            - 'null'
        whop_partner_enabled_at:
          description: >-
            When the account turned on Whop Partner mode, as an ISO 8601
            timestamp. Present on single-account reads and update responses;
            `null` until the account turns Whop Partner mode on by sending
            `whop_partner_enabled: true` on update.
          example: null
          type:
            - string
            - 'null'
      required:
        - id
        - trading
        - email
        - title
        - description
        - route
        - website
        - logo_url
        - banner_image_url
        - terms_of_service
        - privacy_policy
        - return_policy
        - eula
        - shipping_policy
        - cancellation_policy
        - business_type
        - country
        - home_preferences
        - industry_type
        - invoice_prefix
        - onboarding_type
        - opengraph_image_url
        - opengraph_image_variant
        - other_business_description
        - other_industry_description
        - require_2fa
        - three_ds_level
        - collect_vat_id
        - target_audience
        - dispute_fighter_enabled
        - orchestration_enabled
        - send_customer_emails
        - show_joined_whops
        - show_reviews_dtc
        - show_user_directory
        - store_page_config
        - metadata
        - created_at
        - use_logo_as_opengraph_image_fallback
        - total_earned_usd
        - status
        - status_reason
        - volume_usd
        - volume_l30d_usd
        - ads_spend_usd
        - level
        - capabilities
        - payment_controls
        - cards
        - financing
        - required_actions
        - recommended_actions
        - tax_remitted_by
        - tax_type
        - product_tax_code
        - business_address
        - business_name
        - tax_identifiers
        - tax_collection_enabled_states
        - total_usd
        - balances
        - platform_credits
        - stablecoin_rails
        - economic_intelligence
        - can_transfer_pending_balance_to_children
        - verification
        - company_formation
        - owner
        - parent_account
        - wallet
        - social_links
      type: object
    AccountBalanceToken:
      properties:
        balance:
          description: Total amount held in native units, as a decimal string.
          example: '1500.0'
          type: string
        breakdown:
          $ref: '#/components/schemas/AccountBalanceBreakdown'
          description: >-
            Balance split into available, pending, and reserve amounts, as
            native-unit decimal strings, with the days the pending amount is
            expected to settle. On-chain crypto is entirely available;
            good_funds and fiat cash can have pending or reserve portions.
        icon_url:
          description: Holding icon URL.
          example: https://assets.whop.com/tokens/usdt.png
          type:
            - string
            - 'null'
        name:
          description: The holding's display name
          example: Tether USD
          type: string
        price_usd:
          description: USD price per unit, or `null` when no exchange rate is available.
          example: 1
          type:
            - number
            - 'null'
        symbol:
          description: Holding display symbol, such as `USDT`, `cbBTC`, or `EUR`.
          example: USDT
          type: string
        value_usd:
          description: Holding USD value, or `null` when no exchange rate is available.
          example: '1500.00'
          type:
            - string
            - 'null'
      required:
        - symbol
        - name
        - balance
        - value_usd
        - price_usd
        - icon_url
        - breakdown
      type: object
    File:
      properties:
        blurhash:
          description: >-
            BlurHash placeholder for an image or video. Null when unavailable or
            removed by moderation.
          example: null
          type:
            - string
            - 'null'
        content_type:
          description: >-
            The original file's MIME type, preserved when removed by moderation,
            e.g. `application/pdf`.
          example: application/pdf
          type:
            - string
            - 'null'
        created_at:
          description: When the file was created, as an ISO 8601 timestamp.
          example: '2026-01-01T12:00:00.000Z'
          type: string
        duration_seconds:
          description: >-
            Audio or video duration in seconds. Null when unavailable or removed
            by moderation.
          example: null
          type:
            - number
            - 'null'
        filename:
          description: The original filename, including its extension.
          example: evidence.pdf
          type:
            - string
            - 'null'
        height:
          description: >-
            Image or video height in pixels. Null when unavailable or removed by
            moderation.
          example: null
          type:
            - integer
            - 'null'
        id:
          description: The file's ID, prefixed `file_`.
          example: file_xxxxxxxxxxxxxx
          type: string
        multipart_chunk_size:
          description: >-
            The byte size each part (except the last) must be. Present only on
            create, and only for multipart uploads.
          example: 5242880
          type:
            - integer
            - 'null'
        multipart_upload_id:
          description: >-
            The ID of the multipart upload, passed back to `complete`. Present
            only on create, and only for multipart uploads.
          example: upload-id
          type:
            - string
            - 'null'
        multipart_upload_urls:
          items:
            $ref: '#/components/schemas/FileMultipartUrl'
            description: >-
              The presigned URL for each part. Present only on create, and only
              for multipart uploads.
          type:
            - array
            - 'null'
        object:
          description: The type of this object, always `file`.
          example: file
          type: string
        removed_by_moderation:
          description: >-
            Whether moderation removed the file. When true, `url` serves a
            replacement image; filename, size, and content type still describe
            the original file.
          example: false
          type: boolean
        size:
          description: The file size in bytes. `null` until the upload has finished.
          example: 9670
          type:
            - integer
            - 'null'
        upload_headers:
          description: Headers to send with the upload PUT. Present only on create.
          example: {}
          type: object
        upload_status:
          description: Where the file is in its upload lifecycle.
          enum:
            - pending
            - processing
            - ready
            - failed
          example: pending
          type: string
        upload_url:
          description: >-
            Presigned URL to PUT the file's bytes to. Present only on create,
            and only for single-part uploads.
          example: >-
            https://whop-assets-example.s3.amazonaws.com/uploads/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/application.pdf
          type:
            - string
            - 'null'
        url:
          description: >-
            A URL to download the file: a permanent CDN URL for public files, a
            signed expiring URL for private ones. Null until the upload has
            finished; a replacement image URL when removed by moderation.
          example: >-
            https://whop-assets-example.s3.amazonaws.com/uploads/audio/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type:
            - string
            - 'null'
        visibility:
          description: >-
            `public` files are served via an unsigned CDN URL; `private` files
            via a signed, expiring URL.
          enum:
            - public
            - private
          example: private
          type: string
        waveform_url:
          description: Audio waveform URL. Null when unavailable or removed by moderation.
          example: null
          type:
            - string
            - 'null'
        width:
          description: >-
            Image or video width in pixels. Null when unavailable or removed by
            moderation.
          example: null
          type:
            - integer
            - 'null'
      required:
        - object
        - id
        - filename
        - content_type
        - size
        - url
        - removed_by_moderation
        - upload_status
        - visibility
        - created_at
        - width
        - height
        - blurhash
        - duration_seconds
        - waveform_url
      type: object
    AccountCapabilities:
      properties:
        accept_bank_payments:
          description: 'Bank payins: debits, transfers, and local bank rails'
          enum:
            - active
            - inactive
            - pending
          example: active
          type: string
        accept_bnpl_payments:
          description: Buy-now-pay-later payins; requires approval
          enum:
            - active
            - inactive
            - pending
          example: inactive
          type: string
        accept_card_payments:
          description: Card payins, including Apple Pay and Google Pay
          enum:
            - active
            - inactive
            - pending
          example: active
          type: string
        bank_deposit:
          description: Deposits by bank wire or ACH to the account's virtual bank account
          enum:
            - active
            - inactive
            - pending
          example: inactive
          type: string
        card_deposit:
          description: Balance top-ups by charging a stored payment method
          enum:
            - active
            - inactive
            - pending
          example: active
          type: string
        card_issuing:
          description: Issuing Whop cards; requires card application approval
          enum:
            - active
            - inactive
            - pending
          example: inactive
          type: string
        crypto_deposit:
          description: On-chain deposits to the account's crypto wallet
          enum:
            - active
            - inactive
            - pending
          example: active
          type: string
        crypto_payout:
          description: On-chain payouts to a crypto wallet
          enum:
            - active
            - inactive
            - pending
          example: inactive
          type: string
        instant_payout:
          description: Instant payouts to an eligible payout destination
          enum:
            - active
            - inactive
            - pending
          example: inactive
          type: string
        run_ads:
          description: >-
            Launching ad campaigns through Whop Ads. `inactive` until the
            account's identity or business is verified, and while a requested
            ads services agreement is awaiting the account's signature.
          enum:
            - active
            - inactive
            - pending
          example: inactive
          type: string
        standard_payout:
          description: Standard payouts to an external payout destination
          enum:
            - active
            - inactive
            - pending
          example: inactive
          type: string
        transfer:
          description: Transfers to other accounts
          enum:
            - active
            - inactive
            - pending
          example: inactive
          type: string
      required:
        - accept_card_payments
        - accept_bank_payments
        - accept_bnpl_payments
        - standard_payout
        - instant_payout
        - crypto_payout
        - transfer
        - bank_deposit
        - crypto_deposit
        - card_deposit
        - card_issuing
        - run_ads
      type: object
    AccountCards:
      properties:
        kind:
          description: >-
            Whether the card application verifies a business (`business`, KYB)
            or a person (`individual`, consumer identity). `null` when the
            application is not yet linked to a verification.
          enum:
            - individual
            - business
            - null
          example: individual
          type:
            - string
            - 'null'
        status:
          description: >-
            Where the card application stands. `approved` means cards can be
            issued. `needs_verification` means the applicant has not completed
            identity verification yet; `needs_information` means they did, but
            the documents were rejected for a fixable reason and must be
            resubmitted. `pending` and `manual_review` are in flight. `denied`,
            `locked`, and `canceled` are terminal.
          enum:
            - approved
            - pending
            - manual_review
            - denied
            - locked
            - canceled
            - needs_verification
            - needs_information
          example: approved
          type: string
      required:
        - kind
        - status
      type: object
    AccountCompanyFormation:
      additionalProperties: true
      properties:
        documents:
          items:
            $ref: '#/components/schemas/AccountCompanyFormationDocument'
            description: >-
              Formation documents available for download, such as the Articles
              of Organization and the EIN confirmation letter. Present once
              `status` leaves `draft`.
          type: array
        ein_registered:
          description: >-
            Whether the company's EIN has been issued by the IRS. Present once
            `status` leaves `draft`.
          example: false
          type: boolean
        legal_name:
          description: >-
            Registered company name including the entity ending, for example
            `Acme, LLC`. Present once `status` leaves `draft`.
          example: Shine Time Auto Detailing, LLC
          type:
            - string
            - 'null'
        signatures:
          $ref: '#/components/schemas/AccountCompanyFormationSignatures'
          description: >-
            IRS forms still awaiting a founder's signature, each with a hosted
            signing URL. Present once `status` leaves `draft`; empty when
            nothing needs signing.
        state_registered:
          description: >-
            Whether the state formation filing is complete. Present once
            `status` leaves `draft`.
          example: true
          type: boolean
        status:
          enum:
            - draft
            - processing
            - filed
            - rejected
            - completed
          type: string
      required: []
      type: object
    AccountFinancing:
      properties:
        application_id:
          description: >-
            The ID of the account's most recent financing application, starting
            with inrq_. Retrieve it for requirements and review feedback.
          example: inrq_xxxxxxxxxxxxxx
          type: string
        status:
          description: >-
            The most recent financing application's review state:
            `requires_collection` (waiting on the merchant, including after a
            request for more information), `awaiting_review`, `approved`,
            `denied`, or `completed`. Whether financing payment methods are
            enabled is `capabilities.accept_bnpl_payments`.
          enum:
            - requires_collection
            - awaiting_review
            - completed
            - approved
            - denied
          example: awaiting_review
          type: string
      required:
        - application_id
        - status
      type: object
    AccountLevel:
      properties:
        boosted:
          description: >-
            `true` when this account's own points this month fall short of
            `current`, so the owner's other accounts lift it to this level.
          example: true
          type: boolean
        current:
          description: Current level, from `0` before the first threshold up to `10`.
          example: 1
          type: integer
        points:
          description: Points earned this month across every account the owner owns.
          example: 41000
          type: integer
        points_by_source:
          $ref: '#/components/schemas/OwnerLevelPoints'
          description: This month's points, split by where they were earned.
        points_to_next:
          description: >-
            Points still needed this month to reach the next level, or `null` at
            level `10`.
          example: 59000
          type:
            - integer
            - 'null'
        resets_at:
          description: When this month's points reset to zero, as an ISO 8601 timestamp.
          example: '2026-01-01T12:00:00.000Z'
          type: string
      required:
        - current
        - points
        - points_by_source
        - points_to_next
        - resets_at
        - boosted
      type: object
    UserSummary:
      properties:
        id:
          description: User ID, prefixed `user_`.
          example: user_xxxxxxxxxxxxxx
          type: string
        name:
          description: Display name.
          example: Dana Whitfield
          type:
            - string
            - 'null'
        profile_picture:
          $ref: '#/components/schemas/UserProfilePicture'
          description: >-
            Avatar wrapper; its `url` is always present, using a generated
            placeholder when the user set no picture.
        username:
          description: Public username.
          example: danawhitfield
          type: string
      required:
        - id
        - username
        - name
        - profile_picture
      type: object
    AccountParent:
      properties:
        fees:
          additionalProperties:
            properties:
              fixed_fee_usd:
                description: Fixed markup in US dollars per transaction.
                type: number
              percentage_fee:
                description: Percentage of the transaction charged as markup.
                type: number
            required:
              - percentage_fee
              - fixed_fee_usd
            type: object
          description: >-
            Markup rates this parent charges the connected account being read,
            keyed by fee type (for example `crypto_deposit_markup`), each with
            `percentage_fee` and `fixed_fee_usd`. Resolved with the connected
            account's own overrides winning over the platform default.
          example:
            crypto_swap_markup:
              fixed_fee_usd: 0
              percentage_fee: 3
            transfer_markup:
              fixed_fee_usd: 0
              percentage_fee: 0
          type: object
        id:
          description: Account ID, prefixed `biz_`.
          example: biz_xxxxxxxxxxxxxx
          type: string
        logo_url:
          description: Account logo image URL.
          example: >-
            https://whop-assets-example.s3.amazonaws.com/uploads/image/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type:
            - string
            - 'null'
        route:
          description: Account public route identifier.
          example: shine-time-holdings
          type: string
        title:
          description: Account display name.
          example: Shine Time Holdings
          type: string
      required:
        - id
        - title
        - route
        - logo_url
      type: object
    AccountPartner:
      properties:
        email:
          description: >-
            Email address for contacting the partner. Null when the partner has
            not added their own email address.
          type:
            - string
            - 'null'
        id:
          description: User ID, prefixed `user_`.
          type: string
        name:
          description: Display name.
          type:
            - string
            - 'null'
        profile_picture:
          $ref: '#/components/schemas/UserProfilePicture'
          description: >-
            Avatar wrapper; its `url` is always present, using a generated
            placeholder when the user set no picture.
        username:
          description: Public username.
          type: string
        whop_partner_verified_at:
          description: >-
            When the user became a verified Whop Partner, as an ISO 8601
            timestamp. Null if not verified.
          type:
            - string
            - 'null'
      required:
        - id
        - username
        - name
        - profile_picture
        - email
        - whop_partner_verified_at
      type: object
    AccountPaymentControls:
      properties:
        dispute_alert_auto_refund:
          $ref: '#/components/schemas/AccountDisputeAlertAutoRefundControl'
          description: Automatic refund settings for pre-chargeback dispute alerts.
        dispute_alert_fee_usd:
          description: Fee charged for each dispute alert in USD. `null` when unavailable.
          example: 29
          type:
            - number
            - 'null'
        enforce_3ds:
          description: >-
            Whether 3-D Secure is forced on every card payment at checkout. The
            account cannot bypass it while set.
          example: false
          type: boolean
        financing_disabled:
          description: >-
            Whether payment health controls explicitly disable financing. This
            is independent of financing approval in
            `capabilities.accept_bnpl_payments`.
          example: false
          type: boolean
        high_risk_processing_fee_percentage:
          description: Additional processing fee percentage for high-risk processing.
          example: 0
          type: number
        pending_auto_topup_fee_percentage:
          description: >-
            Percentage fee charged when pending, not-yet-settled balance is
            advanced to fund the account's cards balance, where `2` means 2%.
            `0` when the account is exempt.
          example: 2
          type: number
        pending_balance_delay_days:
          description: Additional days payments remain pending before becoming available.
          example: 0
          type: integer
        reserve:
          $ref: '#/components/schemas/AccountReserveControl'
          description: Reserve currently applied to incoming payment volume.
        resolution_center_auto_refund:
          $ref: '#/components/schemas/AccountResolutionCenterAutoRefundControl'
          description: Automatic refund settings for resolution center cases.
        restricted_payment_methods:
          items:
            description: >-
              Card brands blocked at checkout for this account. Empty when none
              are blocked. The account cannot re-enable them itself.
            enum:
              - card_visa
              - card_mastercard
              - card_american_express
              - card_discover_global_network
              - addi
              - affirm
              - afterpay_clearpay
              - alma
              - billie
              - capchase_pay
              - claritypay
              - flex_pay
              - klarna
              - kriya
              - kueski
              - mondu
              - oney
              - scalapay
              - sequra
              - sezzle
              - splitit
              - sunbit
              - tabby
              - tamara
              - zip
              - card_installments_three
              - card_installments_six
              - card_installments_twelve
              - oney_3x
              - oney_4x
              - klarna_pay_now
              - us_bank_account
              - sepa_debit
              - bacs_debit
              - au_becs_debit
              - acss_debit
              - pay_by_bank
              - payto
              - paypal
              - cashapp
              - venmo
              - amazon_pay
              - link
            example: card_visa
            type: string
          type: array
        undated_pending_reason:
          description: >-
            Why pending funds without a settlement date aren't moving yet.
            `kyc_incomplete`, `pending_information_request`, and
            `update_payout_profile` are things the merchant can act on.
            `compliance_review` means a verification the merchant already
            submitted is being reviewed, so these funds stay pending until it
            clears. `withdrawals_disabled` means Whop has blocked withdrawals,
            so these funds cannot become available. `null` when there's no
            reason to show — still clearing, or held for a reason that isn't
            named here.
          enum:
            - kyc_incomplete
            - pending_information_request
            - update_payout_profile
            - compliance_review
            - withdrawals_disabled
            - null
          example: pending_information_request
          type:
            - string
            - 'null'
        withdrawal_schedule:
          $ref: '#/components/schemas/AccountWithdrawalScheduleControl'
          description: How the account's balance automatically withdraws.
      required:
        - dispute_alert_auto_refund
        - resolution_center_auto_refund
        - dispute_alert_fee_usd
        - high_risk_processing_fee_percentage
        - pending_auto_topup_fee_percentage
        - pending_balance_delay_days
        - financing_disabled
        - reserve
        - withdrawal_schedule
        - undated_pending_reason
        - enforce_3ds
        - restricted_payment_methods
      type: object
    Money:
      properties:
        amount:
          description: >-
            The amount in major units, as an exact decimal string — `"10.00"` is
            ten dollars. A string so no float rounds it in transit.
          example: '-1234.56'
          type: string
        currency:
          description: Three-letter ISO 4217 currency code, lowercase.
          example: usd
          type: string
        decimals:
          description: >-
            How many decimal places the amount CARRIES — the precision the
            charge itself runs at.
          example: 2
          type: integer
        display_decimals:
          description: >-
            How many decimal places to SHOW. Usually equal to `decimals`, and
            deliberately not always: COP is charged in centavos but written in
            whole pesos, so it is `2` and `0`. Format the number in your own
            locale using this.
          example: 2
          type: integer
      required:
        - currency
        - amount
        - decimals
        - display_decimals
      type: object
    AccountRecommendedAction:
      properties:
        action:
          description: >-
            The recommendation; new values may be added, so handle unknown
            actions gracefully
          enum:
            - theme_business
            - create_product
            - create_plan
            - verify_identity
            - connect_affiliate_program
            - create_promotion
            - migrate_from_stripe
            - accept_first_payment
            - launch_first_ad
            - launch_draft_campaign
            - increase_ad_budget
            - refresh_ad_creatives
            - fix_ad_billing
            - exclude_customers_from_ads
            - retarget_abandoned_checkouts
            - fix_funnel_dropoff
            - invite_team_member
            - enable_tax_collection
            - create_card
            - apply_for_financing
          example: apply_for_financing
          type: string
        blocked_capabilities:
          items:
            description: Capabilities this would unlock, or empty
            example: accept_bnpl_payments
            type: string
          type: array
        cta:
          description: The URL the call-to-action links to
          example: https://whop.com/dashboard/biz_xxxxxxxxxxxxxx/settings/payments/
          type: string
        cta_label:
          description: Button label
          example: Apply
          type: string
        description:
          description: Supporting copy, or empty
          example: Let customers pay over time with buy now, pay later.
          type: string
        icon_url:
          description: Illustration icon URL, or `null`
          example: https://whop.com/illustrations/orange/piggy-bank.svg
          type:
            - string
            - 'null'
        impact_score:
          description: Estimated impact from 0-100, or `null` when not ranked
          example: 86
          type:
            - integer
            - 'null'
        reasoning:
          description: Why this action was recommended, or `null`
          example: >-
            Financing lifts conversion on the $249 ceramic coating, the priciest
            job on the menu.
          type:
            - string
            - 'null'
        status:
          description: Always optional — never blocking
          enum:
            - optional
          example: optional
          type: string
        title:
          description: Headline for the recommendation
          example: Offer financing at checkout
          type: string
      required:
        - action
        - status
        - title
        - description
        - cta_label
        - cta
        - icon_url
        - blocked_capabilities
        - reasoning
        - impact_score
      type: object
    AccountRequiredAction:
      properties:
        action:
          description: >-
            What the holder must do; new values may be added, so handle unknown
            actions gracefully
          enum:
            - deposit_funds
            - review_held_payments
            - submit_information_request
            - update_automatic_withdrawal_method
            - reauthorize_payout_methods
            - update_payout_profile
            - card_usage_review
            - verify_identity
            - scale_account_setup
            - sign_formation_documents
            - setup_apple_pay_domains
            - configure_tax_remitter
            - add_vat_registration
            - accept_payout_terms
            - enable_two_factor_authentication
          example: verify_identity
          type: string
        blocked_capabilities:
          items:
            description: Capabilities gated until this is resolved
            example: standard_payout
            type: string
          type: array
        cta:
          description: The URL the call-to-action links to, or null when there is no button
          example: https://whop.com/dashboard/biz_xxxxxxxxxxxxxx/balance/
          type:
            - string
            - 'null'
        cta_label:
          description: Button label, or empty when there is no button
          example: Verify now
          type: string
        description:
          description: Supporting copy, or empty
          example: Complete verification to withdraw your earnings.
          type: string
        icon_url:
          description: The URL of the action's illustration icon, or null if it has none
          example: https://whop.com/illustrations/orange/shield.svg
          type:
            - string
            - 'null'
        status:
          description: required (act now) or pending (under review)
          enum:
            - required
            - pending
          example: required
          type: string
        title:
          description: Headline for the action
          example: Complete your identity verification
          type: string
      required:
        - action
        - status
        - title
        - description
        - cta_label
        - cta
        - icon_url
        - blocked_capabilities
      type: object
    AccountPartnerReward:
      properties:
        id:
          description: >-
            Reward definition ID, prefixed `prwd_`. Progress and status apply to
            the containing account.
          type: string
        qualification_amount:
          $ref: '#/components/schemas/Money'
          description: Qualifying USD volume required to earn this reward.
        qualification_progress:
          $ref: '#/components/schemas/Money'
          description: >-
            Qualifying USD volume for the reward’s activity accumulated by this
            account since attribution, calculated using the fulfillment rules.
        qualification_type:
          description: Activity that qualifies this account for the reward.
          enum:
            - sales
            - ad_spend
          example: sales
          type: string
        reward_amount:
          $ref: '#/components/schemas/Money'
          description: >-
            USD amount credited for this reward. Uses the saved grant amount
            once fulfillment has started.
        status:
          description: >-
            This account's reward state. Credited requires a posted ledger
            entry; processing includes a met requirement awaiting fulfillment.
            Reversing and reversed reflect a subsequent reward reversal.
          enum:
            - in_progress
            - processing
            - credited
            - reversing
            - reversed
            - unavailable
          example: in_progress
          type: string
      required:
        - id
        - qualification_type
        - qualification_amount
        - qualification_progress
        - reward_amount
        - status
      type: object
    AccountSocialLink:
      properties:
        id:
          description: The ID of the social link
          example: social_1
          type: string
        title:
          description: The optional display title for the social link
          example: '@shinetimedetail'
          type:
            - string
            - 'null'
        url:
          description: The social link URL
          example: https://instagram.com/shinetimedetail
          type: string
        website:
          description: The social platform for this link
          enum:
            - x
            - instagram
            - facebook
            - tiktok
            - youtube
            - linkedin
            - twitch
            - website
            - custom
          example: instagram
          type: string
      required:
        - id
        - website
        - url
        - title
      type: object
    AccountStorePageConfig:
      properties:
        accent_color:
          description: Accent color used on the account store page.
          enum:
            - ruby
            - tomato
            - red
            - crimson
            - pink
            - plum
            - purple
            - violet
            - iris
            - cyan
            - teal
            - jade
            - green
            - grass
            - brown
            - blue
            - orange
            - indigo
            - sky
            - mint
            - yellow
            - amber
            - lime
            - lemon
            - magenta
            - gold
            - bronze
            - gray
            - null
          example: red
          type:
            - string
            - 'null'
        layout:
          description: Layout used on the account store page.
          enum:
            - featured
            - compact
            - null
          example: compact
          type:
            - string
            - 'null'
        profile_variant:
          description: Profile presentation used on the account store page.
          enum:
            - personal
            - business
            - null
          example: business
          type:
            - string
            - 'null'
        whop_affiliate_link:
          description: Whether the account store page shows a Whop affiliate link.
          example: true
          type: boolean
      required:
        - accent_color
        - layout
        - profile_variant
        - whop_affiliate_link
      type: object
    AccountTaxIdentifier:
      properties:
        id:
          description: Tax identifier ID.
          example: txid_xxxxxxxxxxxxxx
          type: string
        tax_id_type:
          description: Tax ID type.
          enum:
            - ad_nrt
            - ao_tin
            - ar_cuit
            - al_tin
            - am_tin
            - aw_tin
            - au_abn
            - au_arn
            - eu_vat
            - az_tin
            - bs_tin
            - bh_vat
            - bd_bin
            - bb_tin
            - by_tin
            - bj_ifu
            - bo_tin
            - ba_tin
            - br_cnpj
            - br_cpf
            - bg_uic
            - bf_ifu
            - kh_tin
            - cm_niu
            - ca_bn
            - ca_gst_hst
            - ca_pst_bc
            - ca_pst_mb
            - ca_pst_sk
            - ca_qst
            - cv_nif
            - cl_tin
            - cn_tin
            - co_nit
            - cd_nif
            - cr_tin
            - hr_oib
            - do_rcn
            - ec_ruc
            - eg_tin
            - sv_nit
            - et_tin
            - eu_oss_vat
            - ge_vat
            - gh_tin
            - de_stn
            - gb_vat
            - gn_nif
            - hk_br
            - hu_tin
            - is_vat
            - in_gst
            - id_npwp
            - il_vat
            - jp_cn
            - jp_rn
            - jp_trn
            - kz_bin
            - ke_pin
            - kg_tin
            - la_tin
            - li_uid
            - li_vat
            - my_frp
            - my_itn
            - my_sst
            - mr_nif
            - mx_rfc
            - md_vat
            - me_pib
            - ma_vat
            - np_pan
            - nz_gst
            - ng_tin
            - mk_vat
            - no_vat
            - no_voec
            - om_vat
            - pe_ruc
            - ph_tin
            - pl_nip
            - ro_tin
            - ru_inn
            - ru_kpp
            - sa_vat
            - sn_ninea
            - rs_pib
            - sg_gst
            - sg_uen
            - si_tin
            - za_vat
            - kr_brn
            - es_cif
            - ch_uid
            - ch_vat
            - tw_vat
            - tj_tin
            - tz_vat
            - th_vat
            - tr_tin
            - ug_tin
            - ua_vat
            - ae_trn
            - us_ein
            - uy_ruc
            - uz_tin
            - uz_vat
            - ve_rif
            - vn_tin
            - zm_tin
            - zw_tin
            - sr_fin
            - xi_vat
          example: eu_vat
          type: string
        tax_id_value:
          description: Tax ID value.
          example: DE123456789
          type: string
      required:
        - id
        - tax_id_type
        - tax_id_value
      type: object
    TradingAccount:
      properties:
        account_id:
          description: >-
            The account that owns this trading account, prefixed `biz_`. `null`
            when a user owns it.
          type:
            - string
            - 'null'
        hyperliquid:
          description: >-
            Hyperliquid-specific state. Present when `provider` is
            `hyperliquid`, otherwise `null`.
          oneOf:
            - $ref: '#/components/schemas/TradingHyperliquidAccount'
            - type: 'null'
        id:
          description: The Whop wallet ID backing this trading account, prefixed `cwal_`.
          type: string
        object:
          enum:
            - trading_account
          example: trading_account
          type: string
        provider:
          description: Trading venue that holds the positions and orders.
          enum:
            - hyperliquid
          example: hyperliquid
          type: string
        user_id:
          description: >-
            The user who owns this trading account, prefixed `user_`. `null`
            when an account owns it.
          type:
            - string
            - 'null'
      required:
        - object
        - id
        - account_id
        - user_id
        - provider
        - hyperliquid
      type: object
    AccountWallet:
      properties:
        address:
          description: The on-chain address of the wallet
          example: '0xabc123'
          type: string
        id:
          description: Wallet ID, prefixed `wallet_`.
          example: cwal_xxxxxxxxxxxxxx
          type: string
        network:
          description: The blockchain network the wallet lives on
          enum:
            - solana
            - ethereum
            - bitcoin
          example: ethereum
          type: string
      required:
        - id
        - address
        - network
      type: object
    V1ErrorResponse:
      properties:
        error:
          properties:
            code:
              description: >-
                Machine-readable reason for this specific refusal, such as
                `bank_warning_not_acknowledged`. Only present when the error
                carries one.
              type: string
            message:
              description: Human-readable error message.
              example: account_id is required
              type: string
            type:
              description: Machine-readable error code.
              example: bad_request
              type: string
          required:
            - type
            - message
          type: object
      required:
        - error
      type: object
    AccountBalanceBreakdown:
      properties:
        available:
          description: >-
            Amount you can spend, send, or withdraw now, in native units, as a
            decimal string.
          example: '1500.0'
          type: string
        in_transit:
          description: >-
            Amount moving between the account's own destinations, such as a
            treasury sweep to its crypto wallet or a card top-up. In native
            units, as a decimal string.
          example: '0'
          type: string
        pending:
          description: >-
            Amount from recent payments still settling, in native units, as a
            decimal string.
          example: '0'
          type: string
        pending_settlements:
          items:
            $ref: '#/components/schemas/AccountBalanceSettlement'
            description: >-
              When the pending amount is expected to settle, one entry per day,
              earliest first. Money with no scheduled settlement day, such as a
              transfer in flight, is left out — so these can sum to less than
              `pending`, never more.
          type: array
        reserve:
          description: >-
            Amount held back, in native units, as a decimal string. Retrieve the
            account's reserves for why it is held and when it unlocks.
          example: '0'
          type: string
      required:
        - available
        - pending
        - in_transit
        - reserve
        - pending_settlements
      type: object
    FileMultipartUrl:
      properties:
        part_number:
          description: The 1-based index of this part within the multipart upload.
          example: 1
          type: integer
        url:
          description: The presigned URL to PUT this part's bytes to.
          example: >-
            https://whop-assets-example.s3.amazonaws.com/uploads/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/application.pdf
          type: string
      required:
        - part_number
        - url
      type: object
    AccountCompanyFormationDocument:
      properties:
        id:
          description: Document ID, prefixed `file_`.
          example: file_xxxxxxxxxxxxxx
          type: string
        name:
          description: Human-readable document name, such as `Articles of Organization`.
          example: Articles of Organization
          type: string
        type:
          description: >-
            Document category: `articles_of_organization`,
            `operating_agreement`, `ein_letter`, `signed_ss4`,
            `signed_form8821`, or `mail` for postal correspondence received on
            the company's behalf.
          example: articles_of_organization
          type: string
        url:
          description: CDN URL for downloading the document.
          example: >-
            https://whop-assets-example.s3.amazonaws.com/uploads/audio/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type: string
      required:
        - id
        - name
        - type
        - url
      type: object
    AccountCompanyFormationSignatures:
      additionalProperties: true
      properties:
        form8821:
          $ref: '#/components/schemas/AccountCompanyFormationSignatureRequest'
          description: >-
            Signature state for IRS Form 8821, the tax information
            authorization. Present only while the form still needs the founder's
            action.
        ss4:
          $ref: '#/components/schemas/AccountCompanyFormationSignatureRequest'
          description: >-
            Signature state for IRS Form SS-4, the EIN application. Present only
            while the form still needs the founder's action.
      required: []
      type: object
    OwnerLevelPoints:
      properties:
        ads:
          description: 'Points from charged Whop Ads spend: 10 for every whole dollar.'
          example: 0
          type: integer
        cards:
          description: 'Points from Whop Card spend: 10 for every whole dollar.'
          example: 40000
          type: integer
        trading:
          description: >-
            Points from perpetual trading volume: 1 for every whole dollar
            traded.
          example: 1000
          type: integer
      required:
        - cards
        - ads
        - trading
      type: object
    UserProfilePicture:
      properties:
        url:
          description: >-
            Avatar image URL. Always present — a generated placeholder when the
            user set no picture.
          example: https://ui-avatars.com/api/
          type: string
      required:
        - url
      type: object
    AccountDisputeAlertAutoRefundControl:
      properties:
        locked:
          description: Whether the account owner is prevented from changing this threshold.
          example: false
          type: boolean
        threshold_usd:
          description: >-
            Maximum dispute alert amount automatically refunded in USD. `null`
            when automatic refunds are disabled.
          example: 500
          type:
            - number
            - 'null'
      required:
        - threshold_usd
        - locked
      type: object
    AccountReserveControl:
      properties:
        hold_period_days:
          description: Number of days reserved funds are held before release.
          example: 14
          type: integer
        percentage:
          description: >-
            Percentage of incoming payment volume held in reserve. `null` when
            no reserve is applied.
          example: 15
          type:
            - number
            - 'null'
      required:
        - percentage
        - hold_period_days
      type: object
    AccountResolutionCenterAutoRefundControl:
      properties:
        card_threshold_usd:
          description: >-
            Maximum card-funded resolution center case amount automatically
            refunded in USD. `null` when automatic refunds are disabled for
            cards.
          example: 50
          type:
            - number
            - 'null'
        financing_threshold_usd:
          description: >-
            Maximum financing-funded resolution center case amount automatically
            refunded in USD. `null` when automatic refunds are disabled for
            financing.
          example: 25
          type:
            - number
            - 'null'
        locked:
          description: >-
            Whether the account owner is prevented from changing these
            thresholds.
          example: false
          type: boolean
        paypal_threshold_usd:
          description: >-
            Maximum PayPal-funded resolution center case amount automatically
            refunded in USD. `null` when automatic refunds are disabled for
            PayPal.
          example: 40
          type:
            - number
            - 'null'
      required:
        - card_threshold_usd
        - financing_threshold_usd
        - paypal_threshold_usd
        - locked
      type: object
    AccountWithdrawalScheduleControl:
      properties:
        day:
          description: >-
            Day the automatic withdrawal runs on: 0-6 (Sunday-Saturday) for
            `weekly`, 1-31 for `monthly`. `null` for `manual` and `daily`.
          example: null
          type:
            - integer
            - 'null'
        frequency:
          description: How often the account's balance automatically withdraws.
          enum:
            - manual
            - daily
            - weekly
            - monthly
          example: manual
          type: string
        next_payout_date:
          description: >-
            Next date the automatic withdrawal is scheduled to run, as an ISO
            8601 date. `null` for `manual` and `daily`, where no single next
            date applies.
          example: null
          type:
            - string
            - 'null'
      required:
        - frequency
        - day
        - next_payout_date
      type: object
    TradingHyperliquidAccount:
      properties:
        address:
          description: Lowercase wallet address that holds the Hyperliquid account.
          type: string
        websocket_subscriptions:
          items:
            $ref: '#/components/schemas/TradingWebsocketSubscription'
            description: >-
              Subscriptions for live account updates. Send each `message`
              unchanged after connecting to `websocket_url`.
          type: array
        websocket_url:
          description: Hyperliquid WebSocket URL to connect to directly for live updates.
          type: string
      required:
        - address
        - websocket_url
        - websocket_subscriptions
      type: object
    AccountBalanceSettlement:
      properties:
        amount:
          description: Amount expected that day, in native units, as a decimal string.
          example: '0.0'
          type: string
        date:
          description: >-
            The day this money is expected to finish settling, as an ISO 8601
            date.
          example: '2026-01-01'
          type: string
      required:
        - date
        - amount
      type: object
    AccountCompanyFormationSignatureRequest:
      properties:
        expires_at:
          description: >-
            When the signing URL expires, as an ISO 8601 timestamp. Present only
            when the signing URL is included.
          example: '2026-01-01T12:00:00.000Z'
          type: string
        status:
          description: >-
            `pending` when a signing session is ready for the founder; `unknown`
            when the signature state could not be determined.
          enum:
            - pending
            - unknown
          example: pending
          type: string
        url:
          description: >-
            Hosted signing URL where the founder completes the form. Present
            while `status` is `pending` and the caller has
            `incorporation:write`. Omitted from webhooks.
          example: https://sign.doola.com/shine-time-auto-detailing/form8821
          type: string
      required:
        - status
      type: object
    TradingWebsocketSubscription:
      properties:
        channel:
          description: The live update stream this subscription opens.
          enum:
            - clearinghouse_state
            - open_orders
            - order_updates
            - user_fills
            - user_events
          example: clearinghouse_state
          type: string
        message:
          description: >-
            JSON subscription message to send unchanged over the Hyperliquid
            WebSocket.
          type: string
      required:
        - channel
        - message
      type: object
  responses:
    InvalidParameters:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/V1ErrorResponse'
      description: Invalid Parameters
    Unauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/V1ErrorResponse'
      description: Unauthorized
    Forbidden:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/V1ErrorResponse'
      description: Forbidden
    Conflict:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/V1ErrorResponse'
      description: Conflict
  securitySchemes:
    accountApiKeyOrOauthTokenAuth:
      bearerFormat: auth-scheme
      description: >-
        An Account API key or a user OAuth token. Prepend the key or token with
        `Bearer`, for example `Bearer ***************************`. See [Auth &
        API keys](/developer/guides/auth-scoping) for how to get each one.
      scheme: bearer
      type: http

````

## Related topics

- [Account](/api-reference/beta/accounts/account.md)
- [Create account link](/api-reference/account-links/create-account-link.md)
- [Create a Social Account](/api-reference/beta/social-accounts/create-a-social-account.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.