PUT /v3/bidlist → bidListSet / bidListUpdate
Overview
| Property | Value |
|---|---|
| REST endpoint | PUT /v3/bidlist |
| GraphQL operation | bidListSet (full replace) or bidListUpdate (partial) |
| Input type | BidListSetInput or BidListUpdateInput |
| Output type | PayloadWithErrorsOfIBidList (data: IBidList, userErrors: [UserError!]!) |
Multi-step operations
REST PUT /v3/bidlist supported full bid line replacement and additive/subtractive line-level edits in a single request. GraphQL separates these into two mutations:
| REST behavior | GraphQL mutation | Input type |
|---|---|---|
| Full replace of bid lines (REST PUT default) | bidListSet |
BidListSetInput |
| Add or remove individual bid lines | bidListUpdate |
BidListUpdateInput |
Fields not listed on BidListSetInput or BidListUpdateInput (for example BidListSource, BidListAdjustmentType, ResolutionType, IsAvailableForLibraryUse) are read-only or immutable after create.
Input field mapping
bidListSet (`BidListSetInput`)—full replace
| REST field | GraphQL field | GraphQL type | Required | Notes |
|---|---|---|---|---|
BidListId |
id |
ID! | Required | Required on update |
Name |
name |
String | Optional | Omit to leave unchanged |
BidLines |
bidLines |
[BidLineCreateInput!] | Optional | Full replacement; omit to leave unchanged; see BidList domain page for line fields |
| BidListOwner + BidListOwnerId | newOwner |
BidListOwnerUpdateInput | Optional | Only advertiserId, campaignId, partnerId; new owner must be ancestor |
bidListUpdate (`BidListUpdateInput`)—partial edit
| REST field | GraphQL field | GraphQL type | Required | Notes |
|---|---|---|---|---|
BidListId |
id |
ID! | Required | Required |
Name |
name |
String | Optional | Omit to leave unchanged |
| BidLines (add) | bidLinesToAdd |
[BidLineCreateInput!] | Optional | Lines to add; see BidList domain page for line fields |
| BidLines (remove) | bidLinesToRemove |
[BidLineDeleteDimensionsInput!] | Optional | Provide dimension key fields to identify lines to remove |
Output field mapping
Output type: IBidList (returned as data on PayloadWithErrorsOfIBidList)
| REST response field | GraphQL field | GraphQL type | Nullable | Notes |
|---|---|---|---|---|
BidListId |
id |
ID! | Not nullable | N/A |
Name |
name |
String! | Not nullable | N/A |
BidListSource |
source |
BidListSource! | Not nullable | Read-only on response |
BidListAdjustmentType |
adjustmentType |
BidListAdjustmentType! | Not nullable | N/A |
ResolutionType |
resolutionType |
MultipleMatchResolutionType! | Not nullable | N/A |
BidLines |
bidLines |
[BidLine!]! | Not nullable | See BidList domain page for BidLine (response) nested mapping |
IsAvailableForLibraryUse |
isAvailableForLibraryUse |
Boolean! | Not nullable | N/A |
IsGlobal |
ownerType |
BidListOwnerType! | Not nullable | GLOBAL when REST IsGlobal is true |
BidListDimensions |
dimensions |
[BidListDimension!]! | Not nullable | N/A |
BidListType |
N/A | N/A | N/A | Read-only |
BidListOwner |
ownerType |
BidListOwnerType! | Not nullable | N/A |
BidListOwnerId |
owner |
BidListOwner | Nullable | Nested owner entity (BidListOwner union) |
Code examples
Full replace of bid lines using bidListSet (REST PUT equivalent).
REST example
PUT /v3/bidlist HTTP/1.1
Content-Type: application/json
TTD-Auth: AUTH_TOKEN_PLACEHOLDER
{
"BidListId": "bl_abc123",
"Name": "Updated Site List",
"BidLines": [
{ "BidAdjustment": 2.0, "DomainFragment": "newsite.com", "VolumeControlPriority": "None" },
{ "BidAdjustment": 1.5, "DomainFragment": "anothernewsite.com", "VolumeControlPriority": "None" }
]
}
GraphQL example
POST /graphql HTTP/1.1
Content-Type: application/json
TTD-Auth: AUTH_TOKEN_PLACEHOLDER
mutation ReplaceBidListLines {
bidListSet(input: {
id: "bl_abc123"
name: "Updated Site List"
bidLines: [
{ bidAdjustment: 2.0, domainFragment: "newsite.com", volumeControlPriority: NEUTRAL }
{ bidAdjustment: 1.5, domainFragment: "anothernewsite.com", volumeControlPriority: NEUTRAL }
]
}) {
data {
id
name
bidLines {
bidAdjustment
domainFragment
}
}
userErrors {
message
field
}
}
}
Partial update to add bid lines using bidListUpdate.
REST example
PUT /v3/bidlist HTTP/1.1
Content-Type: application/json
TTD-Auth: AUTH_TOKEN_PLACEHOLDER
{
"BidListId": "bl_abc123",
"BidLines": [
{ "BidAdjustment": 1.3, "DomainFragment": "addedsite.com", "VolumeControlPriority": "None" }
]
}
GraphQL example
POST /graphql HTTP/1.1
Content-Type: application/json
TTD-Auth: AUTH_TOKEN_PLACEHOLDER
mutation AddBidLines {
bidListUpdate(input: {
id: "bl_abc123"
bidLinesToAdd: [
{ bidAdjustment: 1.3, domainFragment: "addedsite.com", volumeControlPriority: NEUTRAL }
]
}) {
data {
id
bidLines {
bidAdjustment
domainFragment
}
}
userErrors {
message
field
}
}
}
Partial update to remove bid lines using bidListUpdate.
REST example
PUT /v3/bidlist HTTP/1.1
Content-Type: application/json
TTD-Auth: AUTH_TOKEN_PLACEHOLDER
{
"BidListId": "bl_abc123",
"BidLines": []
}
GraphQL example
POST /graphql HTTP/1.1
Content-Type: application/json
TTD-Auth: AUTH_TOKEN_PLACEHOLDER
mutation RemoveBidLines {
bidListUpdate(input: {
id: "bl_abc123"
bidLinesToRemove: [
{ domainFragment: "oldsite.com" }
]
}) {
data {
id
bidLines {
bidAdjustment
domainFragment
}
}
userErrors {
message
field
}
}
}
Transfer ownership to a parent advertiser using bidListSet.
REST example
PUT /v3/bidlist HTTP/1.1
Content-Type: application/json
TTD-Auth: AUTH_TOKEN_PLACEHOLDER
{
"BidListId": "bl_abc123",
"BidListOwner": "Advertiser",
"BidListOwnerId": "adv456"
}
GraphQL example
POST /graphql HTTP/1.1
Content-Type: application/json
TTD-Auth: AUTH_TOKEN_PLACEHOLDER
mutation TransferBidListOwnership {
bidListSet(input: {
id: "bl_abc123"
newOwner: { advertiserId: "adv456" }
}) {
data {
id
name
}
userErrors {
message
field
}
}
}