Skip to main content

An app is an integration built on Whop. Apps can serve consumers as experiences within products, or serve companies as business tools.

id
string
required

The unique identifier for the app.

Example:

"app_xxxxxxxxxxxxxx"

name
string
required

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

Example:

"Courses"

description
string | null
required

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

Example:

"A comprehensive analytics dashboard for tracking revenue, members, and growth metrics."

status
enum<string>
required

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.

Available options:
live,
unlisted,
hidden
base_url
string | null
required

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

Example:

"https://myapp.example.com"

domain_id
string
required

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

Example:

"ab1c2d3e4f5g6h7i8j9k"

verified
boolean
required

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.

app_type
enum<string>
required

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

Available options:
b2b_app,
b2c_app,
company_app,
component
experience_path
string | null
required

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.

Example:

"/experiences/[experienceId]"

discover_path
string | null
required

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.

Example:

"/experiences/[experienceId]"

dashboard_path
string | null
required

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.

Example:

"/experiences/[experienceId]"

company
object
required

The company that owns and publishes this app.

icon
object
required

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

creator
object
required

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

requested_permissions
object[]
required

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

stats
object
required

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

api_key
object
required

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.

redirect_uris
string[]
required

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

Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text.