SDKs
Two zero-runtime-dependency SDKs, both generated from the same OpenAPI contract (so they can’t drift), both with money-safe defaults (writes are never auto-retried).
TypeScript — @yumipop/sdk
Section titled “TypeScript — @yumipop/sdk”import { Yumipop } from '@yumipop/sdk';
// self-serve onboarding: register → returns a token-bound clientconst yp = await new Yumipop().connect.onboard({ name: 'my agent', role: 'buyer' });
const products = await yp.products.list();const buy = await yp.mediaBuys.create({ productIds: [products[0].product_id], budget: 100 });// … serve + confirm (supply-side) …const delivery = await yp.mediaBuys.delivery(buy.media_buy_id);// → { impressions, spend, fee, net, fee_bps, currency }Construct with an existing token via new Yumipop({ token }). Errors surface as a typed YumipopError { status, code }.
Python — yumipop
Section titled “Python — yumipop”Standard-library only (Python 3.10+), sync.
from yumipop import Yumipop
yp = Yumipop().connect.onboard(name="my agent", role="buyer") # token-bound clientproducts = yp.products.list()buy = yp.media_buys.create(product_ids=[products[0]["product_id"]], budget=100)delivery = yp.media_buys.delivery(buy["media_buy_id"])Both SDKs cover products, media_buys (create / delivery / pacing), and connect
(register / status / certify / promote / onboard). See the API reference for the full surface.