Update storefront settings
PATCH /rest/v1/storefront
Only the listed fields are written; other top-level keys are ignored (payment keys and the URL slug are set up in the dashboard). Every value is checked first: an invalid one, or an unknown key inside announcement, return_policy or shipping, answers 422 with its param (e.g. announcement.text, shipping.zones[0].countries[1]) and nothing is written. announcement and return_policy can be sent partially (merged onto the saved values); shipping replaces the zones. An unknown theme is a 422 (the plan check comes after).
Required scope: storefront:write.
Authorization
apiKey Authorization: Bearer nbl_live_... (or nbl_test_... for test mode). Test-mode writes are validated and simulated but never persisted and never touch channels; simulated results are marked simulated.
In: header
Header Parameters
Unique client-generated key (max 255 chars), stored 24h.
length <= 255Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X PATCH "https://example.com/storefront" \ -H "Content-Type: application/json" \ -d '{}'{ "object": "storefront", "name": "string", "slug": "string", "theme": "string", "announcement": { "enabled": true, "message": "string", "link": "string", "mode": "auto" }, "custom_domain": "string", "logo": "string", "return_policy": { "days": 30, "who_pays": "buyer" }, "shipping": { "worldwide_free": true, "zones": [ { "id": "string", "name": "Europe", "enabled": true, "countries": [ "IT", "FR", "DE" ], "free": false, "pricing": { "light": 0, "heavy": 0, "additional": 0 }, "free_over": 0, "heavier_than": { "value": 0, "unit": "oz" }, "larger_than": { "value": 0, "unit": "in3" }, "pickup": { "enabled": true, "note": "string" } } ] }, "address": "string", "show_channels": true, "visible_channels": [ "string" ], "show_chat": true, "out_of_stock": true, "ai_discovery": true, "product_image_display": "fill", "contact_email": "string", "payments": { "stripe": true, "paypal": true }, "simulated": true}Last updated on October 18, 2026
Need help?
Email us and a human replies, usually within one business day.