--- title: Shop - GraphQL Admin description: >- The central configuration and settings hub for a Shopify store. Access business information, operational preferences, feature availability, and store-wide settings that control how the shop operates. Includes core business details like the shop name, contact emails, billing address, and currency settings. The shop configuration determines customer account requirements, available sales channels, enabled features, payment settings, and policy documents. Also provides access to shop-level resources such as staff members, fulfillment services, navigation settings, and storefront access tokens. api_version: unstable api_name: admin source_url: html: 'https://shopify.dev/docs/api/admin-graphql/unstable/objects/Shop' md: 'https://shopify.dev/docs/api/admin-graphql/unstable/objects/Shop.md' --- # Shop object The central configuration and settings hub for a Shopify store. Access business information, operational preferences, feature availability, and store-wide settings that control how the shop operates. Includes core business details like the shop name, contact emails, billing address, and currency settings. The shop configuration determines customer account requirements, available sales channels, enabled features, payment settings, and policy documents. Also provides access to shop-level resources such as staff members, fulfillment services, navigation settings, and storefront access tokens. ## Fields * account​Owner [Staff​Member!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/StaffMember) non-null Account owner information. * alerts [\[Shop​Alert!\]!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/ShopAlert) non-null A list of the shop's active alert messages that appear in the Shopify admin. * all​Product​Categories​List [\[Taxonomy​Category!\]!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/TaxonomyCategory) non-null A list of the shop's product categories. Limit: 1000 product categories. * app​Trial​Eligible [Boolean!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) non-null Whether the shop is eligible for app trials offered by third-party apps. * available​Channel​Apps [App​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/AppConnection) non-null The list of sales channels not currently installed on the shop. * first [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) ### Arguments The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * after [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * last [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * before [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * reverse [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) Default:false Reverse the order of the underlying list. *** * channel​Definitions​For​Installed​Channels [\[Available​Channel​Definitions​By​Channel!\]!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/AvailableChannelDefinitionsByChannel) non-null List of all channel definitions associated with a shop. * checkout​Api​Supported [Boolean!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) non-null Specifies whether the shop supports checkouts via Checkout API. * contact​Email [String!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) non-null The public-facing contact email address for the shop. Customers will use this email to communicate with the shop owner. * countries​In​Shipping​Zones [Countries​In​Shipping​Zones!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/CountriesInShippingZones) non-null Countries that have been defined in shipping zones for the shop. * created​At [Date​Time!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/DateTime) non-null The date and time when the shop was created. * currency​Code [Currency​Code!](https://shopify.dev/docs/api/admin-graphql/unstable/enums/CurrencyCode) non-null The three letter code for the currency that the shop sells in. * currency​Formats [Currency​Formats!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/CurrencyFormats) non-null How currencies are displayed on your store. * currency​Settings [Currency​Setting​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/CurrencySettingConnection) non-null The presentment currency settings for the shop excluding the shop's own currency. * first [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) ### Arguments The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * after [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * last [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * before [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * reverse [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) Default:false Reverse the order of the underlying list. *** * customer​Accounts [Shop​Customer​Accounts​Setting!](https://shopify.dev/docs/api/admin-graphql/unstable/enums/ShopCustomerAccountsSetting) non-null Whether customer accounts are required, optional, or disabled for the shop. * customer​Accounts​V2 [Customer​Accounts​V2!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/CustomerAccountsV2) non-null Information about the shop's customer accounts. * customer​Tags [String​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/StringConnection) non-null A list of tags that have been added to customer accounts. * first [Int!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) required ### Arguments The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). *** * description [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The shop's meta description used in search engine results. * domains​Paginated [Domain​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/DomainConnection) non-null The domains configured for the shop. * first [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) ### Arguments The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * after [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * last [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * before [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * reverse [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) Default:false Reverse the order of the underlying list. * query [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/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](https://shopify.dev/api/usage/search-syntax). * * default string * host string - Filter by a case-insensitive search of multiple fields in a document. - Example: * `query=Bob Norman` * `query=title:green hoodie` * id id Filter by `id` range. Example: * `id:1234` * `id:>=1234` * `id:<=1234` *** * draft​Order​Tags [String​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/StringConnection) non-null A list of tags that have been added to draft orders. * first [Int!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) required ### Arguments The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). *** * email [String!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) non-null The shop owner's email address. Shopify will use this email address to communicate with the shop owner. * email​Sender​Configuration [Email​Sender​Configuration!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/EmailSenderConfiguration) non-null The configuration for the shop email sender. * enabled​Presentment​Currencies [\[Currency​Code!\]!](https://shopify.dev/docs/api/admin-graphql/unstable/enums/CurrencyCode) non-null The presentment currencies enabled for the shop. * entitlements [Entitlements​Type!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/EntitlementsType) non-null The entitlements for a shop. * features [Shop​Features!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/ShopFeatures) non-null The set of features enabled for the shop. * fulfillment​Services [\[Fulfillment​Service!\]!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/FulfillmentService) non-null List of the shop's installed fulfillment services. * iana​Timezone [String!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) non-null The shop's time zone as defined by the IANA. * id [ID!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/ID) non-null A globally-unique ID. * marketing​Sms​Consent​Enabled​At​Checkout [Boolean!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) non-null Whether SMS marketing has been enabled on the shop's checkout configuration settings. * merchant​Approval​Signals [Merchant​Approval​Signals](https://shopify.dev/docs/api/admin-graphql/unstable/objects/MerchantApprovalSignals) The approval signals for a shop to support onboarding to channel apps. * merchant​App​Signals [Merchant​App​Signals](https://shopify.dev/docs/api/admin-graphql/unstable/objects/MerchantAppSignals) Merchant signals for apps. * metafield [Metafield](https://shopify.dev/docs/api/admin-graphql/unstable/objects/Metafield) A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information. * namespace [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) ### Arguments The container the metafield belongs to. If omitted, the app-reserved namespace will be used. * key [String!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) required The key for the metafield. *** * metafields [Metafield​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/MetafieldConnection) non-null A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) that a merchant associates with a Shopify resource. * namespace [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) ### Arguments The metafield namespace to filter by. If omitted, the app-reserved namespace will be used. * keys [\[String!\]](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) List of keys of metafields in the format `namespace.key`, will be returned in the same format. * first [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * after [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * last [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * before [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * reverse [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) Default:false Reverse the order of the underlying list. *** * metafields​By​Identifiers [\[Metafield\]!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/Metafield) non-null The metafields associated with the resource matching the supplied list of namespaces and keys. * identifiers [\[Has​Metafields​Identifier!\]!](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/HasMetafieldsIdentifier) required ### Arguments The list of metafields to retrieve by namespace and key. *** * myshopify​Domain [String!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) non-null The shop's .myshopify.com domain name. * name [String!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) non-null The shop's name. * navigation​Settings [\[Navigation​Item!\]!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/NavigationItem) non-null The shop's settings related to navigation. * order​Number​Format​Prefix [String!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) non-null The prefix that appears before order numbers. * order​Number​Format​Suffix [String!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) non-null The suffix that appears after order numbers. * order​Tags [String​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/StringConnection) non-null A list of tags that have been added to orders. * first [Int!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) required ### Arguments The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * sort [Shop​Tag​Sort](https://shopify.dev/docs/api/admin-graphql/unstable/enums/ShopTagSort) Default:ALPHABETICAL Sort type. *** * payment​Settings [Payment​Settings!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/PaymentSettings) non-null The shop's settings related to payments. * plan [Shop​Plan!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/ShopPlan) non-null The shop's billing plan. * primary​Domain [Domain!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/Domain) non-null The primary domain of the shop's online store. * resource​Limits [Shop​Resource​Limits!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/ShopResourceLimits) non-null The shop's limits for specific resources. For example, the maximum number ofvariants allowed per product, or the maximum number of locations allowed. * rich​Text​Editor​Url [URL!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/URL) non-null The URL of the rich text editor that can be used for mobile devices. * search [Search​Result​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/SearchResultConnection) non-null Fetches a list of admin search results by a specified query. * query [String!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) required ### Arguments The search query to filter by. * types [\[Search​Result​Type!\]](https://shopify.dev/docs/api/admin-graphql/unstable/enums/SearchResultType) The search result types to filter by. * first [Int!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) required The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * after [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). *** * search​Filters [Search​Filter​Options!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/SearchFilterOptions) non-null The list of search filter options for the shop. These can be used to filter productvisibility for the shop. * setup​Required [Boolean!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) non-null Whether the shop has outstanding setup steps. * ships​To​Countries [\[Country​Code!\]!](https://shopify.dev/docs/api/admin-graphql/unstable/enums/CountryCode) non-null The list of countries that the shop ships to. * shop​Address [Shop​Address!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/ShopAddress) non-null The shop's address information as it will appear to buyers. * shop​Owner​Name [String!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) non-null The name of the shop owner. * shop​Policies [\[Shop​Policy!\]!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/ShopPolicy) non-null The list of all legal policies associated with a shop. * storefront​Access​Tokens [Storefront​Access​Token​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/StorefrontAccessTokenConnection) non-null The storefront access token of a private application. These are scoped per-application. * first [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) ### Arguments The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * after [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * last [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * before [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * reverse [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) Default:false Reverse the order of the underlying list. *** * taxes​Included [Boolean!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) non-null Whether applicable taxes are included in the shop's product prices. * tax​Shipping [Boolean!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) non-null Whether the shop charges taxes for shipping. * timezone​Abbreviation [String!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) non-null The shop's time zone abbreviation. * timezone​Offset [String!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) non-null The shop's time zone offset. * timezone​Offset​Minutes [Int!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) non-null The shop's time zone offset expressed as a number of minutes. * transactional​Sms​Disabled [Boolean!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) non-null Whether transactional SMS sent by Shopify have been disabled for a shop. * translations [\[Translation!\]!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/Translation) non-null The published translations associated with the resource. * locale [String!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) required ### Arguments Filters translations locale. * market​Id [ID](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/ID) Filters translations by market ID. Use this argument to retrieve content specific to a market. *** * unit​System [Unit​System!](https://shopify.dev/docs/api/admin-graphql/unstable/enums/UnitSystem) non-null The shop's unit system for weights and measures. * updated​At [Date​Time!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/DateTime) non-null The date and time when the shop was last updated. * url [URL!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/URL) non-null The URL of the shop's online store. * weight​Unit [Weight​Unit!](https://shopify.dev/docs/api/admin-graphql/unstable/enums/WeightUnit) non-null The shop's primary unit of weight for products and shipping. ### Deprecated fields * all​Product​Categories [\[Product​Category!\]!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/ProductCategory) non-nullDeprecated * analytics​Token [String!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) non-nullDeprecated * assigned​Fulfillment​Orders [Fulfillment​Order​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/FulfillmentOrderConnection) non-nullDeprecated * assignment​Status [Fulfillment​Order​Assignment​Status](https://shopify.dev/docs/api/admin-graphql/unstable/enums/FulfillmentOrderAssignmentStatus) ### Arguments The assigment status of the fulfillment orders that should be returned. If `assignmentStatus` argument is not provided, then the query will return all assigned fulfillment orders, except those that have the `CLOSED` status. * location​Ids [\[ID!\]](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/ID) Returns fulfillment orders only for certain locations, specified by a list of location IDs. * first [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * after [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * last [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * before [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * reverse [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) Default:false Reverse the order of the underlying list. * sort​Key [Fulfillment​Order​Sort​Keys](https://shopify.dev/docs/api/admin-graphql/unstable/enums/FulfillmentOrderSortKeys) 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](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations). *** * billing​Address [Shop​Address!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/ShopAddress) non-nullDeprecated * channels [Channel​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/ChannelConnection) non-nullDeprecated * first [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) ### Arguments The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * after [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * last [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * before [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * reverse [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) Default:false Reverse the order of the underlying list. *** * collections [Collection​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/CollectionConnection) non-nullDeprecated * first [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) ### Arguments The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * after [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * last [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * before [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * reverse [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) Default:false Reverse the order of the underlying list. * sort​Key [Collection​Sort​Keys](https://shopify.dev/docs/api/admin-graphql/unstable/enums/CollectionSortKeys) 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](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations). * query [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/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](https://shopify.dev/api/usage/search-syntax). * * default string * collection\_type string * handle string - Filter by a case-insensitive search of multiple fields in a document. - Example: * `query=Bob Norman` * `query=title:green hoodie` - Valid values: * `custom` * `smart` * * id id * product\_id id - Filter by `id` range. - Example: * `id:1234` * `id:>=1234` * `id:<=1234` Filter by collections containing a product by its ID. * * product\_publication\_status string * publishable\_status string * published\_at time - Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#field-Channel.fields.app) (`Channel.app.id`) and one of the valid values. For simple visibility checks, use [published\_status](https://shopify.dev/api/admin-graphql/latest/queries/products#argument-query-filter-publishable_status) instead. - Valid values: * `* {channel_app_id}-approved` * `* {channel_app_id}-rejected` * `* {channel_app_id}-needs_action` * `* {channel_app_id}-awaiting_review` * `* {channel_app_id}-published` * `* {channel_app_id}-demoted` * `* {channel_app_id}-scheduled` * `* {channel_app_id}-provisionally_published` Example: * `product_publication_status:189769876-approved` **Deprecated:** This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use [published\_status](https://shopify.dev/api/admin-graphql/latest/queries/products#argument-query-filter-publishable_status) for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) and one of the valid status values. - Valid values: * `* {channel_app_id}-unset` * `* {channel_app_id}-pending` * `* {channel_app_id}-approved` * `* {channel_app_id}-not_approved` Example: * `publishable_status:580111-unset` * `publishable_status:580111-pending` Filter by the date and time when the collection was published to the Online Store. * * published\_status string * title string - Filter resources by their visibility and publication state on a channel. Online store channel filtering: - `online_store_channel`: Returns all resources in the online store channel, regardless of publication status. - `published`/`visible`: Returns resources that are published to the online store. - `unpublished`: Returns resources that are not published to the online store. Channel-specific filtering using the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) with suffixes: - `{channel_app_id}-published`: Returns resources published to the specified channel. - `{channel_app_id}-visible`: Same as `{channel_app_id}-published` (kept for backwards compatibility). - `{channel_app_id}-intended`: Returns resources added to the channel but not yet published. - `{channel_app_id}-hidden`: Returns resources not added to the channel or not published. Other: - `unavailable`: Returns resources not published to any channel. - Valid values: * `online_store_channel` * `published` * `visible` * `unpublished` * `* {channel_app_id}-published` * `* {channel_app_id}-visible` * `* {channel_app_id}-intended` * `* {channel_app_id}-hidden` * `unavailable` Example: * `published_status:online_store_channel` * `published_status:published` * `published_status:580111-published` * `published_status:580111-hidden` * `published_status:unavailable` * updated\_at time * saved​Search​Id [ID](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/ID) The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id). The search’s query string is used as the query argument. *** * customers [Customer​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/CustomerConnection) non-nullDeprecated * first [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) ### Arguments The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * after [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * last [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * before [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * reverse [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) Default:false Reverse the order of the underlying list. * sort​Key [Customer​Sort​Keys](https://shopify.dev/docs/api/admin-graphql/unstable/enums/CustomerSortKeys) 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](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations). * query [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/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](https://shopify.dev/api/usage/search-syntax). * * default string * accepts\_marketing boolean * country string * customer\_date time * email string * first\_name string * id id * last\_abandoned\_order\_date time * last\_name string * order\_date time * orders\_count integer * phone string * state string * tag string * tag\_not string * total\_spent float * updated\_at time - Filter by a case-insensitive search of multiple fields in a document. - Example: * `query=Bob Norman` * `query=title:green hoodie` Filter by whether a customer has consented to receive marketing material. - Example: * `accepts_marketing:true` Filter by the country associated with the customer's address. Use either the country name or the two-letter country code. - Example: * `country:Canada` * `country:JP` Filter by the date and time when the customer record was created. This query parameter filters by the [`createdAt`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Customer#field-createdAt) field. - Example: * `customer_date:'2024-03-15T14:30:00Z'` * `customer_date: >='2024-01-01'` The customer's email address, used to communicate information about orders and for the purposes of email marketing campaigns. You can use a wildcard value to filter the query by customers who have an email address specified. Please note that *email* is a tokenized field: To retrieve exact matches, quote the email address (*phrase query*) as described in [Shopify API search syntax](https://shopify.dev/docs/api/usage/search-syntax). - Example: * `email:gmail.com` * `email:"bo.wang@example.com"` * `email:*` Filter by the customer's first name. - Example: * `first_name:Jane` Filter by `id` range. - Example: * `id:1234` * `id:>=1234` * `id:<=1234` Filter by the date and time of the customer's most recent abandoned checkout. An abandoned checkout occurs when a customer adds items to their cart, begins the checkout process, but leaves the site without completing their purchase. - Example: * `last_abandoned_order_date:'2024-04-01T10:00:00Z'` * `last_abandoned_order_date: >='2024-01-01'` Filter by the customer's last name. - Example: * `last_name:Reeves` Filter by the date and time that the order was placed by the customer. Use this query filter to check if a customer has placed at least one order within a specified date range. - Example: * `order_date:'2024-02-20T00:00:00Z'` * `order_date: >='2024-01-01'` * `order_date:'2024-01-01..2024-03-31'` Filter by the total number of orders a customer has placed. - Example: * `orders_count:5` The phone number of the customer, used to communicate information about orders and for the purposes of SMS marketing campaigns. You can use a wildcard value to filter the query by customers who have a phone number specified. - Example: * `phone:+18005550100` * `phone:*` Filter by the [state](https://shopify.dev/docs/api/admin-graphql/latest/objects/Customer#field-state) of the customer's account with the shop. This filter is only valid when [Classic Customer Accounts](https://shopify.dev/docs/api/admin-graphql/latest/objects/CustomerAccountsV2#field-customerAccountsVersion) is active. - Example: * `state:ENABLED` * `state:INVITED` * `state:DISABLED` * `state:DECLINED` Filter by the tags that are associated with the customer. This query parameter accepts multiple tags separated by commas. - Example: * `tag:'VIP'` * `tag:'Wholesale,Repeat'` Filter by the tags that aren't associated with the customer. This query parameter accepts multiple tags separated by commas. - Example: * `tag_not:'Prospect'` * `tag_not:'Test,Internal'` Filter by the total amount of money a customer has spent across all orders. - Example: * `total_spent:100.50` * `total_spent:50.00` * `total_spent:>100.50` * `total_spent:>50.00` The date and time, matching a whole day, when the customer's information was last updated. Example: * `updated_at:2024-01-01T00:00:00Z` * `updated_at:=1234` * `id:<=1234` * updated\_at time *** * inventory​Items [Inventory​Item​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/InventoryItemConnection) non-nullDeprecated * first [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) ### Arguments The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * after [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * last [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * before [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * reverse [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) Default:false Reverse the order of the underlying list. * query [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/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](https://shopify.dev/api/usage/search-syntax). * created\_at time * * id id * sku string * updated\_at time - Filter by `id` range. - Example: * `id:1234` * `id:>=1234` * `id:<=1234` Filter by the inventory item [`sku`](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryItem#field-sku) field. [Learn more about SKUs](https://help.shopify.com/manual/products/details/sku). - Example: * `sku:XYZ-12345` *** * limited​Pending​Order​Count [Limited​Pending​Order​Count!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/LimitedPendingOrderCount) non-nullDeprecated * locations [Location​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/LocationConnection) non-nullDeprecated * first [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) ### Arguments The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * after [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * last [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * before [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * reverse [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) Default:false Reverse the order of the underlying list. * sort​Key [Location​Sort​Keys](https://shopify.dev/docs/api/admin-graphql/unstable/enums/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](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations). * query [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/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](https://shopify.dev/api/usage/search-syntax). * * default string * active string - Filter by a case-insensitive search of multiple fields in a document. - Example: * `query=Bob Norman` * `query=title:green hoodie` * address1 string * address2 string * city string * country string * created\_at time * geolocated boolean * * id id * legacy boolean - Filter by `id` range. - Example: * `id:1234` * `id:>=1234` * `id:<=1234` * location\_id id * name string * * pickup\_in\_store string * province string - - Valid values: * `enabled` * `disabled` * zip string * include​Legacy [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) Default:false Whether to include the legacy locations of fulfillment services. * include​Inactive [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) Default:false Whether to include the locations that are deactivated. *** * metafield​Definitions [Metafield​Definition​Connection!](https://shopify.dev/docs/api/admin-graphql/unstable/connections/MetafieldDefinitionConnection) non-nullDeprecated * namespace [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) ### Arguments Filter metafield definitions by namespace. * pinned​Status [Metafield​Definition​Pinned​Status](https://shopify.dev/docs/api/admin-graphql/unstable/enums/MetafieldDefinitionPinnedStatus) Default:ANY Filter by the definition's pinned status. * first [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * after [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * last [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * before [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * reverse [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) Default:false Reverse the order of the underlying list. * sort​Key [Metafield​Definition​Sort​Keys](https://shopify.dev/docs/api/admin-graphql/unstable/enums/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](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations). * query [String](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/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](https://shopify.dev/api/usage/search-syntax). * * default string * created\_at time * id id * key string * namespace string * owner\_type string * type string * updated\_at time - Filter by a case-insensitive search of multiple fields in a document. - Example: * `query=Bob Norman` * `query=title:green hoodie` Filter by the date and time when the metafield definition was created. - Example: * `created_at:>2020-10-21T23:39:20Z` * `created_at:=1234` * `id:<=1234` Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. - Example: * `key:some-key` Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. - Example: * `namespace:some-namespace` Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. - Example: * `owner_type:PRODUCT` Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. - Example: * `type:single_line_text_field` Filter by the date and time when the metafield definition was last updated. Example: * `updated_at:>2020-10-21T23:39:20Z` * `updated_at:=5.00 current_total_price:<=20.99` Filter orders by the customer [`id`](https://shopify.dev/api/admin-graphql/latest/objects/Customer#field-Customer.fields.id) field. - Example: * `customer_id:123` Filter by the delivery [`methodType`](https://shopify.dev/api/admin-graphql/2024-07/objects/DeliveryMethod#field-DeliveryMethod.fields.methodType) field. - Valid values: * `shipping` * `pick-up` * `retail` * `local` * `pickup-point` * `none` Example: * `delivery_method:shipping` Filter by the case-insensitive discount code that was applied to the order at checkout. Limited to the first discount code used on an order. Maximum characters: 255. - Example: * `discount_code:ABC123` Filter by the email address that's associated with the order to provide customer support or analyze purchasing patterns. - Example: * `email:example@shopify.com` Filter by the order [`displayFinancialStatus`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-Order.fields.displayFinancialStatus) field. - Valid values: * `paid` * `pending` * `authorized` * `partially_paid` * `partially_refunded` * `refunded` * `voided` * `expired` Example: * `financial_status:authorized` Filter by the level of fraud protection that's applied to the order. Use this filter to manage risk or handle disputes. - Valid values: * `fully_protected` * `partially_protected` * `not_protected` * `pending` * `not_eligible` * `not_available` Example: * `fraud_protection_level:fully_protected` Filter by the fulfillment location [`id`](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment#field-Fulfillment.fields.location.id) (`Fulfillment.location.id`) field. - Example: * `fulfillment_location_id:123` Filter by the [`displayFulfillmentStatus`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Order#field-Order.fields.displayFulfillmentStatus) field to prioritize shipments or monitor order processing. - Valid values: * `unshipped` * `shipped` * `fulfilled` * `partial` * `scheduled` * `on_hold` * `unfulfilled` * `request_declined` Example: * `fulfillment_status:fulfilled` Filter by the [`paymentGatewayNames`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Order#field-Order.fields.paymentGatewayNames) field. Use this filter to find orders that were processed through specific payment providers like Shopify Payments, PayPal, or other custom payment gateways. - Example: * `gateway:shopify_payments` Filter by `id` range. - Example: * `id:1234` * `id:>=1234` * `id:<=1234` Filter by the location [`id`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Location#field-Location.fields.id) that's associated with the order to view and manage orders for specific locations. For POS orders, locations must be defined in the Shopify admin under **Settings** > **Locations**. If no ID is provided, then the primary location of the shop is returned. - Example: * `location_id:123` Filters resources by metafield value. Format: `metafields.{namespace}.{key}:{value}`. Learn more about [querying by metafield value](https://shopify.dev/apps/build/custom-data/metafields/query-by-metafield-value). - Example: * `metafields.custom.on_sale:true` * `metafields.product.material:"gid://shopify/Metaobject/43458085"` Filter by the order [`name`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-name) field. - Example: * `name:1001-A` Filter by the payment ID that's associated with the order to reconcile financial records or troubleshoot payment issues. - Example: * `payment_id:abc123` Filter by the ID of the payment provider that's associated with the order to manage payment methods or troubleshoot transactions. - Example: * `payment_provider_id:123` Filter by the order [`poNumber`](https://shopify.dev/api/admin-graphql/latest/objects/order#field-Order.fields.poNumber) field. - Example: * `po_number:P01001` Filter by the order [`processedAt`](https://shopify.dev/api/admin-graphql/latest/objects/order#field-Order.fields.processedAt) field. - Example: * `processed_at:2021-01-01T00:00:00Z` Filter by the ID of a location that's associated with the order, such as locations from fulfillments, refunds, or the shop's primary location. - Example: * `reference_location_id:123` Filter by the order's [`returnStatus`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-Order.fields.returnStatus) to monitor returns processing and track which orders have active returns. - Valid values: * `return_requested` * `in_progress` * `inspection_complete` * `returned` * `return_failed` * `no_return` Example: * `return_status:in_progress` Filter by the order risk assessment [`riskLevel`](https://shopify.dev/api/admin-graphql/latest/objects/OrderRiskAssessment#field-OrderRiskAssessment.fields.riskLevel) field. - Valid values: * `high` * `medium` * `low` * `none` * `pending` Example: * `risk_level:high` Filter by the [sales channel](https://shopify.dev/docs/apps/build/sales-channels) where the order was made to analyze performance or manage fulfillment processes. - Example: * `sales_channel: some_sales_channel` Filter by the [validation status](https://shopify.dev/docs/api/admin-graphql/latest/objects/MailingAddress#field-MailingAddress.fields.validationResultSummary) of the shipping address. Learn more about [validating addresses](https://help.shopify.com/docs/api/admin-graphql/latest/enums/MailingAddressValidationResult). - Valid values: * `has_issues` * `no_issues` * `not_validated` Example: * `shipping_address_validation_result_summary:no_issues` Filter by the product variant [`sku`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-ProductVariant.fields.sku) field. [Learn more about SKUs](https://help.shopify.com/manual/products/details/sku). - Example: * `sku:ABC123` Filter by the ID of the order placed on the originating platform, such as a unique POS or third-party identifier. This value doesn't correspond to the Shopify ID that's generated from a completed draft order. - Example: * `source_identifier:1234-12-1000` Filter by the platform where the order was placed to distinguish between web orders, POS sales, draft orders, or third-party channels. Use this filter to analyze sales performance across different ordering methods. - Example: * `source_name:web` * `source_name:shopify_draft_order` Filter by the order's status to manage workflows or analyze the order lifecycle. - Valid values: * `open` * `closed` * `cancelled` * `not_closed` Example: * `status:open` Filter by the total number of items across all line items in an order. This filter supports both exact values and ranges, and is useful for identifying bulk orders or analyzing purchase volume patterns. - Example: * `subtotal_line_items_quantity:10` * `subtotal_line_items_quantity:5..20` Filter objects by the `tag` field. - Example: * `tag:my_tag` Filter by objects that don’t have the specified tag. - Example: * `tag_not:my_tag` Filter by test orders. Test orders are made using the [Shopify Bogus Gateway](https://help.shopify.com/manual/checkout-settings/test-orders/payments-test-mode#bogus-gateway) or a payment provider with test mode enabled. - Example: * `test:true` Filter by the order weight. This filter supports both exact values and ranges, and is to be used to filter orders by the total weight of all items (excluding packaging). It takes a unit of measurement as a suffix. It accepts the following units: g, kg, lb, oz. - Example: * `total_weight:10.5kg` * `total_weight:>=5g total_weight:<=20g` * `total_weight:.5 lb` Filter by the date and time when the order was last updated in Shopify's system. Example: * `updated_at:2020-10-21T23:39:20Z` * `updated_at:'2020-10-21T23:39:20Z'` * `created_at:=1234` * `id:<=1234` Filter by inventory count. - Example: * `inventory_total:0` * `inventory_total:>150` * `inventory_total:>=200` Filter by products that have a reduced price. For more information, refer to the [`CollectionRule`](https://shopify.dev/api/admin-graphql/latest/objects/CollectionRule) object. - Example: * `is_price_reduced:true` Filters resources by metafield value. Format: `metafields.{namespace}.{key}:{value}`. Learn more about [querying by metafield value](https://shopify.dev/apps/build/custom-data/metafields/query-by-metafield-value). - Example: * `metafields.custom.on_sale:true` * `metafields.product.material:"gid://shopify/Metaobject/43458085"` Filter by products that are out of stock in at least one location. - Example: * `out_of_stock_somewhere:true` Filter by the product variant [`price`](https://shopify.dev/api/admin-graphql/latest/objects/Productvariant#field-price) field. - Example: * `price:100.57` Filter by the app [`id`](https://shopify.dev/api/admin-graphql/latest/objects/App#field-id) field. - Example: * `product_configuration_owner:10001` Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#field-Channel.fields.app) (`Channel.app.id`) and one of the valid values. For simple visibility checks, use [published\_status](https://shopify.dev/api/admin-graphql/latest/queries/products#argument-query-filter-publishable_status) instead. - Valid values: * `* {channel_app_id}-approved` * `* {channel_app_id}-rejected` * `* {channel_app_id}-needs_action` * `* {channel_app_id}-awaiting_review` * `* {channel_app_id}-published` * `* {channel_app_id}-demoted` * `* {channel_app_id}-scheduled` * `* {channel_app_id}-provisionally_published` Example: * `product_publication_status:189769876-approved` Filter by a comma-separated list of [product types](https://help.shopify.com/manual/products/details/product-type). - Example: * `product_type:snowboard` Filter by a comma-separated list of publication IDs that are associated with the product. - Example: * `publication_ids:184111530305,184111694145` **Deprecated:** This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use [published\_status](https://shopify.dev/api/admin-graphql/latest/queries/products#argument-query-filter-publishable_status) for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) and one of the valid status values. - Valid values: * `* {channel_app_id}-unset` * `* {channel_app_id}-pending` * `* {channel_app_id}-approved` * `* {channel_app_id}-not_approved` Example: * `publishable_status:580111-unset` * `publishable_status:580111-pending` Filter by the date and time when the product was published to the online store and other sales channels. - Example: * `published_at:>2020-10-21T23:39:20Z` * `published_at:'2020-10-21T23:39:20Z'` * `updated_at:=1234` * `id:<=1234` Filter by an aggregate of inventory across all locations where the product variant is stocked. - Example: * `inventory_quantity:10` Filter by the [location ID](https://shopify.dev/api/admin-graphql/latest/objects/Location#field-id) for the product variant. - Example: * `location_id:88511152449` Filter by whether there is fulfillment service tracking associated with the product variants. - Example: * `managed:true` Filter by the fulfillment service that tracks the number of items in stock for the product variant. - Example: * `managed_by:shopify` Filter by a custom property that a shop owner uses to define product variants. - Example: * `option1:small` Filter by a custom property that a shop owner uses to define product variants. - Example: * `option2:medium` Filter by a custom property that a shop owner uses to define product variants. - Example: * `option3:large` Filter by the product [`id`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-id) field. - Example: * `product_id:8474977763649` Filter by a comma-separated list of product [IDs](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-id). - Example: * `product_ids:8474977763649,8474977796417` Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#field-Channel.fields.app) (`Channel.app.id`) and one of the valid values. For simple visibility checks, use [published\_status](https://shopify.dev/api/admin-graphql/latest/queries/products#argument-query-filter-publishable_status) instead. - Valid values: * `* {channel_app_id}-approved` * `* {channel_app_id}-rejected` * `* {channel_app_id}-needs_action` * `* {channel_app_id}-awaiting_review` * `* {channel_app_id}-published` * `* {channel_app_id}-demoted` * `* {channel_app_id}-scheduled` * `* {channel_app_id}-provisionally_published` Example: * `product_publication_status:189769876-approved` Filter by a comma-separated list of product [statuses](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-status). - Example: * `product_status:ACTIVE,DRAFT` Filter by the product type that's associated with the product variants. - Example: * `product_type:snowboard` **Deprecated:** This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use [published\_status](https://shopify.dev/api/admin-graphql/latest/queries/products#argument-query-filter-publishable_status) for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) and one of the valid status values. - Valid values: * `* {channel_app_id}-unset` * `* {channel_app_id}-pending` * `* {channel_app_id}-approved` * `* {channel_app_id}-not_approved` Example: * `publishable_status:580111-unset` * `publishable_status:580111-pending` Filter resources by their visibility and publication state on a channel. Online store channel filtering: - `online_store_channel`: Returns all resources in the online store channel, regardless of publication status. - `published`/`visible`: Returns resources that are published to the online store. - `unpublished`: Returns resources that are not published to the online store. Channel-specific filtering using the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) with suffixes: - `{channel_app_id}-published`: Returns resources published to the specified channel. - `{channel_app_id}-visible`: Same as `{channel_app_id}-published` (kept for backwards compatibility). - `{channel_app_id}-intended`: Returns resources added to the channel but not yet published. - `{channel_app_id}-hidden`: Returns resources not added to the channel or not published. Other: - `unavailable`: Returns resources not published to any channel. - Valid values: * `online_store_channel` * `published` * `visible` * `unpublished` * `* {channel_app_id}-published` * `* {channel_app_id}-visible` * `* {channel_app_id}-intended` * `* {channel_app_id}-hidden` * `unavailable` Example: * `published_status:online_store_channel` * `published_status:published` * `published_status:580111-published` * `published_status:580111-hidden` * `published_status:unavailable` Filter by whether the product variant can only be purchased with components. [Learn more](https://shopify.dev/apps/build/product-merchandising/bundles#store-eligibility). - Example: * `requires_components:true` Filter by the product variant [`sku`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-sku) field. [Learn more about SKUs](https://help.shopify.com/manual/products/details/sku). - Example: * `sku:XYZ-12345` Filter objects by the `tag` field. - Example: * `tag:my_tag` Filter by objects that don’t have the specified tag. - Example: * `tag_not:my_tag` Filter by the product variant [`taxable`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-taxable) field. - Example: * `taxable:false` Filter by the product variant [`title`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-title) field. - Example: * `title:ice` Filter by date and time when the product variant was updated. - Example: * `updated_at:>2020-10-21T23:39:20Z` * `updated_at:Shop Queries ### Queried by * \[shop](https://shopify.dev/docs/api/admin-graphql/unstable/queries/shop) *** ## Mutations * [collection​Delete](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/collectionDelete) mutation Deletes a collection and removes it permanently from the store. This operation cannot be undone and will remove the collection from all sales channels where it was published. For example, when merchants discontinue seasonal promotions or reorganize their catalog structure, they can delete outdated collections like "Back to School 2023" to keep their store organized. Use `CollectionDelete` to: * Remove outdated or unused collections from stores * Clean up collection structures during catalog reorganization * Implement collection management tools with deletion capabilities Products within the deleted collection remain in the store but are no longer grouped under that collection. Learn more about [collection management](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection). * input [Collection​Delete​Input!](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/CollectionDeleteInput) required ### Arguments The collection to delete. *** * [customer​Delete](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/customerDelete) mutation Deletes a [`Customer`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Customer) from the store. You can only delete customers who haven't placed any [orders](https://shopify.dev/docs/api/admin-graphql/latest/objects/Order). Apps using protected customer data must meet Shopify's [protected customer data requirements](https://shopify.dev/docs/apps/launch/protected-customer-data#requirements). * input [Customer​Delete​Input!](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/CustomerDeleteInput) required ### Arguments Specifies the customer to delete. *** * [delegate​Access​Token​Create](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/delegateAccessTokenCreate) mutation Creates a [`DelegateAccessToken`](https://shopify.dev/docs/api/admin-graphql/latest/objects/DelegateAccessToken) with a subset of the parent token's permissions. Delegate access tokens enable secure permission delegation to subsystems or services that need limited access to shop resources. Each token inherits only the scopes you specify, ensuring subsystems operate with minimal required permissions rather than full app access. Learn more about [delegating access tokens to subsystems](https://shopify.dev/docs/apps/build/authentication-authorization/access-tokens/use-delegate-tokens). * input [Delegate​Access​Token​Input!](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/DelegateAccessTokenInput) required ### Arguments The input fields for creating a delegate access token. *** * [delegate​Access​Token​Destroy](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/delegateAccessTokenDestroy) mutation Destroys a delegate access token. * access​Token [String!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) required ### Arguments Provides the delegate access token to destroy. *** * [product​Create](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/productCreate) mutation Creates a [product](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product) with attributes such as title, description, vendor, and media. The `productCreate` mutation helps you create many products at once, avoiding the tedious or time-consuming process of adding them one by one in the Shopify admin. Common examples include creating products for a new collection, launching a new product line, or adding seasonal products. You can define product [options](https://shopify.dev/docs/api/admin-graphql/latest/objects/ProductOption) and [values](https://shopify.dev/docs/api/admin-graphql/latest/objects/ProductOptionValue), allowing you to create products with different variations like sizes or colors. You can also associate media files to your products, including images and videos. The `productCreate` mutation only supports creating a product with its initial [product variant](https://shopify.dev/docs/api/admin-graphql/latest/objects/ProductVariant). To create multiple product variants for a single product and manage prices, use the [`productVariantsBulkCreate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productVariantsBulkCreate) mutation. *** Note The `productCreate` mutation has a [throttle](https://shopify.dev/docs/api/usage/rate-limits#resource-based-rate-limits) that takes effect when a store has 50,000 product variants. After this threshold is reached, no more than 1,000 new product variants can be created per day. *** After you create a product, you can make subsequent edits to the product using one of the following mutations: * [`publishablePublish`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/publishablePublish): Used to publish the product and make it available to customers. The `productCreate` mutation creates products in an unpublished state by default, so you must perform a separate operation to publish the product. * [`productUpdate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productUpdate): Used to update a single product, such as changing the product's title, description, vendor, or associated media. * [`productSet`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productSet): Used to perform multiple operations on products, such as creating or modifying product options and variants. Learn more about the [product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model) and [adding product data](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/add-data). * product​Preferences [Product​Preferences​Input](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/ProductPreferencesInput) ### Arguments The default preferences in the product create form. * input [Product​Input](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/ProductInput) Deprecated * product [Product​Create​Input](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/ProductCreateInput) The attributes of the new product. * media [\[Create​Media​Input!\]](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/CreateMediaInput) The media to add to the product. *** * [product​Delete](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/productDelete) mutation Permanently deletes a product and all its associated data, including variants, media, publications, and inventory items. Use the `productDelete` mutation to programmatically remove products from your store when they need to be permanently deleted from your catalog, such as when removing discontinued items, cleaning up test data, or synchronizing with external inventory management systems. The `productDelete` mutation removes the product from all associated collections, and removes all associated data for the product, including: * All product variants and their inventory items * Product media (images, videos) that are not referenced by other products * [Product options](https://shopify.dev/api/admin-graphql/latest/objects/ProductOption) and [option values](https://shopify.dev/api/admin-graphql/latest/objects/ProductOptionValue) * Product publications across all sales channels * Product tags and metadata associations The `productDelete` mutation also has the following effects on existing orders and transactions: * **Draft orders**: Existing draft orders that reference this product will retain the product information as stored data, but the product reference will be removed. Draft orders can still be completed with the stored product details. * **Completed orders and refunds**: Previously completed orders that included this product aren't affected. The product information in completed orders is preserved for record-keeping, and existing refunds for this product remain valid and processable. *** Caution Product deletion is irreversible. After a product is deleted, it can't be recovered. Consider archiving or unpublishing products instead if you might need to restore them later. *** If you need to delete a large product, such as one that has many [variants](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant) that are active at several [locations](https://shopify.dev/api/admin-graphql/latest/objects/Location), you might encounter timeout errors. To avoid these timeout errors, you can set the [`synchronous`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productDelete#arguments-synchronous) parameter to `false` to run the deletion asynchronously, which returns a [`ProductDeleteOperation`](https://shopify.dev/docs/api/admin-graphql/latest/objects/ProductDeleteOperation) that you can monitor for completion status. If you need more granular control over product cleanup, consider using these alternative mutations: * [`productUpdate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productUpdate): Update the product status to archived or unpublished instead of deleting. * [`productVariantsBulkDelete`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productVariantsBulkDelete): Delete specific variants while keeping the product. * [`productOptionsDelete`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productOptionsDelete): Delete the choices available for a product, such as size, color, or material. Learn more about the [product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model). * input [Product​Delete​Input!](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/ProductDeleteInput) required ### Arguments Specifies the product to delete by its ID. * synchronous [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) Default:true Specifies whether or not to run the mutation synchronously. *** * [product​Duplicate](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/productDuplicate) mutation Duplicates a product. If you need to duplicate a large product, such as one that has many [variants](https://shopify.dev/api/admin-graphql/latest/input-objects/ProductVariantInput) that are active at several [locations](https://shopify.dev/api/admin-graphql/latest/input-objects/InventoryLevelInput), you might encounter timeout errors. To avoid these timeout errors, you can instead duplicate the product asynchronously. In API version 2024-10 and higher, include `synchronous: false` argument in this mutation to perform the duplication asynchronously. In API version 2024-07 and lower, use the asynchronous [`ProductDuplicateAsyncV2`](https://shopify.dev/api/admin-graphql/2024-07/mutations/productDuplicateAsyncV2). Metafield values are not duplicated if the unique values capability is enabled. * product​Id [ID!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/ID) required ### Arguments The ID of the product to be duplicated. * new​Title [String!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) required The new title of the product. * new​Status [Product​Status](https://shopify.dev/docs/api/admin-graphql/unstable/enums/ProductStatus) The new status of the product. If no value is provided the status will be inherited from the original product. * include​Images [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) Default:false Specifies whether or not to duplicate images. * include​Translations [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) Default:false Specifies whether or not to duplicate translations. * synchronous [Boolean](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) Default:true Specifies whether or not to run the mutation synchronously. *** * [publishable​Publish](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/publishablePublish) mutation Publishes a resource, such as a [`Product`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product) or [`Collection`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection), to one or more [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication). For products to be visible in a channel, they must have an active [`ProductStatus`](https://shopify.dev/docs/api/admin-graphql/latest/enums/ProductStatus). Products sold exclusively on subscription (`requiresSellingPlan: true`) can only be published to online stores. You can schedule future publication by providing a publish date. Only online store channels support [scheduled publishing](https://shopify.dev/docs/apps/build/sales-channels/scheduled-product-publishing). * id [ID!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/ID) required ### Arguments The resource to create or update publications for. * input [\[Publication​Input!\]!](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/PublicationInput) required Specifies the input fields required to publish a resource. *** * [publishable​Publish​To​Current​Channel](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/publishablePublishToCurrentChannel) mutation Publishes a resource to the current [`Channel`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel) associated with the requesting app. The system determines the current channel by the app's API client ID. Resources include [`Product`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product) and [`Collection`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection) objects that implement the [`Publishable`](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/Publishable) interface. For products to be visible in the channel, they must have an active [`ProductStatus`](https://shopify.dev/docs/api/admin-graphql/latest/enums/ProductStatus). Products sold exclusively on subscription ([`requiresSellingPlan`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product#field-Product.fields.requiresSellingPlan): `true`) can only be published to online stores. * id [ID!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/ID) required ### Arguments The resource to create or update publications for. *** * [publishable​Unpublish](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/publishableUnpublish) mutation Unpublishes a resource, such as a [`Product`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product) or [`Collection`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection), from one or more [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication). The resource remains in your store but becomes unavailable to customers. For products to be visible in a channel, they must have an active [`ProductStatus`](https://shopify.dev/docs/api/admin-graphql/latest/enums/ProductStatus). * id [ID!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/ID) required ### Arguments The resource to delete or update publications for. * input [\[Publication​Input!\]!](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/PublicationInput) required Specifies the input fields required to unpublish a resource. *** * [publishable​Unpublish​To​Current​Channel](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/publishableUnpublishToCurrentChannel) mutation Unpublishes a resource from the current channel. If the resource is a product, then it's visible in the channel only if the product status is `active`. * id [ID!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/ID) required ### Arguments The resource to delete or update publications for. *** * [saved​Search​Delete](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/savedSearchDelete) mutation Delete a saved search. * input [Saved​Search​Delete​Input!](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/SavedSearchDeleteInput) required ### Arguments The input fields to delete a saved search. *** * [storefront​Access​Token​Create](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/storefrontAccessTokenCreate) mutation Creates a storefront access token that delegates unauthenticated access scopes to clients using the [Storefront API](https://shopify.dev/docs/api/storefront). The token provides public access to storefront resources without requiring customer authentication. Each shop can have up to 100 active [`StorefrontAccessToken`](https://shopify.dev/docs/api/admin-graphql/latest/objects/StorefrontAccessToken) objects. Headless storefronts, mobile apps, and other client applications typically use these tokens to access public storefront data. Learn more about [building with the Storefront API](https://shopify.dev/docs/storefronts/headless/building-with-the-storefront-api/getting-started). * input [Storefront​Access​Token​Input!](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/StorefrontAccessTokenInput) required ### Arguments Provides the input fields for creating a storefront access token. *** ### Deprecated mutations * [collection​Publish](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/collectionPublish) mutation Deprecated * input [Collection​Publish​Input!](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/CollectionPublishInput) required ### Arguments Specify a collection to publish and the sales channels to publish it to. *** * [collection​Unpublish](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/collectionUnpublish) mutation Deprecated * input [Collection​Unpublish​Input!](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/CollectionUnpublishInput) required ### Arguments Specify a collection to unpublish and the sales channels to remove it from. *** * [product​Publish](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/productPublish) mutation Deprecated * input [Product​Publish​Input!](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/ProductPublishInput) required ### Arguments Specifies the product to publish and the channels to publish it to. *** * [product​Unpublish](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/productUnpublish) mutation Deprecated * input [Product​Unpublish​Input!](https://shopify.dev/docs/api/admin-graphql/unstable/input-objects/ProductUnpublishInput) required ### Arguments Specifies the product to unpublish and the channel to unpublish it from. *** *** ## <\~> Shop Mutations ### Mutated by * <\~>[collection​Delete](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/collectionDelete) * <\~>[customer​Delete](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/customerDelete) * <\~>[delegate​Access​Token​Create](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/delegateAccessTokenCreate) * <\~>[delegate​Access​Token​Destroy](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/delegateAccessTokenDestroy) * <\~>[product​Create](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/productCreate) * <\~>[product​Delete](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/productDelete) * <\~>[product​Duplicate](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/productDuplicate) * <\~>[publishable​Publish](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/publishablePublish) * <\~>[publishable​Publish​To​Current​Channel](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/publishablePublishToCurrentChannel) * <\~>[publishable​Unpublish](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/publishableUnpublish) * <\~>[publishable​Unpublish​To​Current​Channel](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/publishableUnpublishToCurrentChannel) * <\~>[saved​Search​Delete](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/savedSearchDelete) * <\~>[storefront​Access​Token​Create](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/storefrontAccessTokenCreate) *** ## Interfaces * * [Has​Metafield​Definitions](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/HasMetafieldDefinitions) interface * [Has​Metafields](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/HasMetafields) interface * [Has​Published​Translations](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/HasPublishedTranslations) interface * [Node](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/Node) interface *** ## ||-Shop Implements ### Implements * ||-[Has​Metafield​Definitions](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/HasMetafieldDefinitions) * ||-[Has​Metafields](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/HasMetafields) * ||-[Has​Published​Translations](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/HasPublishedTranslations) * ||-[Node](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/Node)