List Recommendation

This API returns recommendations grouped by entity for a given advertiser id based on the requested filters. Response includes metadata, status, and estimated impact (when available)

📘

URL: POST /api/v1/recommendations/list

Request Parameters

ParameterNotesTypeRequiredPossible Values
advertiserIdID of advertiser to fetch recommendations forintegerYvalid advertiser ID
filter[outcome]Filter by business outcome the recommendation is trying to improve:
  • improve_performance: improve performance
  • improve_engagement: improve engagement
  • maximize_reach_and_awareness: maximize reach and awareness


If not specified, recommendations for all outcomes are returned.
Array<string>N
  • improve_performance
  • improve_engagement
  • maximize_reach_and_awareness
filter[recommendationIds]Filter by specific recommendation IDs.
Use this to request only particular recommendations.
Max size: 20.
Array<string>N
filter[recommendationType]Filter by type of change suggested:
  • budget_reallocation: proposed reallocation of budgets across entities
  • targeting: proposed changes to targeting (audiences, keywords, contextual)
  • schedule: proposed changes to an entity's schedule
  • bid: proposed changes to ad group's bid


If not specified, recommendations of all types are returned.
Array<string>N
  • budget_reallocation
  • targeting
  • schedule
  • bid
filter[entities]Filter by specific entities (campaigns or ad groups).
Each entity is defined by its ID and type.
Max size: 20.

The entities objects are detailed here
Array<object>N
filter[recommendationStatus]Use this filter to retrieve recommendations by status, and constrain results by a date range.

If omitted, API returns only active recommendations (default behavior).

The values:

  • active: Recommendation is currently actionable and has not been acted upon
  • accepted: Recommendation was accepted by the user
  • rejected: Recommendation was rejected by the user
  • expired: Recommendation expired without being acted upon (system-driven)


The filter[recommendationStatus] objects are detailed here
objectN
  • active
  • accepted
  • rejected
  • expired
viewModeControls how much detail is returned for each recommendation:
  1. SUMMARY: summary view. Fields returned:
    • recommendationId
    • outcome
    • recommendationType
    • status
    • entity
    • proposal

  2. DETAILED: detailed view. Fields returned:
    • recommendationId
    • outcome
    • recommendationType
    • status
    • createdAt
    • entity
    • expectedImpact
    • proposal
    • action


Default: summary
stringN
  • summary (default)
  • detailed

entities Objects

ParametersNotesTypeRequiredPossible Values
idID of the entityintegerYUnique ID value
typeType of entity the ID refers tostringYcampaign, ad_group

filter[recommendationStatus] Objects

ParametersNotesTypeRequiredPossible Values
statusList of recommendation status to filter on. Use this to include recommendations that were accepted, rejected, expired or active.

Must contain at only 1 value.
Array[string]Y
  • accepted
  • rejected
  • expired
  • active
dateTimeRangeRestricts results to a date range based on the recommendation’s action/expiry timestamp

Note: Required field when status includes any of accepted, rejected, expired and optional when status is only active
objectConditional

dateTimeRange Objects

ParametersNotesTypeRequiredPossible Values
startDateStart timestamp (inclusive). Recommendations on or after this time are included.timestampYISO-8601 format (e.g. 2025-07-18T08:00:00Z)
endDateEnd timestamp (inclusive). Recommendations actioned on or before this time are included.
Must be:
• not after the current time
• not before dateTimeRange.startDate
timestampYISO-8601 format (e.g. 2025-07-18T08:00:00Z)

Headers

