Accounts

Update Account Preferences

Updates the account's preferences. Each top-level key present in the body is replaced as a whole; omitted keys are left untouched. ads_triple_whale_integration takes the Data-In API key to connect with, or null to disconnect, plus an optional shop_domain. ads_payment_methods always requires a primary entry. backup is optional and any pairing is allowed — two cards, card+platform_balance, or a single method — so a card-only advertiser can fund ads without a platform balance. The primary and backup must be different sources. A platform_balance entry may omit id to use the account's default Whop balance. Configuring a card requires a user token; account API keys can set up platform-balance billing only.

patch/accounts/{account_id}/preferences

Headers

Api-Version-Datestring
Example:2026-09-15

Pins the request to a dated API version.

Request body

ads_certificationsobject

Opens an advertising certification application. Keyed by certification type (prescription_drug_ads); set the entry's status to pending_information to start, then answer the requested fields via PATCH /verifications/{id}. Only one application per type can be open at a time; every other status is set by Whop's review.

ads_reporting_currencystring

Lowercase ISO currency code, such as usd or eur, used to display ad spend and stats. Defaults to usd.

ads_scheduling_timezonestring

IANA timezone (e.g. America/New_York) used to interpret campaign start/end times and to bucket reports. Cannot be cleared once set — pass a new value to change it.

cards_auto_top_upboolean

Whether incoming funds are automatically moved to the account's cards balance. Requires a cards balance on the account.

cards_notificationsboolean

Whether Whop Card notifications reach this account's team. Set it to false to stop every card email and push notification for the account — application status, verification and action-required alerts, card-ready alerts, declines, large charges, and cashback summaries. Cardholder onboarding invitations still send, because they carry the only link an invited cardholder can onboard with. Requesting a card is rejected while notifications are off, since the request reaches nobody. Cards on personal accounts are unaffected. Requires a cards balance on the account.

dispute_fighter_enabledboolean

Whether Whop assembles and files the evidence response when this account's payments are disputed. Off by default; enabling it also opts the account into the success fee charged only on disputes it wins.

economic_intelligenceboolean

Whether economic intelligence is enabled for the account. Requires company:update permission and an existing ledger account.

Example request

{
  "ads_certifications": {
    "prescription_drug_ads": {
      "status": "pending_information"
    }
  },
  "ads_payment_methods": {
    "backup": {
      "id": "payt_xxxxxxxxxxxxxx",
      "type": "card"
    },
    "primary": {
      "id": "payt_xxxxxxxxxxxxxx",
      "type": "platform_balance"
    }
  },
  "ads_reporting_currency": "eur",
  "ads_scheduling_timezone": "PST8PDT",
  "ads_triple_whale_integration": {
    "api_key": "tw_live_key_1234",
    "shop_domain": "custom-store.example.com"
  },
  "cards_auto_top_up": true,
  "cards_notifications": true,
  "dispute_fighter_enabled": true,
  "economic_intelligence": true
}

Response

preferences updated

ads_reporting_currencystring required

Lowercase ISO currency code, such as usd or eur, used to display ad spend and stats. Defaults to usd.

ads_scheduling_timezonestring required

IANA timezone (e.g. America/New_York) used to interpret campaign start/end times and to bucket reports. Defaults to America/New_York until explicitly overridden.

cards_auto_top_upboolean required

Whether incoming funds are automatically moved to the account's cards balance. false when the account has no cards balance.

cards_notificationsboolean required

Whether Whop Card notifications reach this account's team. true by default, including when the account has no cards balance. Set it to false to stop every card email and push notification for the account — application status, verification and action-required alerts, card-ready alerts, declines, large charges, and cashback summaries. Cardholder onboarding invitations still send, because they carry the only link an invited cardholder can onboard with. Requesting a card is rejected while notifications are off, since the request reaches nobody. Cards on personal accounts are unaffected.

dispute_fighter_enabledboolean required

Whether Whop assembles and files the evidence response when this account's payments are disputed. Off by default; enabling it also opts the account into the success fee charged only on disputes it wins.

economic_intelligenceboolean required

Whether economic intelligence is enabled for the account.

Example response

{
  "ads_agreement": {
    "accepted_at": "2026-01-01T12:00:00.000Z",
    "agreement_version": "2026-01-01",
    "printed_name": "Marcus Webb",
    "status": "not_required"
  },
  "ads_certifications": [
    {
      "business_type": "online_pharmacy",
      "certification_type": "prescription_drug_ads",
      "request_id": "inrq_xxxxxxxxxxxxxx",
      "status": "not_started"
    }
  ],
  "ads_payment_methods": {
    "backup": {
      "card_brand": "visa",
      "exp_month": 10,
      "exp_year": 2031,
      "icon_url": "https://whop-assets-example.s3.amazonaws.com/uploads/image/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "id": "ldgr_xxxxxxxxxxxxxx",
      "last4": "4242",
      "title": "Shine Time Auto Detailing",
      "type": "platform_balance"
    },
    "primary": {
      "card_brand": "visa",
      "exp_month": 10,
      "exp_year": 2031,
      "icon_url": "https://whop-assets-example.s3.amazonaws.com/uploads/image/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "id": "ldgr_xxxxxxxxxxxxxx",
      "last4": "4242",
      "title": "Shine Time Auto Detailing",
      "type": "platform_balance"
    }
  },
  "ads_reporting_currency": "usd",
  "ads_scheduling_timezone": "America/New_York",
  "ads_triple_whale_integration": {
    "masked_api_key": "tw_live_********",
    "shop_domain": "shinetime.myshopify.com",
    "status": "requires_shop_domain"
  },
  "cards_notifications": true
}

Changes