SBA Profile 
Overview 
Search Brand Amplifier (SBA) is a unique search solution to improve brand recognition and showcase your product portfolio. It’s a premium search placement that showcases your brand and a curated product portfolio to customers actively searching Sam's Club's site and app for products like yours.
Your logo, a custom headline, and up to four SKUs appear together above relevant search results, with clickable links.
Use the Search Brand Amplifier profile API to create, retrieve, or update Search Brand Amplifier products profiles. 
A Search Brand Amplifier profile comprises the following components
Brand Logo
format: .png  
size ≤ 200 Kb 
should be 100*100 px 
 
 
Brand Name (maximum of 35 characters) 
Headline Text (maximum of 45 characters) 
Logo Click URL
must be a https://www.samsclub.com  
should be a browse or search page for the brand 
cannot contain any of the characters referenced in clickUrl requirements 
 
 
 
Note:  Only enabled SBA profile can be updated by using v1 version of URL. We recommend to use v2 version of the APIs (/api/v2/sba_profile), as v1 version will be deprecated in a future release.
To understand details about ‘Request Header' or 'Authorization’,
please refer to the Authorization Guide 
List All SBA Profiles 
Description:  Retrieve the SBA profile for a given Campaign and Ad Group.
End Point:  /api/v2/sba_profile
HTTP Method:  GET
Query Parameters 
Parameter Description Type Required Possible Values  
 
campaignId 
The ID of the campaign. It returns a specific campaign in response 
Integer 
N 
A valid campaignId 
 
adGroupId 
ID of the ad group 
Integer 
Y 
A valid adgroupId 
 
 
Sample Request 
Curl Java Node JS Python 
curl   -- location   
' https : //developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/sba_profile?adGroupId={adGroupId}' 
-- header   ' Authorization :   Bearer   ********************* ' 
-- header   ' accept :   application / json ' 
-- header   ' WM_SEC . AUTH_SIGNATURE :   ************** ' 
-- header   ' WM_SEC . KEY_VERSION :   2 ' 
-- header   ' WM_CONSUMER . ID :   *********** ' 
-- header   ' WM_CONSUMER . intimestamp :   1565309779 ' 
 
OkHttpClient   client   =   new   OkHttpClient (). newBuilder (). build (); 
MediaType   mediaType   =   MediaType . parse ( "text/plain" ); 
RequestBody   body   =   RequestBody . create ( mediaType ,   "" ); 
Request   request   =   new   Request . Builder () 
. url ( "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/sba_profile?adGroupId={adGroupId}" ) 
. method ( "GET" ,   body ) 
. addHeader ( "Authorization" ,   "Bearer *********************" ) 
. addHeader ( "wm_consumer.id" ,   "*************" ) 
. addHeader ( "wm_sec.key_version" ,   "2" ) 
. addHeader ( "wm_sec.auth_signature" ,   "*************" ) 
. addHeader ( "wm_qos.correlation_id" ,   "12345" ) 
. addHeader ( "wm_consumer.intimestamp" ,   "1700221256000" ). build (); 
Response   response   =   client . newCall ( request ). execute ();    
 
const   axios   =   require ( 'axios' );   
let   config   =   {   
method :   'get' ,   
maxBodyLength :   Infinity ,   
url :   'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/sba_profile?adGroupId={adGroupId}' ,   
headers :   {    
     'wm_consumer.id' :   '****************' ,    
     'wm_sec.key_version' :   '2' ,    
     'wm_sec.auth_signature' :   '**************' ,    
     'wm_qos.correlation_id' :   '12345' ,    
     'wm_consumer.intimestamp' :   '**************' ,    
     'Authorization' :   'Bearer ****************'   
}   
};   
axios . request ( config )   
. then (( response )   =>   {   
console . log ( JSON . stringify ( response . data ));   
})   
. catch (( error )   =>   {   
console . log ( error );   
});   
 
import   requests  
url  =  "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/sba_profile?adGroupId= {adGroupId} "  
payload  =  {}  
headers  =  {  
'Authorization' :  'Bearer ******************' , 
'wm_consumer.id' :  '************' ,  
'wm_sec.key_version' :  '2' ,  
'wm_sec.auth_signature' :  '************' ,  
'wm_qos.correlation_id' :  '12345' ,  
'wm_consumer.intimestamp' :  '1706707584000' 
}  
response  =  requests . request ( "GET" ,  url ,  headers = headers ,  data = payload )  
print ( response . text )  
 
 
Response 
Element Description Type  
 