Header NameDescriptionRequiredValues
AuthorizationThe token will provide you the access to the API. It is same for all advertisers you access through the API.YPlease utilize the generated auth_token shared with you at the time of partner onboarding from the Getting Started Guide
Content-TypeFormat of the message bodyYapplication/json
WM_CONSUMER.IDUnique ID for consumer. We will provide you the consumer ID to access the API. It is same for all advertisers you access through the API.   YPlease use the generated ConsumerId shared with you at the time of partner onboarding. Refer to the Getting Started Guide for more information
WM_SEC.AUTH_SIGNATURESignature for authenticationYUse the signature generator code from Getting Started Guide to generate this value
WM_SEC.KEY_VERSIONKey version. We will provide you with the KEY VERSION to access the API. It is same for all advertisers you access through the API.Y1
WM_CONSUMER.intimestampTimestamp for which the auth signature is generated. Use Unix epoch format for the timestamp.YUse the signature generator code from Getting Started Guide to generate this value

👉

Rules/Constraints/Validations:

  • If no filters are passed, the API returns only active recommendations
  • filter[recommendationStatus].dateTimeRange rules
    • If status contains only active:
      • dateTimeRange is optional
      • If omitted, API returns all active recommendations for the advertiser (subject to other filters)
    • If status contains any of accepted, rejected, or expired:
      • dateTimeRange is required
      • The date range (endDate - startDate) must be ≤ 30 days.
    • Date range validation
      • startDate must be \<= endDate
      • Maximum allowed range is 30 days
        • Requests exceeding this will be rejected with a validation error
    • dateTimeRange does not filter by when the recommendation was created - it filters by when it was accepted/rejected or expired.

Sample Request - Fetch summary of all active recommendations in an advertiser account. (viewMode = summary)

curl -X POST \ 'https://developer.api.us.stg.walmart.com/api-proxy/service/display/api/v1/api/v1/recommendations/list' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <auth_token>' \ --header 'WM_SEC.AUTH_SIGNATURE: **************' \ --header 'WM_SEC.KEY_VERSION: 1' \ --header 'WM_CONSUMER.ID: adfwe-v23-faasd2r-afs-asdfqeff' \ --header 'WM_CONSUMER.intimestamp: 1565309779' \ --data '{ "advertiserId": 12345, "viewMode": "summary"
}'

Sample Request - Fetch summary of all active targeting (keyword) recommendations in an advertiser account. (viewMode = summary)

curl -X POST \ 'https://developer.api.us.stg.walmart.com/api-proxy/service/display/api/v1/api/v1/recommendations/list' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <auth_token>' \ --header 'WM_SEC.AUTH_SIGNATURE: **************' \ --header 'WM_SEC.KEY_VERSION: 1' \ --header 'WM_CONSUMER.ID: adfwe-v23-faasd2r-afs-asdfqeff' \ --header 'WM_CONSUMER.intimestamp: 1565309779' \ --data '{ "advertiserId": 12345, "filter[recommendationType]": [ "targeting" ], "viewMode": "summary"
}'

Sample Request - Fetch summary of all active targeting (contextual) recommendations in an advertiser account. (viewMode = summary)

curl -X POST \ 'https://developer.api.us.stg.walmart.com/api-proxy/service/display/api/v1/api/v1/recommendations/list' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <auth_token>' \ --header 'WM_SEC.AUTH_SIGNATURE: **************' \ --header 'WM_SEC.KEY_VERSION: 1' \ --header 'WM_CONSUMER.ID: adfwe-v23-faasd2r-afs-asdfqeff' \ --header 'WM_CONSUMER.intimestamp: 1565309779' \ --data '{ "advertiserId": 12345, "filter[recommendationType]": [ "targeting" ], "viewMode": "summary"
}'

Sample Request - Fetch summary of all active targeting (behavioral) recommendations for a specific ad group. (viewMode = summary)

curl -X POST \ 'https://developer.api.us.stg.walmart.com/api-proxy/service/display/api/v1/api/v1/recommendations/list' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <auth_token>' \ --header 'WM_SEC.AUTH_SIGNATURE: **************' \ --header 'WM_SEC.KEY_VERSION: 1' \ --header 'WM_CONSUMER.ID: adfwe-v23-faasd2r-afs-asdfqeff' \ --header 'WM_CONSUMER.intimestamp: 1565309779' \ --data '{ "advertiserId": 12345, "filter[recommendationType]": [ "targeting" ], "filter[entities]": [ { "id": 1898, "type": "ad_group" } ], "viewMode": "summary"
}'

