Store Operations
Catalog and Inventory
Inventory locations


Locations allow merchants to track product inventory across multiple physical or virtual locations. Locations also allow merchants to manage their store and warehouse physical addresses in a single source of truth, which can be used by tools such as store locator widgets or app integrations that are concerned with locations where a store’s business is conducted.

Managing locations

You can create up to the following number of locations:

  • Standard plan: up to 4
  • Plus plan: up to 5
  • Pro plan: up to 8
  • Enterprise plan: 100; can be customized by request

You can disable, remove visibility, and delete locations.

The enabled and storefront_visibility flags for a location determine whether a location is available for Storefront and Management APIs.

  • Both flags determine if a location will return through any of the Storefront APIs, including getting available pickup methods. The flags control location visibility through the Storefront APIs.
  • However, the enabled flag also controls:
    • Whether a location can be used to create orders and pickup methods.
    • Whether you can edit stock levels through the management APIs
    • If any stock for products at a location contribute to the "available to sell" total returned by the Storefront APIs.
  • For example, a location can be "enabled", allowing orders to be fulfilled at that location through the Order V2 or Checkout APIs. If its storefront_visibility is set to false, the details of that location are omitted from the Storefront APIs.

The Locations API allows you to manage locations. For examples, see Merchant Configuration under the End-to-end guides.

You can query locations using the GraphQL Storefront API. For examples, see Query Locations with the GraphQL Storefront API.

Due to the asynchronous nature of the Locations API, there may be a short delay before data is updated after the endpoints are called. Endpoints that manage these locations and inventory at these locations return a transaction_id for any write requests.

Location metafields

Manage location metafields using the Locations API.

To create a location metafield, send a request to the Create a location metafield endpoint. Each metafield must have a unique combination of key and value for a namespace.

Example request: Create a location metafield
X-Auth-Token: {{ACCESS_TOKEN}}
Content-Type: application/json
Accept: application/json
  "key": "location status",
  "value": "upcoming",
  "namespace": "headquarters",
  "permission_set": "write_and_sf_access",
  "description": "new location"

Location metafields that have storefront access permissions (i.e. permission set as read_and_sf_access or write_and_sf_access) can be returned in the GraphQL Storefront API. For example queries of this, see Query Locations with the GraphQL Storefront API.


Did you find what you were looking for?