---
title: "V2 Migration"
description: "How-to | Last updated: 3/9/2026 | Learn how to use Kroger Ad Platform APIs V2"
url: "https://api-catalog-test.8451.com/apis/kroger-ad-platform-api-1/docs/v2-migration"
image: "https://api-catalog-test.8451.com/_og/d/c_Ocean.takumi,title_V2+Migration,description_~SG93LXRvIHwgTGFzdCB1cGRhdGVkOiAzLzkvMjAyNiB8IExlYXJuIGhvdyB0byB1c2UgS3JvZ2VyIEFkIFBsYXRmb3JtIEFQSXMgVjI,props_eyJ0aGVtZSI6eyJtb2RlIjoibGlnaHQiLCJjb2xvcnMiOnsicHJpbWFyeSI6IiM4NDUxRUMifX19,p_Ii9hcGlzL2tyb2dlci1hZC1wbGF0Zm9ybS1hcGktMS9kb2NzL3YyLW1pZ3JhdGlvbiI,s_ZoY7iX-Ml3WMTClr.png"
---

# 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](https://api-catalog-test.8451.com/apis/kroger-ad-platform-api-1/about/promoted-product-carousel.htm).
-   Multi-Brand / Multi-Advertiser Campaigns  
    To learn more about these, see [Enter Details](https://api-catalog-test.8451.com/apis/kroger-ad-platform-api-1/docs/create-campaign.htm#enter-details).

This guide is designed to help you migrate from [Version 1](https://api-catalog-test.8451.com/apis/kroger-ad-platform-api-1/docs/use-apis.htm) to Version 2.

> All the latest API documentation is available at [https://developer.8451.com/](https://developer.8451.com/).

## [Recommendations](#recommendations)

As you migrate from [Version 1](https://api-catalog-test.8451.com/apis/kroger-ad-platform-api-1/docs/use-apis.htm) to Version 2, you should:

-   Update the Production URL ([api.8451.com/kap/v2](https://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](https://api-stg.8451.com/kap/v2) before going live.

## [Authentication and authorization](#authentication-and-authorization)

There are no changes in authentication and authorization. You'll continue to use `OAuth2 Authorization Code` for authentication.

## [API versioning](#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](https://api.8451.com/kap/v2).

## [Feature updates](#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](#multi-brand-campaign-example-using-post-campaign)

```json
{
  "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
}
```