Sample Request - Fetch summary of all active budget reallocation recommendations in an advertiser account. (viewMode = summary)

curl -X POST \ 'https://developer.api.us.stg.walmart.com/api-proxy/service/display/api/v1/api/v1/recommendations/list' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <auth_token>' \ --header 'WM_SEC.AUTH_SIGNATURE: **************' \ --header 'WM_SEC.KEY_VERSION: 1' \ --header 'WM_CONSUMER.ID: adfwe-v23-faasd2r-afs-asdfqeff' \ --header 'WM_CONSUMER.intimestamp: 1565309779' \ --data '{ "advertiserId": 12345, "filter[recommendationType]":["budget_reallocation" ] }'

Sample Request - Fetch summary of all active schedule recommendations in an advertiser account. (viewMode = summary)

curl -X POST \ 'https://developer.api.us.stg.walmart.com/api-proxy/service/display/api/v1/api/v1/recommendations/list' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <auth_token>' \ --header 'WM_SEC.AUTH_SIGNATURE: **************' \ --header 'WM_SEC.KEY_VERSION: 1' \ --header 'WM_CONSUMER.ID: adfwe-v23-faasd2r-afs-asdfqeff' \ --header 'WM_CONSUMER.intimestamp: 1565309779' \ --data '{ "advertiserId": 12345, "filter[recommendationType]":["schedule" ] }'

Sample Request - Fetch details of all active recommendations in an advertiser account (viewMode = detailed)

curl -X POST \ 'https://developer.api.us.stg.walmart.com/api-proxy/service/display/api/v1/api/v1/recommendations/list' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <auth_token>' \ --header 'WM_SEC.AUTH_SIGNATURE: **************' \ --header 'WM_SEC.KEY_VERSION: 1' \ --header 'WM_CONSUMER.ID: adfwe-v23-faasd2r-afs-asdfqeff' \ --header 'WM_CONSUMER.intimestamp: 1565309779' \ --data '{ "advertiserId": 12345, "viewMode": "detailed" }'

Sample Request - Fetch all recommendations that were accepted in an advertiser account between a specific date range (viewMode = detailed)

curl -X POST \ 'https://developer.api.us.stg.walmart.com/api-proxy/service/display/api/v1/api/v1/recommendations/list' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <auth_token>' \ --header 'WM_SEC.AUTH_SIGNATURE: **************' \ --header 'WM_SEC.KEY_VERSION: 1' \ --header 'WM_CONSUMER.ID: adfwe-v23-faasd2r-afs-asdfqeff' \ --header 'WM_CONSUMER.intimestamp: 1565309779' \ --data '{ "advertiserId": 12345, "filter[recommendationStatus]": { "status": [ "accepted" ], "dateTimeRange": { "startDate": "2026-01-01T00:00:00Z", "endDate": "2026-01-20T00:00:00Z" }, "viewMode": "detailed" }
}'

Sample Request - Fetch all recommendations that were expired in an advertiser account between a specific date range (viewMode = detailed)

curl -X POST \ 'https://developer.api.us.stg.walmart.com/api-proxy/service/display/api/v1/api/v1/recommendations/list' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <auth_token>' \ --header 'WM_SEC.AUTH_SIGNATURE: **************' \ --header 'WM_SEC.KEY_VERSION: 1' \ --header 'WM_CONSUMER.ID: adfwe-v23-faasd2r-afs-asdfqeff' \ --header 'WM_CONSUMER.intimestamp: 1565309779' \ --data '{ "advertiserId": 12345, "filter[recommendationStatus]": { "status": [ "expired" ], "dateTimeRange": { "startDate": "2026-01-01T00:00:00Z", "endDate": "2026-01-20T00:00:00Z" }, "viewMode": "detailed" }
}'

Sample Request - Fetch summary of all active bid recommendations in an advertiser account. (viewMode = summary)