searchAmpName 
Brand Name 
String 
 
headlineText 
Headline to be displayed on Banner ad 
String 
 
logoUrl 
Url for for the brand image that is displayed on the ad 
String 
 
clickUrl 
Url that customer is directed to when they click on the ad 
String 
 
reviewStatus 
Status of AdOps review of SBA profile. Expected values: pending , complete 
String 
 
reviewReason 
Reason for rejection of SBA profile.If approved , this field is returned as null value 
String 
 
sbaProfileId 
5 digit ID for the SBA profile 
Integer 
 
status 
Status of the SBA profile. Expected values : enabled, disabled 
String 
 
campaignId 
The ID of the campaign 
Integer 
 
adGroupId 
ID of the ad group that is part of the campaign 
Integer 
 
 
Sample Response 
[
    {
        "searchAmpName": "Hello",
        "headlineText": "SBAProfile",
        "logoUrl": "https://i5.walmartimages.com/dfw/9fa19e5c-d9/k2-_c18d5e56-990e-4e30-a6d1-150df1204eb7.v2.png",
        "clickUrl": "https://www.samsclub.com",
        "reviewStatus": "pending",
        "reviewReason": null,
        "sbaProfileId": 11674,
        "status": "enabled",
        "campaignId": 21913,
        "adGroupId": 770837591
    }
]
HTTP Status Code 
Status Code Description Possible Error Messages  
 
400 
Bad Request 
 CampaignId not found in request  adGroupId not found in request    
403 
Forbidden 
  User not Authenticated  AdOps role does not access to any campaigns   You don't have access to this advertiser    
404 
Not Found 
 AdGroup not found  Campaign not found     
422 
Operation Not Allowed 
Please use AdGroupMedia endpoints for AdGroupMedia 
 
429 
Too Many Requests 
<Exception Message> 
 
500 
Internal Server Error 
There was an error processing the request 
 
 
Create SBA Profile 
Description:  Create an SBA profile for an Adgroup or multiple SBA profiles for AdGroups all at once.
End Point:  /api/v2/sba_profile
HTTP Method:  POST
Body Parameters 
Parameter Description Type Required Possible Values  
 
campaignId 
The ID of the campaign. It returns a specific campaign in response 
Integer 
Y 
A valid campaign ID 
 
adgroupId 
ID of the ad group that is part of the campaign 
Integer 
Y 
Unique numeric identifier 
 
searchAmpName 
The Brand name that will be displayed to the customer 
String 
Y 
Brand name 
 
clickUrl 
The click url that the customer will be directed when they click on the advertisement 
String 
Y 
Clickable URL must be https://www.samsclub.com URL that displays product(s) for the advertised brand.  
 
 
Sample Request 
Curl Java Node JS Python 
curl   -- location    
' https : //developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/sba_profile' 
-- header   ' Authorization :   Bearer   ********************* ' 
-- header   ' accept :   application / json ' 
-- header   ' WM_SEC . AUTH_SIGNATURE :   ************** ' 
-- header   ' WM_SEC . KEY_VERSION :   2 '   
-- header   ' WM_CONSUMER . ID :   ************* ' 
-- header   ' WM_CONSUMER . intimestamp :   1565309779 ' 
-- header   ' Content - Type :   application / json ' 
-- data   ' [   
     { 
         "campaignId" :   1234 , 
         "adGroupId" :   1234 , 
         "searchAmpName" :   "Brand1" , 
         "headlineText" :   "SBAProfile" , 
         "clickUrl" :   "https://www.samsclub.com" 
     } 
] ' 
 
OkHttpClient   client   =   new   OkHttpClient (). newBuilder (). build (); 
MediaType   mediaType   =   MediaType . parse ( "application/json" ); 
RequestBody   body   =   RequestBody . create ( mediaType ,   
[ 
     { 
         "campaignId" :   1234 , 
         "adGroupId" :   1234 , 
         "searchAmpName" :   "Brand1" , 
         "headlineText" :   "SBAProfile" , 
         "clickUrl" :   "https://www.samsclub.com" 
     } 
] ); 
Request   request   =   new   Request . Builder () 
. url ( "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/sba_profile" ) 
. method ( "POST" ,   body ) 
. addHeader ( "Authorization" ,   "Bearer *********************" ) 
. addHeader ( "wm_consumer.id" ,   "*************" ) 
. addHeader ( "wm_sec.key_version" ,   "2" ) 
. addHeader ( "wm_sec.auth_signature" ,   "*************" ) 
. addHeader ( "wm_qos.correlation_id" ,   "12345" ) 
. addHeader ( "wm_consumer.intimestamp" ,   "1700221256000" ) 
. addHeader ( "Content-Type" ,   "application/json" ). build (); 
Response   response   =   client . newCall ( request ). execute (); 
 
