Use Kroger Ad Platform APIs (V2)
How-to | Last updated: 3/9/2026 | Learn how to use Kroger Ad Platform APIs V2
To improve integration and usability, the Kroger Ad Platform API Version 2 introduces new features, including, but not limited to, support for:
- Promoted Product Carousels
To learn more about these, see Promoted Product Carousels. - Multi-Brand / Multi-Advertiser Campaigns
To learn more about these, see Enter Details.
This guide is designed to help you migrate from Version 1 to Version 2.
All the latest API documentation is available at https://developer.8451.com/.
Recommendations
As you migrate from Version 1 to Version 2, you should:
- Update the Production URL (api.8451.com/kap/v2).
- Update your integrations to use Version 2 endpoints.
- Review all your changes to the requests and responses (like fields, parameters, and path parameters).
- Test in the Kroger Ad Platform API Stage (STG) environment before going live.
Authentication and authorization
There are no changes in authentication and authorization. You'll continue to use OAuth2 Authorization Code for authentication.
API versioning
You'll need to update your API URL from /media/pla/v1 to /kap/v2 to access the Kroger Ad Platform API.
The URL, /media/pla/v1, will remain active until September 15th, but you should migrate as soon as possible.
The new full API URL is api.8451.com/kap/v2.
Feature updates
With Kroger Ad Platform API Version 2, you can create both Product Listing Ads and Promoted Product Carousels.
| Feature | V1 | V2 | Notes |
|---|---|---|---|
| Experience Name | Implicit and limited to PLA support only | PLA, TOA, and Carousels | - Formerly, Campaign Type - Allows you to create more Campaign experiences including Product Listing Ad, Promoted Product Carousels, and Targeted Onsite Ads |
The Kroger Ad Platform API V2 also supports multi-brand Campaigns.
| Feature | V1 | V2 | Notes |
|---|---|---|---|
| Multibrand Campaigns | Unavailable; One (1) Campaign can only have one (1) advertiserId | A list of advertiserIds is allowed. | Accepts an array of advertiserIds instead of just one (1) advertiserId |
Multi-brand Campaign example using POST campaign
{
"name": "My campaign",
"status": "DRAFT",
"startDate": "{{start Date}}",
"endDate": "{{end Date}}",
"budgetAmount": 1000,
"budgetType": "DAILY",
"pacingType": "EVEN",
"accountId": 1,
"advertiserIds": [1,2],
"billingInsertionOrder": "IO-001",
"billingPurchaseOrder": "PO-001",
"billingAdditionalDetails": "",
"billingContactId": 1,
"billingAddressId": 1
}