Update marketing settings
Configure abandoned-cart reminders and optional coupon incentives.
Coupon IDs are scoped to the current store. Reminder delays are expressed in hours. min_total_cents and max_total_cents use integer minor units.
PATCH merges supplied abandoned-cart fields with the existing configuration. To disable abandoned-cart emails while retaining the schedule and thresholds, send only abandoned_cart.enabled as false. PUT replaces the configuration; reminders are required when the replacement enables abandoned-cart emails.
Reminder slots must be contiguous and strictly increasing: a third reminder cannot be configured without a second reminder.
When both coupon_id and send_incentive_on_step are configured, the persisted incentive_mode is existing_coupon; otherwise it is none.
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Select the SellApp store for this API request.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X PATCH "https://sell.app/api/v2/store/settings/marketing" \ -H "Content-Type: application/json" \ -d '{ "abandoned_cart": {} }'{
"data": {
"id": 0,
"name": "string",
"slug": "string",
"visibility": "PUBLIC",
"timezone": "string",
"currency": "str",
"dark_mode": "light",
"status": {
"accessible": true,
"verified": true,
"locked": true
},
"analytics": {
"ga4_measurement_id": "string",
"meta_pixel_id": "string",
"tiktok_pixel_id": "string",
"ga4_api_secret_configured": true,
"meta_access_token_configured": true,
"tiktok_access_token_configured": true
},
"marketing": {
"abandoned_cart": {}
}
}
}{
"message": "Unauthenticated."
}{
"message": "This action is unauthorized."
}{
"message": "The given data was invalid.",
"errors": {
"data": [
"The data field is required."
]
}
}Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Select the SellApp store for this API request.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X PUT "https://sell.app/api/v2/store/settings/marketing" \ -H "Content-Type: application/json" \ -d '{ "abandoned_cart": { "enabled": true, "reminders": [] } }'{
"data": {
"id": 0,
"name": "string",
"slug": "string",
"visibility": "PUBLIC",
"timezone": "string",
"currency": "str",
"dark_mode": "light",
"status": {
"accessible": true,
"verified": true,
"locked": true
},
"analytics": {
"ga4_measurement_id": "string",
"meta_pixel_id": "string",
"tiktok_pixel_id": "string",
"ga4_api_secret_configured": true,
"meta_access_token_configured": true,
"tiktok_access_token_configured": true
},
"marketing": {
"abandoned_cart": {}
}
}
}{
"message": "Unauthenticated."
}{
"message": "This action is unauthorized."
}{
"message": "The given data was invalid.",
"errors": {
"data": [
"The data field is required."
]
}
}