const   axios   =   require ( 'axios' );   
let   data   =   JSON . stringify ([   
{   
     "campaignId" :   1234 , 
         "adGroupId" :   1234 , 
         "searchAmpName" :   "Brand1" , 
         "headlineText" :   "SBAProfile" , 
         "clickUrl" :   "https://www.samsclub.com" 
}   
]);   
let   config   =   {   
method :   'post' ,   
maxBodyLength :   Infinity ,   
url :   'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/sba_profile' ,   
headers :   {    
     'wm_consumer.id' :   '****************' ,    
     'wm_sec.key_version' :   '2' ,    
     'wm_sec.auth_signature' :   '**************' ,    
     'wm_qos.correlation_id' :   '12345' ,    
     'wm_consumer.intimestamp' :   '**************' ,    
     'Content-Type' :   'application/json' ,    
     'Authorization' :   'Bearer ****************'   
},   
data   :   data   
};   
axios . request ( config )   
. then (( response )   =>   {   
console . log ( JSON . stringify ( response . data ));   
})   
. catch (( error )   =>   {   
console . log ( error );   
});   
 
import   requests  
url  =  "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/sba_profile" 
payload  =  "[{ 
"campaignId" :  1234 , 
"adGroupId" :  1234 , 
"searchAmpName" :  "Brand1" , 
"headlineText" :  "SBAProfile" , 
"clickUrl" :  "https://www.samsclub.com" 
}] "  
headers  =  {  
'Authorization' :  'Bearer ******************' , 
'wm_consumer.id' :  '************' ,  
'wm_sec.key_version' :  '2' ,  
'wm_sec.auth_signature' :  '***********' ,  
'wm_qos.correlation_id' :  '12345' ,  
'wm_consumer.intimestamp' :  '1706706861000' , 
'Content-Type' :  'application/json' 
}  
response  =  requests . request ( "POST" ,  url ,  headers = headers ,  data = payload )  
print ( response . text )  
 
 
Response 
Element Description Type  
 
code 
Possible values of response code: success or failure 
String 
 
details 
Details of the error if response code is failure 
String 
 
sbaProfileId 
ID of the SBA profile 
Integer 
 
 
Sample Response 
[
    {
        "code": "success",
        "details": "",
        "sbaProfileId": 11674
    },
    {
        "code": "failure",
        "details": "",
        "sbaProfileId": 11675
    }
]
HTTP Status Code 
Status Code Description Possible Error Messages  
 
200 
OK 
  Exception in creating SBA Profile   There was an error processing the request     
400 
Bad Request 
 Maximum allowed size in batch is 50  empty input    
403 
Forbidden 
  User not Authenticated  AdOps role does not access to any campaigns   You don't have access to this advertiser    
404 
Not Found 
 AdGroup not found  Campaign not found     
422 
Operation Not Allowed 
 Cannot define SBA Profile for <campaignType> campaigns  Campaign is Under review, adding is not allowed  AdGroup already has media defined, please update existing instead of defining new one  AdGroup already has search amplifier defined, please update existing instead of defining new one   Please use V2 endpoints for multiple sba profiles  Cannot be more than 2 sba profiles in an adGroup     
429 
Too Many Requests 
<Exception Message> 
 
500 
Internal Server Error 
There was an error processing the request 
 
 
Update SBA Profile 
Description:  You can update Search Brand Amplifier profile for a live Search Brand Amplifier campaign as well. To update the enabled Search Brand Amplifier profile in a live campaign, you will have to pause the campaign, update the profile, and submit it for review.
End Point:  /api/v2/sba_profile
HTTP Method:  PUT
Body Parameters 
Parameter Description Type Required Possible Values  
 
campaignId 
The ID of the campaign. It returns a specific campaign in response 
Integer 
Y 
A valid campaign ID 
 
adgroupId 
ID of the ad group that is part of the campaign 
Integer 
Y 
Unique numeric identifier 
 
sbaProfileId 
The ID of the SBA profile to be edited 
Integer 
Y 
A valid SBA profile ID 
 