curl -X POST \ 'https://developer.api.us.stg.walmart.com/api-proxy/service/display/api/v1/api/v1/recommendations/list' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <auth_token>' \ --header 'WM_SEC.AUTH_SIGNATURE: **************' \ --header 'WM_SEC.KEY_VERSION: 1' \ --header 'WM_CONSUMER.ID: adfwe-v23-faasd2r-afs-asdfqeff' \ --header 'WM_CONSUMER.intimestamp: 1565309779' \ --data '{ "advertiserId": 12345, "filter[recommendationType]":["BID" ] }'

Sample Request - Failure scenario (invalid outcome)

curl -X POST \ 'https://developer.api.us.stg.walmart.com/api-proxy/service/display/api/v1/api/v1/recommendations/list' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <auth_token>' \ --header 'WM_SEC.AUTH_SIGNATURE: **************' \ --header 'WM_SEC.KEY_VERSION: 1' \ --header 'WM_CONSUMER.ID: adfwe-v23-faasd2r-afs-asdfqeff' \ --header 'WM_CONSUMER.intimestamp: 1565309779' \ --data '{ "advertiserId": 12345, "filter[outcome]": "improve_performances"
}'

Response

ElementDescriptionNullable?Type
totalResultsTotal number of recommendations returned for the request criteriaNinteger
recommendationsList of recommendation objects matching the request criteriaYArray <object>

recommendations object details

ElementDescriptionNullable?TypePossible values
recommendationIdUnique ID of the recommendationNstring
outcomeBusiness outcome this recommendation is designed to improveNstringIMPROVE_PERFORMANCE, IMPROVE_ENGAGEMENT, MAXIMIZE_REACH_AND_AWARENESS
recommendationTypeType of change being recommendedNstringBUDGET_REALLOCATION, TARGETING, SCHEDULE, BID
statusstatus of recommendation

Current status of the recommendation:
  • ACTIVE: recommendation is valid and not yet applied.
  • ACCEPTED: recommendation has been applied
  • REJECTED: recommendation has been rejected/dismissed
  • EXPIRED: recommendation has been expired


Note: returned only when available and viewMode = DETAILED" for both expectedImpact and action fields
NstringACTIVE, ACCEPTED, REJECTED, EXPIRED
entityEntity (campaign or ad group) for which the recommendation is suggested
The entity objects are detailed here
NobjectSee entity sub-table below
expectedImpactMetrics describing the expected impact if the recommendation is applied
Note: Returned only when available and viewMode = DETAILED
The expectedImpact objects are detailed here
YArray <object>See expectedImpact sub-table below
proposalDetails of the proposed change to apply if the recommendation is accepted.
The proposal objects are detailed here
NobjectSee proposal sub-table below
actionDetails of the user action taken on this recommendation (if any)YArray <object>See action sub-table below
triggerRoot object describing the recommendation triggerNobjectSee trigger sub-table below

entity Objects

ElementDescriptionNullable?TypePossible values
idID of the entityNinteger
typeType of the entityNstringCAMPAIGN, AD_GROUP
nameName of the entity.Nstring
parentObject with details of the parent entity.Yobject

trigger object details

ElementDescriptionNullable?TypePossible values
triggerTypeDescribes the primary signal or event that caused the recommendation to be generated, i.e., the “why” behind the recommendation.YstringUNDER_DELIVERY

parent object details

ElementDescriptionNullable?TypePossible values
idID of the parent entity, i.e. campaign id for the adgroupNinteger
typeType of the parent entity.
For entity.type = ADGROUP, parent.type = CAMPAIGN
NstringCAMPAIGN
nameName of the parent entity.Nstring

expectedImpact Objects

Metrics measuring the expected impact if the recommendation is applied.

ElementDescriptionNullable?TypePossible values
metricType of metric being reportedNintegerIMPRESSIONS, CLICKS, SALES
currentCurrent value of the metric without applying the recommendation.Ndouble
predictedPredicted value of the metric after applying the recommendation.Ndouble
upliftDifference between predicted and current, representing uplift based on forecasted impressions/sales/clicksNdouble
unitUnit for the metric values above. (Examples in responses include "ABSOLUTE_VALUE")NstringABSOLUTE_VALUE

