# App viewport

Show a view from an installed App.

App viewport renders a view from an installed app. App viewport is a private preview component that requires using preview versions of Stripe SDKs. Read more about [private preview components](https://docs.stripe.com/connect/supported-embedded-components.md#preview-components).

For full integration details, see the [Embedded Stripe Apps integration guide](https://docs.stripe.com/stripe-apps/embedded-apps.md).

### Create an Account Session 

When [creating an Account Session](https://docs.stripe.com/api/account_sessions/create.md), enable the App install component by specifying `app_viewport` in the `components` parameter. You must enable the app you want to render by specifying the `features` parameter under `allowed_apps`.

```curl
curl https://api.stripe.com/v1/account_sessions \
  -u "<<YOUR_SECRET_KEY>>:" \
  -H "Stripe-Version: 2026-03-25.preview; embedded_connect_beta=v2;" \
  -d "account={{CONNECTEDACCOUNT_ID}}" \
  -d "components[app_viewport][enabled]=true" \
  -d "components[app_viewport][features][allowed_apps][]=APP_ID"
```

After creating the account session and [initializing ConnectJS](https://docs.stripe.com/connect/get-started-connect-embedded-components.md#account-sessions), you can render the App viewport component in the front end. The view doesn’t render if the app isn’t installed:

#### JavaScript

```js
const appViewport = stripeConnectInstance.create('app-viewport');
appViewport.setApp('{{APP_ID}}');
appViewport.setAppData({userId: '{{PLATFORM_USER_ID}}'});
container.appendChild(appViewport);
```

This embedded component supports the following parameters:

#### HTML + JS

| Method       | Type                     | Description                                                                                                                                                                                     |
| ------------ | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `setApp`     | `string`                 | Sets the ID of the App your connected account can render. See available apps in the  [Embedded Stripe Apps integration guide](https://docs.stripe.com/stripe-apps/embedded-apps.md#app-select). |
| `setAppData` | `Record<String, String>` | Sets data pertaining to your platform consumed by the App.                                                                                                                                      |

#### React

| React prop | Type                     | Description                                                                                                                                 |
| ---------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `app`      | `string`                 | The ID of the App your connected account can render. See [available apps](https://docs.stripe.com/stripe-apps/embedded-apps.md#app-select). |
| `appData`  | `Record<String, String>` | Data pertaining to your platform consumed by the App.                                                                                       |

You can integrate our sample app (set `APP_ID` to `stripe.app-explorer`), which we’ve pre-approved for embedding on your platform.

Read more about [App install ](https://docs.stripe.com/connect/supported-embedded-components/app-install.md).

## Request early access  (Private preview)

Sign in to request access to this Connect embedded component in preview.

If you don’t have a Stripe account, you can [register now](https://dashboard.stripe.com/register).