searchAmpName 
The Brand name that will be displayed to the customer 
String 
Y 
Brand name 
 
headlineText 
The headline of the advertisement that will be displayed to the customer 
String 
Y 
Headline String 
 
clickUrl 
The click url that the customer will be directed when they click on the advertisement 
String 
Y 
http://samsclub.com*  
 
status 
The status of the SBA profile 
String 
Y 
enabled, disabled 
 
 
Sample Request 
Curl Java Node JS Python 
curl   -- location   -- request   PUT   
' https : //developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/sba_profile' 
-- header   ' Authorization :   Bearer   ********************* ' 
-- header   ' Content - Type :   application / json ' 
-- header   ' accept :   application / json ' 
-- header   ' WM_SEC . AUTH_SIGNATURE :   ************** ' 
-- header   ' WM_SEC . KEY_VERSION :   2 '   
-- header   ' WM_CONSUMER . ID :   ************* ' 
-- header   ' WM_CONSUMER . intimestamp :   1565309779 ' 
-- data   ' [{ 
    "campaignId" :   1234 
         "adGroupId" :   1234 , 
         "sbaProfileId" :   , 
         "searchAmpName" :   "Member's Mark" , 
         "headlineText" :   "Sample keywords approval" , 
         "clickUrl" :   "https://www.samsclub.com/typeahead=" , 
         "status" :   "enabled" 
}] ' 
 
OkHttpClient   client   =   new   OkHttpClient (). newBuilder (). build (); 
MediaType   mediaType   =   MediaType . parse ( "application/json" ); 
RequestBody   body   =   RequestBody . create ( mediaType , 
[ 
     { 
         "campaignId" :   1234 
         "adGroupId" :   1234 , 
         "sbaProfileId" :   , 
         "searchAmpName" :   "Member's Mark" , 
         "headlineText" :   "Sample keywords approval" , 
         "clickUrl" :   "https://www.samsclub.com/typeahead=" , 
         "status" :   "enabled" 
     } 
] ); 
Request   request   =   new   Request . Builder () 
. url ( "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/sba_profile" ) 
. method ( "PUT" ,   body ) 
. addHeader ( "Authorization" ,   "Bearer *********************" ) 
. addHeader ( "wm_consumer.id" ,   "*************" ) 
. addHeader ( "wm_sec.key_version" ,   "2" ) 
. addHeader ( "wm_sec.auth_signature" ,   "*************" ) 
. addHeader ( "wm_qos.correlation_id" ,   "12345" ) 
. addHeader ( "wm_consumer.intimestamp" ,   "1700221256000" ) 
. addHeader ( "Content-Type" ,   "application/json" ). build (); 
Response   response   =   client . newCall ( request ). execute (); 
 
const   axios   =   require ( 'axios' );   
let   data   =   JSON . stringify ([   
{   
     "campaignId" :   1234 , 
     "adGroupId" :   1234 , 
     "sbaProfileId" :   , 
     "searchAmpName" :   "Member's Mark" , 
     "headlineText" :   "Sample keywords approval" , 
     "clickUrl" :   "https://www.samsclub.com/typeahead=" , 
     "status" :   "enabled"   
}   
]);   
let   config   =   {   
method :   'put' ,   
maxBodyLength :   Infinity ,   
url :   'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v1/sba_profile' ,   
headers :   {    
     'wm_consumer.id' :   '****************' ,    
     'wm_sec.key_version' :   '2' ,    
     'wm_sec.auth_signature' :   '' ,    
     'wm_qos.correlation_id' :   '12345' ,    
     'wm_consumer.intimestamp' :   '' ,    
     'Content-Type' :   'application/json' ,    
     'Authorization' :   'Bearer ****************'   
},   
data   :   data   
};   
axios . request ( config )   
. then (( response )   =>   {   
console . log ( JSON . stringify ( response . data ));   
})   
. catch (( error )   =>   {   
console . log ( error );   
});   
 
import   requests 
import   json 
url  =  "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/sba_profile" 
payload  =  "[  
{  
"campaignId" :  1234 , 
"adGroupId" :  1234 , 
"sbaProfileId" :  , 
"searchAmpName" :  "Member's Mark" , 
"headlineText" :  "sample keywords approval" , 
"clickUrl" :  "https://www.samsclub.com/typeahead1=" , 
"status" :  "enabled"   
}] "  
headers  =  {  
'Authorization' :  'Bearer ******************' , 
'wm_consumer.id' :  '************' ,  
'wm_sec.key_version' :  '2' ,  
'wm_sec.auth_signature' :  '************' ,  
'wm_qos.correlation_id' :  '12345' ,  
'wm_consumer.intimestamp' :  '1706707710000' , 
'Content-Type' :  'application/json' , 
}  
response  =  requests . request ( "PUT" ,  url ,  headers = headers ,  data = payload )  
print ( response . text )  
 
 
Response 
Element Description Type  
 
