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

•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

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•Boolean
Default:false

Reverse the order of the underlying 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!
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

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

•String!
required

The key for the metafield.


•MetafieldConnection!
non-null

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

Arguments

•String

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

•[String!]

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

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•Boolean
Default:false

Reverse the order of the underlying list.


•String!
non-null

The name of the location.

•Boolean!
non-null

Whether this location is used for calculating shipping rates. In multi-origin shipping mode, this flag is ignored.

•[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

Filter metafield definitions by namespace.

•MetafieldDefinitionPinnedStatus
Default:ANY

Filter by the definition's pinned status.

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•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.

•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 default
•string

Filter by a case-insensitive search of multiple fields in a document.

Example:

  • query=Bob Norman
  • query=title:green hoodie
Anchor to created_at
•time

Filter by the date and time when the metafield definition was created.

Example:

  • created_at:>2020-10-21T23:39:20Z
  • created_at:<now
  • created_at:<=2024
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
•string

Filter by the metafield definition key field.

Example:

  • key:some-key
Anchor to namespace
•string

Filter by the metafield definition namespace field.

Example:

  • namespace:some-namespace
Anchor to owner_type
•string

Filter by the metafield definition ownerType field.

Example:

  • owner_type:PRODUCT
•string

Filter by the metafield definition type field.

Example:

  • type:single_line_text_field
Anchor to updated_at
•time

Filter by the date and time when the metafield definition was last updated.

Example:

  • updated_at:>2020-10-21T23:39:20Z
  • updated_at:<now
  • updated_at:<=2024


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

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•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.

•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 default
•string

Filter by a case-insensitive search of multiple fields in a document.

Example:

  • query=Bob Norman
  • query=title:green hoodie
•string
Anchor to address1
•string
Anchor to address2
•string
•string
Anchor to country
•string
Anchor to created_at
•time
Anchor to geolocated
•boolean
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
•boolean
Anchor to location_id
•id
•string
Anchor to pickup_in_store
•string

Valid values:

  • enabled
  • disabled
Anchor to province
•string
•string
•Boolean
Default:false

Whether to include the legacy locations of fulfillment services.

•Boolean
Default:false

Whether to include the locations that are deactivated.


•query

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

Arguments

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•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

•ID!
required

The ID of a location to deactivate.

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.


•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?