Skip to main content
interface

A default cursor that you can use in queries to paginate your results. Each edge in a connection can return a cursor, which is a reference to the edge's position in the connection. You can use an edge's cursor as the starting point to retrieve the nodes before or after it in a connection.

To learn more about using cursor-based pagination, refer to Paginating results with GraphQL.

•String!
non-null

A default cursor that returns the single next record, sorted ascending by ID.


Was this section helpful?

Anchor to Types implemented inTypes implemented in

•OBJECT

An incomplete checkout where the customer added items and provided contact information but didn't complete the purchase. Tracks the customer's cart contents, pricing details, addresses, and timestamps to enable recovery campaigns and abandonment analytics.

The checkout includes a recovery URL that merchants can send to customers to resume their purchase. AbandonedCheckoutLineItem objects preserve the original Product selections, quantities, and pricing at the time of abandonment.

Anchor to abandonedCheckoutUrlabandonedCheckoutUrl
•URL!
non-null

The URL for the buyer to recover their checkout.

•MailingAddress

The billing address provided by the buyer. Null if the user did not provide a billing address.

•DateTime

The date and time when the buyer completed the checkout. Null if the checkout has not been completed.

•DateTime!
non-null

The date and time when the checkout was created.

•[Attribute!]!
non-null

A list of extra information that has been added to the checkout.

•Customer

The customer who created this checkout. May be null if the checkout was created from a draft order or via an app.

•String!
non-null

A default cursor that returns the single next record, sorted ascending by ID.

•[String!]!
non-null

The discount codes entered by the buyer at checkout.

•ID!
non-null

A globally-unique ID.

•AbandonedCheckoutLineItemConnection!
non-null

A list of the line items in this checkout.

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!
non-null

Unique merchant-facing identifier for the checkout.

•String!
non-null

A merchant-facing note added to the checkout. Not visible to the buyer.

•MailingAddress

The shipping address to where the line items will be shipped. Null if the user did not provide a shipping address.

•MoneyBag!
non-null

The sum of all items in the checkout, including discounts but excluding shipping, taxes and tips.

•Boolean!
non-null

Whether taxes are included in line item and shipping line prices.

•[TaxLine!]!
non-null

Individual taxes charged on the checkout.

•MoneyBag!
non-null

The total amount of discounts to be applied.

•MoneyBag

The total duties applied to the checkout.

Anchor to totalLineItemsPriceSettotalLineItemsPriceSet
•MoneyBag!
non-null

The sum of the prices of all line items in the checkout.

•MoneyBag!
non-null

The sum of all items in the checkout, including discounts, shipping, taxes, and tips.

•MoneyBag

The total tax applied to the checkout.

•DateTime!
non-null

The date and time when the checkout was most recently updated.

•Int!
non-nullDeprecated
Anchor to ArticleArticle
•OBJECT

An article that contains content, author information, and metadata. Articles belong to a Blog and can include HTML-formatted body text, summary text, and an associated image. Merchants publish articles to share content, drive traffic, and engage customers.

Articles can be organized with tags and published immediately or scheduled for future publication using the publishedAt timestamp. The API manages comments on articles when the blog's comment policy enables them.

•ArticleAuthor

The name of the author of the article.

•Blog!
non-null

The blog containing the article.

•HTML!
non-null

The text of the article's body, complete with HTML markup.

•CommentConnection!
non-null

List of the article's comments.

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 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 comment 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
Anchor to published_at
•time

Filter by the date and time when the comment was published.

Example:

  • published_at:>'2020-10-21T23:39:20Z'
  • published_at:<now
  • published_at:<=2024
Anchor to published_status
•string

Filter by published status

Valid values:

  • any
  • published
  • unpublished

Example:

  • published_status:any
  • published_status:published
  • published_status:unpublished
•string
Anchor to updated_at
•time

Filter by the date and time when the comment was last updated.

Example:

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

•Count

Count of comments. Limited to a maximum of 10000 by default.

Arguments

•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 comment 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
Anchor to published_at
•time

Filter by the date and time when the comment was published.

Example:

  • published_at:>'2020-10-21T23:39:20Z'
  • published_at:<now
  • published_at:<=2024
Anchor to published_status
•string

Filter by published status

Valid values:

  • any
  • published
  • unpublished

Example:

  • published_status:any
  • published_status:published
  • published_status:unpublished
•string
Anchor to updated_at
•time

Filter by the date and time when the comment was last updated.

Example:

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

The upper bound on count value before returning a result. Use null to have no limit.


•DateTime!
non-null

The date and time (ISO 8601 format) when the article was created.

•String!
non-null

A default cursor that returns the single next record, sorted ascending by ID.

•EventConnection!
non-null

The paginated list of events associated with the host subject.

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.

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

•string

The action that occured.

Example:

  • action:create
Anchor to comments
•boolean

Whether or not to include comment-events in your search, passing false will exclude comment-events, any other value will include comment-events.

Example:

  • false
  • true
Anchor to created_at
•time

Filter by the date and time when the event happened.

Example:

  • created_at:>2020-10-21
  • created_at:<now
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to subject_type
•string

The resource type affected by this event. See EventSubjectType for possible values.

Example:

  • PRODUCT_VARIANT
  • PRODUCT
  • COLLECTION

•String!
non-null

A unique, human-friendly string for the article that's automatically generated from the article's title. The handle is used in the article's URL.

•ID!
non-null

A globally-unique ID.

•Image

The image associated with the article.

•Boolean!
non-null

Whether or not the article is visible.

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


Anchor to metafieldsByIdentifiersmetafieldsByIdentifiers
•[Metafield]!
non-null

The metafields associated with the resource matching the supplied list of namespaces and keys.

Arguments

•[HasMetafieldsIdentifier!]!
required

The list of metafields to retrieve by namespace and key.


•DateTime

The date and time (ISO 8601 format) when the article became or will become visible. Returns null when the article isn't visible.

•HTML

A summary of the article, which can include HTML markup. The summary is used by the online store theme to display the article on other pages, such as the home page or the main blog page.

•[String!]!
non-null

A comma-separated list of tags. Tags are additional short descriptors formatted as a string of comma-separated values.

•String

The name of the template an article is using if it's using an alternate template. If an article is using the default article.liquid template, then the value returned is null.

•String!
non-null

The title of the article.

•[Translation!]!
non-null

The published translations associated with the resource.

Arguments

•String!
required

Filters translations locale.

•ID

Filters translations by market ID. Use this argument to retrieve content specific to a market.


•DateTime

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

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

•OBJECT

A business entity that purchases from the shop as part of B2B commerce. Companies organize multiple locations and contacts who can place orders on behalf of the organization. CompanyLocation objects can have custom pricing through Catalog and PriceList configurations.

•CompanyContactRoleConnection!
non-null

The list of roles for the company contacts.

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.

•CompanyContactRoleSortKeys
Default:ID

Sort the underlying list by the given key.


•CompanyContactConnection!
non-null

The list of contacts in the company.

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.

