Skip to main content
object

Requires read_locations access scope, read_inventory access scope or read_markets_home access scope.

A physical location where merchants store and fulfill inventory. Locations include retail stores, warehouses, popups, dropshippers, or other places where inventory is managed or stocked.

Active locations can fulfill online orders when configured with shipping rates, local pickup, or local delivery options. Locations track inventory quantities for products and process order fulfillment. Third-party apps using FulfillmentService can create and manage their own locations.

•Boolean!
non-null

Whether the location can be reactivated. If false, then trying to activate the location with the LocationActivate mutation will return an error that describes why the location can't be activated.

•LocationAddress!
non-null

The address of this location.

•Boolean!
non-null

Whether the location address has been verified.

•DateTime!
non-null

The date and time (ISO 8601 format) that the location was added to a shop.

•Boolean!
non-null

Whether this location can be deactivated. If true, then the location can be deactivated by calling the LocationDeactivate mutation. If false, then calling the mutation to deactivate it will return an error that describes why the location can't be deactivated.

•String

The date and time (ISO 8601 format) that the location was deactivated at. For example, 3:30 pm on September 7, 2019 in the time zone of UTC (Universal Time Coordinated) is represented as "2019-09-07T15:50:00Z".

•Boolean!
non-null

Whether this location can be deleted.

•FulfillmentService

Name of the service provider that fulfills from this location.

Anchor to fulfillsOnlineOrdersfulfillsOnlineOrders
•Boolean!
non-null

Whether this location can fulfill online orders.

•Boolean!
non-null

Whether this location has active inventory.

Anchor to hasUnfulfilledOrdershasUnfulfilledOrders
•Boolean!
non-null

Whether this location has orders that need to be fulfilled.

•ID!
non-null

A globally-unique ID.

•InventoryLevel

The quantities of an inventory item at this location.

Arguments

•Boolean
Default:false

Whether to return the inventory level if it is inactive.

•ID!
required

The ID of the inventory item to obtain the inventory level for.


•InventoryLevelConnection!
non-null

A list of the quantities of the inventory items that can be stocked at this location.

Arguments

•String

The elements that come after the specified cursor.

•String

The elements that come before the specified cursor.

•Int

The first n elements from the paginated list.

•Boolean
Default:false

Whether to include inactive inventory levels.

•Int

The last n elements from the paginated list.

•String

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

Anchor to created_at
•time
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to inventory_group_id
•id
Anchor to inventory_item_id
•id
Anchor to updated_at
•time
•Boolean
Default:false

Reverse the order of the underlying list.


•Boolean!
non-null

Whether the location is active. A deactivated location can be activated (change isActive: true) if it has activatable set to true by calling the locationActivate mutation.

Anchor to isFulfillmentServiceisFulfillmentService
•Boolean!
non-null

Whether this location is a fulfillment service.

•UnsignedInt64!
non-null

The ID of the corresponding resource in the REST Admin API.

Anchor to localPickupSettingsV2localPickupSettingsV2
•DeliveryLocalPickupSettings

Local pickup settings for the location.

•Metafield

A custom field, including its namespace and key, that's associated with a Shopify resource for the purposes of adding and storing additional information.

Arguments

•String!
required

The key for the metafield.

•String

The container the metafield belongs to. If omitted, the app-reserved namespace will be used.


•MetafieldConnection!
non-null

A list of custom fields that a merchant associates with a Shopify resource.

Arguments

•String

The elements that come after the specified cursor.

•String

The elements that come before the specified cursor.

•Int

The first n elements from the paginated list.

•[String!]

List of keys of metafields in the format namespace.key, will be returned in the same format.

•Int

The last n elements from the paginated list.

•String

The metafield namespace to filter by. If omitted, all metafields are returned.

•Boolean
Default:false

Reverse the order of the underlying list.


•String!
non-null

The name of the location.

•Boolean!
non-null

Legacy field indicating this location was designated for shipping. All locations with valid addresses can now ship.

•[LocationSuggestedAddress!]!
non-null

List of suggested addresses for this location (empty if none).

•DateTime!
non-null

The date and time (ISO 8601 format) when the location was last updated.

Deprecated fields

•Boolean!
non-nullDeprecated
Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated

Arguments

•String

The elements that come after the specified cursor.

•String

The elements that come before the specified cursor.

•Int

The first n elements from the paginated list.

•Int

The last n elements from the paginated list.

•String

Filter metafield definitions by namespace.

•MetafieldDefinitionPinnedStatus
Default:ANY

Filter by the definition's pinned status.

•String

A filter made up of terms, connectives, modifiers, and comparators.

