/** * @example * { * id: "id" * } */ export interface UpdateAccountsRequest { /** Account ID, prefixed `biz_`. The reserved id `me` resolves to the requesting account, which an Account API key cannot edit. */ id: string; /** Whether prospective affiliates must submit an application before promoting this account. */ affiliate_application_required?: boolean; /** Guidelines shown to affiliates promoting this account. */ affiliate_instructions?: string | null; /** Account banner image, used as the cover photo when creating a Whop-managed Facebook page. Image files up to 10 MB, except `image/gif`. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file). */ banner_image?: UpdateAccountsRequest.BannerImage | null; /** Account business address used to calculate tax. A complete address in a supported country is required when `tax_remitted_by` is `self`. */ business_address?: UpdateAccountsRequest.BusinessAddress; /** The legal business name used with the account's tax address. */ business_name?: string | null; /** The account's cancellation policy document. Attached to new disputes as the cancellation policy evidence, with the terms of service as the fallback. PDF only. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file), or `null` to remove it. */ cancellation_policy?: UpdateAccountsRequest.CancellationPolicy | null; /** Whether checkout shows a VAT/tax ID field for buyers to optionally enter. Does not require a VAT ID to purchase. */ collect_vat_id?: boolean; /** Country where the account is located. */ country?: string | null; /** Account promotional description. When creating a Whop-managed Facebook page, it is truncated to 155 characters and used as the About text. */ description?: string | null; /** 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. */ dispute_fighter_enabled?: boolean; /** The account's end-user license agreement document. PDF only. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file), or `null` to remove it. */ eula?: UpdateAccountsRequest.Eula | null; /** The ID of the product to feature for affiliates. Pass `null` to clear. */ featured_affiliate_product_id?: string | null; /** Public account home page preferences. */ home_preferences?: UpdateAccountsRequest.HomePreferences.Item[]; /** Prefix used for account invoices. */ invoice_prefix?: string | null; /** Account logo, used as the profile picture when creating a Whop-managed Facebook page. Image files up to 5 MB. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file). */ logo?: UpdateAccountsRequest.Logo | null; /** Arbitrary key/value metadata to store on the account. */ metadata?: Record; /** The type of onboarding the account has completed. */ onboarding_type?: UpdateAccountsRequest.OnboardingType | null; /** Open Graph preview media used when the account is shared. Image and video files up to 5 MB. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file). */ opengraph_image?: UpdateAccountsRequest.OpengraphImage | null; /** The account Open Graph image variant. */ opengraph_image_variant?: UpdateAccountsRequest.OpengraphImageVariant | null; /** Whether payment orchestration is enabled for this account. Requires payout:account:update. Omit to preserve the existing setting or creation default. */ orchestration_enabled?: boolean; /** The description of the business type when business_type is other. */ other_business_description?: string | null; /** The description of the industry type when industry_type is other. */ other_industry_description?: string | null; /** The account's privacy policy document. PDF only. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file), or `null` to remove it. */ privacy_policy?: UpdateAccountsRequest.PrivacyPolicy | null; /** ID of the tax classification code applied by default to the account's products. See the available [product categories](https://docs.numeral.com/essentials/product-categories). */ product_tax_code_id?: string | null; /** Whether the account requires authorized users to have two-factor authentication enabled. */ require_2fa?: boolean; /** The account's return and refund policy document. Attached to new disputes as the refund policy evidence, with the terms of service as the fallback. PDF only. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file), or `null` to remove it. */ return_policy?: UpdateAccountsRequest.ReturnPolicy | null; /** The unique URL slug for the account. */ route?: string | null; /** Whether Whop sends transactional emails to customers on behalf of this account. */ send_customer_emails?: boolean; /** The account's shipping policy document. Sent with physical-goods dispute evidence. PDF only. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file), or `null` to remove it. */ shipping_policy?: UpdateAccountsRequest.ShippingPolicy | null; /** Whether the account appears in joined whops on other accounts. */ show_joined_whops?: boolean; /** Whether reviews are displayed on direct-to-consumer product pages. */ show_reviews_dtc?: boolean; /** Whether the account shows users in the user directory. */ show_user_directory?: boolean; /** The full list of social links to display for the account. */ social_links?: Record[]; /** Account store page display configuration. */ store_page_config?: UpdateAccountsRequest.StorePageConfig | null; /** The target audience for this account. */ target_audience?: string | null; /** US state codes (50 states plus `DC`) where the account collects tax. Replaces the full set on update. Only settable when `tax_remitted_by` is `self`. */ tax_collection_enabled_states?: UpdateAccountsRequest.TaxCollectionEnabledStates.Item[]; /** Account tax/VAT registrations to add or update. When `tax_remitted_by` is `self`, tax is calculated and collected only in the countries where the account holds a registration. */ tax_identifiers?: UpdateAccountsRequest.TaxIdentifiers.Item[]; /** Determines whether Whop or the account calculates and remits tax. The account must provide a supported-country business address when it self-remits. */ tax_remitted_by?: UpdateAccountsRequest.TaxRemittedBy; /** Determines whether tax is included in the listed price or added at checkout. */ tax_type?: UpdateAccountsRequest.TaxType; /** The account's terms of service document. Attached to new disputes as the cancellation policy evidence when no cancellation policy is set. PDF only. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file), or `null` to remove it. */ terms_of_service?: UpdateAccountsRequest.TermsOfService | null; /** 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. */ three_ds_level?: UpdateAccountsRequest.ThreeDsLevel | null; /** The display name of the account. */ title?: string | null; /** Whether the account uses its logo as the fallback Open Graph image. */ use_logo_as_opengraph_image_fallback?: boolean; /** 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. Pass `null` to clear the website; existing social links are left unchanged. */ website?: string | null; /** Set to `true` to turn on Whop Partner mode for the account, so its team can refer businesses and the account is paid partner commission on their sales. Recorded once; `false` is rejected. */ whop_partner_enabled?: boolean; industry_type?: unknown; } export declare namespace UpdateAccountsRequest { /** * Account banner image, used as the cover photo when creating a Whop-managed Facebook page. Image files up to 10 MB, except `image/gif`. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file). */ interface BannerImage { /** ID of a file from [Create File](/api-reference/files/create-file), prefixed `file_`. */ id?: string | undefined; /** Accepts any additional properties */ [key: string]: any; } /** * Account business address used to calculate tax. A complete address in a supported country is required when `tax_remitted_by` is `self`. */ interface BusinessAddress { /** City name. */ city?: (string | null) | undefined; /** Two-letter ISO 3166-1 country code, for example `US`, `DE`, or `GB`. */ country?: string | undefined; /** First line of the street address. */ line1?: string | undefined; /** Second line of the street address. */ line2?: (string | null) | undefined; /** Postal or ZIP code. */ postal_code?: (string | null) | undefined; /** State, province, or region code, for example `CA`. */ state?: (string | null) | undefined; } /** * The account's cancellation policy document. Attached to new disputes as the cancellation policy evidence, with the terms of service as the fallback. PDF only. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file), or `null` to remove it. */ interface CancellationPolicy { /** ID of a file from [Create File](/api-reference/files/create-file), prefixed `file_`. */ id?: string | undefined; /** Accepts any additional properties */ [key: string]: any; } /** * The account's end-user license agreement document. PDF only. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file), or `null` to remove it. */ interface Eula { /** ID of a file from [Create File](/api-reference/files/create-file), prefixed `file_`. */ id?: string | undefined; /** Accepts any additional properties */ [key: string]: any; } type HomePreferences = HomePreferences.Item[]; namespace HomePreferences { const Item: { readonly HideMemberCount: "hide_member_count"; readonly HideMembersCard: "hide_members_card"; }; type Item = (typeof Item)[keyof typeof Item]; } /** * Account logo, used as the profile picture when creating a Whop-managed Facebook page. Image files up to 5 MB. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file). */ interface Logo { /** ID of a file from [Create File](/api-reference/files/create-file), prefixed `file_`. */ id?: string | undefined; /** Accepts any additional properties */ [key: string]: any; } /** The type of onboarding the account has completed. */ const OnboardingType: { readonly Platform: "platform"; readonly Seller: "seller"; }; type OnboardingType = (typeof OnboardingType)[keyof typeof OnboardingType]; /** * Open Graph preview media used when the account is shared. Image and video files up to 5 MB. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file). */ interface OpengraphImage { /** ID of a file from [Create File](/api-reference/files/create-file), prefixed `file_`. */ id?: string | undefined; /** Accepts any additional properties */ [key: string]: any; } /** The account Open Graph image variant. */ const OpengraphImageVariant: { readonly White: "white"; readonly Black: "black"; readonly Orange: "orange"; }; type OpengraphImageVariant = (typeof OpengraphImageVariant)[keyof typeof OpengraphImageVariant]; /** * The account's privacy policy document. PDF only. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file), or `null` to remove it. */ interface PrivacyPolicy { /** ID of a file from [Create File](/api-reference/files/create-file), prefixed `file_`. */ id?: string | undefined; /** Accepts any additional properties */ [key: string]: any; } /** * The account's return and refund policy document. Attached to new disputes as the refund policy evidence, with the terms of service as the fallback. PDF only. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file), or `null` to remove it. */ interface ReturnPolicy { /** ID of a file from [Create File](/api-reference/files/create-file), prefixed `file_`. */ id?: string | undefined; /** Accepts any additional properties */ [key: string]: any; } /** * The account's shipping policy document. Sent with physical-goods dispute evidence. PDF only. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file), or `null` to remove it. */ interface ShippingPolicy { /** ID of a file from [Create File](/api-reference/files/create-file), prefixed `file_`. */ id?: string | undefined; /** Accepts any additional properties */ [key: string]: any; } /** * Account store page display configuration. */ interface StorePageConfig { /** Accent color used on the account store page. */ accent_color?: (StorePageConfig.AccentColor | null) | undefined; /** Layout used on the account store page. */ layout?: (StorePageConfig.Layout | null) | undefined; /** Profile presentation used on the account store page. */ profile_variant?: (StorePageConfig.ProfileVariant | null) | undefined; /** Whether the account store page shows a Whop affiliate link. */ whop_affiliate_link?: boolean | undefined; } namespace StorePageConfig { /** Accent color used on the account store page. */ const AccentColor: { readonly Ruby: "ruby"; readonly Tomato: "tomato"; readonly Red: "red"; readonly Crimson: "crimson"; readonly Pink: "pink"; readonly Plum: "plum"; readonly Purple: "purple"; readonly Violet: "violet"; readonly Iris: "iris"; readonly Cyan: "cyan"; readonly Teal: "teal"; readonly Jade: "jade"; readonly Green: "green"; readonly Grass: "grass"; readonly Brown: "brown"; readonly Blue: "blue"; readonly Orange: "orange"; readonly Indigo: "indigo"; readonly Sky: "sky"; readonly Mint: "mint"; readonly Yellow: "yellow"; readonly Amber: "amber"; readonly Lime: "lime"; readonly Lemon: "lemon"; readonly Magenta: "magenta"; readonly Gold: "gold"; readonly Bronze: "bronze"; readonly Gray: "gray"; }; type AccentColor = (typeof AccentColor)[keyof typeof AccentColor]; /** Layout used on the account store page. */ const Layout: { readonly Featured: "featured"; readonly Compact: "compact"; }; type Layout = (typeof Layout)[keyof typeof Layout]; /** Profile presentation used on the account store page. */ const ProfileVariant: { readonly Personal: "personal"; readonly Business: "business"; }; type ProfileVariant = (typeof ProfileVariant)[keyof typeof ProfileVariant]; } type TaxCollectionEnabledStates = TaxCollectionEnabledStates.Item[]; namespace TaxCollectionEnabledStates { const Item: { readonly Al: "AL"; readonly Ak: "AK"; readonly Az: "AZ"; readonly Ar: "AR"; readonly Ca: "CA"; readonly Co: "CO"; readonly Ct: "CT"; readonly De: "DE"; readonly Dc: "DC"; readonly Fl: "FL"; readonly Ga: "GA"; readonly Hi: "HI"; readonly Id: "ID"; readonly Il: "IL"; readonly In: "IN"; readonly Ia: "IA"; readonly Ks: "KS"; readonly Ky: "KY"; readonly La: "LA"; readonly Me: "ME"; readonly Md: "MD"; readonly Ma: "MA"; readonly Mi: "MI"; readonly Mn: "MN"; readonly Ms: "MS"; readonly Mo: "MO"; readonly Mt: "MT"; readonly Ne: "NE"; readonly Nv: "NV"; readonly Nh: "NH"; readonly Nj: "NJ"; readonly Nm: "NM"; readonly Ny: "NY"; readonly Nc: "NC"; readonly Nd: "ND"; readonly Oh: "OH"; readonly Ok: "OK"; readonly Or: "OR"; readonly Pa: "PA"; readonly Ri: "RI"; readonly Sc: "SC"; readonly Sd: "SD"; readonly Tn: "TN"; readonly Tx: "TX"; readonly Ut: "UT"; readonly Vt: "VT"; readonly Va: "VA"; readonly Wa: "WA"; readonly Wv: "WV"; readonly Wi: "WI"; readonly Wy: "WY"; }; type Item = (typeof Item)[keyof typeof Item]; } type TaxIdentifiers = TaxIdentifiers.Item[]; namespace TaxIdentifiers { interface Item { /** Tax ID type, for example `eu_vat`, `gb_vat`, or `us_ein`. */ tax_id_type: Item.TaxIdType; /** Tax ID value, for example `DE123456789`. */ tax_id_value: string; } namespace Item { /** Tax ID type, for example `eu_vat`, `gb_vat`, or `us_ein`. */ const TaxIdType: { readonly AdNrt: "ad_nrt"; readonly AoTin: "ao_tin"; readonly ArCuit: "ar_cuit"; readonly AlTin: "al_tin"; readonly AmTin: "am_tin"; readonly AwTin: "aw_tin"; readonly AuAbn: "au_abn"; readonly AuArn: "au_arn"; readonly EuVat: "eu_vat"; readonly AzTin: "az_tin"; readonly BsTin: "bs_tin"; readonly BhVat: "bh_vat"; readonly BdBin: "bd_bin"; readonly BbTin: "bb_tin"; readonly ByTin: "by_tin"; readonly BjIfu: "bj_ifu"; readonly BoTin: "bo_tin"; readonly BaTin: "ba_tin"; readonly BrCnpj: "br_cnpj"; readonly BrCpf: "br_cpf"; readonly BgUic: "bg_uic"; readonly BfIfu: "bf_ifu"; readonly KhTin: "kh_tin"; readonly CmNiu: "cm_niu"; readonly CaBn: "ca_bn"; readonly CaGstHst: "ca_gst_hst"; readonly CaPstBc: "ca_pst_bc"; readonly CaPstMb: "ca_pst_mb"; readonly CaPstSk: "ca_pst_sk"; readonly CaQst: "ca_qst"; readonly CvNif: "cv_nif"; readonly ClTin: "cl_tin"; readonly CnTin: "cn_tin"; readonly CoNit: "co_nit"; readonly CdNif: "cd_nif"; readonly CrTin: "cr_tin"; readonly HrOib: "hr_oib"; readonly DoRcn: "do_rcn"; readonly EcRuc: "ec_ruc"; readonly EgTin: "eg_tin"; readonly SvNit: "sv_nit"; readonly EtTin: "et_tin"; readonly EuOssVat: "eu_oss_vat"; readonly GeVat: "ge_vat"; readonly GhTin: "gh_tin"; readonly DeStn: "de_stn"; readonly GbVat: "gb_vat"; readonly GnNif: "gn_nif"; readonly HkBr: "hk_br"; readonly HuTin: "hu_tin"; readonly IsVat: "is_vat"; readonly InGst: "in_gst"; readonly IdNpwp: "id_npwp"; readonly IlVat: "il_vat"; readonly JpCn: "jp_cn"; readonly JpRn: "jp_rn"; readonly JpTrn: "jp_trn"; readonly KzBin: "kz_bin"; readonly KePin: "ke_pin"; readonly KgTin: "kg_tin"; readonly LaTin: "la_tin"; readonly LiUid: "li_uid"; readonly LiVat: "li_vat"; readonly MyFrp: "my_frp"; readonly MyItn: "my_itn"; readonly MySst: "my_sst"; readonly MrNif: "mr_nif"; readonly MxRfc: "mx_rfc"; readonly MdVat: "md_vat"; readonly MePib: "me_pib"; readonly MaVat: "ma_vat"; readonly NpPan: "np_pan"; readonly NzGst: "nz_gst"; readonly NgTin: "ng_tin"; readonly MkVat: "mk_vat"; readonly NoVat: "no_vat"; readonly NoVoec: "no_voec"; readonly OmVat: "om_vat"; readonly PeRuc: "pe_ruc"; readonly PhTin: "ph_tin"; readonly RoTin: "ro_tin"; readonly RuInn: "ru_inn"; readonly RuKpp: "ru_kpp"; readonly SaVat: "sa_vat"; readonly SnNinea: "sn_ninea"; readonly RsPib: "rs_pib"; readonly SgGst: "sg_gst"; readonly SgUen: "sg_uen"; readonly SiTin: "si_tin"; readonly ZaVat: "za_vat"; readonly KrBrn: "kr_brn"; readonly EsCif: "es_cif"; readonly ChUid: "ch_uid"; readonly ChVat: "ch_vat"; readonly TwVat: "tw_vat"; readonly TjTin: "tj_tin"; readonly TzVat: "tz_vat"; readonly ThVat: "th_vat"; readonly TrTin: "tr_tin"; readonly UgTin: "ug_tin"; readonly UaVat: "ua_vat"; readonly AeTrn: "ae_trn"; readonly UsEin: "us_ein"; readonly UyRuc: "uy_ruc"; readonly UzTin: "uz_tin"; readonly UzVat: "uz_vat"; readonly VeRif: "ve_rif"; readonly VnTin: "vn_tin"; readonly ZmTin: "zm_tin"; readonly ZwTin: "zw_tin"; readonly SrFin: "sr_fin"; }; type TaxIdType = (typeof TaxIdType)[keyof typeof TaxIdType]; } } /** Determines whether Whop or the account calculates and remits tax. The account must provide a supported-country business address when it self-remits. */ const TaxRemittedBy: { readonly Whop: "whop"; readonly Self: "self"; readonly None: "none"; }; type TaxRemittedBy = (typeof TaxRemittedBy)[keyof typeof TaxRemittedBy]; /** Determines whether tax is included in the listed price or added at checkout. */ const TaxType: { readonly Inclusive: "inclusive"; readonly Exclusive: "exclusive"; }; type TaxType = (typeof TaxType)[keyof typeof TaxType]; /** * The account's terms of service document. Attached to new disputes as the cancellation policy evidence when no cancellation policy is set. PDF only. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file), or `null` to remove it. */ interface TermsOfService { /** ID of a file from [Create File](/api-reference/files/create-file), prefixed `file_`. */ id?: string | undefined; /** Accepts any additional properties */ [key: string]: any; } /** 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. */ const ThreeDsLevel: { readonly MandateChallenge: "mandate_challenge"; readonly MandateIfRequired: "mandate_if_required"; readonly FrictionlessIfRequired: "frictionless_if_required"; }; type ThreeDsLevel = (typeof ThreeDsLevel)[keyof typeof ThreeDsLevel]; }