•CompanyContactSortKeys
Default:ID

Sort the underlying list by the given key.

•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 company_id
•id
Anchor to company_location_id
•id
Anchor to created_at
•time
•string
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to location_name
•string
•string
Anchor to role_name
•string
•string
Anchor to updated_at
•time

•Count

The number of contacts that belong to the company.

•DateTime!
non-null

The date and time (ISO 8601 format) at which the company was created in Shopify.

•DateTime!
non-null

The date and time (ISO 8601 format) at which the company became the customer.

•String!
non-null

A default cursor that returns the single next record, sorted ascending by ID.

•CompanyContactRole

The role proposed by default for a contact at the company.

•DraftOrderConnection!
non-null

The list of the company's draft orders.

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.

•DraftOrderSortKeys
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
Anchor to customer_id
•id
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
•string
•string
•string
Anchor to updated_at
•time

•EventConnection!
non-null

The paginated list of events associated with the host subject.

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.

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

•string

The action that occured.

Example:

  • action:create
Anchor to comments
•boolean

Whether or not to include comment-events in your search, passing false will exclude comment-events, any other value will include comment-events.

Example:

  • false
  • true
Anchor to created_at
•time

Filter by the date and time when the event happened.

Example:

  • created_at:>2020-10-21
  • created_at:<now
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to subject_type
•string

The resource type affected by this event. See EventSubjectType for possible values.

Example:

  • PRODUCT_VARIANT
  • PRODUCT
  • COLLECTION

•String

A unique externally-supplied ID for the company.

•Boolean!
non-null

Whether the merchant added a timeline comment to the company.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The lifetime duration of the company, since it became a customer of the shop. Examples: 2 days, 3 months, 1 year.

•CompanyLocationConnection!
non-null

The list of locations in the company.

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.

•CompanyLocationSortKeys
Default:ID

Sort the underlying list by the given key.

•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 company_id
•id
Anchor to created_at
•time
Anchor to external_id
•string
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
•string
Anchor to metafields.{namespace}.{key}
•mixed

Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value.

Example:

  • metafields.custom.on_sale:true
  • metafields.product.material:"gid://shopify/Metaobject/43458085"
•string
Anchor to updated_at
•time

•Count

The number of locations that belong to the company.

•CompanyContact

The main contact for the company.

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


Anchor to metafieldsByIdentifiersmetafieldsByIdentifiers
•[Metafield]!
non-null

The metafields associated with the resource matching the supplied list of namespaces and keys.

Arguments

•[HasMetafieldsIdentifier!]!
required

The list of metafields to retrieve by namespace and key.


•String!
non-null

The name of the company.

•String

A note about the company.

•OrderConnection!
non-null

The list of the company's orders.

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.

•OrderSortKeys
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 cart_token
•string

Filter by the cart token's unique value to track abandoned cart conversions or troubleshoot checkout issues. The token references the cart that's associated with an order.

Example:

  • cart_token:abc123
Anchor to channel
•string

Filter by the channel information handle (ChannelInformation.channelDefinition.handle) field.

Example:

  • channel:web
  • channel:web,pos
Anchor to channel_id
•id

Filter by the channel id field.

Example:

  • channel_id:123
Anchor to chargeback_status
•string

Filter by the order's chargeback status. A chargeback occurs when a customer questions the legitimacy of a charge with their financial institution.

Valid values:

  • accepted
  • charge_refunded
  • lost
  • needs_response
  • under_review
  • won

Example:

  • chargeback_status:accepted
Anchor to checkout_token
•string

Filter by the checkout token's unique value to analyze conversion funnels or resolve payment issues. The checkout token's value references the checkout that's associated with an order.

Example:

  • checkout_token:abc123
Anchor to confirmation_number
•string

Filter by the randomly generated alpha-numeric identifier for an order that can be displayed to the customer instead of the sequential order name. This value isn't guaranteed to be unique.

Example:

  • confirmation_number:ABC123
Anchor to created_at
•time

Filter by the date and time when the order was created in Shopify's system.

Example:

  • created_at:2020-10-21T23:39:20Z
  • created_at:<now
  • created_at:<=2024
Anchor to credit_card_last4
•string

Filter by the last four digits of the payment card that was used to pay for the order. This filter matches only the last four digits of the card for heightened security.

Example:

  • credit_card_last4:1234
Anchor to current_total_price
•float

Filter by the current total price of the order in the shop currency, including any returns/refunds/removals. This filter supports both exact values and ranges.

Example:

  • current_total_price:10
  • current_total_price:>=5.00 current_total_price:<=20.99
Anchor to customer_id
•id

Filter orders by the customer id field.

Example:

  • customer_id:123
Anchor to delivery_method
•string

Filter by the delivery methodType field.

Valid values:

  • shipping
  • pick-up
  • retail
  • local
  • pickup-point
  • none

Example:

  • delivery_method:shipping
Anchor to discount_code
•string

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

Filter by the email address that's associated with the order to provide customer support or analyze purchasing patterns.

Example:

  • email:example@shopify.com
Anchor to financial_status
•string

Filter by the order displayFinancialStatus field.

Valid values:

  • paid
  • pending
  • authorized
  • partially_paid
  • partially_refunded
  • refunded
  • voided
  • expired

Example:

  • financial_status:authorized
Anchor to fraud_protection_level
•string

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
Anchor to fulfillment_location_id
•id

Filter by the fulfillment location id (Fulfillment.location.id) field.

Example:

  • fulfillment_location_id:123
Anchor to fulfillment_status
•string

Filter by the 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
Anchor to gateway
•string

Filter by the 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
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to location_id
•id

Filter by the location 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
Anchor to metafields.{namespace}.{key}
•mixed

Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value.

Example:

  • metafields.custom.on_sale:true
  • metafields.product.material:"gid://shopify/Metaobject/43458085"
•string

Filter by the order name field.

Example:

  • name:1001-A
Anchor to payment_id
•string

Filter by the payment ID that's associated with the order to reconcile financial records or troubleshoot payment issues.

Example:

  • payment_id:abc123
Anchor to payment_provider_id
•id

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
Anchor to po_number
•string

Filter by the order poNumber field.

Example:

  • po_number:P01001
Anchor to processed_at
•time

Filter by the order processedAt field.

Example:

  • processed_at:2021-01-01T00:00:00Z
Anchor to reference_location_id
•id

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
Anchor to return_status
•string

Filter by the order's 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
Anchor to risk_level
•string

Filter by the order risk assessment riskLevel field.

Valid values:

  • high
  • medium
  • low
  • none
  • pending

Example:

  • risk_level:high
Anchor to sales_channel
•string

Filter by the sales channel where the order was made to analyze performance or manage fulfillment processes.

Example:

  • sales_channel: some_sales_channel
Anchor to shipping_address_validation_result_summary
•string

Filter by the validation status of the shipping address. Learn more about validating addresses.

Valid values:

  • has_issues
  • no_issues
  • not_validated

Example:

  • shipping_address_validation_result_summary:no_issues
•string

