Apps

Update app

Update the settings, metadata, or status of an existing app on the Whop developer platform.

Required permissions:

  • developer:update_app
  • developer:manage_api_key
patch/apps/{id}

Path parameters

idstring required
Example:app_xxxxxxxxxxxxxx

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

Request body

app_store_descriptionstring nullable

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

app_type'b2b_app' | 'b2c_app' | 'company_app' | 'component'

The type of end-user an app is built for

base_urlstring nullable

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

dashboard_pathstring nullable

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

descriptionstring nullable

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

discover_pathstring nullable

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

experience_pathstring nullable

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

namestring nullable

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

oauth_client_type'public' | 'confidential'

How this app authenticates at the OAuth token endpoint.

openapi_pathstring nullable

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

redirect_urisstring[] nullable

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

required_scopesAppValidScopes[] nullable

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

routestring nullable

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

secretsobject nullable

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_pathstring nullable

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

status'live' | 'unlisted' | 'hidden'

The status of an experience interface

Example request

{
  "base_url": "https://example.com/path"
}

Response

A successful response

app_type'b2b_app' | 'b2c_app' | 'company_app' | 'component' required

The type of end-user an app is built for

base_urlstring nullable required

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

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

descriptionstring nullable required

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

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

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

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

hosted_urlstring nullable required

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

idstring required

The unique identifier for the app.

namestring required

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

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

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

redirect_urisstring[] required

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

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

secretsobject nullable 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_pathstring nullable 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.

status'live' | 'unlisted' | 'hidden' required

The status of an experience interface

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

Example response

{
  "api_key": {
    "created_at": "2023-12-01T05:00:00.401Z"
  },
  "base_url": "https://myapp.example.com",
  "company": {
    "id": "biz_xxxxxxxxxxxxxx",
    "title": "Pickaxe"
  },
  "creator": {
    "id": "user_xxxxxxxxxxxxx",
    "name": "John Doe",
    "username": "johndoe42"
  },
  "dashboard_path": "/experiences/[experienceId]",
  "description": "A comprehensive analytics dashboard for tracking revenue, members, and growth metrics.",
  "discover_path": "/experiences/[experienceId]",
  "domain_id": "ab1c2d3e4f5g6h7i8j9k",
  "experience_path": "/experiences/[experienceId]",
  "hosted_url": "https://myapp.whop.app",
  "icon": {
    "url": "https://media.whop.com/abc123/optimized.jpg"
  },
  "id": "app_xxxxxxxxxxxxxx",
  "name": "Courses",
  "openapi_path": "/experiences/[experienceId]",
  "production_web_build": {
    "checksum": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "file_url": "https://cdn.whop.com/builds/abc123.zip",
    "id": "apbu_xxxxxxxxxxxxx"
  },
  "route": "myapp",
  "skills_path": "/experiences/[experienceId]",
  "stats": {
    "dau": 42,
    "mau": 42,
    "time_spent_last24_hours": 42,
    "wau": 42
  }
}

Changes