Developers & engineering: questions and answers
The engineer who installs the SDK, wires identity, and keeps the integration healthy. 15 questions, grouped by stage.
Set up
What is the minimum integration?
One async script in the head and one div per placement. No build step, no SDK initialization code, no backend. React, Next.js, and mobile packages exist with the same attributes.
Read: Post to your hub, then curate and schedule to other platforms · Web SDK: install and configure · Mobile SDKs: iOS, Android, React Native, and Flutter
How do I get API keys and which environments exist?
A sandbox key is issued at account creation under Settings → Developers; a live key is issued at go-live. Sandbox data is isolated and keeps working for staging after launch. Keys are scoped to a Business Account and a role and rotate with a 24-hour grace period.
Read: Create your Business Account on Brand Control Center (BCC) · REST API: authentication and keys · Distribute your feeds across 7K+ apps and sites
How do I verify a domain or an app?
Domains verify by DNS TXT record or a meta tag in the head; subdomains inherit. Apps verify on the first SDK call from a registered bundle ID.
Read: Connect your website, app, and podcast feed · Mobile SDKs: iOS, Android, React Native, and Flutter
Build
How do I pass page context so the feed matches the page?
Set data-genuin-context on the placement element with key:value pairs (category, product IDs, topics). Context narrows the page type's grid context; it never widens it.
Read: Post to your hub, then curate and schedule to other platforms · Embed configuration reference · Onsite: contextual placements across homepage, category, and product pages
How do I avoid layout shift?
Reserve the card footprint: the declared IAB size plus 4 px on each axis. Fluid placements report their rendered size in the impression event. Lazy rendering is on by default.
Read: Player card sizes and IAB footprint spec · Embed configuration reference
How does auto login work and what does Genuin see?
Your server signs a short-lived JWT with your user ID and the claims you choose; the SDK exchanges it for a Genuin session. Genuin never sees passwords or your user table. SSO providers can be registered so their tokens validate directly.
Read: Bring your audience in with auto login and SSO · Auto login and token exchange · Unified identity: auto login, SSO, and the ID graph
How do I track conversions and send events to my analytics?
Subscribe to player events (impression, play, watch milestones, follow, post, linkoutClick, conversion) on the client, and send purchases through the server-side conversion API or the SDK track call. Webhooks deliver the same events signed to your endpoint.
Read: Web SDK: install and configure · Attribution: closed-loop commerce and conversion forecasts · Webhooks and events
Can I render the player in a mobile app or React Native?
Yes: iOS, Android, React Native, and Flutter SDKs render the same four experiences with native scrolling, using the same placement, context, and auto login names.
Read: Mobile SDKs: iOS, Android, React Native, and Flutter · Player experiences: Shorts, Shoppable, Community, and Live
How do I get Genuin data into our warehouse?
Use scheduled exports to BigQuery, Mixpanel, or Amazon S3 for engagement, revenue, attribution, and margin by grid dimension, webhooks for events, and CSV exports or scheduled reports from BCC.
Read: Receive engagement events in your own analytics · Webhooks and events · Revenue reporting, payouts, and the Creator Wallet
How does consent and privacy work in the embed?
The SDK reads the CMP consent string by default (consent: auto); you can set granted or denied yourself. Viewing history and identity are kept in separate channels and joined only under consent and your agreement.
Read: Web SDK: install and configure · Privacy and VPPA: the two-channel data flow · Unified identity: auto login, SSO, and the ID graph
Can AI agents call Genuin, and how do buyer agents reach our inventory?
Supervised Intelligence reaches your viewers through the Supervised Intelligence SDK, in the Genuin player and on your pages, and the REST API exposes sandbox AdCP endpoints (get_products, create_media_buy) so buyer-agent developers can test discovery against your listed packages.
Read: Supervised Intelligence: the orchestration and generative commerce layer · Supervised Intelligence SDK: Supervised Intelligence chat on your pages and in your player · AdCP: make your inventory discoverable to AI buyer agents · REST API: authentication and keys
Does Octo change our code, and who approves it?
Where you connect a repository or CMS, Octo, Genuin's Supervised Intelligence interface, opens embeds, SDK updates, auto login, and ads.txt changes as pull requests or CMS changes for your developer to approve; it never deploys on its own. Without a connection it hands your developer the exact snippet and page.
Read: Supervised Intelligence Autonomy and Approvals · Web SDK: install and configure · Bring your audience in with auto login and SSO
Can I use my own model?
Yes. Genuin's own models need no setup. To run capabilities on another model, add it under Marketplace > LLMs with your own API key. Providers include OpenAI, Anthropic, Google, Azure OpenAI, AWS Bedrock, Mistral, and Ollama, and a custom OpenAI-compatible endpoint takes the base URL of a model you host. Each entry saves only after a connection test, and keys are stored encrypted. A capability's Required models list shows the models it expects, or Default when any connected model will do.
Read: Add AI capabilities, tools, and models from the Marketplace · Marketplace: what it does and where to start
Launch
What changes when we switch from sandbox to live?
The live key replaces the sandbox key in the loader, the preview ribbon disappears, and reports stop being labelled sandbox. Nothing else in the markup changes.
Read: Distribute your feeds across 7K+ apps and sites · REST API: authentication and keys
Troubleshoot
The player renders a preview ribbon or nothing at all. What do I check?
In order: the domain is verified (yellow badge means not yet), the loader has the right brand ID, the placement ID exists on the published grid, the size on the element is allowed for that placement, and the page is not blocked by your CSP. Sandbox keys always show the ribbon.
Read: Connect your website, app, and podcast feed · Register your placements on the Hierarchical Grid · Embed configuration reference · Support, status, and SLAs
How do I know when the API or SDK changes?
Major versions live in the URL or package and are supported 18 months after the next major ships; additive changes are announced in the changelog and by email to the Developer role. The status page covers incidents.

