v9
OpenAPI 3.1.02026-08-043703845.2 MBUpdate App
Updates the settings, metadata, or status of an app. Fields that are omitted keep their current value.
Request body
The detailed description shown on the app store's in-depth app view page.
The type of end-user the app is built for.
The base production URL where the app is hosted.
The URL path for the account dashboard view.
A short description of the app shown in listings and search results.
The URL path for the discover view.
The URL path for the member-facing hub view, such as /experiences/[experienceId].
The display name for the app, shown to users on the app store and product pages.
How the app authenticates at the OAuth token endpoint.
The URL path to the app's OpenAPI spec file (requires the ai_chat capability).
The app build (abld_ tag) to serve as the Android production build, or null to unassign it. Same rules as production_web_build_id.
The app build (abld_ tag) to serve as the iOS production build, or null to unassign it. Same rules as production_web_build_id.
The app build (abld_ tag) to serve as the web production build, or null to unassign it. The build must belong to this app, target web, and be in the draft or approved status; a draft build is queued for approval and takes over once approved. Requires the developer:manage_builds scope.
The whitelisted OAuth callback URLs users are redirected to after authorizing the app.
The OAuth scopes the app requests from users when they install it.
The subdomain route where the app's hosted web builds are served.
Secrets to add or overwrite on the app, as an object of string values. Keys not included are left untouched; pass null or an empty string as the value to delete a secret. Encrypted at rest and injected into the app's hosted server runtime.
The URL path to the app's skills directory (requires the ai_chat capability).
Controls whether the app is published on Whop discovery or accessible only through its direct link. Publishing requires a name, icon, and description.
Response
app updated
Detailed description shown on the app store's in-depth app page, or null when none has been set.
The type of end-user the app is built for.
Production base URL where the app is hosted, or null if none is configured.
URL path for the account dashboard view, or null when not configured.
Short description shown in listings and search results, or null if none has been set.
URL path for the discover view, or null when not configured.
Subdomain identifier for the app's proxied URL, forming https://{domain_id}.apps.whop.com.
URL path for the member-facing hub view, or null when not configured.
Full URL where the app's hosted web build is served, or null if no route is claimed.
App ID, prefixed app_.
Approval status of the app's product listing on the Whop app store, or null when the app has no associated product.
Display name shown on the app store and in experience navigation.
How the app authenticates at the OAuth token endpoint.
URL path to the app's OpenAPI spec file, or null when not configured.
Full origin URL of the app's proxied domain, for example https://ab1c2d3e4f.apps.whop.com.
ID of the app's product listing on the Whop app store, or null when the app has no associated product.
Claimed subdomain route where hosted web builds are served (myapp for myapp.whop.app), or null if no route is claimed.
The app's production secrets as an object of string values, injected into the hosted server runtime. null when the caller lacks the developer:update_app permission.
URL path to the app's skills directory, or null when not configured.
Visibility on the Whop app store: live is publicly discoverable, unlisted is accessible only via direct link, hidden is not visible anywhere.
Whether the app has been verified by Whop and is eligible for the featured apps section.
Example response
{
"app_type": "b2b_app",
"marketplace_status": "not_available",
"oauth_client_type": "public",
"production_android_build": {
"status": "draft"
},
"production_ios_build": {
"status": "draft"
},
"production_web_build": {
"status": "draft"
},
"required_scopes": [
"read_user"
],
"status": "live"
}