403 Forbidden errors at runtime.
Scopes are granted at app creation time and cannot be widened afterwards. If your app is missing a scope, you need to create a new app with the correct scope set and obtain consent again.
Available scopes
| Scope | What it covers |
|---|---|
MarketingSolutions_Campaign_Read | Read access to campaigns, ad sets, and campaign configuration |
MarketingSolutions_Campaign_Manage | Create and manage campaigns and ad sets |
MarketingSolutions_Analytics_Read | Read access to analytics and performance reporting endpoints |
MarketingSolutions_Audience_Read | Read access to audiences and audience segments |
MarketingSolutions_Audience_Manage | Create and manage audiences and audience segments |
MarketingSolutions_Creative_Read | Read access to creatives and creative assets |
MarketingSolutions_Creative_Manage | Create and manage creatives and creative assets |
MarketingSolutions_Reco_Read | Read access to product recommendation data |
MarketingSolutions_Reco_Manage | Create and manage product recommendations |
MarketingSolutions_Catalog_Read | Read access to catalog data |
MarketingSolutions_Catalog_Manage | Create and manage catalog data |
MarketingSolutions_OnSiteRecommendation_Read | Read access to on-site recommendation endpoints |
Endpoint scope requirements
Advertiser
| Method | Endpoint | Required scope |
|---|---|---|
GET | /experimental/advertisers/me | (none) |
GET | /experimental/advertisers/{advertiser-id}/datasets | (none) |
GET | /experimental/industries | (none) |
Analytics
| Method | Endpoint | Required scope |
|---|---|---|
POST | /experimental/categories/report | MarketingSolutions_Analytics_Read |
POST | /experimental/log-level/advertisers/{advertiser-id}/report | MarketingSolutions_Analytics_Read |
POST | /experimental/marketing-solutions/marketplace-performance-outcomes/stats/realtime-reports/export | MarketingSolutions_Analytics_Read |
GET | /experimental/marketing-solutions/marketplace-performance-outcomes/stats/realtime-reports/{reportId} | MarketingSolutions_Analytics_Read |
GET | /experimental/marketing-solutions/marketplace-performance-outcomes/stats/report-jobs/{reportId} | MarketingSolutions_Analytics_Read |
GET | /experimental/marketing-solutions/report-jobs/{reportId} | MarketingSolutions_Analytics_Read |
POST | /experimental/marketing-solutions/report/products/export | MarketingSolutions_Analytics_Read |
GET | /experimental/marketing-solutions/report/products/{reportId} | MarketingSolutions_Analytics_Read |
POST | /experimental/placements/report | MarketingSolutions_Analytics_Read |
POST | /experimental/reports/async-audience-performance | MarketingSolutions_Analytics_Read |
POST | /experimental/reports/async-statistics | MarketingSolutions_Analytics_Read |
POST | /experimental/reports/creatives | MarketingSolutions_Analytics_Read |
POST | /experimental/reports/realtime | MarketingSolutions_Analytics_Read |
POST | /experimental/reports/top-products | MarketingSolutions_Analytics_Read |
GET | /experimental/reports/{report-id}/output | MarketingSolutions_Analytics_Read |
GET | /experimental/reports/{report-id}/status | MarketingSolutions_Analytics_Read |
POST | /experimental/statistics/report | MarketingSolutions_Analytics_Read |
POST | /experimental/transactions/report | MarketingSolutions_Analytics_Read |
Audience
| Method | Endpoint | Required scope |
|---|---|---|
PATCH | /experimental/marketing-solutions/audience-segments | MarketingSolutions_Audience_Manage |
POST | /experimental/marketing-solutions/audience-segments/compute-sizes | MarketingSolutions_Audience_Manage |
POST | /experimental/marketing-solutions/audience-segments/create | MarketingSolutions_Audience_Manage |
POST | /experimental/marketing-solutions/audience-segments/delete | MarketingSolutions_Audience_Manage |
POST | /experimental/marketing-solutions/audience-segments/estimate-size | MarketingSolutions_Audience_Manage |
GET | /experimental/marketing-solutions/audience-segments/in-market-brands | MarketingSolutions_Audience_Read |
GET | /experimental/marketing-solutions/audience-segments/in-market-interests | MarketingSolutions_Audience_Read |
POST | /experimental/marketing-solutions/audience-segments/search | MarketingSolutions_Audience_Read |
DELETE | /experimental/marketing-solutions/audience-segments/{audience-segment-id}/contact-list | MarketingSolutions_Audience_Manage |
PATCH | /experimental/marketing-solutions/audience-segments/{audience-segment-id}/contact-list | MarketingSolutions_Audience_Manage |
GET | /experimental/marketing-solutions/audience-segments/{audience-segment-id}/contact-list/statistics | MarketingSolutions_Audience_Read |
PATCH | /experimental/marketing-solutions/audiences | MarketingSolutions_Audience_Manage |
POST | /experimental/marketing-solutions/audiences/compute-sizes | MarketingSolutions_Audience_Manage |
POST | /experimental/marketing-solutions/audiences/create | MarketingSolutions_Audience_Manage |
POST | /experimental/marketing-solutions/audiences/delete | MarketingSolutions_Audience_Manage |
POST | /experimental/marketing-solutions/audiences/estimate-size | MarketingSolutions_Audience_Manage |
POST | /experimental/marketing-solutions/audiences/search | MarketingSolutions_Audience_Read |
PATCH | /experimental/marketing-solutions/audiences/{audience-id}/contactlist-attributes | MarketingSolutions_Audience_Manage |
Campaign
| Method | Endpoint | Required scope |
|---|---|---|
DELETE | /experimental/advertisers/{advertiserId}/targeting/bundle-rules | MarketingSolutions_Campaign_Manage |
GET | /experimental/advertisers/{advertiserId}/targeting/bundle-rules | MarketingSolutions_Campaign_Read |
POST | /experimental/advertisers/{advertiserId}/targeting/bundle-rules | MarketingSolutions_Campaign_Manage |
PUT | /experimental/advertisers/{advertiserId}/targeting/bundle-rules | MarketingSolutions_Campaign_Manage |
DELETE | /experimental/advertisers/{advertiserId}/targeting/domain-rules | MarketingSolutions_Campaign_Manage |
GET | /experimental/advertisers/{advertiserId}/targeting/domain-rules | MarketingSolutions_Campaign_Read |
POST | /experimental/advertisers/{advertiserId}/targeting/domain-rules | MarketingSolutions_Campaign_Manage |
PUT | /experimental/advertisers/{advertiserId}/targeting/domain-rules | MarketingSolutions_Campaign_Manage |
DELETE | /experimental/campaigns/{campaignId}/targeting/bundle-rules | MarketingSolutions_Campaign_Manage |
GET | /experimental/campaigns/{campaignId}/targeting/bundle-rules | MarketingSolutions_Campaign_Read |
POST | /experimental/campaigns/{campaignId}/targeting/bundle-rules | MarketingSolutions_Campaign_Manage |
PUT | /experimental/campaigns/{campaignId}/targeting/bundle-rules | MarketingSolutions_Campaign_Manage |
DELETE | /experimental/campaigns/{campaignId}/targeting/domain-rules | MarketingSolutions_Campaign_Manage |
GET | /experimental/campaigns/{campaignId}/targeting/domain-rules | MarketingSolutions_Campaign_Read |
POST | /experimental/campaigns/{campaignId}/targeting/domain-rules | MarketingSolutions_Campaign_Manage |
PUT | /experimental/campaigns/{campaignId}/targeting/domain-rules | MarketingSolutions_Campaign_Manage |
PATCH | /experimental/marketing-solutions/ad-sets | MarketingSolutions_Campaign_Manage |
POST | /experimental/marketing-solutions/ad-sets | MarketingSolutions_Campaign_Manage |
POST | /experimental/marketing-solutions/ad-sets/search | MarketingSolutions_Campaign_Read |
POST | /experimental/marketing-solutions/ad-sets/start | MarketingSolutions_Campaign_Manage |
POST | /experimental/marketing-solutions/ad-sets/stop | MarketingSolutions_Campaign_Manage |
GET | /experimental/marketing-solutions/ad-sets/targeting/supply-vendors | MarketingSolutions_Campaign_Read |
GET | /experimental/marketing-solutions/ad-sets/{ad-set-id} | MarketingSolutions_Campaign_Read |
PUT | /experimental/marketing-solutions/ad-sets/{ad-set-id}/audience | MarketingSolutions_Campaign_Manage |
GET | /experimental/marketing-solutions/ad-sets/{ad-set-id}/category-bids | MarketingSolutions_Campaign_Read |
PATCH | /experimental/marketing-solutions/ad-sets/{ad-set-id}/category-bids | MarketingSolutions_Campaign_Manage |
GET | /experimental/marketing-solutions/ad-sets/{ad-set-id}/display-multipliers | MarketingSolutions_Campaign_Read |
PATCH | /experimental/marketing-solutions/ad-sets/{ad-set-id}/display-multipliers | MarketingSolutions_Campaign_Manage |
GET | /experimental/marketing-solutions/ad-sets/{ad-set-id}/targeting/deal-ids | MarketingSolutions_Campaign_Read |
PUT | /experimental/marketing-solutions/ad-sets/{ad-set-id}/targeting/deal-ids | MarketingSolutions_Campaign_Manage |
POST | /experimental/marketing-solutions/ad-sets/{ad-set-id}/targeting/deal-ids/disable | MarketingSolutions_Campaign_Manage |
GET | /experimental/marketing-solutions/ad-sets/{ad-set-id}/targeting/video-positioning | MarketingSolutions_Campaign_Read |
PUT | /experimental/marketing-solutions/ad-sets/{ad-set-id}/targeting/video-positioning | MarketingSolutions_Campaign_Manage |
POST | /experimental/marketing-solutions/ad-sets/{ad-set-id}/targeting/video-positionings/disable | MarketingSolutions_Campaign_Manage |
PATCH | /experimental/marketing-solutions/campaigns | MarketingSolutions_Campaign_Manage |
POST | /experimental/marketing-solutions/campaigns | MarketingSolutions_Campaign_Manage |
POST | /experimental/marketing-solutions/campaigns/search | MarketingSolutions_Campaign_Read |
GET | /experimental/marketing-solutions/campaigns/{campaign-id} | MarketingSolutions_Campaign_Read |
Catalog
| Method | Endpoint | Required scope |
|---|---|---|
POST | /experimental/catalog/products/batch | MarketingSolutions_Catalog_Manage |
GET | /experimental/catalog/products/batch/report/{operation-token} | MarketingSolutions_Catalog_Read |
GET | /experimental/catalog/stats/merchants/{merchant-id} | MarketingSolutions_Catalog_Read |
Creative
| Method | Endpoint | Required scope |
|---|---|---|
DELETE | /experimental/ads/{id} | MarketingSolutions_Creative_Manage |
GET | /experimental/ads/{id} | MarketingSolutions_Creative_Read |
GET | /experimental/advertisers/{advertiser-id}/ads | MarketingSolutions_Creative_Read |
POST | /experimental/advertisers/{advertiser-id}/ads | MarketingSolutions_Creative_Manage |
GET | /experimental/advertisers/{advertiser-id}/coupons | MarketingSolutions_Creative_Read |
POST | /experimental/advertisers/{advertiser-id}/coupons | MarketingSolutions_Creative_Manage |
GET | /experimental/advertisers/{advertiser-id}/coupons-supported-sizes | MarketingSolutions_Creative_Read |
DELETE | /experimental/advertisers/{advertiser-id}/coupons/{id} | MarketingSolutions_Creative_Manage |
GET | /experimental/advertisers/{advertiser-id}/coupons/{id} | MarketingSolutions_Creative_Read |
PUT | /experimental/advertisers/{advertiser-id}/coupons/{id} | MarketingSolutions_Creative_Manage |
GET | /experimental/advertisers/{advertiser-id}/coupons/{id}/preview | MarketingSolutions_Creative_Read |
GET | /experimental/advertisers/{advertiser-id}/creatives | MarketingSolutions_Creative_Read |
POST | /experimental/advertisers/{advertiser-id}/creatives | MarketingSolutions_Creative_Manage |
DELETE | /experimental/creatives/{id} | MarketingSolutions_Creative_Manage |
GET | /experimental/creatives/{id} | MarketingSolutions_Creative_Read |
PUT | /experimental/creatives/{id} | MarketingSolutions_Creative_Manage |
POST | /experimental/creatives/{id}/preview | MarketingSolutions_Creative_Manage |
DELETE | /experimental/marketing-solutions/ads/{ad-id}/audience-segment | MarketingSolutions_Creative_Manage |
GET | /experimental/marketing-solutions/ads/{ad-id}/audience-segment | MarketingSolutions_Creative_Read |
PUT | /experimental/marketing-solutions/ads/{ad-id}/audience-segment | MarketingSolutions_Creative_Manage |
Gateway
| Method | Endpoint | Required scope |
|---|---|---|
GET | /experimental/marketing-solutions/me | (none) |
OnSiteRecommendation
| Method | Endpoint | Required scope |
|---|---|---|
POST | /experimental/recommendation/search | MarketingSolutions_OnSiteRecommendation_Read |
POST | /experimental/recommendation/search-conversational | MarketingSolutions_OnSiteRecommendation_Read |
Reco
| Method | Endpoint | Required scope |
|---|---|---|
DELETE | /experimental/ads/{ad-id}/product-filter | MarketingSolutions_Reco_Manage |
GET | /experimental/ads/{ad-id}/product-filter | MarketingSolutions_Reco_Read |
POST | /experimental/ads/{ad-id}/product-filter | MarketingSolutions_Reco_Manage |
GET | /experimental/marketing-solutions/ads/{ad-id}/product-boost | MarketingSolutions_Reco_Read |
DELETE | /experimental/marketing-solutions/ads/{ad-id}/product-boost/{product-set-id} | MarketingSolutions_Reco_Manage |
GET | /experimental/marketing-solutions/ads/{ad-id}/product-boost/{product-set-id} | MarketingSolutions_Reco_Read |
POST | /experimental/marketing-solutions/ads/{ad-id}/product-boost/{product-set-id} | MarketingSolutions_Reco_Manage |
GET | /experimental/marketing-solutions/dataset/{dataset-id}/product-boost | MarketingSolutions_Reco_Read |
POST | /experimental/product-sets | MarketingSolutions_Reco_Manage |
GET | /experimental/product-sets/dataset/{dataset-id} | MarketingSolutions_Reco_Read |
DELETE | /experimental/product-sets/{product-set-id} | MarketingSolutions_Reco_Manage |
GET | /experimental/product-sets/{product-set-id} | MarketingSolutions_Reco_Read |
PATCH | /experimental/product-sets/{product-set-id} | MarketingSolutions_Reco_Manage |
GET | /experimental/product-sets/{product-set-id}/product-filters | MarketingSolutions_Reco_Read |