Class: WhopSDK::Models::App

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

Defined Under Namespace

Classes: APIKey, Company, Creator, Icon, ProductionWebBuild, 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 186

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.

Parameters:

  • value (WhopSDK::App::APIKey, nil)

Returns:



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').

Parameters:

  • value (WhopSDK::Models::app_type)

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.

Parameters:

  • value (String, nil)

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.

Parameters:

  • value (WhopSDK::App::Company)

Returns:



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.

Parameters:

  • value (WhopSDK::App::Creator)

Returns:



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/[experienceId]'). Null if the specified view type is not configured.

Parameters:

  • value (String, nil)

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.

Parameters:

  • value (String, nil)

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/[experienceId]'). Null if the specified view type is not configured.

Parameters:

  • value (String, nil)

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 #domain_id.apps.whop.com">https://#domain_id.apps.whop.com.

Parameters:

  • value (String)

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/[experienceId]'). Null if the specified view type is not configured.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :experience_path, String, nil?: true

#hosted_urlString?

The full canonical URL where this app's hosted web build is served. Null if the app has not claimed a route.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :hosted_url, 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.

Parameters:

  • value (WhopSDK::App::Icon, nil)

Returns:



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

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

#idString

The unique identifier for the app.

Parameters:

  • value (String)

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.

Parameters:

  • value (String)

Returns:

  • (String)


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

required :name, String

#openapi_pathString?

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

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :openapi_path, String, nil?: true

#originString?

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

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :origin, String, nil?: true

#production_web_buildWhopSDK::Models::App::ProductionWebBuild?

The approved app build currently served to users on web. Null if no production build is deployed for web.

Parameters:

  • value (WhopSDK::App::ProductionWebBuild, nil)

Returns:



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

required :production_web_build, -> { WhopSDK::App::ProductionWebBuild }, nil?: true

#redirect_urisArray<String>

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

Parameters:

  • value (::Array[String])

Returns:

  • (Array<String>)


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

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.

Parameters:

  • value (::Array[WhopSDK::App::RequestedPermission])

Returns:



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

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

#routeString?

The unique subdomain route where this app's hosted web builds are served, such as 'myapp' for myapp.whop.app. Null if the app has not claimed a route.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :route, String, nil?: true

#secretsHash{Symbol=>Object}?

The app's secrets as an object of string values. Encrypted at rest and injected into the app's hosted server runtime as environment bindings. Requires the 'developer:update_app' permission.

Parameters:

  • value (::Hash[Symbol, top], nil)

Returns:

  • (Hash{Symbol=>Object}, nil)


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

required :secrets, WhopSDK::Internal::Type::HashOf[WhopSDK::Internal::Type::Unknown], nil?: true

#skills_pathString?

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

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :skills_path, String, nil?: true

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

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

Parameters:

  • value (WhopSDK::App::Stats, nil)

Returns:



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

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.

Parameters:

  • value (WhopSDK::Models::app_statuses)

Returns:



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

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.

Parameters:

  • value (Boolean)

Returns:

  • (Boolean)


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

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

Instance Method Details

#to_hash{

Returns:

  • ({)


111
# File 'sig/whop_sdk/models/app.rbs', line 111

def to_hash: -> {