/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { GrandfatheringStrategyEnum } from './GrandfatheringStrategyEnum'; import type { ItemPrice } from './ItemPrice'; export type ItemPaywallConfig = { readonly unique_id: string; /** * Type of item being paywalled (e.g. mentor, course, program, or custom types) */ item_type: string; /** * Identifier for the item (UUID for mentors, slug/key for others) */ item_id: string; readonly item_name: string; /** * Arbitrary metadata for the item (custom types only). */ item_metadata?: any; readonly platform: Record; /** * Whether the paywall is enabled for this item */ is_enabled?: boolean; /** * Marketing description shown to customers at checkout. If blank, a default is generated from the item name. */ description?: string; /** * Whether to allow a free tier (bypasses checkout) */ allow_free_tier?: boolean; /** * Stripe Product ID for this item (on the connected account) */ readonly stripe_product_id: string | null; /** * Number of days for free trial (0 = no trial) */ trial_period_days?: number; /** * How to handle existing users when enabling the paywall * * * `free_forever` - Free Forever - Existing users get unlimited free access * * `require_subscription` - Require Subscription - All users must subscribe (no grandfathering) */ grandfathering_strategy?: GrandfatheringStrategyEnum; /** * URL to redirect users to after successful payment. If blank, default confirmation page(or mentor/product url) or the caller-supplied URL is used. */ on_successful_payment?: string; /** * When the paywall was first enabled (for grandfathering cutoff) */ readonly paywall_enabled_at: string | null; readonly prices: Array; readonly created_at: string; readonly updated_at: string; };