# Embed configuration reference

The parameters every SDK accepts when it renders an embed or a placement. Feed source, style, and layout are set in Brand Control Center (BCC); these parameters identify the embed, sign the member in, pass context, and tune the layout per screen.

## Embed parameters

| Parameter | Type | Default | Purpose |
| --- | --- | --- | --- |
| embedId (embed_id on web) | string | required | The embed to load |
| uniqueId | string | — | Needed when the same embed appears more than once on a screen |
| ssoToken (token on web) | string | — | Signs the member in with Auto Login (see [Auto login and token exchange](https://begenuin.com/developers/get-started/any-business/auto-login-and-token-exchange)) |
| params | map | — | Member details for sign-up: name, email, mobile, nickname, profile_image (profileImage on web) |
| interactionDeepLink | URL | — | Every tap in the full-screen view opens this URL |
| isDirectDeepLinkEnabled | boolean | false | Taps open the tapped video in your white-labelled app; overrides interactionDeepLink (see [Handle Genuin deep links in your app](https://begenuin.com/developers/developer-resources/sdk/handle-genuin-deep-links-in-your-app)) |
| isShowProfileEnabled | boolean | false | Shows the member's profile picture with account settings and sign-out when signed in |

**Contextual parameters** (`contextualParams`)

| Key | Value | Used by |
| --- | --- | --- |
| page_context | Comma-separated keywords for what the page is about | Embeds and placements |
| geo | lat and long (both required), and for placements radius_limit | Embeds and placements |
| place | country, state, city, zipcode | Placements |
| time | Time context | Placements |
| user_segments | age, min_age, max_age, segment, gender, race | Placements |
| url, previous_page_context | The page and the page before it | Placements |
| brands_ids, user_interests, posted_by_user_ids, user_context | Narrow the feed to brands, interests, or posters | Placements |

How these signals become a ranked feed is in [How contextual feeds choose videos](https://begenuin.com/developers/developer-resources/guides/how-do-i-configure-and-display-contextual-feeds-as-onsite-embeds); the platform syntax is in [Deliver contextual feeds with page, user, and location context](https://begenuin.com/developers/developer-resources/sdk/contextual-embeds-how-they-work-and-how-to-configure-them).

**Carousel layout** (mobile)

| Setting | Default |
| --- | --- |
| Inter-tile spacing | 8 |
| Insets | top 8, left 16, bottom 0, right 16 |
| Tile corner radius | 8 |
| Aspect ratio | 9:16 on Android, set per embed on iOS (for example 4:5) |
| Scroll direction (Android) | Horizontal |

Size, tile layout, profile menu, onboarding prompts, and deep-link behaviour for carousels, standard walls, and full-screen feeds on every SDK are in [Customize the Genuin video player](https://begenuin.com/developers/developer-resources/sdk/how-does-a-brand-customize-the-genuin-video-player-controls).

## API & SDK

Access: the calls in the table are the proposed Business Account API (see [Business Account API: provisioning, OAuth, and the resource map](https://begenuin.com/developers/get-started/any-business/business-account-api-provisioning-oauth-and-the-resource-map)), authenticated with a key scoped to the account and a role or an OAuth client acting for it; every confirmation in this article becomes a proposal you can approve by API (`POST /proposals/{proposalId}:approve`). Live today, the server API under `/api/thirdparty` authenticates with a `gn-access-token` (see [Generate an access token](https://begenuin.com/developers/developer-resources/api/generate-access-token-using-authentication-api)), and [Live API today and the Business Account API roadmap](https://begenuin.com/developers/developer-resources/guides/live-api-today-and-the-business-account-api-roadmap) maps what is live to what is proposed.

| Call | Purpose |
| --- | --- |
| GET /placements/{placementId}/embed | Embed snippet for the placement (Web SDK attributes pre-filled) |
| PUT /placements/{placementId}/settings | Player controls, feed settings, sticky mini-player, keywords, mode |
| PUT /placements/{placementId}/experiences | Allowed player experiences per placement (Shorts, Shoppable, Community, Live) |

```js
// proposed server SDK (Business Account API)
import { Genuin } from '@genuin/sdk';
const genuin = new Genuin({ apiKey: process.env.GENUIN_KEY });
await genuin.placements.embed(placementId);
await genuin.placements.settings.update(placementId, { sticky: true });
await genuin.placements.experiences.update(placementId, ['shorts', 'shoppable']);
```

Live today: [Embed the Genuin Web SDK on your website](https://begenuin.com/developers/developer-resources/sdk/how-do-you-embed-and-configure-the-genuin-web-sdk-on-your-website) · [Add a Genuin placement to your website](https://begenuin.com/developers/developer-resources/sdk/how-do-you-configure-the-genuin-web-sdk-placement-on-your-website) · [Customize the Genuin video player](https://begenuin.com/developers/developer-resources/sdk/how-does-a-brand-customize-the-genuin-video-player-controls).

SDKs: Web SDK (see [Embed the Genuin Web SDK on your website](https://begenuin.com/developers/developer-resources/sdk/how-do-you-embed-and-configure-the-genuin-web-sdk-on-your-website)), iOS SDK (see [Integrate the Genuin iOS SDK](https://begenuin.com/developers/developer-resources/sdk/developer/genuin-sdk/native-compatibility/ios/how-to-integrate-and-power-your-brand-community-in-ios-apps)), Android SDK (see [Integrate the Genuin Android SDK](https://begenuin.com/developers/developer-resources/sdk/how-to-integrate-and-power-your-brand-community-in-android-apps)), React Native (see [Integrate the Genuin SDK with React Native apps](https://begenuin.com/developers/developer-resources/sdk/how-do-you-integrate-the-genuin-react-native-sdk-into-your-application)), and Flutter (see [Integrate the Genuin SDK with Flutter apps](https://begenuin.com/developers/developer-resources/sdk/how-do-you-integrate-the-genuin-flutter-sdk-into-your-application)) render Genuin and sign members in; the Node (`@genuin/sdk`) and Python (`genuin`) server SDKs are proposed with [Business Account API: provisioning, OAuth, and the resource map](https://begenuin.com/developers/get-started/any-business/business-account-api-provisioning-oauth-and-the-resource-map).
