# Business profile management

Let connected accounts create and update their Stripe profiles on your website.

The business profile management component lets connected accounts create and update their [Stripe profiles](https://docs.stripe.com/get-started/account/profile.md). If a connected account doesn’t have a profile, the component displays a creation form with available business information prefilled as editable suggestions. If a profile already exists, the component displays its details that the connected account can edit.

The component supports only connected accounts that your platform controls. If your platform doesn’t have [platform controls](https://docs.stripe.com/connect/platform-controls-for-stripe-dashboard-accounts.md) for the connected account, Stripe rejects requests to create an Account Session with this component enabled, even if your platform has preview access.

Before you run the examples, install a beta version of the Stripe server SDK and preview versions of `@stripe/connect-js` and, for React integrations, `@stripe/react-connect-js`. See [preview components](https://docs.stripe.com/connect/supported-embedded-components.md#preview-components) for installation instructions.

## Create an account session

[Create an Account Session](https://docs.stripe.com/api/account_sessions/create.md) specifying `business_profile_management` in the `components` parameter. Include the required preview SDK header.

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

## Render the component

After creating the Account Session and [initializing Connect.js](https://docs.stripe.com/connect/get-started-connect-embedded-components.md#account-sessions), render the business profile management component in your front end. You can optionally include a callback to receive notification when a connected account creates or updates business profile details.

#### React

```jsx
// Include this React component
import {
  ConnectBusinessProfileManagement,
  ConnectComponentsProvider,
} from "@stripe/react-connect-js";

return (
  <ConnectComponentsProvider connectInstance={stripeConnectInstance}>
    <div>
      <h2>Business Profile</h2>
      <ConnectBusinessProfileManagement
        // Optional
        // onBusinessProfileSaved={({id, action}) => console.log(`Profile ${id} was ${action}.`)}
       />
    </div>
  </ConnectComponentsProvider>
);
```

#### HTML + JS

| Method | Type | Description |
| --- | --- | --- |
| `setOnBusinessProfileSaved` | `({id: string, action: 'created' | 'updated'}) => void` | Callback executed after the component saves the profile. `id` is the saved profile’s network ID, and `action` indicates whether the component created or updated the profile. |

#### React

| React prop | Type | Description |
| --- | --- | --- |
| `onBusinessProfileSaved` | `({id: string, action: 'created' | 'updated'}) => void` | Callback executed after the component saves the profile. `id` is the saved profile’s network ID, and `action` indicates whether the component created or updated the profile. |

## Request access 

The component is available only to platforms approved for the private preview. Request access before enabling it in an Account Session.

### Request access to business profile management

Enter your email address to request access to the business profile management Connect embedded component.

```bash
curl https://docs.stripe.com/preview/register \
  -X POST \
  -H "Content-Type: application/json" \
  -H "Referer: https://docs.stripe.com/connect/supported-embedded-components/business-profile-management" \
  -d '{"email": "EMAIL", "preview": "connect_embedded_business_profile_management_preview"}'
```
