Skip to main content
PATCH
JavaScript

Authorizations

Authorization
string
header
required

A company API key, company scoped JWT, app API key, or user OAuth token. You must prepend your key/token with the word 'Bearer', which will look like Bearer ***************************

Path Parameters

id
string
required

The unique identifier of the app to update, starting with 'app_'.

Example:

"app_xxxxxxxxxxxxxx"

Body

application/json

Parameters for UpdateApp

app_store_description
string | null

The detailed description shown on the app store's in-depth app view page.

app_type
enum<string> | null

The type of end-user the app is built for, such as consumer or business.

Available options:
b2b_app,
b2c_app,
company_app,
component
base_url
string | null

The base production URL where the app is hosted, such as 'https://myapp.example.com'.

Example:

"https://example.com/path"

dashboard_path
string | null

The URL path for the company dashboard view of the app, such as '/dashboard'.

description
string | null

A short description of the app shown in listings and search results.

discover_path
string | null

The URL path for the discover view of the app, such as '/discover'.

experience_path
string | null

The URL path for the member-facing hub view of the app, such as '/experiences/[experienceId]'.

icon
FileInputWithId · object | null

The icon image for the app, used in listings and navigation.

name
string | null

The display name for the app, shown to users on the app store and product pages.

oauth_client_type
enum<string> | null

How this app authenticates at the OAuth token endpoint.

Available options:
public,
confidential
openapi_path
string | null

The URL path to the OpenAPI spec file of the app, such as '/assets/openapi.json'.

redirect_uris
string[] | null

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.

required_scopes
string[] | null

The permission scopes the app will request from users when they install it.

These are the scopes an app can request on behalf of a user

Allowed value: "read_user"
route
string | null

The unique subdomain route where the app's hosted web builds are served, such as 'myapp' for myapp.whop.app.

secrets
object | null

Secrets to add or overwrite on the app, as an object of string values (e.g. {"MAIL_API_KEY": "..."}). Keys not included are left untouched. Pass null or an empty string as the value to delete a secret. Secrets are encrypted at rest and injected into the app's hosted server runtime as environment bindings.

skills_path
string | null

The URL path to the skills directory of the app, such as '/assets/skills/'.

status
enum<string> | null

Controls the app's visibility. Set to 'live' to publish on Whop discovery (requires name, icon, and description). Set to 'unlisted' to hide from discovery while keeping the app accessible via direct link.

Available options:
live,
unlisted,
hidden

Response

A successful response

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

api_key
object | null
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.

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
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"

company
object
required

The company that owns and publishes this app.

creator
object
required

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

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]"

default_api_key
object | null
required

The app's default API key, used to authenticate requests on behalf of this app. Null if the app has no default key. Requires the 'developer:manage_api_key' permission.

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."

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]"

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"

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]"

hosted_url
string | null
required

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

Example:

"https://myapp.whop.app"

icon
object | null
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.

id
string
required

The unique identifier for the app.

Example:

"app_xxxxxxxxxxxxxx"

marketplace_status
enum<string> | null
required

The approval status of this app's product listing on the Whop app store. Null if the app has no associated product.

Available options:
not_available,
pending_review,
live_marketplace
name
string
required

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

Example:

"Courses"

oauth_client_type
enum<string>
required

How this app authenticates when exchanging OAuth authorization and refresh grants.

Available options:
public,
confidential
openapi_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]"

origin
string | null
required

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

product_id
string | null
required

Represents a unique identifier that is Base64 obfuscated. It is often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "VXNlci0xMA==") or integer (such as 4) input value will be accepted as an ID.

production_web_build
object | null
required

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

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.

requested_permissions
object[]
required

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

route
string | null
required

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.

Example:

"myapp"

secrets
object | null
required

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.

skills_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]"

stats
object | null
required

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

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