Filter by the product variant sku field. Learn more about SKUs.

Example:

  • sku:ABC123
Anchor to source_identifier
•string

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
Anchor to source_name
•string

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

Filter by the order's status to manage workflows or analyze the order lifecycle.

Valid values:

  • open
  • closed
  • cancelled
  • not_closed

Example:

  • status:open
Anchor to subtotal_line_items_quantity
•string

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

Filter objects by the tag field.

Example:

  • tag:my_tag
Anchor to tag_not
•string

Filter by objects that don’t have the specified tag.

Example:

  • tag_not:my_tag
•boolean

Filter by test orders. Test orders are made using the Shopify Bogus Gateway or a payment provider with test mode enabled.

Example:

  • test:true
Anchor to total_weight
•string

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
Anchor to updated_at
•time

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:<now
  • updated_at:<=2024

•Count

The total number of orders placed for this company, across all its locations.

•MoneyV2!
non-null

The total amount spent by this company, across all its locations.

•DateTime!
non-null

The date and time (ISO 8601 format) at which the company was last modified.

•Int!
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

•OBJECT

A location or branch of a Company that's a customer of the shop. Company locations enable B2B customers to manage multiple branches with distinct billing and shipping addresses, tax settings, and checkout configurations.

Each location can have its own Catalog objects that determine which products are published and their pricing. The BuyerExperienceConfiguration determines checkout behavior including PaymentTerms, and whether orders require merchant review. B2B customers select which location they're purchasing for, which determines the applicable catalogs, pricing, TaxExemption values, and checkout settings for their Order objects.

•CompanyAddress

The address used as billing address for the location.

Anchor to buyerExperienceConfigurationbuyerExperienceConfiguration
•BuyerExperienceConfiguration

The configuration for the buyer's B2B checkout.

•CatalogConnection!
non-null

The list of catalogs associated with the company 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.


•Count

The number of catalogs associated with the company location. Limited to a maximum of 10000 by default.

Arguments

•Int
Default:10000

The upper bound on count value before returning a result. Use null to have no limit.


•Company!
non-null

The company that the company location belongs to.

•DateTime!
non-null

The date and time (ISO 8601 format) at which the company location was created in Shopify.

•CurrencyCode!
non-null

The location's currency based on the shipping address. If the shipping address is empty, then the value is the shop's primary market.

•String!
non-null

A default cursor that returns the single next record, sorted ascending by ID.

•DraftOrderConnection!
non-null

The list of draft orders for the company 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.

•DraftOrderSortKeys
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
Anchor to customer_id
•id
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
•string
•string
•string
Anchor to updated_at
•time

•EventConnection!
non-null

The paginated list of events associated with the host subject.

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.

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

•string

The action that occured.

Example:

  • action:create
Anchor to comments
•boolean

Whether or not to include comment-events in your search, passing false will exclude comment-events, any other value will include comment-events.

Example:

  • false
  • true
Anchor to created_at
•time

Filter by the date and time when the event happened.

Example:

  • created_at:>2020-10-21
  • created_at:<now
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to subject_type
•string

The resource type affected by this event. See EventSubjectType for possible values.

Example:

  • PRODUCT_VARIANT
  • PRODUCT
  • COLLECTION

•String

A unique externally-supplied ID for the company location.

•Boolean!
non-null

Whether the company location has a price list with the specified ID.

Arguments

•ID!
required

The price list ID to check.


•Boolean!
non-null

Whether the merchant added a timeline comment to the company location.

•ID!
non-null

A globally-unique ID.

•Boolean!
non-null

Whether the company location is assigned a specific catalog.

Arguments

•ID!
required

The ID of the catalog.


•String

The preferred locale of the company 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.


Anchor to metafieldsByIdentifiersmetafieldsByIdentifiers
•[Metafield]!
non-null

The metafields associated with the resource matching the supplied list of namespaces and keys.

Arguments

•[HasMetafieldsIdentifier!]!
required

The list of metafields to retrieve by namespace and key.


•String!
non-null

The name of the company location.

•String

A note about the company location.

•OrderConnection!
non-null

The list of orders for the company 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.

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


•Count

The total number of orders placed for the location.

•String

The phone number of the company location.

•PriceListConnection!
non-null

The list of price lists for the company 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.


•CompanyContactRoleAssignmentConnection!
non-null

The list of roles assigned to the company 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.

•CompanyContactRoleAssignmentSortKeys
Default:ID

Sort the underlying list by the given key.

•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 company_contact_id
•id
Anchor to company_contact_role_id
•id
Anchor to company_id
•id
Anchor to company_location_id
•id
Anchor to created_at
•time
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to location_name
•string
Anchor to role_name
•string
Anchor to updated_at
•time

•CompanyAddress

The address used as shipping address for the location.

Anchor to staffMemberAssignmentsstaffMemberAssignments
•CompanyLocationStaffMemberAssignmentConnection!
non-null

The list of staff members assigned to the company 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.

•CompanyLocationStaffMemberAssignmentSortKeys
Default:ID

Sort the underlying list by the given key.

•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 company_location_id
•id
Anchor to created_at
•time
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to staff_member_id
•id
Anchor to updated_at
•time

•StoreCreditAccountConnection!
non-null

Returns a list of store credit accounts that belong to the owner resource. A store credit account owner can hold multiple accounts each with a different currency.

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.

•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 currency_code
•string
•id

Filter by id range.

Example:

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

•CompanyLocationTaxSettings!
non-null

The tax settings for the company location.

•MoneyV2!
non-null

The total amount spent by the location.

•DateTime!
non-null

The date and time (ISO 8601 format) at which the company location was last modified.

•Market!
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

•Int!
non-nullDeprecated
•[TaxExemption!]!
non-nullDeprecated
•String
Deprecated
•OBJECT

An app extension page for the customer account navigation menu.

•String

The UUID of the app extension.

•String!
non-null

A default cursor that returns the single next record, sorted ascending by ID.

•String!
non-null

A unique, human-friendly string for the customer account page.

•ID!
non-null

The unique ID for the customer account page.

•String!
non-null

The title of the customer account page.

•OBJECT

A native page for the customer account navigation menu.

•String!
non-null

A default cursor that returns the single next record, sorted ascending by ID.

•String!
non-null

A unique, human-friendly string for the customer account page.

•ID!
non-null

The unique ID for the customer account page.

•CustomerAccountNativePagePageType!
non-null

The type of customer account native page.

•String!
non-null

The title of the customer account page.

•OBJECT

An order that a merchant creates on behalf of a customer. Draft orders are useful for merchants that need to do the following tasks:

  • Create new orders for sales made by phone, in person, by chat, or elsewhere. When a merchant accepts payment for a draft order, an order is created.
  • Send invoices to customers to pay with a secure checkout link.
  • Use custom items to represent additional costs or products that aren't displayed in a shop's inventory.
  • Re-create orders manually from active sales channels.
  • Sell products at discount or wholesale rates.
  • Take pre-orders.

