Create the Creatives v2
Create a standard banner and video display ad creative using supported ad units along with the corresponding media and text assets.
Request Parameters
| Parameter | Description | Type | Required | Possible Values |
|---|---|---|---|---|
advertiserId | The ID of the specific advertiser | integer | Y | A valid advertiser Id |
metadata | Fields belonging in a creative:
If the headline, subhead, or CTA don't match one of the above options, the response will return the following error: "Subscribe cannot be enabled because the provided text does not match the approved text." When Use the | JSON object | Y | namefolderIdsubscribeEnabledassociatedItems |
adUnits | Each ad unit contains the following fields (see adUnits Field Descriptions below for the full description of each field):
| array | Y |
|
adUnits Objects and Fields
| Field | Datatype | Description | Requirements / Notes |
|---|---|---|---|
adUnitName | ENUM (string) | Identifies the ad unit type. | Required. Desktop: marqueeDesktop, brandboxDesktop, brandboxDesktopVideo, checkInVideo, galleryDesktop, tileDesktop, skylineDesktop, skylineDesktopV2, skylineDesktopV3 ,galleryEnlargedDesktopVideoApp: marqueeApp, tileApp, brandboxApp, brandboxAppVideo, galleryApp, skylineApp, skylineAppV2, skylineAppV3 , galleryEnlargedAppVideoTablet: marqueeTablet All ad units are required in Creative v2 request payloads, including tileApp and tileDesktop. |
headline | string | The headline for the ad unit. | Optional unless specified by template. |
subhead | string | Subtext for the headline. | Must end with one of: ., !, ?, or *. |
cta | string | Call to Action text. | Must be written in sentence case. |
backgroundColorHex | string | Background color value. | Optional. Supported only in skylineV3 ad units. Format: # followed by 6 hexadecimal characters (e.g., #F0F0F0). |
textColor | ENUM (string) | Text color value. | Allowed values: gray, white. Optional. Supported only in skylineV3 ad units. |
imageAltText | string | Description of what is visually represented in the ad. | Required. |
logoAltText | string | Description of the logo image. | Required. |
legalDisclaimerLabel | string | Title text of the popup disclaimer. | Optional. Must be provided together with legalDisclaimerPopUpCopy, or both must be omitted. Set both to empty string to disable popup. |
legalDisclaimerPopUpCopy | string | Text content of the popup disclaimer. | Optional. 600-character limit. Must be supplied together with legalDisclaimerLabel, or both must be omitted. |
legalDisclaimerText | string | Disclaimer text displayed directly in the image. | Optional. 600-character limit. Can be used alone or with popup disclaimer fields. Set empty string to clear value. |
images | array (object) | Image configuration for the ad unit. | Contains: name, assetId, position, size, and optional crop. Allowed name values: Desktop units: desktopImage, desktopLogo App units: mobileImage, mobileLogo Tablet units: tabletImage, tabletLogo |
images.name | string | Image identifier. | Must follow format: additionalImage01 (2-digit suffix). |
images.assetId | string (UUID) | UUID of image asset. | Use the assetId returned from POST /api/v1/assets/photo. |
images.crop | object | Crop settings. | Optional. Applicable only to desktop/mobile images (not logo images). Cannot use both focal and rectangular together. Sending a new image resets crop settings. |
images.crop.focal | object | Focal crop configuration. | Applies to all ad units. Overwrites rectangular crop settings. |
images.crop.focal.x | float | Horizontal focal coordinate. | Range between 0 and 1 (exclusive). |
images.crop.focal.y | float | Vertical focal coordinate. | Range between 0 and 1 (exclusive). |
images.crop.rectangular | object | Rectangular crop configuration. | Can be modified per ad unit. |
images.crop.rectangular.x | float | Crop from left side. | |
images.crop.rectangular.y | float | Crop from top. | |
images.crop.rectangular.w | float | Crop width. | |
images.crop.rectangular.h | float | Crop height. |
Note: Both desktop and mobile images and logos are limited to the following:
- Max file size: 10 MB
- Max dimensions: 5000px by 5000px
Please find Ad Unit Image Dimensions here
Additional Fields for Composite Image Creatives
The following fields apply only to composite images and may not apply to all advertising partners.
| Field | Type | Description | Possible Values |
|---|---|---|---|
images.name | string | Image identifier. | Must follow format: additionalImage01 (2-digit suffix). |
images.assetId | string (UUID) | UUID of image asset. | Use the assetId returned from POST /api/v1/assets/photo. |
images.position | object | Positioning information. | Contains: x, y, z. |
images.position.x | integer | Horizontal pixels from left. | |
images.position.y | integer | Vertical pixels from top. | |
images.position.z | integer | Z-index. | Starts at 2. Must be sequential (0 and 1 rare system reserved). |
images.size | object | Dimensions of the image. | Contains: w, h. |
images.size.w | integer | Width in pixels. | |
images.size.h | integer | Height in pixels. | |
textAssets | array (object) | Contains fields and objects for each text asset. | |
textAssets.name | string | Name of the text asset. | Must follow format: text01 (2-digit suffix). |
textAssets.text | string | The text to be added to the main image. | |
textAssets.position | object | Contains fields for the position of the text. | |
textAssets.position.x | integer | Horizontal pixels from the left. | |
textAssets.position.y | integer | Vertical pixels from the top. | |
textAssets.position.z | integer | Z-index. | Starts with 2. Must be sequential (2,3,4…). 0and 1 are system-reserved. |
textAssets.size | object | Contains fields for the image width and height. | |
textAssets.size.w | integer | Width in pixels. | |
textAssets.size.h | integer | Height in pixels. | |
textAssets.textColor | string | Hexadecimal color code | Valid hexadecimal color code |
textAssets.backgroundColor | string | Hexadecimal color code | Valid hexadecimal color code |
Creative Ad Unit Character Limits
Character limits vary across the various ad units, refer to the tables below for character length limits per ad unit.
marqueeDesktop
| Text | Character Limit | Required/Optional |
|---|---|---|
| headline | 25 | Required |
| subhead | 55 | Required |
| cta | 16 | Required |
| legalDisclaimerText | 600 | Optional |
| legalDisclaimerLabel | 15 | Optional |
| legalDisclaimerPopUpCopy | 4000 | Optional |
| imageAltText | 150 | Required |
| logoAltText | 150 | Required |
marqueeApp
| Text | Character Limit | Required/Optional |
|---|---|---|
| headline | 25 | Required |
| legalDisclaimerText | 600 | Optional |
| legalDisclaimerLabel | 15 | Optional |
| legalDisclaimerPopUpCopy | 4000 | Optional |
| imageAltText | 150 | Required |
| logoAltText | 150 | Required |
marqueeTablet
| Text | Character Limit | Required/Optional |
|---|---|---|
| imageAltText | 150 | Required |
| logoAltText | 150 | Required |
skylineDesktop
| Text | Character Limit | Required/Optional |
|---|---|---|
| headline | 25 | Required |
| subhead | 30 | Optional |
| legalDisclaimerText | 600 | Optional |
| legalDisclaimerLabel | 15 | Optional |
| legalDisclaimerPopUpCopy | 4000 | Optional |
| imageAltText | 150 | Optional |
| logoAltText | 150 | Required |
skylineApp
| Text | Character Limit | Required/Optional |
|---|---|---|
| headline | 25 | Required |
| legalDisclaimerLabel | 15 | Optional |
| legalDisclaimerPopUpCopy | 4000 | Optional |
| logoAltText | 150 | Required |
skylineDesktopV2
| Text | Character Limit | Required/Optional |
|---|---|---|
| headline | 35 | Required |
| subhead | 40 | Optional |
| legalDisclaimerText | 600 | Optional |
| legalDisclaimerLabel | 15 | Optional |
| legalDisclaimerPopUpCopy | 4000 | Optional |
| imageAltText | 150 | Optional |
| logoAltText | 150 | Required |
skylineAppV2
| Text | Character Limit | Required/Optional |
|---|---|---|
| headline | 35 | Required |
| legalDisclaimerLabel | 15 | Optional |
| legalDisclaimerPopUpCopy | 4000 | Optional |
| logoAltText | 150 | Required |
skylineDesktopV3
| Text | Character Limit | Required/Optional |
|---|---|---|
| headline | 35 | Required |
| subhead | 40 | Optional |
| legalDisclaimerText | 600 | Optional |
| legalDisclaimerLabel | 15 | Optional |
| legalDisclaimerPopUpCopy | 4000 | Optional |
| imageAltText | 150 | Required |
| logoAltText | 150 | Required |
skylineAppV3
| Text | Character Limit | Required/Optional |
|---|---|---|
| headline | 35 | Required |
| legalDisclaimerLabel | 15 | Optional |
| legalDisclaimerPopUpCopy | 4000 | Optional |
| imageAltText | 150 | Required |
| logoAltText | 150 | Required |
brandboxDesktop
| Text | Character Limit | Required/Optional |
|---|---|---|
| headline | 25 | Required |
| subhead | 55 | Required |
| cta | 16 | Required |
| legalDisclaimerText | 600 | Optional |
| legalDisclaimerLabel | 15 | Optional |
| legalDisclaimerPopUpCopy | 4000 | Optional |
| imageAltText | 150 | Required |
| logoAltText | 150 | Required |
brandboxApp
| Text | Character Limit | Required/Optional |
|---|---|---|
| headline | 25 | Required |
| subhead | 55 | Required |
| legalDisclaimerText | 600 | Optional |
| legalDisclaimerLabel | 15 | Optional |
| legalDisclaimerPopUpCopy | 4000 | Optional |
| imageAltText | 150 | Required |
| logoAltText | 150 | Required |
galleryDesktop full/mini
| Text | Character Limit | Required/Optional |
|---|---|---|
| headline | 25 | Required |
| subhead | 55 | Required |
| cta | 16 | Required |
| legalDisclaimerText | 600 | Optional |
| legalDisclaimerLabel | 15 | Optional |
| legalDisclaimerPopUpCopy | 4000 | Optional |
| imageAltText | 150 | Required |
| logoAltText | 150 | Required |
galleryApp
| Text | Character Limit | Required/Optional |
|---|---|---|
| headline | 25 | Required |
| cta | 16 | Required |
| legalDisclaimerText | 600 | Optional |
| legalDisclaimerLabel | 15 | Optional |
| legalDisclaimerPopUpCopy | 4000 | Optional |
| imageAltText | 150 | Required |
| logoAltText | 150 | Required |
tileDesktop
| Text | Character Limit | Required/Optional |
|---|---|---|
| headline | 30 | Required |
| subhead | 35 | Required |
| cta | 15 | Required |
| legalDisclaimerText | 600 | Optional |
| legalDisclaimerLabel | 15 | Optional |
| legalDisclaimerPopUpCopy | 4000 | Optional |
| imageAltText | 150 | Required |
| logoAltText | 150 | Required |
tileApp
| Text | Character Limit | Required/Optional |
|---|---|---|
| headline | 30 | Required |
| subhead | 35 | Required |
| cta | 15 | Required |
| legalDisclaimerText | 600 | Optional |
| legalDisclaimerLabel | 15 | Optional |
| legalDisclaimerPopUpCopy | 4000 | Optional |
| imageAltText | 150 | Required |
| logoAltText | 150 | Required |
galleryEnlargedDesktopVideo
| Text | Character Limit | Required/Optional |
|---|---|---|
| headline | 25 | Required |
| cta | 12 | Required |
| legalDisclaimerLabel | 15 | Optional |
| legalDisclaimerPopUpCopy | 4000 | Optional |
| logoAltText | 150 | Required |
galleryEnlargedAppVideo
| Text | Character Limit | Required/Optional |
|---|---|---|
| headline | 20 | Required |
| cta | 12 | Required |
| legalDisclaimerLabel | 15 | Optional |
| legalDisclaimerPopUpCopy | 4000 | Optional |
| logoAltText | 150 | Required |
Please refer to the Appendix for details on the required, optional, and non-required assets for each ad unit, as well as the corresponding image dimension specifications
Sample Error Messages for Create Creative API
| Scenario | Error Message |
|---|---|
| field not found | $.<fieldName>: null found, string expected |
| text validations |
|
Headers
| Header Name | Description | Required | Values |
|---|---|---|---|
| Authorization | The token will provide you the access to the API. It is same for all advertisers you access through the API. | Y | Please utilize the generated auth_token shared with you at the time of partner onboarding from the Getting Started Guide |
| Content-Type | Format of the message body | Y | application/json |
| WM_CONSUMER.ID | Unique 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. | Y | Please 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_SIGNATURE | Signature for authentication | Y | Use the signature generator code from Getting Started Guide to generate this value |
| WM_SEC.KEY_VERSION | Key version. We will provide you with the KEY VERSION to access the API. It is same for all advertisers you access through the API. | Y | 1 |
| WM_CONSUMER.intimestamp | Timestamp for which the auth signature is generated. Use Unix epoch format for the timestamp. | Y | Use the signature generator code from Getting Started Guide to generate this value |
Sample Request: Create Creative
curl -X POST \ --location 'https://developer.api.us.stg.walmart.com/api-proxy/service/display/api/v1/api/v2/creatives' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <auth_token>' \ --header 'WM_CONSUMER.ID: <consumerId>' \ --header 'WM_SEC.KEY_VERSION: 1' \ --header 'WM_CONSUMER.INTIMESTAMP: 0000000000000' \ --header 'WM_SEC.AUTH_SIGNATURE: **************' \ --data '{ "advertiserId": 190001, "metadata": { "name": "A valid campaign name" }, "adUnits": [ { "adUnitName": "marqueeDesktop", "headline": "A valid Headline", "subhead": "A valid Subhead", "cta": "A valid CTA", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "desktopImage", "assetId": "00000000-0000-0000-0000-000000000001" }, { "name": "desktopLogo", "assetId": "00000000-0000-0000-0000-000000000002" } ] }, { "adUnitName": "marqueeApp", "headline": "A valid Headline", "subhead": "A valid Subhead", "cta": "A valid CTA", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "mobileImage", "assetId": "00000000-0000-0000-0000-000000000003" }, { "name": "mobileLogo", "assetId": "00000000-0000-0000-0000-000000000004" } ] }, { "adUnitName": "marqueeTablet", "imageAltText": "TextSample", "logoAltText": "LogoSample", "images": [ { "name": "tabletImage", "assetId": "uuid" }, { "name": "tabletLogo", "assetId": "uuid" } ] }, { "adUnitName": "skylineDesktop", "headline": "A valid Headline", "subhead": "A valid Subhead", "cta": "A valid CTA", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "desktopImage", "assetId": "00000000-0000-0000-0000-000000000005" }, { "name": "desktopLogo", "assetId": "00000000-0000-0000-0000-000000000006" } ] }, { "adUnitName": "skylineApp", "headline": "A valid Headline", "subhead": "A valid Subhead", "cta": "A valid CTA", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "mobileLogo", "assetId": "00000000-0000-0000-0000-000000000007" } ] }, { "adUnitName": "skylineDesktopV2", "headline": "A valid Headline", "subhead": "A valid Subhead", "cta": "A valid CTA", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "desktopImage", "assetId": "00000000-0000-0000-0000-000000000008" }, { "name": "desktopLogo", "assetId": "00000000-0000-0000-0000-000000000009" } ] }, { "adUnitName": "skylineDesktopV3", "headline": "A valid Headline", "logoAltText": "A valid logo alt text", "backgroundColorHex": "#123456", "textColor": "A valid text color", "imageAltText": "A valid image alt text", "images": [ { "name": "desktopImage", "assetId": "00000000-0000-0000-0000-000000000010" }, { "name": "desktopLogo", "assetId": "00000000-0000-0000-0000-000000000011" } ] }, { "adUnitName": "skylineAppV3", "headline": "A valid Headline", "logoAltText": "A valid logo alt text", "backgroundColorHex": "#654321", "textColor": "A valid text color", "imageAltText": "A valid image alt text", "images": [ { "name": "mobileImage", "assetId": "00000000-0000-0000-0000-000000000012" }, { "name": "mobileLogo", "assetId": "00000000-0000-0000-0000-000000000013" } ] }, { "adUnitName": "skylineAppV2", "headline": "A valid Headline", "subhead": "A valid Subhead", "cta": "A valid CTA", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "mobileLogo", "assetId": "00000000-0000-0000-0000-000000000014" } ] }, { "adUnitName": "brandboxDesktop", "headline": "A valid Headline", "subhead": "A valid Subhead", "cta": "A valid CTA", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "desktopImage", "assetId": "00000000-0000-0000-0000-000000000015" }, { "name": "desktopLogo", "assetId": "00000000-0000-0000-0000-000000000016" } ] }, { "adUnitName": "brandboxApp", "headline": "A valid Headline", "subhead": "A valid Subhead", "cta": "A valid CTA", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "mobileImage", "assetId": "00000000-0000-0000-0000-000000000017" }, { "name": "mobileLogo", "assetId": "00000000-0000-0000-0000-000000000018" } ] }, { "adUnitName": "galleryDesktop", "headline": "A valid Headline", "subhead": "A valid Subhead", "cta": "A valid CTA", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "desktopImage", "assetId": "00000000-0000-0000-0000-000000000019" }, { "name": "desktopLogo", "assetId": "00000000-0000-0000-0000-000000000020" } ] }, { "adUnitName": "galleryApp", "headline": "A valid Headline", "subhead": "A valid Subhead", "cta": "A valid CTA", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "mobileImage", "assetId": "00000000-0000-0000-0000-000000000021" }, { "name": "mobileLogo", "assetId": "00000000-0000-0000-0000-000000000022" } ] }, { "adUnitName": "tileDesktop", "headline": "A valid Headline", "subhead": "A valid Subhead", "cta": "A valid CTA", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "desktopImage", "assetId": "00000000-0000-0000-0000-000000000023" }, { "name": "desktopLogo", "assetId": "00000000-0000-0000-0000-000000000024" } ] }, { "adUnitName": "tileApp", "headline": "A valid Headline", "subhead": "A valid Subhead", "cta": "A valid CTA", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "mobileImage", "assetId": "00000000-0000-0000-0000-000000000025" }, { "name": "mobileLogo", "assetId": "00000000-0000-0000-0000-000000000026" } ] } ] }'
Sample Request 2: Create creative with Subscribe messaging
curl -X POST \ --location 'https://developer.api.us.stg.walmart.com/api-proxy/service/display/api/v1/api/v2/creatives' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <auth_token>' \ --header 'WM_CONSUMER.ID: <consumerId>' \ --header 'WM_SEC.KEY_VERSION: 1' \ --header 'WM_CONSUMER.INTIMESTAMP: 0000000000000' \ --header 'WM_SEC.AUTH_SIGNATURE: **************' \ --data '{ "advertiserId": 190001, "metadata": { "name": "A valid campaign name" }, "adUnits": [ { "adUnitName": "marqueeDesktop", "headline": "Subscribe today", "subhead": "Plan ahead & save time.", "cta": "Learn more", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "desktopImage", "assetId": "00000000-0000-0000-0000-000000000001" }, { "name": "desktopLogo", "assetId": "00000000-0000-0000-0000-000000000002" } ] }, { "adUnitName": "marqueeApp", "headline": "Simplify. Subscribe.", "subhead": "Start subscribing today.", "cta": "Learn more", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "mobileImage", "assetId": "00000000-0000-0000-0000-000000000003" }, { "name": "mobileLogo", "assetId": "00000000-0000-0000-0000-000000000004" } ] }, { { "adUnitName": "marqueeTablet", "imageAltText": "TextSample", "logoAltText": "LogoSample", "images": [ { "name": "tabletImage", "assetId": "uuid" }, { "name": "tabletLogo", "assetId": "uuid" } ] }, { "adUnitName": "skylineDesktop", "headline": "Subscribe & save time", "subhead": "Make your planning easier.", "cta": "Learn more", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "desktopImage", "assetId": "00000000-0000-0000-0000-000000000005" }, { "name": "desktopLogo", "assetId": "00000000-0000-0000-0000-000000000006" } ] }, { "adUnitName": "skylineApp", "headline": "Plan ahead & save time", "subhead": "Stay stocked. Subscribe today.", "cta": "Subscribe", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "mobileLogo", "assetId": "00000000-0000-0000-0000-000000000007" } ] }, { "adUnitName": "skylineDesktopV2", "headline": "Simplify your planning", "subhead": "Subscribe & save time later.", "cta": "Subscribe", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "desktopImage", "assetId": "00000000-0000-0000-0000-000000000008" }, { "name": "desktopLogo", "assetId": "00000000-0000-0000-0000-000000000009" } ] }, { "adUnitName": "skylineDesktopV3", "headline": "A valid Headline", "logoAltText": "A valid logo alt text", "backgroundColorHex": "#123456", "textColor": "A valid text color", "imageAltText": "A valid image alt text", "images": [ { "name": "desktopImage", "assetId": "00000000-0000-0000-0000-000000000010" }, { "name": "desktopLogo", "assetId": "00000000-0000-0000-0000-000000000011" } ] }, { "adUnitName": "skylineAppV3", "headline": "A valid Headline", "logoAltText": "A valid logo alt text", "backgroundColorHex": "#654321", "textColor": "A valid text color", "imageAltText": "A valid image alt text", "images": [ { "name": "mobileImage", "assetId": "00000000-0000-0000-0000-000000000012" }, { "name": "mobileLogo", "assetId": "00000000-0000-0000-0000-000000000013" } ] }, { "adUnitName": "skylineAppV2", "headline": "Subscribe today", "subhead": "Plan ahead & save time.", "cta": "Learn more", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "mobileLogo", "assetId": "00000000-0000-0000-0000-000000000014" } ] }, { "adUnitName": "brandboxDesktop", "headline": "Simplify. Subscribe.", "subhead": "Start subscribing today.", "cta": "Learn more", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "desktopImage", "assetId": "00000000-0000-0000-0000-000000000015" }, { "name": "desktopLogo", "assetId": "00000000-0000-0000-0000-000000000016" } ] }, { "adUnitName": "brandboxApp", "headline": "Subscribe & save time", "subhead": "Make your planning easier.", "cta": "Learn more", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "mobileImage", "assetId": "00000000-0000-0000-0000-000000000017" }, { "name": "mobileLogo", "assetId": "00000000-0000-0000-0000-000000000018" } ] }, { "adUnitName": "galleryDesktop", "headline": "Plan ahead & save time", "subhead": "Stay stocked. Subscribe today.", "cta": "Subscribe", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "desktopImage", "assetId": "00000000-0000-0000-0000-000000000019" }, { "name": "desktopLogo", "assetId": "00000000-0000-0000-0000-000000000020" } ] }, { "adUnitName": "galleryApp", "headline": "Plan ahead & save time", "subhead": "Stay stocked. Subscribe today.", "cta": "Subscribe", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "mobileImage", "assetId": "00000000-0000-0000-0000-000000000021" }, { "name": "mobileLogo", "assetId": "00000000-0000-0000-0000-000000000022" } ] }, { "adUnitName": "tileDesktop", "headline": "Plan ahead & save time", "subhead": "Stay stocked. Subscribe today.", "cta": "Subscribe", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "desktopImage", "assetId": "00000000-0000-0000-0000-000000000023" }, { "name": "desktopLogo", "assetId": "00000000-0000-0000-0000-000000000024" } ] }, { "adUnitName": "tileApp", "headline": "Plan ahead & save time", "subhead": "Stay stocked. Subscribe today.", "cta": "Subscribe", "imageAltText": "A valid image alt text", "logoAltText": "A valid logo alt text", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerText": "A valid legal disclaimer text", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "mobileImage", "assetId": "00000000-0000-0000-0000-000000000025" }, { "name": "mobileLogo", "assetId": "00000000-0000-0000-0000-000000000026" } ] }, { "adUnitName": "checkinVideo", "legalDisclaimerLabel": "Sample label", "legalDisclaimerPopUpCopy": "Sample disclaimer popup copy" }, { "adUnitName": "brandboxDesktopVideo", "headline": "Sample Headline", "subhead": "Sample Subhead", "cta": "Click Here", "logoAltText": "Sample logo alt text", "legalDisclaimerLabel": "Sample label", "legalDisclaimerPopUpCopy": "Sample disclaimer popup copy" }, { "adUnitName": "brandboxAppVideo", "headline": "Sample Headline", "subhead": "Sample Subhead", "cta": "Click Here", "logoAltText": "Sample logo alt text", "legalDisclaimerLabel": "Sample label", "legalDisclaimerPopUpCopy": "Sample disclaimer popup copy" } ], "subscribeEnabled": true, "associatedItems": [ "000000" ] }'
Sample Request 3: Create Creative (Video)
curl -X POST \
--location 'https: //developer.api.us.stg.walmart.com/api-proxy/service/display/api/v1/api/v2/creatives' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <auth_token>' \
--header 'WM_CONSUMER.ID: <consumerId>' \
--header 'WM_SEC.KEY_VERSION: 1' \
--header 'WM_CONSUMER.INTIMESTAMP: 0000000000000' \
--header 'WM_SEC.AUTH_SIGNATURE: **************' \
--data'{ "advertiserId": 190001, "metadata": { "name": "A valid creative name", "folderId": "abc-123" }, "adUnits": [ { "adUnitName": "brandboxAppVideo", "headline": "A valid Headline", "subhead": "A valid Subhead", "cta": "A valid CTA", "logoAltText": "image", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "mobileLogo", "assetId": "00000000-0000-0000-0000-000000000002" } ], "videos": [ { "name": "mainVideo", "assetId": "00000000-0000-0000-0000-000000000005" } ] }, { "adUnitName": "brandboxDesktopVideo", "headline": "A valid Headline", "subhead": "A valid Subhead", "cta": "A valid CTA", "logoAltText": "image", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerPopUpCopy": "A valid legal disclaimer pop up copy", "images": [ { "name": "desktopLogo", "assetId": "00000000-0000-0000-0000-000000000002" } ], "videos": [ { "name": "mainVideo", "assetId": "00000000-0000-0000-0000-000000000005" } ] }, { "adUnitName": "checkInVideo", "legalDisclaimerLabel": "A valid legal disclaimer label", "legalDisclaimerPopUpCopy": " A valid legal disclaimer pop up copy", "videos": [ { "name": "mainVideo", "assetId": "00000000-0000-0000-0000-000000000005" } ] } ]
}'Sample Request 4: Create Creative with composite image
curl -X POST \ --location 'https://developer.api.us.stg.walmart.com/api-proxy/service/display/api/v1/api/v2/creatives' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <auth_token>' \ --header 'WM_CONSUMER.ID: <consumerId>' \ --header 'WM_SEC.KEY_VERSION: 1' \ --header 'WM_CONSUMER.INTIMESTAMP: 0000000000000' \ --header 'WM_SEC.AUTH_SIGNATURE: **************' \ --data '{ "advertiserId": 190001, "metadata": { "name": "A valid creative name", "folderId": "abc-123" }, "adUnits": [ { "adUnitName": "marqueeDesktop", "headline": "The headline", "subhead": "The subhead.", "cta": "Learn more", "imageAltText": "A picture of our product", "logoAltText": "Our company logo", "legalDisclaimerText": "Disclaimer Text.", "legalDisclaimerLabel": "Popup title.", "legalDisclaimerPopUpCopy": "Popup Disclaimer Text.", "variantId": "436", "images": [ { "name": "desktopImage", "assetId": "<uuid of asset>" }, { "name": "additionalImage01", "assetId": "<uuid of asset>", "position": { "x": 0, "y": 0, "z": 3 }, "size": { "w": 100, "h": 100 } }, { "name": "desktopLogo", "assetId": "<uuid of asset>" } ], "textAssets": [ { "name": "text01", "text": "something", "position": { "x": 0, "y": 0, "z": 4 }, "size": { "w": 100, "h": 100 }, "textColor": "#c33333", "backgroundColor": "#69b38e" } ] } ] }'Sample Request 5
curl -X POST \ --location 'https://developer.api.us.stg.walmart.com/api-proxy/service/display/api/v1/api/v2/creatives' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <auth_token>' \ --header 'WM_CONSUMER.ID: <consumerId>' \ --header 'WM_SEC.KEY_VERSION: 1' \ --header 'WM_CONSUMER.INTIMESTAMP: 0000000000000' \ --header 'WM_SEC.AUTH_SIGNATURE: **************' \ --data '{ "advertiserId": 190001, "metadata": { "name": "A valid creative name", "folderId": "abc-123" }, "adUnits": [ { { "adUnitName": "galleryEnlargedDesktopVideo", "headline": "Our headline", "cta": "Shop now", "logoAltText": "Our company logo", "legalDisclaimerLabel": "Popup title.", "legalDisclaimerPopUpCopy": "Popup Disclaimer. The quick brown fox jumped over the lazy dog.", "videos": [ { "name": "mainVideo", "assetId":"<assetid>" } ], "images": [ { "name": "desktopLogo", "assetId":"<assetid>" } ] }, { "adUnitName": "galleryEnlargedAppVideo", "headline": "Our headline", "cta": "Shop now", "logoAltText": "Our company logo", "legalDisclaimerLabel": "Popup title.", "legalDisclaimerPopUpCopy": "Popup Disclaimer. The quick brown fox jumped over the lazy dog.", "videos": [ { "name": "mainVideo", "assetId":"<assetid>" } ], "images": [ { "name": "mobileLogo", "assetId":"<assetid>" } ] } ] }'Response
| Element | Description | Optional field/Nullable? | Type | Possible values |
|---|---|---|---|---|
| code | The response code can have following values:
| N | string | |
| details | Possible values of details:
| N | string | Refer to this link for detailed error messages |
| creativeId | ID of the creative. It is returned in response only if code=success | string | ||
| message | Details of the error if value of code is failure and validation errors were found | Y | string | |
| errors | Detailed information about one or more errors, including the affected field (when applicable), error code, and a human-readable description. | Y | array<object> |
errors Array Object Details
| Field | Description | Optional field/Nullable? | Type | Possible values |
|---|---|---|---|---|
| field | JSON field associated with the error. Omitted if the error applies to the request as a whole. | Y | string | |
| errorType | Machine-readable error code that uniquely identifies the error condition. Applications should use this value for error handling logic. | N | string | |
| description | Human-readable explanation of the error, including why the request failed and, when possible, how to resolve it | N | string |
Sample Response 1
[ { "code": "success", "creativeId": "aaaa3333-aa33-aa33-aa33-aaaaaa333333", "details": [ "SUCCESS" ] }
]Sample Response 1- Failure
[ { "code": "failure", "message": "Found 8 validation error(s).", "errors": [ { "field": "$.adUnits[marqueeDesktop].headline", "errorType": "E_SCHEMA_FIELD_INVALID", "description": "$.adUnits[marqueeDesktop].headline must be at least 1 characters long. Check your input." }, { "field": "$.adUnits[marqueeDesktop].subhead", "errorType": "E_TEXT_MISSING_PUNCTUATION", "description": "$.adUnits[marqueeDesktop].subhead does not end with a period(.), exclamation(!), question(?), or an asterisk(*). Ensure text ends with one of: . ! ? *" }, { "field": "$.adUnits[marqueeDesktop].cta", "errorType": "E_TEXT_INVALID_CASING", "description": "$.adUnits[marqueeDesktop].cta does not follow sentence casing. Capitalize only the first letter; keep the rest lowercase." }, { "field": "$.adUnits[marqueeDesktop].imageAltText", "errorType": "E_ALT_TEXT_BLANK", "description": "$.adUnits[marqueeDesktop].imageAltText must be at least 1 characters long. Provide descriptive alt text for the image." }, { "field": "$.adUnits[marqueeDesktop].logoAltText", "errorType": "E_ALT_TEXT_BLANK", "description": "$.adUnits[marqueeDesktop].logoAltText must be at least 1 characters long. Provide descriptive alt text for the image." }, { "field": "$.adUnits[marqueeDesktop].images", "errorType": "E_SCHEMA_FIELD_INVALID", "description": "$.adUnits[marqueeDesktop].images: null found, array expected. Check your input." }, { "field": "$.adUnits[marqueeDesktop].disclaimer", "errorType": "E_SCHEMA_FIELD_INVALID", "description": "Disclaimer pop-up copy and label must be used together. Check your input." }, { "field": "$.metadata.templateId", "errorType": "E_SCHEMA_FIELD_INVALID", "description": "$.metadata.templateId does not have a value in the enumeration [436]. Check your input." } ], "details": [ "E_SCHEMA_FIELD_INVALID", "E_TEXT_MISSING_PUNCTUATION", "E_TEXT_INVALID_CASING", "E_ALT_TEXT_BLANK" ] }
]Sample Response 2- Failure
[ { "code": "failure", "message": "Found 1 validation error(s).", "errors": [ { "field": "$.adUnits[skylineDesktopV3].backgroundColorHex", "errorType": "E_INVALID_COLOR_HEX", "description": "$.adUnits[skylineDesktopV3].backgroundColorHex should be a valid hexadecimal color code. Use a 6-digit hex color code, e.g. #1A2B3C." } ], "details": [ "E_INVALID_COLOR_HEX" ] }
]Sample Response 3 - Failure
[ { "code": "failure", "message": "Found 1 validation error(s).", "errors": [ { "field": "$.adUnits[skylineDesktopV3].textColor", "errorType": "E_INVALID_TEXT_COLOR", "description": "$.adUnits[skylineDesktopV3].textColor text color can only be 'white' or 'gray'. Set text color to 'white' or 'gray'." } ], "details": [ "E_INVALID_TEXT_COLOR" ] }
]Note: textColor and backgroundColorHex must meet WCAG contrast requirements.
Sample Response 4 - Failure
[ { "code": "failure", "message": "Found 1 validation error(s).", "errors": [ { "field": "$.adUnits[skylineDesktopV3].textColor", "errorType": "E_INVALID_TEXT_COLOR", "description": "Background color does not meet WCAG contrast requirements with the provided text color. Please choose a different combination. Set text color to 'white' or 'gray'." } ], "details": [ "E_INVALID_TEXT_COLOR" ] }
]Note: backgroundColorHex is validated against Walmart reserved colors. If validation does not pass, some related colors will be suggested.
Sample Response 5 - Failure
[ { "code": "failure", "message": "Found 1 validation error(s).", "errors": [ { "field": "$.adUnits[skylineDesktopV3].backgroundColorHex", "errorType": "E_INVALID_COLOR_HEX", "description": "Background color violates Walmart color guidelines: #ff0000. Here are some color suggestions: #ED013B, #E40038, #DB0230, #D2012E, #C80226, #BF011E, #C00018, #B7000F, #B70006, #B50B00, #B01D00, #B32A00, #AF3100, #B33900, #BA4900, #C24D01, #C65401. Use a 6-digit hex color code, e.g. #1A2B3C." } ], "details": [ "E_INVALID_COLOR_HEX" ] }
]Sample Response 6 - Failure
[ { "code": "failure", "message": "Found 1 validation error(s).", "errors": [ { "field": "$.adUnits[skylineDesktopV3].textColor", "errorType": "E_INVALID_TEXT_COLOR", "description": "Text color 'white' is not valid with default background color (#F8F8F8) due to WCAG contrast requirements. Set text color to 'white' or 'gray'." } ], "details": [ "E_INVALID_TEXT_COLOR" ] }
]Updated about 18 hours ago
