ApiResourcesStore settings

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.

PATCH
/v2/store/settings/marketing

Authorization

bearerAuth storeAuth
AuthorizationBearer <token>

Provide your SellApp API key as a bearer token.

In: header

X-STORE<token>

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."
    ]
  }
}
PUT
/v2/store/settings/marketing

Authorization

bearerAuth storeAuth
AuthorizationBearer <token>

Provide your SellApp API key as a bearer token.

In: header

X-STORE<token>

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."
    ]
  }
}