Class: WhopSDK::Models::App

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/whop_sdk/models/app.rb

Defined Under Namespace

Classes: APIKey, Company, Creator, Icon, RequestedPermission, Stats

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(action:, name:) ⇒ Object

The action that the app will request off of users when a user installs the app.

Parameters:

  • action (String)

    The identifier of the action.

  • name (String)

    The human readable name of the action.



# File 'lib/whop_sdk/models/app.rb', line 157

Instance Attribute Details

#api_keyWhopSDK::Models::App::APIKey?

The API key used to authenticate requests on behalf of this app. Null if no API key has been generated. Requires the ‘developer:manage_api_key’ permission.



17
# File 'lib/whop_sdk/models/app.rb', line 17

required :api_key, -> { WhopSDK::App::APIKey }, nil?: true

#app_typeSymbol, WhopSDK::Models::AppType

The target audience classification for this app (e.g., ‘b2b_app’, ‘b2c_app’, ‘company_app’, ‘component’).

Returns:



24
# File 'lib/whop_sdk/models/app.rb', line 24

required :app_type, enum: -> { WhopSDK::AppType }

#base_urlString?

The production base URL where the app is hosted. Null if no base URL is configured.

Returns:

  • (String, nil)


31
# File 'lib/whop_sdk/models/app.rb', line 31

required :base_url, String, nil?: true

#companyWhopSDK::Models::App::Company

The company that owns and publishes this app.



37
# File 'lib/whop_sdk/models/app.rb', line 37

required :company, -> { WhopSDK::App::Company }

#creatorWhopSDK::Models::App::Creator

The user who created and owns the company that published this app.



43
# File 'lib/whop_sdk/models/app.rb', line 43

required :creator, -> { WhopSDK::App::Creator }

#dashboard_pathString?

The URL path template for a specific view of this app, appended to the base domain (e.g., ‘/experiences/’). Null if the specified view type is not configured.

Returns:

  • (String, nil)


51
# File 'lib/whop_sdk/models/app.rb', line 51

required :dashboard_path, String, nil?: true

#descriptionString?

A written description of what this app does, displayed on the app store listing page. Null if no description has been set.

Returns:

  • (String, nil)


58
# File 'lib/whop_sdk/models/app.rb', line 58

required :description, String, nil?: true

#discover_pathString?

The URL path template for a specific view of this app, appended to the base domain (e.g., ‘/experiences/’). Null if the specified view type is not configured.

Returns:

  • (String, nil)


66
# File 'lib/whop_sdk/models/app.rb', line 66

required :discover_path, String, nil?: true

#domain_idString

The unique subdomain identifier for this app’s proxied URL on the Whop platform. Forms the URL pattern https://#domain_id.apps.whop.com.

Returns:

  • (String)


73
# File 'lib/whop_sdk/models/app.rb', line 73

required :domain_id, String

#experience_pathString?

The URL path template for a specific view of this app, appended to the base domain (e.g., ‘/experiences/’). Null if the specified view type is not configured.

Returns:

  • (String, nil)


81
# File 'lib/whop_sdk/models/app.rb', line 81

required :experience_path, String, nil?: true

#iconWhopSDK::Models::App::Icon?

The icon image for this app, displayed on the app store, product pages, checkout, and as the default icon for experiences using this app.

Returns:



88
# File 'lib/whop_sdk/models/app.rb', line 88

required :icon, -> { WhopSDK::App::Icon }, nil?: true

#idString

The unique identifier for the app.

Returns:

  • (String)


10
# File 'lib/whop_sdk/models/app.rb', line 10

required :id, String

#nameString

The display name of this app shown on the app store and in experience navigation. Maximum 30 characters.

Returns:

  • (String)


95
# File 'lib/whop_sdk/models/app.rb', line 95

required :name, String

#openapi_pathString?

The URL path template for a specific view of this app, appended to the base domain (e.g., ‘/experiences/’). Null if the specified view type is not configured.

Returns:

  • (String, nil)


103
# File 'lib/whop_sdk/models/app.rb', line 103

required :openapi_path, String, nil?: true

#originString?

The full origin URL for this app’s proxied domain (e.g., ‘myapp.apps.whop.com’). Null if no proxy domain is configured.

Returns:

  • (String, nil)


110
# File 'lib/whop_sdk/models/app.rb', line 110

required :origin, String, nil?: true

#redirect_urisArray<String>

The whitelisted OAuth callback URLs that users are redirected to after authorizing the app.

Returns:

  • (Array<String>)


117
# File 'lib/whop_sdk/models/app.rb', line 117

required :redirect_uris, WhopSDK::Internal::Type::ArrayOf[String]

#requested_permissionsArray<WhopSDK::Models::App::RequestedPermission>

The list of permissions this app requests when installed, including both required and optional permissions with justifications.



124
125
# File 'lib/whop_sdk/models/app.rb', line 124

required :requested_permissions,
-> { WhopSDK::Internal::Type::ArrayOf[WhopSDK::App::RequestedPermission] }

#skills_pathString?

The URL path template for a specific view of this app, appended to the base domain (e.g., ‘/experiences/’). Null if the specified view type is not configured.

Returns:

  • (String, nil)


133
# File 'lib/whop_sdk/models/app.rb', line 133

required :skills_path, String, nil?: true

#statsWhopSDK::Models::App::Stats?

Aggregate usage statistics for this app, including daily, weekly, and monthly active user counts.

Returns:



140
# File 'lib/whop_sdk/models/app.rb', line 140

required :stats, -> { WhopSDK::App::Stats }, nil?: true

#statusSymbol, WhopSDK::Models::AppStatuses

The current visibility status of this app on the Whop app store. ‘live’ means publicly discoverable, ‘unlisted’ means accessible only via direct link, and ‘hidden’ means not visible anywhere.

Returns:



148
# File 'lib/whop_sdk/models/app.rb', line 148

required :status, enum: -> { WhopSDK::AppStatuses }

#verifiedBoolean

Whether this app has been verified by Whop. Verified apps are endorsed by Whop and displayed in the featured apps section of the app store.

Returns:

  • (Boolean)


155
# File 'lib/whop_sdk/models/app.rb', line 155

required :verified, WhopSDK::Internal::Type::Boolean