nametypedescriptionacceptable_valuesdefault_valueexample_use
defaultstringFilter by a case-insensitive search of multiple fields
in a document.- query=Bob Norman
- query=title:green hoodie
created_attimeFilter by the date and time when the metafield
definition was created.- created_at:>2020-10-21T23:39:20Z
-
created_at:<now
- created_at:<=2024
ididFilter by id range.- id:1234
- id:>=1234
- id:<=1234
keystringFilter by the metafield definition key
field.- key:some-key
namespacestringFilter by the metafield definition namespace
field.- namespace:some-namespace
owner_typestringFilter by the metafield definition ownerType
field.- owner_type:PRODUCT
typestringFilter by the metafield definition type
field.- type:single_line_text_field
updated_attimeFilter by the date and time when the metafield
definition was last updated.- updated_at:>2020-10-21T23:39:20Z
  • updated_at:<now
    - updated_at:<=2024 | You can apply one or more filters to a query. Learn more about Shopify API search syntax.
•Boolean
Default:false

Reverse the order of the underlying list.

•MetafieldDefinitionSortKeys
Default:ID

Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.



Was this section helpful?

•query

Retrieves a Location by its ID. Locations are physical places where merchants store inventory, such as warehouses, retail stores, or fulfillment centers.

Each location tracks inventory levels, fulfillment capabilities, and address information. Active locations can stock products and fulfill orders based on their configuration settings.

Arguments

•ID

The ID of the location to return. If no ID is provided, the primary location of the Shop is returned.


•query

Return a location by an identifier.

Arguments

•LocationIdentifierInput!
required

The identifier of the location.


•query

A paginated list of inventory locations where merchants can stock Product items and fulfill Order items.

Returns only active locations by default. Use the includeInactive argument to retrieve deactivated locations that can no longer stock inventory or fulfill orders. Use the includeLegacy argument to include locations that FulfillmentService apps manage. Use the query argument to filter by location attributes like name, address, and whether local pickup is enabled.

Arguments

•String

The elements that come after the specified cursor.

•String

The elements that come before the specified cursor.

•Int

The first n elements from the paginated list.

•Boolean
Default:false

Whether to include the locations that are deactivated.

•Boolean
Default:false

Whether to include the legacy locations of fulfillment services.

•Int

The last n elements from the paginated list.

•String

A filter made up of terms, connectives, modifiers, and comparators.

nametypedescriptionacceptable_valuesdefault_valueexample_use
defaultstringFilter by a case-insensitive search of multiple fields
in a document.- query=Bob Norman
- query=title:green hoodie
activestring
address1string
address2string
citystring
countrystring
created_attime
geolocatedboolean
ididFilter by id range.- id:1234
- id:>=1234
- id:<=1234
legacyboolean
location_idid
namestring
pickup_in_storestring- enabled
- disabled
provincestring
zipstring
You can apply one or more filters to a query. Learn more about [Shopify API
search syntax](https://shopify.dev/api/usage/search-syntax).
•Boolean
Default:false

Reverse the order of the underlying list.

•LocationSortKeys
Default:NAME

Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.


•query

Returns a list of all origin locations available for a delivery profile.

Arguments

•String

The elements that come after the specified cursor.

•String

The elements that come before the specified cursor.

•Int

The first n elements from the paginated list.

•Int

The last n elements from the paginated list.

•Boolean
Default:false

Reverse the order of the underlying list.



Was this section helpful?

•mutation

Activates a location so that you can stock inventory at the location. Refer to the isActive and activatable fields on the Location object.


Caution

As of 2026-01, this mutation supports an optional idempotency key using the @idempotent directive. As of 2026-04, the idempotency key is required and must be provided using the @idempotent directive. For more information, see the idempotency documentation.


Arguments

•ID!
required

The ID of a location to activate.


•mutation

Adds a new Location where you can stock inventory and fulfill orders. Locations represent physical places like warehouses, retail stores, or fulfillment centers.

The location requires a name and address with at least a country code. You can specify whether the location fulfills online orders, which determines if its inventory is available for online sales. You can also attach custom metafields to store additional information about the location.

Arguments

•LocationAddInput!
required

The properties of the location to add.


•mutation

Deactivates a location and moves inventory, pending orders, and moving transfers " "to a destination location.


Caution

As of 2026-01, this mutation supports an optional idempotency key using the @idempotent directive. As of 2026-04, the idempotency key is required and must be provided using the @idempotent directive. For more information, see the idempotency documentation.


Arguments

Anchor to destinationLocationIddestinationLocationId
•ID

The ID of a destination location to which inventory, pending orders and moving transfers will be moved from the location to deactivate.

•ID!
required

The ID of a location to deactivate.


•mutation

Updates the properties of an existing Location. You can modify the location's name, address, whether it fulfills online orders, and custom metafields.

Apps that created a FulfillmentService can edit the associated location to ensure accurate representation of their fulfillment network.


Note

You can't disable the fulfillsOnlineOrders setting for fulfillment service locations.


Learn more about editing locations for fulfillment services.

Arguments

•ID!
required

The ID of a location to edit.

•LocationEditInput!
required

The updated properties for the location.



Was this section helpful?

•interface

Was this section helpful?