id is new, or updates the existing store when it already belongs to the merchant on the access token. Send only the fields to change. Each saved store matches Get store.
Requires an access token with the
stores:write scope. See
Token to obtain a token.merchant_id and env come from the token. id comes from each item. Coverage zones, labels, and cms are not written here.
When creating, name, contact, location, and timezone are required. Omitted status becomes ACTIVE. Omitted availability stays open with no schedule. Omitted tags stay empty. Omitted channel_ids and fulfillment_ids enable every channel and fulfillment the merchant has at that moment. Channels and fulfillments created later start disabled on existing stores.
Request
Ignored on write:
labels, cms, coverage_zones, uid, merchant_id, env.
Response
Zod validates the entire body before saving. If any field is invalid, HTTP400 is returned and no items are saved. When the body is valid, items are saved one after another. HTTP 200 only when every item is saved. If a later item hits a business error, HTTP is that item’s status (422 or 500).