code 
Possible values of response code: success, failure 
String 
 
details 
Details of the error if response code is failure 
String 
 
sbaProfileId 
ID of the Search Brand Amplifier profile 
Integer 
 
 
Sample Responses 
[
    {
        "code": "success",
        "details": "",
        "sbaProfileId": 11674
    },
    {
        "code": "success",
        "details": "",
        "sbaProfileId": 11675
    }
]
HTTP Status Code 
Status Code Description Possible Error Messages  
 
400 
Bad Request 
 Maximum allowed size in batch is 50  empty input   Sba Profile Id validation failed   Please use V2 endpoints for multiple sba profiles   You cannot both update and enable this in the same time when campaign is active, because it was previously approved   
403 
Forbidden 
  User not Authenticated  AdOps role does not access to any campaigns   You don't have access to this advertiser   
404 
Not Found 
 AdGroup not found  Campaign not found   SBA Profile details not found for AdGroup   AdGroup Media not found for AdGroup  This endpoint is not allowed for this campaign type.   
422 
Operation Not Allowed 
 Campaign is Under review, modifying is not allowed   Please use sbaProfile endpoints for sbaProfile   Please use AdGroupMedia endpoints for AdGroupMedia   Cannot define adGroup media for these campaigns   You cannot update the enabled one for campaigns which are scheduled or currently live   Disabled one cannot be enabled without approval for campaigns which are scheduled or currently live     
429 
Too Many Requests 
<Exception Message> 
 
500 
Internal Server Error 
There was an error processing the request 
 
 
Upload SBA Profile Logo 
Description:  Upload a logo image to an SBA profile by SBA profile ID.
End Point:  /api/v2/sba_profile_image_upload
HTTP Method:  POST
Form Parameters 
Parameter Description Type Required Possible Values  
 
file 
Image to be uploaded(File must be less than 1MB) 
File 
Y 
Valid directory on computer of image to be uploaded 
 
sbaBaseProfileRequest 
The campaign ID, adgroupId and sbaProfile ID of the SBA profile that the image will be uploaded to 
String 
Y 
{"campaignId": "54321", "adGroupId": "777777777", "sbaProfileId": "12345"} 
 
 
Sample Request 
Curl Java Node JS Python 
curl   -- location    
' https : //developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/sba_profile_image_upload' 
-- header   ' Authorization :   Bearer   ********************* ' 
-- header   ' Content - Type :   application / json ' 
-- header   ' accept :   application / json ' 
-- header   ' WM_SEC . AUTH_SIGNATURE :   ************** ' 
-- header   ' WM_SEC . KEY_VERSION :   2 '   
-- header   ' WM_CONSUMER . ID :   ****************** ' 
-- header   ' WM_CONSUMER . intimestamp :   1565309779 ' 
-- form   ' file = @ "/Directory/of/file" ' 
-- form   ' SBABaseProfileRequest = ' { 
     "campaignId" :   1234 , 
     "adGroupId" :   1234 , 
     "sbaProfileId" :   1234 
} '' 
 
OkHttpClient   client   =   new   OkHttpClient (). newBuilder (). build (); 
MediaType   mediaType   =   MediaType . parse ( "text/plain" ); 
RequestBody   body   =   new   MultipartBody . Builder (). setType ( MultipartBody . FORM ) 
. addFormDataPart ( "file" , "/Users/vn53q3k/Desktop/walmart.png" ) 
. addFormDataPart ( "SBABaseProfileRequest" , 
"{ 
    " campaignId ": 1234, 
    " adGroupId ": 1234, 
    " sbaProfileId ": 1234 
}" ). build (); 
Request   request   =   new   Request . Builder () 
. url ( "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/sba_profile_image_upload" ) 
. method ( "POST" ,   body ) 
. addHeader ( "Authorization" ,   "Bearer *********************" ) 
. addHeader ( "wm_consumer.id" ,   "*************" ) 
. addHeader ( "wm_sec.key_version" ,   "2" ) 
. addHeader ( "wm_sec.auth_signature" ,   "*************" ) 
. addHeader ( "wm_qos.correlation_id" ,   "12345" ) 
. addHeader ( "wm_consumer.intimestamp" ,   "1700221256000" ) 
. addHeader ( "Content-Type" ,   "application/json" ). build (); 
Response   response   =   client . newCall ( request ). execute (); 
 