For draft orders in multiple currencies presentment_money is the source of truth for what a customer is going to be charged and shop_money is an estimate of what the merchant might receive in their shop currency.

Caution: Only use this data if it's required for your app's functionality. Shopify will restrict access to scopes for apps that don't have a legitimate use for the associated data.

Draft orders created on or after April 1, 2025 will be automatically purged after one year of inactivity.

Anchor to acceptAutomaticDiscountsacceptAutomaticDiscounts
•Boolean

Whether or not to accept automatic discounts on the draft order during calculation. If false, only discount codes and custom draft order discounts (see appliedDiscount) will be applied. If true, eligible automatic discounts will be applied in addition to discount codes and custom draft order discounts.

Anchor to allowDiscountCodesInCheckoutallowDiscountCodesInCheckout
•Boolean!
non-null

Whether discount codes are allowed during checkout of this draft order.

Anchor to allVariantPricesOverriddenallVariantPricesOverridden
•Boolean!
non-null

Whether all variant prices have been overridden.

•MoneyBag!
non-null

The amount due later. When there are payment terms, this is the total price minus the deposit amount (if any). When there are no payment terms, this is 0.

•MoneyBag!
non-null

The amount due now. When there are payment terms this is the value of the deposit (0 by default). When there are no payment terms, this is the total price.

Anchor to anyVariantPricesOverriddenanyVariantPricesOverridden
•Boolean!
non-null

Whether any variant prices have been overridden.

•DraftOrderAppliedDiscount

The custom order-level discount applied.

•MailingAddress

The billing address of the customer.

Anchor to billingAddressMatchesShippingAddressbillingAddressMatchesShippingAddress
•Boolean!
non-null

Whether the billing address matches the shipping address.

Anchor to bypassCartValidationsbypassCartValidations
•Boolean

Whether to bypass cart validations on this draft order.

•DateTime

The date and time when the draft order was converted to a new order, and had it's status changed to Completed.

•DateTime!
non-null

The date and time when the draft order was created in Shopify.

•CurrencyCode!
non-null

The shop currency used for calculation.

•[Attribute!]!
non-null

The custom information added to the draft order on behalf of the customer.

•Customer

The customer who will be sent an invoice.

•String!
non-null

A default cursor that returns the single next record, sorted ascending by ID.

•DepositConfiguration

The portion required to be paid at checkout.

•[String!]!
non-null

All discount codes applied.

•String

The email address of the customer, which is used to send notifications.

•EventConnection!
non-null

The list of events associated with the draft order.

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.

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

•string

The action that occured.

Example:

  • action:create
Anchor to comments
•boolean

Whether or not to include comment-events in your search, passing false will exclude comment-events, any other value will include comment-events.

Example:

  • false
  • true
Anchor to created_at
•time

Filter by the date and time when the event happened.

Example:

  • created_at:>2020-10-21
  • created_at:<now
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to subject_type
•string

The resource type affected by this event. See EventSubjectType for possible values.

Example:

  • PRODUCT_VARIANT
  • PRODUCT
  • COLLECTION

•Boolean!
non-null

Whether the merchant has added timeline comments to the draft order.

•ID!
non-null

A globally-unique ID.

Anchor to invoiceEmailTemplateSubjectinvoiceEmailTemplateSubject
•String!
non-null

The subject defined for the draft invoice email template.

•DateTime

The date and time when the invoice was last emailed to the customer.

•URL

The link to the checkout, which is sent to the customer in the invoice email.

•UnsignedInt64!
non-null

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

•DraftOrderLineItemConnection!
non-null

The list of the line items in the draft order.

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.


Anchor to lineItemsSubtotalPricelineItemsSubtotalPrice
•MoneyBag!
non-null

A subtotal of the line items and corresponding discounts, excluding shipping charges, shipping discounts, taxes, or order discounts.

•LocalizedFieldConnection!
non-null

List of localized fields for the resource.

Arguments

•[CountryCode!]

The country codes of the extensions.

•[LocalizedFieldPurpose!]

The purpose of the extensions.

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


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


Anchor to metafieldsByIdentifiersmetafieldsByIdentifiers
•[Metafield]!
non-null

The metafields associated with the resource matching the supplied list of namespaces and keys.

Arguments

•[HasMetafieldsIdentifier!]!
required

The list of metafields to retrieve by namespace and key.


•String!
non-null

The identifier for the draft order, which is unique within the store. For example, #D1223.

•String

The text from an optional note attached to the draft order.

•Order

The order that was created from the draft order.

•PaymentTerms

The associated payment terms for this draft order.

•String

The assigned phone number.

•[DraftOrderPlatformDiscount!]!
non-null

The list of platform discounts applied.

•String

The purchase order number.

Anchor to presentmentCurrencyCodepresentmentCurrencyCode
•CurrencyCode!
non-null

The payment currency used for calculation.

•PurchasingEntity

The purchasing entity.

•Boolean!
non-null

Whether the draft order is ready and can be completed. Draft orders might have asynchronous operations that can take time to finish.

Anchor to reserveInventoryUntilreserveInventoryUntil
•DateTime

The time after which inventory will automatically be restocked.

•MailingAddress

The shipping address of the customer.

•ShippingLine

The line item containing the shipping information and costs.

•DraftOrderStatus!
non-null

The status of the draft order.

•MoneyBag!
non-null

The subtotal, of the line items and their discounts, excluding shipping charges, shipping discounts, and taxes.

•[String!]!
non-null

The comma separated list of tags associated with the draft order. Updating tags overwrites any existing tags that were previously added to the draft order. To add new tags without overwriting existing tags, use the tagsAdd mutation.

•Boolean!
non-null

Whether the line item prices include taxes.

•Boolean!
non-null

Whether the draft order is tax exempt.

•[TaxLine!]!
non-null

The list of of taxes lines charged for each line item and shipping line.

•MoneyBag!
non-null

Total discounts.

Anchor to totalLineItemsPriceSettotalLineItemsPriceSet
•MoneyBag!
non-null

Total price of line items, excluding discounts.

•MoneyBag!
non-null

The total price, includes taxes, shipping charges, and discounts.

Anchor to totalQuantityOfLineItemstotalQuantityOfLineItems
•Int!
non-null

The sum of individual line item quantities. If the draft order has bundle items, this is the sum containing the quantities of individual items in the bundle.

Anchor to totalShippingPriceSettotalShippingPriceSet
•MoneyBag!
non-null

The total shipping price.

•MoneyBag!
non-null

The total tax.

•UnsignedInt64!
non-null

The total weight in grams of the draft order.

Anchor to transformerFingerprinttransformerFingerprint
•String

Fingerprint of the current cart. In order to have bundles work, the fingerprint must be passed to each request as it was previously returned, unmodified.

•DateTime!
non-null

The date and time when the draft order was last changed. The format is YYYY-MM-DD HH:mm:ss. For example, 2016-02-05 17:04:01.

•Boolean!
non-null

Whether the draft order will be visible to the customer on the self-serve portal.

•[DraftOrderWarning!]!
non-null