proposal Objects

Contains the recommended changes for a recommendation. Its shape depends on recommendationType.
It contains exactly one of the following objects based on recommendationType:

  • If recommendationType = TARGETING, proposal.targeting MUST be present
  • If recommendationType = BUDGET_REALLOCATION, proposal.budgetReallocation MUST be present
  • If recommendationType = SCHEDULE, proposal.schedule MUST be present
  • If recommendationType = BID, proposal.bid MUST be present
ElementDescriptionNullable?TypePossible values
scheduleproposal payload to propose changes to an entity's schedule (only applicable if recommendationType = SCHEDULE)Yobject
budgetReallocationProposal payload for reallocating budgets across entities(only applicable if recommendationType = BUDGET_REALLOCATION)Yobject
targetingProposal payload for targeting recommendations (only applicable if recommendationType = TARGETING)Yobject
bidProposal payload for bid recommendations.
(only applicable when recommendationType = BID)
Yobject

targeting object details

ElementDescriptionNullable?TypePossible values
inclusionsList of recommended targeting additions/changes (inclusive targeting).
The inclusions objects are detailed here
YArray <object>
exclusionsList of recommended targeting removals/changes (exclusive targeting).
The exclusions objects are detailed here
YArray <object>
subTypeTargeting subtype describing what kind of targeting values are included/excludedYstringBEHAVIORAL_TARGETING, CONTEXTUAL_TARGETING, KEYWORD_TARGETING

schedule object details

ElementDescriptionNullable?TypePossible values
currentStartDateTimecurrent start datetime of schedule RecommendationNstringTimestamp in ISO8601 format normalized to ET
currentEndDateTimecurrent end datetime of schedule RecommendationYstringTimestamp in ISO8601 format normalized to ET
recommendedStartDateTimerecommended start datetime of schedule RecommendationNstringTimestamp in ISO8601 format normalized to ET
recommendedEndDateTimerecommended end datetime of schedule RecommendationYstringTimestamp in ISO8601 format normalized to ET

budgetReallocation object details

ElementDescriptionNullable?TypePossible values
reallocationsList of entities with current vs recommended budget values after reallocationNArray<object>

bid object details

ElementDescriptionNullable?TypePossible values
bidTypeThe type of the bidNstringMAX_BID
currentValueThe current value of the bidNDouble
recommendedValueThe recommended value of the bidYDouble

reallocations object details

ElementDescriptionNullable?TypePossible values
entityTypeType of the entity for which budget reallocation is recommendedYstringAD_GROUP
entityIdID of the entity for which budget reallocation is recommendedYstring
entityNameName of the entity for which budget reallocation is recommendedYstring
budgetTypeBudget dimension being reallocatedYstringTOTAL, DAILY
currentValueCurrent value for budgetYDouble
recommendedValueRecommended value of budgetYDouble

inclusions/exclusions Objects

Specify what targeting to add or remove for TARGETING recommendations

ElementDescriptionNullable?TypePossible values
actionAction to be taken on this targeting setNstringADD, REMOVE
valuesList of targeting values affected by the action
The values objects are detailed here
NArray <object>

action object details

ElementDescriptionNullable?TypePossible values
stateType of action taken on the recommendation.NstringACCEPTED, REJECTED
actedAtTimestamp when the action was takenNtimestampTimestamp in ISO8601 format normalized to ET

values Objects

ElementDescriptionNullable?TypePossible values
typeType discriminator for targeting valueNstringBEHAVIORAL, CONTEXTUAL, KEYWORD
textKeyword text value. (applicable only for type KEYWORD, Negative keywords are sent as part of exclusions)Ystring
matchTypeMatch type for keyword (applicable only for type KEYWORD)YstringBROAD, EXACT
idid of contextual target or audience (applicable only for type BEHAVIORAL or CONTEXTUAL)Yinteger
namename of contextual target or audience (applicable only for type BEHAVIORAL or CONTEXTUAL)Ystring

