POST /v3/additionalfees/changelog → Campaign.passThroughFeeCards
Overview
| Property |
Value |
| REST endpoint |
POST /v3/additionalfees/changelog |
| GraphQL query |
Campaign.passThroughFeeCards(where:) |
| Return type |
PassThroughFeeCard connection |
Request and filter field mapping
| REST field |
GraphQL argument |
GraphQL type |
Required |
Notes |
OwnerType |
passThroughFeeCards(where.targetType) |
PassThroughFeeTargetType! |
Required |
campaign → CAMPAIGN, adgroup → AD_GROUP, advertiser → ADVERTISER. |
OwnerId |
passThroughFeeCards(where.ownerId) |
String |
Required |
Same owner filter as the current-card GET. |
StartDateUtc |
passThroughFeeCards(where.startDateUtc.gte) |
DateTime |
Optional |
Lower bound on card effective date. |
EndDateUtc |
passThroughFeeCards(where.startDateUtc.lte) |
DateTime |
Optional |
Upper bound; REST filters cards in range. |
Response field mapping
| REST response field |
GraphQL field |
GraphQL type |
Nullable |
Notes |
| (list of cards) |
passThroughFeeCards.nodes[] |
[PassThroughFeeCard!] |
Nullable |
Each node uses the same per-card mapping as GET current card. |
| (no REST ID) |
passThroughFeeCards.nodes[].id |
Long! |
Not nullable |
GraphQL exposes the primary key; REST omits it. |
OwnerId |
passThroughFeeCards.nodes[].target (union member id) |
ID! |
Not nullable |
Owner ID is on the target union member (Campaign, AdGroup, Advertiser, or Partner). Select with inline fragments matching targetType. |
OwnerType |
passThroughFeeCards.nodes[].targetType |
PassThroughFeeTargetType! |
Not nullable |
REST campaign → CAMPAIGN, adgroup → AD_GROUP, advertiser → ADVERTISER. |
StartDateUtc |
startDateUtc |
DateTime! |
Not nullable |
N/A |
Fees |
passThroughFees (connection) |
PassThroughFeesConnection |
Nullable |
N/A |
Fees[].Description |
passThroughFees.nodes.description |
String! |
Not nullable |
N/A |
Fees[].Amount |
passThroughFees.nodes.amount |
Decimal |
Nullable |
N/A |
Fees[].FeeType |
passThroughFees.nodes.type |
PassThroughFeeType! |
Not nullable |
See the AdditionalFees domain page for enum mapping. |
Code examples
REST example
POST /v3/additionalfees/changelog HTTP/1.1
Content-Type: application/json
TTD-Auth: AUTH_TOKEN_PLACEHOLDER
{
"OwnerType": "campaign",
"OwnerId": "<campaignId>",
"StartDateUtc": "2025-01-01T00:00:00Z",
"EndDateUtc": "2026-12-31T23:59:59Z"
}
GraphQL example
POST /graphql HTTP/1.1
Content-Type: application/json
TTD-Auth: AUTH_TOKEN_PLACEHOLDER
query CampaignFeeCardChangelog {
campaign(id: "<campaignId>") {
id
passThroughFeeCards(
first: 50
where: {
ownerId: { eq: "<campaignId>" }
targetType: { eq: CAMPAIGN }
startDateUtc: {
gte: "2025-01-01T00:00:00Z"
lte: "2026-12-31T23:59:59Z"
}
}
order: [{ startDateUtc: ASC }]
) {
nodes {
id
targetType
target {
... on Campaign {
id
}
}
startDateUtc
passThroughFees(first: 20) {
nodes {
description
amount
type
}
}
}
}
}
}