# AdCP: make your inventory discoverable to AI buyer agents

AdCP (Ad Context Protocol) is the open standard, governed by AgenticAdvertising.org, that lets AI buyer agents discover inventory, submit briefs, and execute buys over MCP and A2A; listing on AdCP makes your packages discoverable at the planning stage of agentic media campaigns. Reading time about 6 minutes.

## What Genuin exposes

Genuin runs a Network Sales Agent that answers AdCP calls on behalf of every listed network. A buyer agent calling `get_products` receives your packages as `paid_partnership` products, each carrying a monetization outcome block (projected RAR, attributed commerce forecast, net margin on ad spend) in the `ext` namespace rather than reach alone. A `create_media_buy` commits the buy; creative formats include `paid_partnership_video_v1` with required disclosure fields.

## Steps

1. List at least one package for buyers (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)) with an outcome block.
2. In Brand Control Center (BCC) open **Monetize → AdCP** and choose **Enable discovery**. Review the product object preview.
3. Set which packages are discoverable, the minimum buy, and whether buyer agents may negotiate within a price band.
4. Publish. Your catalog syncs to the network catalog within an hour.

## Reading agentic demand

Reports → AdCP shows discovery calls, briefs received, buys executed, and outcome delivery against the forecast. In Canvas, part of Supervised Intelligence, the Packager and Pricer agents (see [Canvas: run your network with growth and monetization agents](https://begenuin.com/developers/get-started/any-business/canvas-run-your-network-with-growth-and-monetization-agents)) adjust listings from this report.

## Schema and testing

The full `get_products` request, product object, creative format, and `create_media_buy` schemas are in the reference (see [REST API: authentication and keys](https://begenuin.com/developers/get-started/any-business/rest-api-authentication-and-keys) and [Webhooks and events](https://begenuin.com/developers/get-started/any-business/webhooks-and-events)) with a sandbox endpoint for buyer-agent developers.

## How it runs

The demand setup, packages, agreements, and seller files described here are drafted for you, priced against your floors and brand safety profile, and switched on only with your approval; money never moves on a change you did not approve.

**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 |
| --- | --- |
| GET /adcp/products | AdCP get_products for AI buyer agents |
| POST /adcp/media-buys | AdCP create_media_buy |
| POST /packages/{packageId}/listings | List a package for buyers (and AdCP) |

```js
// proposed server SDK (Business Account API)
import { Genuin } from '@genuin/sdk';
const genuin = new Genuin({ apiKey: process.env.GENUIN_KEY });
await genuin.adcp.products({ brief });
await genuin.adcp.createMediaBuy({ … });
await genuin.listings.create(packageId);
```

Live today: [Go live with monetization in your feeds, apps, and partner pages](https://begenuin.com/developers/developer-resources/sdk/go-live-with-monetization-in-your-feeds-apps-and-partner-pages).

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