# Media supply aggregators: bring your publisher network onto Genuin as one supply network

An aggregator that represents dozens or thousands of publishers, apps, or sites (an ad network, a syndication network, an app network, or a content network) runs every property as a brand under one Business Account, rolls all of its inventory into one Hierarchical Grid, and sells it as one supply network with per-publisher splits, while each publisher keeps its own hub, brand safety, and reports.

## Your five steps

| Step | What you do | Your choices |
| --- | --- | --- |
| 1 Set Up Your Account | One Business Account; your anchor brand plus one brand per publisher, created in bulk from CSV or the Partner API (see [Create your Business Account on Brand Control Center (BCC)](https://begenuin.com/developers/get-started/any-business/create-business-account-bcc) and [REST API: authentication and keys](https://begenuin.com/developers/get-started/any-business/rest-api-authentication-and-keys)). Publisher Manager roles scoped per brand; Network Admin and Revenue across all (see [Invite your team and assign roles](https://begenuin.com/developers/get-started/any-business/invite-team-assign-roles)). | Let publishers verify their own domains, or verify centrally (see [Connect your website, app, and podcast feed](https://begenuin.com/developers/get-started/any-business/connect-properties)) |
| 2 Launch Media Network | Model: Extended O&O at scale (see [Choose your network model: Owned, Extended, Commerce, or Retail](https://begenuin.com/developers/get-started/any-business/choose-network-model)). Import your inventory map as properties, page types, and placements per publisher brand (see [Register your placements on the Hierarchical Grid](https://begenuin.com/developers/get-started/any-business/register-placements)). A house player experience with per-brand overrides (see [Pick your first player experience](https://begenuin.com/developers/get-started/any-business/pick-player-experience)). | Custom player SDK build for a house look (see [Web SDK: install and configure](https://begenuin.com/developers/get-started/any-business/web-sdk-install-and-configure) and [Sticky Mini-Player](https://begenuin.com/developers/get-started/any-business/sticky-mini-player)) |
| 3 Publish Communities | A hub per publisher brand from their archive or social profiles (see [Upload your videos or connect your social profile](https://begenuin.com/developers/get-started/any-business/upload-or-connect)), launched on their domain or a Genuin address (see [Launch your first community: your owned-and-operated space](https://begenuin.com/developers/get-started/any-business/launch-first-community)). Network-wide feeds by category, keyword, and page context from the anchor brand into every publisher placement and the Genuin network (see [Distribute your feeds across 7K+ apps and sites](https://begenuin.com/developers/get-started/any-business/distribute-feeds-network)). | Curate a cross-publisher flagship feed and schedule it out (see [Post to your hub, then curate and schedule to other platforms](https://begenuin.com/developers/get-started/any-business/post-curate-schedule)) |
| 4 Add Users | Each publisher as a Distribution partner (and Content partner where they contribute) on the edge to your anchor (see [Add brand partners and demand partners](https://begenuin.com/developers/get-started/any-business/add-partners) and [Brand Network: core concepts and how brands are classified](https://begenuin.com/developers/get-started/any-business/brand-network-core-concepts-and-how-brands-are-classified)). Auto login per publisher domain (see [Bring your audience in with auto login and SSO](https://begenuin.com/developers/get-started/any-business/auto-login-sso)). Baseline moderation on top of each publisher's own (see [Set moderation and brand safety](https://begenuin.com/developers/get-started/any-business/moderation-brand-safety)). | Creator programs run per publisher brand (see [Invite creators, hosts, and contributors](https://begenuin.com/developers/get-started/any-business/invite-creators)) |
| 5 Sign Contract | Enterprise agreement with a reseller share and a per-publisher split schedule (see [Choose your monetization agreement](https://begenuin.com/developers/get-started/any-business/choose-monetization-agreement) and [Partner Revenue Splits](https://begenuin.com/developers/get-started/any-business/partner-revenue-splits)). Intermediary lines in every publisher's ads.txt and your seller ID in sellers.json (see [Sign your agreement and authorize sellers](https://begenuin.com/developers/get-started/any-business/sign-agreement) and [Set up ads.txt and sellers.json](https://begenuin.com/developers/get-started/any-business/set-up-ads-txt-and-sellers-json)). Activate network-wide (see [Activate monetization and see your first revenue](https://begenuin.com/developers/get-started/any-business/activate-monetization)). | Genuin Ad Server or your own ad server for direct demand (see [Programmatic: Genuin Ad Server or your partner ad server](https://begenuin.com/developers/get-started/any-business/programmatic-genuin-ad-server-or-your-partner-ad-server), [Genuin Ad Server](https://begenuin.com/developers/get-started/any-business/genuin-ad-server), and [Partner Ad Server Integration](https://begenuin.com/developers/get-started/any-business/partner-ad-server-integration)) |

## Done in 30 days

Every publisher property live on the grid, one sell sheet of packages that covers the whole network by category (see [Packages: sell outcomes to brands and demand partners](https://begenuin.com/developers/get-started/any-business/packages-sell-outcomes-to-brands-and-demand-partners) and [Package Builder](https://begenuin.com/developers/get-started/any-business/package-builder)), revenue share flowing to each publisher brand's wallet on your split schedule, and Reports → Network reading by publisher, category, and placement (see [Network Reporting](https://begenuin.com/developers/get-started/any-business/network-reporting)).

## How it runs

This playbook runs as a sequence of proposals, one per step, ordered for your company type; you confirm each one and the 30-day outcome is reported against the plan.

**Support.** Help is available 24/7 from Brand Control Center and from every page of these docs. Ask in plain language; when a person is needed, an account manager, developer, or Ops engineer joins the same thread and stays on it until it is resolved. Every Business Account owner has this on every plan (see [24/7 Octo support: how Octo brings in account managers, developers, and Ops](https://begenuin.com/developers/get-started/any-business/24-7-octo-support-how-octo-brings-in-account-managers-developers-and-ops)).

## 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 |
| --- | --- |
| POST /oauth/token | Exchange client credentials for an access token scoped to a Business Account |
| POST /accounts/{accountId}/brands:import | Bulk-create brands from a CSV or a list (aggregators: one per property or client) |
| POST /brands/{brandId}/placements:import | Import the grid from an ad server's ad units or an inventory map |
| POST /brands/{brandId}/acceptances | Accept partner content into your placements under your rules |
| POST /feeds/{feedId}:distribute | Approve where a feed may run and what wraps it; starts distribution |
| GET /brands/{brandId}/seller-files | ads.txt, app-ads.txt, and sellers.json lines per domain and app, with verification state |

```js
// proposed server SDK (Business Account API)
import { Genuin } from '@genuin/sdk';
const genuin = new Genuin({ apiKey: process.env.GENUIN_KEY });
await genuin.auth.token({ clientId, clientSecret, accountId, scope });
await genuin.brands.import(accountId, { rows });
await genuin.placements.import(brandId, { source: 'gam', rows });
```

Live today: [Generate an access token](https://begenuin.com/developers/developer-resources/api/generate-access-token-using-authentication-api) · [Environments, credentials, and test data](https://begenuin.com/developers/developer-resources/guides/environments-credentials-and-test-data) · [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) · [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).

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).