👉

Rules/Constraints/Validations:

  • action object is returned only for recommendations that have been accepted or rejected.
  • Each recommendation is valid for approximately 1 day if not acted upon. A new recommendationId may be generated daily for the same ad group; older IDs expire if no action was taken.
  • Recommendations may overlap (for example, a campaign-level change may supersede an ad group-level change). When you act on one recommendation, any overlapping recommendations may be automatically marked invalid and removed from the active set.
  • Proposal object contains exactly one of the following objects based on recommendationType:
    • If recommendationType = TARGETING, proposal.targeting MUST be present
    • If recommendationType = BUDGET_REALLOCATION, proposal.budgetReallocation MUST be present
    • If recommendationType = SCHEDULE, proposal.schedule MUST be present
  • For Keyword recommendations (proposal.targeting.subType="KEYWORD_TARGETING")
    • Negative keyword recommendations, if any, are sent as part of exclusions
  • For Schedule recommendations (proposal.schedule)
    • If the recommendation includes a start time change, both currentStartDateTime and recommendedStartDateTime are returned
    • If the start time is not relevant to the recommendation, both currentStartDateTime and recommendedStartDateTimeTime fields are omitted.
    • If the recommendation includes an end time change, both currentStartDateTime and recommendedStartDateTime are returned
    • If the end time is not relevant to the recommendation, both currentStartDateTime and recommendedStartDateTime are omitted.

Sample Response - Fetch summary of all active recommendations in an advertiser account. (viewMode = summary)

{ "totalResults": 1, "recommendations": [ { "id": "c4-targeting", "outcome": "MAXIMIZE_REACH_AND_AWARENESS", "recommendationType": "TARGETING", "trigger": { "triggerType": "UNDER_DELIVERY" }, "status": "ACTIVE", "entity": { "id": 189, "type": "AD_GROUP", "name": "Test_AdGroup_1", "parent": { "id": 1314591, "type": "CAMPAIGN", "name": "Test_Campaign_1" } }, "proposal": { "targeting": { "subType": "KEYWORD_TARGETING", "inclusions": [ { "action": "add", "values": [ { "type": "KEYWORD", "text": "wet wipe", "matchType": "exact" } ] } ], "exclusions": [] } } } ]
}

Sample Response - Fetch summary of all active targeting (keyword) recommendations in an advertiser account. (viewMode = summary)

{ "totalResults": 1, "recommendations": [ { "recommendationId": "a52a0748-d9a5targeting", "outcome": "MAXIMIZE_REACH_AND_AWARENESS", "recommendationType": "TARGETING", "trigger": { "triggerType": "UNDER_DELIVERY" }, "status": "ACTIVE", "entity": { "id": 1925, "type": "AD_GROUP", "name": "KEYWORD_TARGETING_ADGROUP_1", "parent": { "id": 1334, "type": "CAMPAIGN", "name": "Test_Campaign" } }, "proposal": { "targeting": { "subType": "KEYWORD_TARGETING", "inclusions": [ { "action": "add", "values": [ { "type": "KEYWORD", "text": "drinks", "matchType": "exact" }, { "type": "KEYWORD", "text": "coke", "matchType": "broad" } ] } ], "exclusions": [] } } } ]
}

Sample Response - Fetch summary of all active targeting (contextual) recommendations in an advertiser account. (viewMode = summary)

{ "totalResults": 1, "recommendations": [ { "recommendationId": "a52a0_a5targeting", "outcome": "MAXIMIZE_REACH_AND_AWARENESS", "recommendationType": "TARGETING", "trigger": { "triggerType": "UNDER_DELIVERY" }, "status": "ACTIVE", "entity": { "id": 1925, "type": "AD_GROUP", "name": "CONTEXTUAL_TARGETING_ADGROUP_1", "parent": { "id": 1334, "type": "CAMPAIGN", "name": "Test_Campaign_2" } }, "proposal": { "targeting": { "subType": "CONTEXTUAL_TARGETING", "inclusions": [ { "action": "add", "values": [ { "type": "CONTEXTUAL", "id": 205, "name": "clothing, shoes & accessories|full-body garments & suits" } ] } ], "exclusions": [] } } } ]
}