const   axios   =   require ( 'axios' );   
const   FormData   =   require ( 'form-data' );   
const   fs   =   require ( 'fs' );   
let   data   =   new   FormData ();   
data . append ( 'SBABaseProfileRequest' ,   
'{ 
    "campaignId": 1234,  
    "adGroupId": 1234 ,  
    "sbaProfileId": 1234 
 }' 
  );   
data . append   ( 'file' ,   fs . createReadStream   ( '///dwshome-c.homeoffice.wal-mart.com/dwsuserdata$/vn56eoq/Downloads/sam' s   image . png '));  
let config = {  
method: ' post ',  
maxBodyLength: Infinity,  
url: ' https : //developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/sba_profile_image_upload',  
headers :   {    
     'wm_consumer.id' :   '****************' ,    
     'wm_sec.key_version' :   '2' ,    
     'wm_sec.auth_signature' :   '*************' ,    
     'wm_qos.correlation_id' :   '12345' ,    
     'wm_consumer.intimestamp' :   '*************' ,    
     'Authorization' :   'Bearer ****************' ,    
... data . getHeaders ()   
},   
data   :   data 
};   
axios . request ( config )   
. then (( response )   =>   {   
console . log ( JSON . stringify ( response . data ));   
})   
. catch (( error )   =>   {   
console . log ( error );   
});   
 
import   requests  
url  =  "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/sba_profile_image_upload"  
payload  =  
{ 
'SBABaseProfileRequest' :  
'{ 
"campaignId" :  1234 , 
"adGroupId" :  1234 ,  
"sbaProfileId" :  1234 
} ' 
}  
files = [  
( 'file' ,( 'sam' s  image . png ',open(' /// dwshome - c . homeoffice . wal - mart . com / dwsuserdata $ / vn56eoq / Downloads / sam \'s image.png' , 'rb' ), 'image/png' ))  
]  
headers  =  {  
'Authorization' :  'Bearer ******************' , 
'wm_consumer.id' :  '************' ,  
'wm_sec.key_version' :  '2' ,  
'wm_sec.auth_signature' :  '************' ,  
'wm_qos.correlation_id' :  '12345' ,  
'wm_consumer.intimestamp' :  '1706708199000' , 
'Content-Type' :  'application/json' 
}  
response  =  requests . request ( "POST" ,  url ,  headers = headers ,  data = payload ,  files = files )  
print ( response . text )  
 
 
Response 
Element Description Type  
 
code 
Possible values of response code: success, failure 
String 
 
details 
Details of the error if response code is failure 
String 
 
sbaProfileId 
ID of the Search Brand Amplifier profile 
Integer 
 
 
Sample Response 
[
    {
        "code": "success",
        "details": "",
        "sbaProfileId": 11674
    }
]
HTTP Status Code 
Status Code Description Possible Error Messages  
 
200 
OK 
 Invalid Upload Request   Missing FILE   Missing form param <SBABaseProfileRequest>  Unable to upload the image     
400 
Bad Request 
 Campaign Id validation failed  AdGroup Id validation failed  Sba Profile Id validation failed  File name cannot be empty  File size exceeds maximum limit of 1024 Kb  Invalid ContentType. Media Type image/png allowed only  ContentType and mimeType does not match  empty input  Sba Profile Id validation failed  Please use V2 endpoints for multiple sba profiles  You cannot both update and enable this in the same time when campaign is active, because it was previously approved    
403 
Forbidden 
  User not Authenticated  AdOps role does not access to any campaigns   You don't have access to this advertiser    
404 
Not Found 
AdGroup not found 
 
422 
Operation Not Allowed 
 Campaign is Under review, modifying is not allowed  Please use sbaProfile endpoints for sbaProfile  Please use AdGroupMediaendpoints for AdGroupMedia  Cannot define adGroup media for this campaigns  You cannot update the enabled one for campaigns which are scheduled or currently live  Disabled one cannot be enabled without approval for campaigns which are scheduled or currently live     
429 
Too Many Requests 
<Exception Message> 
 
500 
Internal Server Error 
  WSResponse is not 200 or 409, it was: <statusCode> Error in uploading the file  There was an error processing the request