SSP / exchange host
GetMutations runs on the publisher bid request for curator, audience, and metrics, and the host applies none, some, or all before it fans out to DSPs.
SSP sidecar is plugged in beside the exchange. Toggle agents or autoplay a hop.
GetMutations runs on the publisher bid request for curator, audience, and metrics, and the host applies none, some, or all before it fans out to DSPs.
GetMutations runs on the bid response, BID_SHADE is the clean case, and the host decides whether the shaded bid still leaves.
Index Cloud plus a full DSP binary is adjacent, not GetMutations. Do not demo that as an ARTF mutation agent.
Agent is an OCI container beside the host. No egress. Least data. GetMutations proposes. Host applies none, some, or all. Spec does not revalidate OpenRTB after apply.
Agent tmax 150ms inside auction tmax 300ms · PUBLISHER_BID_REQUEST · exchange-7
Hop
Intents → OpenRTB
BID_SHADEseatbid[].bid[].priceADJUST_DEAL_FLOORdeals[].bidfloorACTIVATE_DEALSimp.pmp.deals[]adjustDealsunknown pathADJUST_DEAL_MARGIN(none in OpenRTB 2.6)Stream with this sidecar
This session
Why this hop matters
The agent returned mutations and the RPC can succeed, while paths, lifecycle, and dialect can still be illegal, and pass 2 is the first time the auction is asked.
Waiting on the agent.
Not run yet.
{
"id": "extension-point-001",
"tmax": 150,
"lifecycle": "LIFECYCLE_PUBLISHER_BID_REQUEST",
"originator": {
"type": "TYPE_EXCHANGE",
"id": "exchange-7"
},
"applicable_intents": [
"ACTIVATE_SEGMENTS",
"ACTIVATE_DEALS",
"SUPPRESS_DEALS",
"ADJUST_DEAL_FLOOR",
"ADD_METRICS"
],
"bid_request": {
"id": "auction-9001",
"at": 1,
"tmax": 300,
"cur": [
"USD"
],
"imp": [
{
"id": "imp-1",
"secure": true,
"instl": false,
"bidfloor": 8,
"bidfloorcur": "USD",
"video": {
"mimes": [
"video/mp4"
],
"minduration": 15,
"maxduration": 30,
"w": 1920,
"h": 1080,
"protocols": [
2,
3,
5,
6
],
"linearity": 1,
"plcmt": 1,
"skip": false
},
"pmp": {
"private_auction": true,
"deals": [
{
"id": "deal-premium",
"bidfloor": 12,
"bidfloorcur": "USD",
"at": 1
},
{
"id": "deal-standard",
"bidfloor": 6,
"bidfloorcur": "USD",
"at": 2
}
]
}
}
],
"site": {
"id": "site-42",
"domain": "streaming.example",
"page": "https://streaming.example/watch/12345",
"mobile": false,
"content": {
"id": "content-12345",
"livestream": false,
"len": 3600
}
},
"device": {
"dnt": false,
"lmt": false,
"ua": "Mozilla/5.0"
},
"user": {
"id": "user-77",
"data": [
{
"id": "dmp-1",
"name": "Example DMP",
"segment": [
{
"id": "seg-sports"
}
]
}
]
},
"regs": {
"coppa": false,
"gdpr": false
}
}
}{
"id": "extension-point-999",
"mutations": [
{
"intent": "BID_SHADE",
"op": "OPERATION_REPLACE",
"path": "/seatbid/dsp-1/bid/bid-abc",
"adjust_bid": {
"price": -2.5
}
},
{
"intent": "ADJUST_DEAL_FLOOR",
"op": "OPERATION_REPLACE",
"path": "/imp/imp-404/pmp/deals/deal-premium",
"adjust_deal": {
"bidfloor": 3
}
},
{
"intent": "ADJUST_DEAL_FLOOR",
"op": "OPERATION_REPLACE",
"path": "/imp/imp-1/pmp/deals/deal-unlisted",
"adjust_deal": {
"bidfloor": 3
}
},
{
"intent": "ACTIVATE_DEALS",
"op": "OPERATION_ADD",
"path": "/imp/imp-1",
"adjust_bid": {
"price": 4
}
},
{
"intent": "adjustDeals",
"op": "replace",
"path": "/imp/imp-1/deals/deal-standard",
"value": {
"AdjustDealPayload": {
"bidfloor": 7.25
}
}
},
{
"intent": "ADJUST_DEAL_MARGIN",
"op": "OPERATION_REPLACE",
"path": "/imp/imp-1/pmp/deals/deal-standard",
"adjust_deal": {
"margin": {
"value": 140,
"calculation_type": "PERCENT"
}
}
}
]
}