Sample Response - Fetch summary of all active targeting (behavioral) recommendations for a specific ad group. (viewMode = summary)

{ "totalResults": 1, "recommendations": [ { "recommendationId": "a5-d9a5targeting", "outcome": "MAXIMIZE_REACH_AND_AWARENESS", "recommendationType": "TARGETING", "trigger": { "triggerType": "UNDER_DELIVERY" }, "status": "ACTIVE", "entity": { "id": 1898, "type": "AD_GROUP", "name": "BEHAVIORAL_TARGETING_ADGROUP_1", "parent": { "id": 1334, "type": "CAMPAIGN", "name": "Test_Campaign_3" } }, "proposal": { "targeting": { "subType": "BEHAVIOURAL_TARGETING", "inclusions": [ { "action": "add", "values": [ { "type": "BEHAVIOURAL", "id": 100, "name": "parent's choice" } ] } ], "exclusions": [] } } } ]
} 

Sample Response - Fetch summary of all active budget reallocation recommendations in an advertiser account. (viewMode = summary)

{ "totalResults": 1, "recommendations": [ { "recommendationId": "ddc7ef56-f997", "outcome": "MAXIMIZE_REACH_AND_AWARENESS", "recommendationType": "BUDGET_REALLOCATION", "trigger": { "triggerType": "UNDER_DELIVERY" }, "status": "ACTIVE", "entity": { "id": 131, "type": "CAMPAIGN", "name": "Test_Campaign_4" }, "expectedImpact": [ { "metric": "IMPRESSIONS", "current": 2686.0, "predicted": 25365.0, "uplift": 22679.0, "unit": "ABSOLUTE_VALUE" } ], "proposal": { "budgetReallocation": { "reallocations": [ { "entityType": "AD_GROUP", "entityId": 1898246, "entityName": "Test_Adgroup_1", "budgetType": "TOTAL", "currentValue": 1000.0, "recommendedValue": 900.0 }, { "entityType": "AD_GROUP", "entityId": 1898, "entityName": "Test_Adgroup_2", "budgetType": "TOTAL", "currentValue": 300.0, "recommendedValue": 400.0 } ] } } } ]
}

Sample Response - Fetch summary of all active schedule recommendations in an advertiser account. (viewMode = summary)

{ "totalResults": 1, "recommendations": [ { "recommendationId": "ddc7ef56-f997", "outcome": "MAXIMIZE_REACH_AND_AWARENESS", "recommendationType": "BUDGET_REALLOCATION", "trigger": { "triggerType": "UNDER_DELIVERY" }, "status": "ACTIVE", "entity": { "id": 131, "type": "CAMPAIGN", "name": "Test_Campaign_5" }, "expectedImpact": [ { "metric": "IMPRESSIONS", "current": 2686.0, "predicted": 25365.0, "uplift": 22679.0, "unit": "ABSOLUTE_VALUE" } ], "proposal": { "scheduleRecommendation": { "currentStartDateTime": "2026-01-29T00:00:00-05:00", "currentEndDateTime": "2026-02-12T00:00:00-05:00", "recommendedStartDateTime": "2026-01-29T00:00:00-05:00", "recommendedEndDateTime": "2026-02-22T00:00:00-05:00" } } } ]
}

Sample Response - Fetch details of all active recommendations in an advertiser account (viewMode = detailed)

