diff --git a/.fern/metadata.json b/.fern/metadata.json
index 14e9a8a0..b45297c7 100644
--- a/.fern/metadata.json
+++ b/.fern/metadata.json
@@ -15,7 +15,7 @@
"standardwebhooks": ">=1.0.1,<2"
}
},
- "originGitCommit": "2deffc785420e34391d4024ab646944d6a330406",
+ "originGitCommit": "71b6752138f9f4abe9e8f58724f614eb717ea242",
"originGitCommitIsDirty": false,
"invokedBy": "ci",
"requestedVersion": "2.2.0",
diff --git a/.fern/replay.lock b/.fern/replay.lock
index bf39d12a..6ea83476 100644
--- a/.fern/replay.lock
+++ b/.fern/replay.lock
@@ -1752,5 +1752,11 @@ generations:
cli_version: unknown
generator_versions:
fernapi/fern-python-sdk: 5.28.0
-current_generation: d6a9248baadbebffcd08753fd8e4f4aa2fe1ec37
+ - commit_sha: 3ad3a4a750c24660afd6338e165498f1bce2766a
+ tree_hash: ece5ea56eeecd076cd76a9b2c100ddc8de5cb5e1
+ timestamp: 2026-10-04T21:15:53.976Z
+ cli_version: unknown
+ generator_versions:
+ fernapi/fern-python-sdk: 5.28.0
+current_generation: 3ad3a4a750c24660afd6338e165498f1bce2766a
patches: []
diff --git a/reference.md b/reference.md
index 1f83168c..f8f85f88 100644
--- a/reference.md
+++ b/reference.md
@@ -8206,6 +8206,14 @@ client.apps.create(
-
+**imported_from_url:** `typing.Optional[str]` — The address of the existing website this app is imported from, such as `https://shop.example.com`. Must be an `http` or `https` URL.
+
+
+
+
+
+-
+
**redirect_uris:** `typing.Optional[typing.List[str]]` — The whitelisted OAuth callback URLs that users are redirected to after authorizing the app.
@@ -8505,6 +8513,14 @@ client.apps.update(
-
+**imported_from_url:** `typing.Optional[str]` — The address of the existing website this app is imported from, such as `https://shop.example.com`. Must be an `http` or `https` URL. Set to `null` to clear it.
+
+
+
+
+
+-
+
**name:** `typing.Optional[str]` — The display name for the app, shown to users on the app store and product pages.
diff --git a/src/whop_sdk/apps/client.py b/src/whop_sdk/apps/client.py
index 351d2b9a..834207b1 100644
--- a/src/whop_sdk/apps/client.py
+++ b/src/whop_sdk/apps/client.py
@@ -159,6 +159,7 @@ def create(
app_type: typing.Optional[CreateAppsRequestAppType] = OMIT,
base_url: typing.Optional[str] = OMIT,
icon: typing.Optional[CreateAppsRequestIcon] = OMIT,
+ imported_from_url: typing.Optional[str] = OMIT,
redirect_uris: typing.Optional[typing.Sequence[str]] = OMIT,
route: typing.Optional[str] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
@@ -183,6 +184,9 @@ def create(
icon : typing.Optional[CreateAppsRequestIcon]
The icon image for the app in PNG, JPEG, or GIF format, referencing an uploaded file: `{ id }` for an existing attachment or `{ direct_upload_id }` for a new direct upload.
+ imported_from_url : typing.Optional[str]
+ The address of the existing website this app is imported from, such as `https://shop.example.com`. Must be an `http` or `https` URL.
+
redirect_uris : typing.Optional[typing.Sequence[str]]
The whitelisted OAuth callback URLs that users are redirected to after authorizing the app.
@@ -216,6 +220,7 @@ def create(
app_type=app_type,
base_url=base_url,
icon=icon,
+ imported_from_url=imported_from_url,
redirect_uris=redirect_uris,
route=route,
request_options=request_options,
@@ -300,6 +305,7 @@ def update(
discover_path: typing.Optional[str] = OMIT,
experience_path: typing.Optional[str] = OMIT,
icon: typing.Optional[UpdateAppsRequestIcon] = OMIT,
+ imported_from_url: typing.Optional[str] = OMIT,
name: typing.Optional[str] = OMIT,
oauth_client_type: typing.Optional[UpdateAppsRequestOauthClientType] = OMIT,
openapi_path: typing.Optional[str] = OMIT,
@@ -346,6 +352,9 @@ def update(
icon : typing.Optional[UpdateAppsRequestIcon]
The icon image for the app in PNG, JPEG, or GIF format, referencing an uploaded file: `{ id }` for an existing attachment or `{ direct_upload_id }` for a new direct upload.
+ imported_from_url : typing.Optional[str]
+ The address of the existing website this app is imported from, such as `https://shop.example.com`. Must be an `http` or `https` URL. Set to `null` to clear it.
+
name : typing.Optional[str]
The display name for the app, shown to users on the app store and product pages.
@@ -413,6 +422,7 @@ def update(
discover_path=discover_path,
experience_path=experience_path,
icon=icon,
+ imported_from_url=imported_from_url,
name=name,
oauth_client_type=oauth_client_type,
openapi_path=openapi_path,
@@ -740,6 +750,7 @@ async def create(
app_type: typing.Optional[CreateAppsRequestAppType] = OMIT,
base_url: typing.Optional[str] = OMIT,
icon: typing.Optional[CreateAppsRequestIcon] = OMIT,
+ imported_from_url: typing.Optional[str] = OMIT,
redirect_uris: typing.Optional[typing.Sequence[str]] = OMIT,
route: typing.Optional[str] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
@@ -764,6 +775,9 @@ async def create(
icon : typing.Optional[CreateAppsRequestIcon]
The icon image for the app in PNG, JPEG, or GIF format, referencing an uploaded file: `{ id }` for an existing attachment or `{ direct_upload_id }` for a new direct upload.
+ imported_from_url : typing.Optional[str]
+ The address of the existing website this app is imported from, such as `https://shop.example.com`. Must be an `http` or `https` URL.
+
redirect_uris : typing.Optional[typing.Sequence[str]]
The whitelisted OAuth callback URLs that users are redirected to after authorizing the app.
@@ -805,6 +819,7 @@ async def main() -> None:
app_type=app_type,
base_url=base_url,
icon=icon,
+ imported_from_url=imported_from_url,
redirect_uris=redirect_uris,
route=route,
request_options=request_options,
@@ -905,6 +920,7 @@ async def update(
discover_path: typing.Optional[str] = OMIT,
experience_path: typing.Optional[str] = OMIT,
icon: typing.Optional[UpdateAppsRequestIcon] = OMIT,
+ imported_from_url: typing.Optional[str] = OMIT,
name: typing.Optional[str] = OMIT,
oauth_client_type: typing.Optional[UpdateAppsRequestOauthClientType] = OMIT,
openapi_path: typing.Optional[str] = OMIT,
@@ -951,6 +967,9 @@ async def update(
icon : typing.Optional[UpdateAppsRequestIcon]
The icon image for the app in PNG, JPEG, or GIF format, referencing an uploaded file: `{ id }` for an existing attachment or `{ direct_upload_id }` for a new direct upload.
+ imported_from_url : typing.Optional[str]
+ The address of the existing website this app is imported from, such as `https://shop.example.com`. Must be an `http` or `https` URL. Set to `null` to clear it.
+
name : typing.Optional[str]
The display name for the app, shown to users on the app store and product pages.
@@ -1026,6 +1045,7 @@ async def main() -> None:
discover_path=discover_path,
experience_path=experience_path,
icon=icon,
+ imported_from_url=imported_from_url,
name=name,
oauth_client_type=oauth_client_type,
openapi_path=openapi_path,
diff --git a/src/whop_sdk/apps/raw_client.py b/src/whop_sdk/apps/raw_client.py
index 3329813d..15dd302b 100644
--- a/src/whop_sdk/apps/raw_client.py
+++ b/src/whop_sdk/apps/raw_client.py
@@ -213,6 +213,7 @@ def create(
app_type: typing.Optional[CreateAppsRequestAppType] = OMIT,
base_url: typing.Optional[str] = OMIT,
icon: typing.Optional[CreateAppsRequestIcon] = OMIT,
+ imported_from_url: typing.Optional[str] = OMIT,
redirect_uris: typing.Optional[typing.Sequence[str]] = OMIT,
route: typing.Optional[str] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
@@ -237,6 +238,9 @@ def create(
icon : typing.Optional[CreateAppsRequestIcon]
The icon image for the app in PNG, JPEG, or GIF format, referencing an uploaded file: `{ id }` for an existing attachment or `{ direct_upload_id }` for a new direct upload.
+ imported_from_url : typing.Optional[str]
+ The address of the existing website this app is imported from, such as `https://shop.example.com`. Must be an `http` or `https` URL.
+
redirect_uris : typing.Optional[typing.Sequence[str]]
The whitelisted OAuth callback URLs that users are redirected to after authorizing the app.
@@ -262,6 +266,7 @@ def create(
"icon": convert_and_respect_annotation_metadata(
object_=icon, annotation=CreateAppsRequestIcon, direction="write"
),
+ "imported_from_url": imported_from_url,
"name": name,
"redirect_uris": redirect_uris,
"route": route,
@@ -488,6 +493,7 @@ def update(
discover_path: typing.Optional[str] = OMIT,
experience_path: typing.Optional[str] = OMIT,
icon: typing.Optional[UpdateAppsRequestIcon] = OMIT,
+ imported_from_url: typing.Optional[str] = OMIT,
name: typing.Optional[str] = OMIT,
oauth_client_type: typing.Optional[UpdateAppsRequestOauthClientType] = OMIT,
openapi_path: typing.Optional[str] = OMIT,
@@ -534,6 +540,9 @@ def update(
icon : typing.Optional[UpdateAppsRequestIcon]
The icon image for the app in PNG, JPEG, or GIF format, referencing an uploaded file: `{ id }` for an existing attachment or `{ direct_upload_id }` for a new direct upload.
+ imported_from_url : typing.Optional[str]
+ The address of the existing website this app is imported from, such as `https://shop.example.com`. Must be an `http` or `https` URL. Set to `null` to clear it.
+
name : typing.Optional[str]
The display name for the app, shown to users on the app store and product pages.
@@ -593,6 +602,7 @@ def update(
"icon": convert_and_respect_annotation_metadata(
object_=icon, annotation=UpdateAppsRequestIcon, direction="write"
),
+ "imported_from_url": imported_from_url,
"name": name,
"oauth_client_type": oauth_client_type,
"openapi_path": openapi_path,
@@ -1167,6 +1177,7 @@ async def create(
app_type: typing.Optional[CreateAppsRequestAppType] = OMIT,
base_url: typing.Optional[str] = OMIT,
icon: typing.Optional[CreateAppsRequestIcon] = OMIT,
+ imported_from_url: typing.Optional[str] = OMIT,
redirect_uris: typing.Optional[typing.Sequence[str]] = OMIT,
route: typing.Optional[str] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
@@ -1191,6 +1202,9 @@ async def create(
icon : typing.Optional[CreateAppsRequestIcon]
The icon image for the app in PNG, JPEG, or GIF format, referencing an uploaded file: `{ id }` for an existing attachment or `{ direct_upload_id }` for a new direct upload.
+ imported_from_url : typing.Optional[str]
+ The address of the existing website this app is imported from, such as `https://shop.example.com`. Must be an `http` or `https` URL.
+
redirect_uris : typing.Optional[typing.Sequence[str]]
The whitelisted OAuth callback URLs that users are redirected to after authorizing the app.
@@ -1216,6 +1230,7 @@ async def create(
"icon": convert_and_respect_annotation_metadata(
object_=icon, annotation=CreateAppsRequestIcon, direction="write"
),
+ "imported_from_url": imported_from_url,
"name": name,
"redirect_uris": redirect_uris,
"route": route,
@@ -1444,6 +1459,7 @@ async def update(
discover_path: typing.Optional[str] = OMIT,
experience_path: typing.Optional[str] = OMIT,
icon: typing.Optional[UpdateAppsRequestIcon] = OMIT,
+ imported_from_url: typing.Optional[str] = OMIT,
name: typing.Optional[str] = OMIT,
oauth_client_type: typing.Optional[UpdateAppsRequestOauthClientType] = OMIT,
openapi_path: typing.Optional[str] = OMIT,
@@ -1490,6 +1506,9 @@ async def update(
icon : typing.Optional[UpdateAppsRequestIcon]
The icon image for the app in PNG, JPEG, or GIF format, referencing an uploaded file: `{ id }` for an existing attachment or `{ direct_upload_id }` for a new direct upload.
+ imported_from_url : typing.Optional[str]
+ The address of the existing website this app is imported from, such as `https://shop.example.com`. Must be an `http` or `https` URL. Set to `null` to clear it.
+
name : typing.Optional[str]
The display name for the app, shown to users on the app store and product pages.
@@ -1549,6 +1568,7 @@ async def update(
"icon": convert_and_respect_annotation_metadata(
object_=icon, annotation=UpdateAppsRequestIcon, direction="write"
),
+ "imported_from_url": imported_from_url,
"name": name,
"oauth_client_type": oauth_client_type,
"openapi_path": openapi_path,
diff --git a/src/whop_sdk/types/app.py b/src/whop_sdk/types/app.py
index 2c51b66e..f0c33156 100644
--- a/src/whop_sdk/types/app.py
+++ b/src/whop_sdk/types/app.py
@@ -116,6 +116,11 @@ class App(UniversalBaseModel):
App ID, prefixed `app_`.
"""
+ imported_from_url: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The address of the existing website this app was imported from, such as `https://shop.example.com`. `null` if the app was not imported from another site, or if the caller lacks the `developer:basic:read` permission on the app's account.
+ """
+
marketplace_status: typing.Optional[AppMarketplaceStatus] = pydantic.Field(default=None)
"""
Approval status of the app's product listing on the Whop app store, or `null` when the app has no associated product.