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.