Demand partners

The partner slugs accepted in a buyer's partner field, the DV360 field rules, and which deals let you set their status.

Set each buyer's partner to one of the slugs below. Direct DSPs use their
own slug. BidSwitch sub-DSPs use a bsw--prefixed slug; for those, put the
raw DSP seat ID in seatIds (do not include a :). If you work with a partner
that isn't listed, ask your Sovrn representative.

Direct partners

SlugPartner
simpli.fiSimpli.fi
basisBasis (Centro)
dv360DV360 (DBM)
thetradedeskTradeDesk
quantcastQuantcast
pulsepointPulsePoint
pubmaticPubmatic
illuminIllumin (AcuityAds)
pubmatic-ukPubmatic UK
openxOpenX
magniteMagnite (Rubicon)
magnite-ukMagnite UK (Rubicon UK)
clickagyClickagy
beeswaxBeeswax
rtbhouseRTB House
mediaforceMedia Force
xandrXandr
nexxenNexxen (Unruly)
epomEpom
madhiveMadhive
krushKrush Media
operaOpera
motorikMotorik
equativEquativ
emodoEmodo
smaatoSmaato
edge226Edge226
decenteradsDecenterAds
consumableConsumable
epsilonEpsilon
boldwinBoldwin
taurusxTaurusX
stiristaStirista
140proof140Proof
altavaraAltavara
adipoloAdipolo
madopiMadopi

BidSwitch sub-DSPs

Reached through BidSwitch: supply the raw DSP seat ID in seatIds.

SlugDSP
bsw-ninedotsmedia9 dots media
bsw-adelementAdElement
bsw-adformAdform
bsw-adingeniousAdIngenious
bsw-admaticAdmatic DSP
bsw-admixerAdmixer
bsw-amazonAmazon DSP
bsw-appierAppier
bsw-aroscopAroscop
bsw-azberryAzberry
bsw-bedrockplatformBedrock Platform
bsw-betweenexchangeBetween Exchange
bsw-boldwinBold-win
bsw-criteoCriteo
bsw-edge226Edge226
bsw-igaworksIGAWorks
bsw-instalInstal
bsw-iponwebbidcoreIPONWEB BidCore
bsw-knorexKnorex
bsw-liftLift
bsw-madopiMadopi
bsw-madopimediaMadopi Media
bsw-marketperfMarketperf
bsw-my6sensemy6sense
bsw-nrichN.RICH
bsw-nextrollNextRoll
bsw-samsungSamsung DSP (AdGear)
bsw-sportradarSportradar
bsw-taptapTAPTAP
bsw-webeyeWebeye
bsw-yahooYahoo DSP
bsw-zetaglobalZeta Global DSP

DV360 requirements

A deal whose buyers include dv360 is also created on DV360's side (an
Auction Package for open deals, a Deal Sync product for pmp), and DV360
requires fields this API otherwise treats as optional. A request with a
dv360 buyer must meet all of the following, or it returns 400:

FieldRequirement
descriptionRequired. At most 2000 characters for open deals, 250 for pmp.
schedule.endDateRequired, and later than schedule.startDate.
schedule.startDateWithin 365 days of today (UTC).
pricing.floorRequired, with at most 6 decimal places.
nameAt most 240 characters.

pricing.floor must also be greater than 0, but that rule applies to every
deal, and its message does not name DV360:
body/pricing/floor Too small: expected number to be >0.

The messages for these rules name the field and DV360, and how they arrive
depends on the request. On POST each one carries its field path in the
validation shape (see Errors), several joined
by commas. On PATCH they arrive as one { "message": "…" } with no field
paths, their parts joined by semicolons:

{
  "message": "description is required for DV360 buyers (max 250 characters for pmp deals); schedule.endDate is required for DV360 buyers"
}

The same rules apply to the merged result of a PATCH, so a deal with a
dv360 buyer that is missing a field now required must supply it in the same
PATCH. Until it does, every PATCH to that deal is refused, a status change
included.

DV360 also fixes a deal's format and its medium type when the deal is created,
and DOOH isn't available on DV360 deals. On an existing deal with a dv360
buyer:

  • adFormat cannot be changed.
  • environments cannot include dooh.
  • environments can change only to a list that keeps the deal's medium type.

To change the format or the medium type, create a new deal request instead. The
medium type DV360 lists a deal under follows from its adFormat and
environments:

Medium typeDeals
TVA banner, video or native deal whose only environment is ctv.
AudioAn audio deal whose only environment is web, or whose only environment is app.
DigitalEvery other deal on web, app or ctv, including any deal with more than one environment. Digital includes CTV.

So a banner, video or native deal on web can add app, and one on web
and app can drop either: it stays Digital. Such a deal cannot go from ctv
alone to ctv and web, or from web and ctv to ctv alone: that moves it
between TV and Digital. An audio deal on web cannot add app: that moves it
from Audio to Digital.

A PATCH that breaks one of these rules returns 400 with a message naming
it. One that would change the medium type names the change:

{
  "message": "environments can't change from ctv to ctv, web on a deal with a DV360 buyer, because that would change the deal's DV360 medium type; create a new deal request instead"
}

One whose environments include dooh returns
environments can't include dooh on a deal with a DV360 buyer, because DOOH isn't available on DV360 deals.

Deals you can pause yourself

Most DSPs leave a deal's status to you: PATCH /deal-requests/{id} with a
status pauses, resumes, schedules or archives the deal (see
Deal lifecycle).

dv360 is the exception. DV360 manages the status of its own deals through its
integration, and this API does not change it. A deal whose buyers are all
dv360 therefore rejects status:

{
  "message": "status is not settable on this deal: every buyer is on a DSP that manages deal status through its own integration (dv360)"
}

A deal that mixes dv360 with other buyers accepts the change: the other
buyers are set, the dv360 buyer is left as it is, and the deal's own status
is worked out from all of its buyers together. So only paused on a pmp deal
always resolves as sent. Any other value resolves as sent only if the dv360
buyer is already in that state on DV360's side, and otherwise the deal reads
back review; a deal you tried to archive that way stays in list results.

You do not have to track which DSPs are which. GET /deal-requests/{id} and
the 200 from a PATCH carry a statusSettable boolean that answers it for
that deal (list items and the 201 from a create do not), and it is false
for the mixed case above too, because the status such a deal resolves to is not
always the one you sent. See
Deal lifecycle.


Did this page help you?