import type * as Whop from "../index.mjs"; /** * A consolidated identity or business profile synced from verification provider data. */ export interface IdentityProfile { /** Registered business address reported by the identity provider. Present on `business` profiles. */ business_address: IdentityProfile.BusinessAddress | null; /** Business entity name. Present on `business` profiles. */ business_name: string | null; /** Reported legal structure of a business profile (e.g. `corp`, `llc`). Provider-specific values; present on `business` profiles. */ business_structure: string | null; /** ISO 3166-1 alpha-2 country code reported by the identity provider, such as `US` or `GB`. For individuals this is the country of citizenship or residence; for businesses, the country of incorporation. */ country: string | null; /** When the identity profile was first created. */ created_at: string; /** ISO date (`YYYY-MM-DD`) reported by the identity provider. Present on `individual` profiles. */ date_of_birth: string | null; /** Email address reported by the identity provider. Typically present on `individual` profiles. */ email: string | null; /** Individual's first name. */ first_name: string | null; /** The tag of the identity profile (idpf_xxx). */ id: string; /** Individual's last name. */ last_name: string | null; /** The companies this identity profile is currently linked to. Only populated for direct Whop user sessions; always empty when authenticated via API key, app, or OAuth scope (a single identity can be linked to companies the calling platform is not entitled to see). */ linked_companies: IdentityProfile.LinkedCompanies.Item[]; /** Progress of payout-account setup for this profile, independent of holds. `connected` means onboarding is complete; a `connected` status paired with `payouts_enabled: false` indicates an active account restriction rather than incomplete setup. */ payout_status: Whop.PayoutAccountCalculatedStatuses; /** Whether this profile can receive payouts right now. True only when payout onboarding is complete and no payout holds are active on the linked account. Treat this as the single source of truth for payout readiness. */ payouts_enabled: boolean; /** Residential address reported by the identity provider. Present on `individual` profiles. */ personal_address: IdentityProfile.PersonalAddress | null; /** Phone number reported by the identity provider. Typically present on `individual` profiles. */ phone: string | null; /** Whether this is an 'individual' or 'business' profile. */ profile_type: string; /** Derived verification status across all linked verifications. Returns `action_required` whenever the profile has an open request for information (whether a verification, payout, or audit RFI) — i.e. the merchant must submit something before it is in good standing. */ status: Whop.IdentityProfileStatuses; /** When the identity profile was last synced from a verification. */ updated_at: string; /** All verification attempts attached to this identity profile, ordered most-recent first. */ verifications: IdentityProfile.Verifications.Item[]; } export declare namespace IdentityProfile { /** * Registered business address reported by the identity provider. Present on `business` profiles. */ interface BusinessAddress { /** The city of the address. */ city: string | null; /** The country of the address. */ country: string | null; /** The line 1 of the address. */ line1: string | null; /** The line 2 of the address. */ line2: string | null; /** The postal code of the address. */ postal_code: string | null; /** The state of the address. */ state: string | null; } type LinkedCompanies = LinkedCompanies.Item[]; namespace LinkedCompanies { /** * A company is a seller on Whop. Companies own products, manage members, and receive payouts. */ interface Item { /** The unique identifier for the company. */ id: string; /** The display name of the company shown to customers. */ title: string; } } /** * Residential address reported by the identity provider. Present on `individual` profiles. */ interface PersonalAddress { /** The city of the address. */ city: string | null; /** The country of the address. */ country: string | null; /** The line 1 of the address. */ line1: string | null; /** The line 2 of the address. */ line2: string | null; /** The postal code of the address. */ postal_code: string | null; /** The state of the address. */ state: string | null; } type Verifications = Verifications.Item[]; namespace Verifications { /** * An identity verification session used to confirm a person or entity's identity for payout account eligibility. */ interface Item { /** When the verification record was created. */ created_at: string; /** The numeric id of the verification record. */ id: string; /** The most recent error code returned during verification. Null if no error has occurred. */ last_error_code: Whop.VerificationErrorCodes | null; /** A human-readable explanation of the most recent verification error. Null if no error has occurred. */ last_error_reason: string | null; /** A URL the user can visit to complete the verification process. Null if the session does not require user interaction. */ session_url: string | null; /** The current status of this verification session. */ status: Whop.VerificationStatuses; } } }