The list of warnings raised while calculating.

Anchor to localizationExtensionslocalizationExtensions
•LocalizationExtensionConnection!
non-nullDeprecated

Arguments

•[CountryCode!]

The country codes of the extensions.

•[LocalizationExtensionPurpose!]

The purpose of the extensions.

•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-nullDeprecated
Anchor to marketRegionCountryCodemarketRegionCountryCode
•CountryCode!
non-nullDeprecated
•Money!
non-nullDeprecated
•Money!
non-nullDeprecated
•Money!
non-nullDeprecated
•Money!
non-nullDeprecated
•OBJECT

A standalone content page in the online store. Pages display HTML-formatted content for informational pages like "About Us", contact information, or shipping policies.

Each page has a unique handle for URL routing and supports custom template suffixes for specialized layouts. Pages can be published or hidden, and include creation and update timestamps.

•HTML!
non-null

The text content of the page, complete with HTML markup.

•String!
non-null

The first 150 characters of the page body. If the page body contains more than 150 characters, additional characters are truncated by ellipses.

•DateTime!
non-null

The date and time (ISO 8601 format) of the page creation.

•String!
non-null

A default cursor that returns the single next record, sorted ascending by ID.

•EventConnection!
non-null

The paginated list of events associated with the host subject.

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.

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

•string

The action that occured.

Example:

  • action:create
Anchor to comments
•boolean

Whether or not to include comment-events in your search, passing false will exclude comment-events, any other value will include comment-events.

Example:

  • false
  • true
Anchor to created_at
•time

Filter by the date and time when the event happened.

Example:

  • created_at:>2020-10-21
  • created_at:<now
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to subject_type
•string

The resource type affected by this event. See EventSubjectType for possible values.

Example:

  • PRODUCT_VARIANT
  • PRODUCT
  • COLLECTION

•String!
non-null

A unique, human-friendly string for the page. In themes, the Liquid templating language refers to a page by its handle.

•ID!
non-null

A globally-unique ID.

•Boolean!
non-null

Whether or not the page is visible.

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


Anchor to metafieldsByIdentifiersmetafieldsByIdentifiers
•[Metafield]!
non-null

The metafields associated with the resource matching the supplied list of namespaces and keys.

Arguments

•[HasMetafieldsIdentifier!]!
required

The list of metafields to retrieve by namespace and key.


•DateTime

The date and time (ISO 8601 format) when the page became or will become visible. Returns null when the page isn't visible.

•String

The suffix of the template that's used to render the page.

•String!
non-null

Title of the page.

•[Translation!]!
non-null

The published translations associated with the resource.

Arguments

•String!
required

Filters translations locale.

•ID

Filters translations by market ID. Use this argument to retrieve content specific to a market.


•DateTime!
non-null

The date and time (ISO 8601 format) of the latest page update.

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

•OBJECT

The Product object lets you manage products in a merchant’s store.

Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. You can use product variants to create or update different versions of the same product. You can also add or update product media. Products can be organized by grouping them into a collection.

Learn more about working with Shopify's product model, including limitations and considerations.

Anchor to availablePublicationsCountavailablePublicationsCount
•Count

The number of publications that a resource is published to, without feedback errors.

•ProductBundleComponentConnection!
non-null

A list of components that are associated with a product in a bundle.

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.


Anchor to bundleConsolidatedOptionsbundleConsolidatedOptions
•[ComponentizedProductsBundleConsolidatedOption!]

A list of consolidated options for a product in a bundle.

•TaxonomyCategory

The category of a product from Shopify's Standard Product Taxonomy.

•CollectionConnection!
non-null

A list of collections that include the product.

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.

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

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

Valid values:

  • custom
  • smart
•string
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to product_id
•id

Filter by collections containing a product by its ID.