{ "totalResults": 1, "recommendations": [ { "recommendationId": "b52a0748-d9a5targeting", "outcome": "MAXIMIZE_REACH_AND_AWARENESS", "recommendationType": "TARGETING", "trigger": { "triggerType": "UNDER_DELIVERY" }, "status": "ACTIVE", "entity": { "id": 1925, "type": "AD_GROUP", "name": "Test_Adgroup_6", "parent": { "id": 1334, "type": "CAMPAIGN", "name": "Test_Campaign_6" } }, "expectedImpact": [ { "metric": "IMPRESSIONS", "current": 2686.0, "predicted": 25365.0, "uplift": 22679.0, "unit": "ABSOLUTE_VALUE" } ], "proposal": { "targeting": { "subType": "KEYWORD_TARGETING", "inclusions": [ { "action": "add", "values": [ { "type": "KEYWORD", "text": "drinks", "matchType": "exact" }, { "type": "KEYWORD", "text": "coke", "matchType": "broad" } ] } ], "exclusions": [] } } } ]
}

Sample Response - Fetch all recommendations that were accepted in an advertiser account between a specific date range (viewMode = detailed)

 { "totalResults": 1, "recommendations": [ { "recommendationId": "b52a0748-d9a5targeting", "outcome": "MAXIMIZE_REACH_AND_AWARENESS", "recommendationType": "TARGETING", "trigger": { "triggerType": "UNDER_DELIVERY" }, "status": "ACCEPTED", "entity": { "id": 1925, "type": "AD_GROUP", "name": "Test_Adgroup_7", "parent": { "id": 1334, "type": "CAMPAIGN", "name": "Test_Campaign_7" } }, "expectedImpact": [ { "metric": "IMPRESSIONS", "current": 2686.0, "predicted": 25365.0, "uplift": 22679.0, "unit": "ABSOLUTE_VALUE" } ], "proposal": { "targeting": { "subType": "BEHAVIOURAL_TARGETING", "inclusions": [ { "action": "add", "values": [ { "type": "BEHAVIOURAL", "id": 100, "name": "parent's choice" } ] } ], "exclusions": [] } }, "action": [ { "state": "ACCEPTED", "actedAt": "2026-01-29T00:00:00-05:00" } ] } ]
}

Sample Response - Fetch all recommendations that were expired in an advertiser account between a specific date range (viewMode = detailed)

{ "totalResults": 1, "recommendations": [ { "recommendationId": "b52a0748-d9a5targeting", "outcome": "MAXIMIZE_REACH_AND_AWARENESS", "recommendationType": "TARGETING", "trigger": { "triggerType": "UNDER_DELIVERY" }, "status": "EXPIRED", "entity": { "id": 1925, "type": "AD_GROUP", "name": "Test_Adgroup_7", "parent": { "id": 1334, "type": "CAMPAIGN", "name": "Test_Campaign_7" } }, "expectedImpact": [ { "metric": "IMPRESSIONS", "current": 2686.0, "predicted": 25365.0, "uplift": 22679.0, "unit": "ABSOLUTE_VALUE" } ], "proposal": { "targeting": { "subType": "BEHAVIOURAL_TARGETING", "inclusions": [ { "action": "add", "values": [ { "type": "BEHAVIOURAL", "id": 100, "name": "parent's choice" } ] } ], "exclusions": [] } } } ]
}

Sample Response - Fetch summary of all active bid recommendations in an advertiser account. (viewMode = summary)

{ "totalResults": 1, "recommendations": [ { "recommendationId": "ddc7ef56-f997", "outcome": "MAXIMIZE_REACH_AND_AWARENESS", "recommendationType": "BID", "trigger": { "triggerType": "UNDER_DELIVERY" }, "status": "ACTIVE",             "entity": { "id": 1925, "type": "AD_GROUP", "name": "Test_Adgroup_7", "parent": { "id": 1334, "type": "CAMPAIGN", "name": "Test_Campaign_7" } },, "proposal": { "bid": { "bidType": "MAX_BID", "currentValue": 8.4 "recommendedValue": 10.4 } } } ]
}

Sample Response - Failure scenario (invalid outcome)

{ "code": "failure", "details": [ "string" ]
}

Did this page help you?