---
title: "Update a business store"
method: PATCH
path: "/v3/stores/{id}"
tags: ["Business Stores"]
---

# Update a business store

`PATCH /v3/stores/{id}`

Requires the `store:update` scope. Use `is_public` instead of legacy `visibility`.

## Request body

- BusinessStoreUpdateRequest
  - `name` string
  - `is_public` boolean
  - `custom_domain_id` integer, nullable
  - `warehouse_id` integer, nullable
  - `logo` string, nullable — Logo upload value or empty value to clear the logo.
  - `is_auto_expire` boolean
  - `auto_expire_days` integer
  - `is_discount_editable` boolean
  - `is_unique_code` boolean
  - `max_unique_code_amount` number
  - `is_postal_code` boolean
  - `postal_code_requirement` 'autofill' | 'manual'
  - `is_customer_otp_required` boolean
  - `is_manual_shipping_cost` boolean
  - `is_courier_required` boolean
  - `is_transferproof_required` boolean
  - `is_dropshipping_allowed` boolean
  - `is_moota_enabled` boolean
  - `email_notification_statuses` string[]
  - `email_reply_to_id` integer, nullable
  - `email_reply_to_assignment` 'fixed' | 'rotator'
  - `is_email_new_order` boolean
  - `is_email_notifications` boolean
  - `whatsapp_notification_statuses` string[]
  - `is_whatsapp_new_order` boolean
  - `is_whatsapp_payment_d1_fu` boolean
  - `is_whatsapp_payment_d2_fu` boolean
  - `is_whatsapp_payment_last_fu` boolean
  - `is_whatsapp_link_download` boolean
  - `non_cod_purchase_triggers` string[]
  - `cod_purchase_triggers` string[]
  - `capi_purchase_value_type` 'gross_revenue' | 'net_revenue' | 'adj_gross_revenue'
  - `days_of_payment_processing` integer
  - `is_show_download_invoice` boolean
  - `is_show_whatsapp` boolean
  - `is_fuc_product_enabled` boolean
  - `is_fuc_bundle_enabled` boolean
  - `is_advanced_validation` boolean
  - `min_name_length` integer
  - `min_address_length` integer
  - `max_per_phone` integer
  - `max_per_ip` integer
  - `blocked_message` string
  - `is_order_hard_filter` boolean
  - `is_customer_spam_filter` boolean
  - `is_ip_spam_filter` boolean
  - `is_spam_filter` boolean
  - `is_use_waba` boolean
  - `waba_account_id` integer, nullable
  - `greeting_message` string
  - `inactivity_period` integer
  - `is_greeting_message_enabled` boolean
  - `digital_only_complete_type` 'auto' | 'when_settled' | 'manual'
  - `auto_other_income` string
  - `fixed_auto_other_income` number
  - `other_income_name` string
  - `dynamic_other_income_cod_type` 'fixed' | 'percentage'
  - `dynamic_other_income_cod_default_amount` number
  - `dynamic_other_income_cod_default_percentage` number
  - `dynamic_other_income_epayment_type` 'fixed' | 'percentage'
  - `dynamic_other_income_epayment_default_amount` number
  - `dynamic_other_income_epayment_default_percentage` number
  - `store_courier_other_incomes` object[]
  - `store_method_other_incomes` object[]
  - `store_sales_people` object[]
  - `store_custom_audiences` object[]

## Response `200`

Business store

- BusinessStore
  - `id` integer, required — Numeric Scalev store database ID.
  - `unique_id` string, required — Public store unique ID used by storefront routes.
  - `uuid` string, uuid
  - `name` string, required
  - `business_id` integer
  - `is_active` boolean
  - `is_public` boolean
  - `logo` string, nullable — Public URL for the store logo when configured.
  - `custom_domain` object, nullable
  - `payment_methods` string[]
  - `xendit_va_bank_codes` string[]
  - `products` BusinessStoreProduct[]
    - `id` integer, required
    - `name` string
    - `display` string
    - `is_visible` boolean, required — Whether this product is visible in this store.
    - `variants` BusinessStoreVariantSummary[]
      - `id` integer, required — Scalev variant record ID used by checkout/form_display payloads.
      - `unique_id` string
      - `fullname` string
      - `sku` string
      - `price` number
  - `bundle_price_options` BusinessStoreBundlePriceOption[]
    - `id` integer, required — Scalev bundle price option record ID used by checkout/form_display payloads.
    - `name` string
    - `price` number
    - `is_visible` boolean — Present on store-scoped bundle responses.
  - `bundles` BusinessStoreBundle[]
    - `id` integer, required
    - `name` string
    - `display` string
    - `bundle_price_options` BusinessStoreBundlePriceOption[], required
      - `id` integer, required — Scalev bundle price option record ID used by checkout/form_display payloads.
      - `name` string
      - `price` number
      - `is_visible` boolean — Present on store-scoped bundle responses.
  - `created_at` string, date-time
  - `last_updated_at` string, date-time

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

---

[API](https://skmtc.net/scalev/apis/nexus-commerce-api.md) · [All operations](https://skmtc.net/scalev/apis/nexus-commerce-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/scalev/nexus-commerce-api/versions/4354959d76dc/schema)
