Skip to main content
Semicola keeps two families of objects that meet at the AdCP wire. Buyers plan and run media; sellers expose inventory and answer briefs. Both live on one platform with one sign-in, but an agent works inside the family that matches its account.
Media buys and packages are never created directly. Staging creates draft media buys on a campaign, and launching turns them into AdCP transactions. You read and tune them; you do not POST them from scratch.

Buyer side

Seller side

Where the two meet

A buyer’s request_proposals becomes an AdCP get_products call on each storefront, which becomes an RFP and a turn on the seller side. The turn’s proposal comes back as a buyer-side proposal. When the buyer launches, each media buy becomes an AdCP create_media_buy on the storefront, which may become an approval before it forwards to the inventory source.