Anchor to product_publication_status
•string

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 (Channel.app.id) and one of the valid values. For simple visibility checks, use published_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
Anchor to publishable_status
•string

Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_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 (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
Anchor to published_at
•time

Filter by the date and time when the collection was published to the Online Store.

Anchor to published_status
•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 (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
•string
Anchor to updated_at
•time

•CombinedListing

A special product type that combines separate products from a store into a single product listing. Combined listings are connected by a shared option, such as color, model, or dimension.

•CombinedListingsRole

The role of the product in a combined listing.

If null, then the product isn't part of any combined listing.

•ProductCompareAtPriceRange

The compare-at price range of the product in the shop's default currency.

•ProductContextualPricing!
non-null

The pricing that applies to a customer in a specific context. For example, a price might vary depending on the customer's location. Only active markets are considered in the price resolution.

Arguments

•ContextualPricingContext!
required

The context used to generate contextual pricing for the variant.


•DateTime!
non-null

The date and time when the product was created.

•String!
non-null

A default cursor that returns the single next record, sorted ascending by ID.

•String!
non-null

A single-line description of the product, with HTML tags removed.

Arguments

•Int

Truncates a string after the given length.


•HTML!
non-null

The description of the product, with HTML tags. For example, the description might include bold <strong></strong> and italic <i></i> text.

•EventConnection!
non-null

The paginated list of events associated with the host subject.

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.

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

•string

The action that occured.

Example:

  • action:create
Anchor to comments
•boolean

Whether or not to include comment-events in your search, passing false will exclude comment-events, any other value will include comment-events.

Example:

  • false
  • true
Anchor to created_at
•time

Filter by the date and time when the event happened.

Example:

  • created_at:>2020-10-21
  • created_at:<now
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to subject_type
•string

The resource type affected by this event. See EventSubjectType for possible values.

Example:

  • PRODUCT_VARIANT
  • PRODUCT
  • COLLECTION

•Media

The featured media associated with the product.

•ResourceFeedback

The information that lets merchants know what steps they need to take to make sure that the app is set up correctly.

For example, if a merchant hasn't set up a product correctly in the app, then the feedback might include a message that says "You need to add a price to this product".

Anchor to giftCardTemplateSuffixgiftCardTemplateSuffix
•String

The theme template that's used when customers view the gift card in a store.

•String!
non-null

A unique, human-readable string of the product's title. A handle can contain letters, hyphens (-), and numbers, but no spaces. The handle is used in the online store URL for the product.

Anchor to hasOnlyDefaultVarianthasOnlyDefaultVariant
•Boolean!
non-null

Whether the product has only a single variant with the default option and value.

Anchor to hasOutOfStockVariantshasOutOfStockVariants
•Boolean!
non-null

Whether the product has variants that are out of stock.

Anchor to hasVariantsThatRequiresComponentshasVariantsThatRequiresComponents
•Boolean!
non-null

Whether at least one of the product variants requires bundle components.

Learn more about store eligibility for bundles.

•ID!
non-null

A globally-unique ID.

•Boolean!
non-null

Whether the product is in a specified collection.

Arguments

•ID!
required

The ID of the collection to check. For example, id: "gid://shopify/Collection/123".


•Boolean!
non-null

Whether the product is a gift card.

•UnsignedInt64!
non-null

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

•MediaConnection!
non-null

The media associated with the product. Valid media are images, 3D models, videos.

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.

•ProductMediaSortKeys
Default:POSITION

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.

•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to media_type
•string

Valid values:

  • IMAGE
  • VIDEO
  • MODEL_3D
  • EXTERNAL_VIDEO

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


Anchor to metafieldsByIdentifiersmetafieldsByIdentifiers
•[Metafield]!
non-null

The metafields associated with the resource matching the supplied list of namespaces and keys.

Arguments

•[HasMetafieldsIdentifier!]!
required

The list of metafields to retrieve by namespace and key.


Anchor to onlineStorePreviewUrlonlineStorePreviewUrl
•URL

The preview URL for the online store.

•URL

The product's URL on the online store. If null, then the product isn't published to the online store sales channel.

•[ProductOption!]!
non-null

A list of product options. The limit is defined by the shop's resource limits for product options (Shop.resourceLimits.maxProductOptions).

Arguments

•Int

Truncate the array result to this size.


•ProductPriceRangeV2!
non-null

The minimum and maximum prices of a product, expressed in decimal numbers. For example, if the product is priced between $10.00 and $50.00, then the price range is $10.00 - $50.00.

•ProductComponentTypeConnection!
non-null

A list of products that contain at least one variant associated with at least one of the current products' variants via group relationship.

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.


Anchor to productComponentsCountproductComponentsCount
•Count

A count of unique products that contain at least one variant associated with at least one of the current products' variants via group relationship.

•ProductConnection!
non-null

A list of products that has a variant that contains any of this product's variants as a component.

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

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

Example:

  • query=Bob Norman
  • query=title:green hoodie
Anchor to barcode
•string

Filter by the product variant barcode field.

Example:

  • barcode:ABC-abc-1234
Anchor to bundles
•boolean

Filter by a product bundle. A product bundle is a set of two or more related products, which are commonly offered at a discount.

Example:

  • bundles:true
Anchor to category_id
•string

Filter by the product category ID (product.category.id). A product category is the category of a product from Shopify's Standard Product Taxonomy.

Example:

  • category_id:sg-4-17-2-17
Anchor to collection_id
•id

Filter by the collection id field.

Example:

  • collection_id:108179161409
Anchor to combined_listing_role
•string

Filter by the role of the product in a combined listing.

Valid values:

  • parent
  • child
  • no_role

Example:

  • combined_listing_role:parent
Anchor to created_at
•time

Filter by the date and time when the product was created.

Example:

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

Filter by the delivery profile id field.

Example:

  • delivery_profile_id:108179161409
Anchor to error_feedback
•string

Filter by products with publishing errors.

Anchor to gift_card
•boolean

Filter by the product isGiftCard field.

Example:

  • gift_card:true
•string

Filter by a comma-separated list of product handles.

Example:

  • handle:the-minimal-snowboard
Anchor to has_only_composites
•boolean

Filter by products that have only composite variants.

Example:

  • has_only_composites:true
Anchor to has_only_default_variant
•boolean

Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified.

Example:

  • has_only_default_variant:true
Anchor to has_variant_with_components
•boolean

Filter by products that have variants with associated components.

Example:

  • has_variant_with_components:true
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to inventory_total
•integer

Filter by inventory count.

Example:

  • inventory_total:0
  • inventory_total:>150
  • inventory_total:>=200
Anchor to is_price_reduced
•boolean

Filter by products that have a reduced price. For more information, refer to the CollectionRule object.

Example:

  • is_price_reduced:true
Anchor to metafields.{namespace}.{key}
•mixed

Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value.

Example:

  • metafields.custom.on_sale:true
  • metafields.product.material:"gid://shopify/Metaobject/43458085"
Anchor to out_of_stock_somewhere
•boolean

Filter by products that are out of stock in at least one location.

Example:

  • out_of_stock_somewhere:true
•bigdecimal

Filter by the product variant price field.

Example:

  • price:100.57
Anchor to product_configuration_owner
•string

Filter by the app id field.

Example:

  • product_configuration_owner:10001
Anchor to product_publication_status
•string

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 (Channel.app.id) and one of the valid values. For simple visibility checks, use published_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
Anchor to product_type
•string

Filter by a comma-separated list of product types.

Example:

  • product_type:snowboard
Anchor to publication_ids
•string

Filter by a comma-separated list of publication IDs that are associated with the product.

Example:

  • publication_ids:184111530305,184111694145
Anchor to publishable_status
•string

Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_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 (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
Anchor to published_at
•time

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:<now
  • published_at:<=2024
Anchor to published_status
•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 (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
•string

Filter by the product variant sku field. Learn more about SKUs.

Example:

  • sku:XYZ-12345
•string

Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an ACTIVE status in online stores, sales channels, and apps.

Valid values:

  • active Default
  • archived
  • draft

Example:

  • status:active,draft
•string

Filter objects by the tag field.

Example:

  • tag:my_tag
Anchor to tag_not
•string

Filter by objects that don’t have the specified tag.

Example:

  • tag_not:my_tag
•string

Filter by the product title field.

Example:

  • title:The Minimal Snowboard
Anchor to updated_at
•time

Filter by the date and time when the product was last updated.

Example:

  • updated_at:>'2020-10-21T23:39:20Z'
  • updated_at:<now
  • updated_at:<='2024'
Anchor to variant_id
•id

Filter by the product variant id field.

Example:

  • variant_id:45779434701121
Anchor to variant_title
•string

Filter by the product variant title field.

Example:

  • variant_title:'Special ski wax'
•string

Filter by the origin or source of the product. Learn more about vendors and managing vendor information.

Example:

  • vendor:Snowdevil
  • vendor:Snowdevil OR vendor:Icedevil

•String!
non-null

The product type that merchants define.

•DateTime

The date and time when the product was published to the online store.

•Boolean!
non-null

Whether the product is published for a customer only in a specified context. For example, a product might be published for a customer only in a specific location.

Arguments

•ContextualPublicationContext!
required

The context used to determine publication status.


Anchor to publishedOnCurrentPublicationpublishedOnCurrentPublication
•Boolean!
non-null

Whether the resource is published to the app's publication. For example, the resource might be published to the app's online store channel.

Anchor to publishedOnPublicationpublishedOnPublication
•Boolean!
non-null

Whether the resource is published to a specified publication.

Arguments

•ID!
required

The ID of the publication to check. For example, id: "gid://shopify/Publication/123".


•Boolean!
non-null

Whether the product can only be purchased with a selling plan. Products that are sold on subscription (requiresSellingPlan: true) can be updated only for online stores. If you update a product to be subscription-only (requiresSellingPlan:false), then the product is unpublished from all channels, except the online store.

Anchor to resourcePublicationOnCurrentPublicationresourcePublicationOnCurrentPublication
•ResourcePublicationV2

The resource that's either published or staged to be published to the publication.

Anchor to resourcePublicationsresourcePublications
•ResourcePublicationConnection!
non-null

The list of resources that are published to a publication.

Arguments

•Boolean
Default:true

Whether to return only the resources that are currently published. If false, then also returns the resources that are scheduled to be published.

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


Anchor to resourcePublicationsCountresourcePublicationsCount
•Count

The number of publications that a resource is published to, without feedback errors.

Arguments

•Boolean
Default:true

Include only the resource's publications that are published. If false, then return all the resource's publications including future publications.


Anchor to resourcePublicationsV2resourcePublicationsV2
•ResourcePublicationV2Connection!
non-null

The list of resources that are either published or staged to be published to a publication.

Arguments

•Boolean
Default:true

Whether to return only the resources that are currently published. If false, then also returns the resources that are scheduled or staged to be published.

•CatalogType

Filter publications by catalog type.

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


Anchor to restrictedForResourcerestrictedForResource
•RestrictedForResource

Whether the merchant can make changes to the product when they edit the order associated with the product. For example, a merchant might be restricted from changing product details when they edit an order.

Arguments

•ID!
required

The resource Id of the order with edits applied but not saved.


•SellingPlanGroupConnection!
non-null

A list of all selling plan groups that are associated with the product either directly, or through the product's variants.

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.


Anchor to sellingPlanGroupsCountsellingPlanGroupsCount
•Count

A count of selling plan groups that are associated with the product.

•SEO!
non-null

The SEO title and description that are associated with a product.

•ProductStatus!
non-null

The product status, which controls visibility across all sales channels.

•[String!]!
non-null

A comma-separated list of searchable keywords that are associated with the product. For example, a merchant might apply the sports and summer tags to products that are associated with sportwear for summer.

Updating tags overwrites any existing tags that were previously added to the product. To add new tags without overwriting existing tags, use the tagsAdd mutation.

•String

The theme template that's used when customers view the product in a store.

•String!
non-null

The name for the product that displays to customers. The title is used to construct the product's handle. For example, if a product is titled "Black Sunglasses", then the handle is black-sunglasses.

•Int!
non-null

The quantity of inventory that's in stock.

•Boolean!
non-null

Whether inventory tracking has been enabled for the product.

•[Translation!]!
non-null

The published translations associated with the resource.

Arguments

•String!
required

Filters translations locale.

•ID

Filters translations by market ID. Use this argument to retrieve content specific to a market.


Anchor to unpublishedPublicationsunpublishedPublications
•PublicationConnection!
non-null

The list of publications that the resource isn't published to.

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.


•DateTime!
non-null

The date and time when the product was last modified. A product's updatedAt value can change for different reasons. For example, if an order is placed for a product that has inventory tracking set up, then the inventory adjustment is counted as an update.

•ProductVariantConnection!
non-null

A list of variants associated with the product. If querying a single product at the root, you can fetch up to 2048 variants.

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.

•ProductVariantSortKeys
Default:POSITION

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.


•Count

The number of variants that are associated with the product.

•String!
non-null

The name of the product's vendor.

•String
Deprecated
•String
Deprecated
Anchor to descriptionPlainSummarydescriptionPlainSummary
•String!
non-nullDeprecated
•Image
Deprecated
•ImageConnection!
non-nullDeprecated

Arguments

•Int
Deprecated
•Int
Deprecated
•CropRegion
Deprecated
•Int
DeprecatedDefault:1
•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.

•ProductImageSortKeys
Default:POSITION

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.


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

•ProductPriceRange!
non-nullDeprecated
•ProductCategory
Deprecated
•ProductPublicationConnection!
non-nullDeprecated

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.


•Int!
non-nullDeprecated

Arguments

•Boolean
Default:true

Include only the resource's publications that are published. If false, then return all the resource's publications including future publications.


•ProductPublicationConnection!
non-nullDeprecated

Arguments

•Boolean
Default:true

Return only the publications that are published. If false, then return all publications.

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


•Boolean!
non-nullDeprecated

Arguments

•ID!
required

The ID of the channel to check.


Anchor to publishedOnCurrentChannelpublishedOnCurrentChannel
•Boolean!
non-nullDeprecated
Anchor to sellingPlanGroupCountsellingPlanGroupCount
•Int!
non-nullDeprecated
Anchor to standardizedProductTypestandardizedProductType
•StandardizedProductType
Deprecated
•StorefrontID!
non-nullDeprecated
•Int!
non-nullDeprecated
•ChannelConnection!
non-nullDeprecated

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.


•OBJECT

The ProductVariant object represents a version of a product that comes in more than one option, such as size or color. For example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one product variant and a large, blue t-shirt would be another.

Use the ProductVariant object to manage the full lifecycle and configuration of a product's variants. Common use cases for using the ProductVariant object include:

  • Tracking inventory for each variant
  • Setting unique prices for each variant
  • Assigning barcodes and SKUs to connect variants to fulfillment services
  • Attaching variant-specific images and media
  • Setting delivery and tax requirements
  • Supporting product bundles, subscriptions, and selling plans

A ProductVariant is associated with a parent Product object. ProductVariant serves as the central link between a product's merchandising configuration, inventory, pricing, fulfillment, and sales channels within the GraphQL Admin API schema. Each variant can reference other GraphQL types such as:

Learn more about Shopify's product model.

•Boolean!
non-null

Whether the product variant is available for sale.

•String

The value of the barcode associated with the product.

•Money

The compare-at price of the variant in the default shop currency.

•ProductVariantContextualPricing!
non-null

The pricing that applies for a customer in a given context. As of API version 2025-04, only active markets are considered in the price resolution.

Arguments

•ContextualPricingContext!
required

The context used to generate contextual pricing for the variant.


•DateTime!
non-null

The date and time when the variant was created.

•String!
non-null

A default cursor that returns the single next record, sorted ascending by ID.

•DeliveryProfile

The delivery profile for the variant.

Anchor to deliveryPromiseParticipantsdeliveryPromiseParticipants
•[DeliveryPromiseParticipant!]!
non-null

The delivery promise participants for the product variant.

Arguments

Anchor to brandedPromiseHandlebrandedPromiseHandle
•String!
required

The branded promise handle to filter by.


•String!
non-null

Display name of the variant, based on product's title + variant's title.

•EventConnection!
non-null

The paginated list of events associated with the host subject.

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.

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

•string

The action that occured.

Example:

  • action:create
Anchor to comments
•boolean

Whether or not to include comment-events in your search, passing false will exclude comment-events, any other value will include comment-events.

Example:

  • false
  • true
Anchor to created_at
•time

Filter by the date and time when the event happened.

Example:

  • created_at:>2020-10-21
  • created_at:<now
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to subject_type
•string

The resource type affected by this event. See EventSubjectType for possible values.

Example:

  • PRODUCT_VARIANT
  • PRODUCT
  • COLLECTION

•ID!
non-null

A globally-unique ID.

•InventoryItem!
non-null

The inventory item, which is used to query for inventory information.

•ProductVariantInventoryPolicy!
non-null

Whether customers are allowed to place an order for the product variant when it's out of stock.

•Int

The total sellable quantity of the variant.

•UnsignedInt64!
non-null

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

•MediaConnection!
non-null

The media associated with the product variant.

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.


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


Anchor to metafieldsByIdentifiersmetafieldsByIdentifiers
•[Metafield]!
non-null

The metafields associated with the resource matching the supplied list of namespaces and keys.

Arguments

•[HasMetafieldsIdentifier!]!
required

The list of metafields to retrieve by namespace and key.


•Int!
non-null

The order of the product variant in the list of product variants. The first position in the list is 1.

•Money!
non-null

The price of the product variant in the default shop currency.

•Product!
non-null

The product that this variant belongs to.

•ProductConnection!
non-null

A list of products that have product variants that contain this variant as a product component.

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

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

Example:

  • query=Bob Norman
  • query=title:green hoodie
Anchor to barcode
•string

Filter by the product variant barcode field.

Example:

  • barcode:ABC-abc-1234
Anchor to bundles
•boolean

Filter by a product bundle. A product bundle is a set of two or more related products, which are commonly offered at a discount.

Example:

  • bundles:true
Anchor to category_id
•string

Filter by the product category ID (product.category.id). A product category is the category of a product from Shopify's Standard Product Taxonomy.

Example:

  • category_id:sg-4-17-2-17
Anchor to collection_id
•id

Filter by the collection id field.

Example:

  • collection_id:108179161409
Anchor to combined_listing_role
•string

Filter by the role of the product in a combined listing.

Valid values:

  • parent
  • child
  • no_role

Example:

  • combined_listing_role:parent
Anchor to created_at
•time

Filter by the date and time when the product was created.

Example:

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

Filter by the delivery profile id field.

Example:

  • delivery_profile_id:108179161409
Anchor to error_feedback
•string

Filter by products with publishing errors.

Anchor to gift_card
•boolean

Filter by the product isGiftCard field.

Example:

  • gift_card:true
•string

Filter by a comma-separated list of product handles.

Example:

  • handle:the-minimal-snowboard
Anchor to has_only_composites
•boolean

Filter by products that have only composite variants.

Example:

  • has_only_composites:true
Anchor to has_only_default_variant
•boolean

Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified.

Example:

  • has_only_default_variant:true
Anchor to has_variant_with_components
•boolean

Filter by products that have variants with associated components.

Example:

  • has_variant_with_components:true
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to inventory_total
•integer

Filter by inventory count.

Example:

  • inventory_total:0
  • inventory_total:>150
  • inventory_total:>=200
Anchor to is_price_reduced
•boolean

Filter by products that have a reduced price. For more information, refer to the CollectionRule object.

Example:

  • is_price_reduced:true
Anchor to metafields.{namespace}.{key}
•mixed

Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value.

Example:

  • metafields.custom.on_sale:true
  • metafields.product.material:"gid://shopify/Metaobject/43458085"
Anchor to out_of_stock_somewhere
•boolean

Filter by products that are out of stock in at least one location.

Example:

  • out_of_stock_somewhere:true
•bigdecimal

Filter by the product variant price field.

Example:

  • price:100.57
Anchor to product_configuration_owner
•string

Filter by the app id field.

Example:

  • product_configuration_owner:10001
Anchor to product_publication_status
•string

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 (Channel.app.id) and one of the valid values. For simple visibility checks, use published_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
Anchor to product_type
•string

Filter by a comma-separated list of product types.

Example:

  • product_type:snowboard
Anchor to publication_ids
•string

Filter by a comma-separated list of publication IDs that are associated with the product.

Example:

  • publication_ids:184111530305,184111694145
Anchor to publishable_status
•string

Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_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 (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
Anchor to published_at
•time

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:<now
  • published_at:<=2024
Anchor to published_status
•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 (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
•string

Filter by the product variant sku field. Learn more about SKUs.

Example:

  • sku:XYZ-12345
•string

Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an ACTIVE status in online stores, sales channels, and apps.

Valid values:

  • active Default
  • archived
  • draft

Example:

  • status:active,draft
•string

Filter objects by the tag field.

Example:

  • tag:my_tag
Anchor to tag_not
•string

Filter by objects that don’t have the specified tag.

Example:

  • tag_not:my_tag
•string

Filter by the product title field.

Example:

  • title:The Minimal Snowboard
Anchor to updated_at
•time

Filter by the date and time when the product was last updated.

Example:

  • updated_at:>'2020-10-21T23:39:20Z'
  • updated_at:<now
  • updated_at:<='2024'
Anchor to variant_id
•id

Filter by the product variant id field.

Example:

  • variant_id:45779434701121
Anchor to variant_title
•string

Filter by the product variant title field.

Example:

  • variant_title:'Special ski wax'
•string

Filter by the origin or source of the product. Learn more about vendors and managing vendor information.

Example:

  • vendor:Snowdevil
  • vendor:Snowdevil OR vendor:Icedevil

Anchor to productVariantComponentsproductVariantComponents
•ProductVariantComponentConnection!
non-null

A list of the product variant components.

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.


•Boolean!
non-null

Whether a product variant requires components. The default value is false. If true, then the product variant can only be purchased as a parent bundle with components and it will be omitted from channels that don't support bundles.

•[SelectedOption!]!
non-null

List of product options applied to the variant.

Anchor to sellableOnlineQuantitysellableOnlineQuantity
•Int!
non-null

The total sellable quantity of the variant for online channels. This doesn't represent the total available inventory or capture limitations based on customer location.

•SellingPlanGroupConnection!
non-null

A list of all selling plan groups defined in the current shop associated with the product variant.

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.


Anchor to sellingPlanGroupsCountsellingPlanGroupsCount
•Count

Count of selling plan groups associated with the product variant.

•Boolean!
non-null

Whether to show the unit price for this product variant.

•String

A case-sensitive identifier for the product variant in the shop. Required in order to connect to a fulfillment service.

•Boolean!
non-null

Whether a tax is charged when the product variant is sold.

•String!
non-null

The title of the product variant.

•[Translation!]!
non-null

The published translations associated with the resource.

Arguments

•String!
required

Filters translations locale.

•ID

Filters translations by market ID. Use this argument to retrieve content specific to a market.


•MoneyV2

The unit price value for the variant based on the variant measurement.

Anchor to unitPriceMeasurementunitPriceMeasurement
•UnitPriceMeasurement

The unit price measurement for the variant.

•DateTime!
non-null

The date and time (ISO 8601 format) when the product variant was last modified.

•Image
Deprecated

Arguments

•Int
Deprecated
•Int
Deprecated
•CropRegion
Deprecated
•Int
DeprecatedDefault:1

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

•ProductVariantPricePairConnection!
non-nullDeprecated

Arguments

Anchor to presentmentCurrenciespresentmentCurrencies
•[CurrencyCode!]

The presentment currencies prices should return in.

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


Anchor to sellingPlanGroupCountsellingPlanGroupCount
•Int!
non-nullDeprecated
•StorefrontID!
non-nullDeprecated
•String
Deprecated

Was this section helpful?