Menu
productVariant
Retrieves a product variant by its ID. A product variant is a specific version of a product that comes in more than one option, such as size or color.
Use it in a workflow
- Add a step and choose the Shopify connector.
- Pick the productVariant action (under Product).
- Fill in the fields below, then reference the result from later steps as
{{productvariant.response.data}}.
Query
This is the query the action sends by default. Edit it in the step's Query field to change which fields come back.
query ProductVariant($id: ID!) {
productVariant(id: $id) {
availableForSale
availablePublicationsCount {
count
precision
}
barcode
compareAtPrice
createdAt
defaultCursor
deliveryProfile {
activeMethodDefinitionsCount
coversAllItems
default
id
locationsWithoutRatesCount
name
originLocationCount
productVariantsCount {
count
precision
}
productVariantsCountV2 {
capped
count
}
unassignedLocations {
activatable
address
addressVerified
createdAt
deactivatable
deactivatedAt
deletable
fulfillmentService
fulfillsOnlineOrders
hasActiveInventory
hasUnfulfilledOrders
id
isActive
isFulfillmentService
isPrimary
legacyResourceId
localPickupSettingsV2
name
shipsInventory
suggestedAddresses
updatedAt
}
version
zoneCountryCount
}
displayName
id
inventoryItem {
countryCodeOfOrigin
createdAt
duplicateSkuCount
harmonizedSystemCode
id
inventoryHistoryUrl
legacyResourceId
locationsCount {
count
precision
}
measurement {
id
weight
}
provinceCodeOfOrigin
requiresShipping
sku
tracked
trackedEditable {
locked
reason
}
unitCost {
amount
currencyCode
}
updatedAt
variant
}
inventoryPolicy
inventoryQuantity
legacyResourceId
position
price
product {
availablePublicationsCount {
count
precision
}
bodyHtml
bundleConsolidatedOptions {
name
selections
}
category {
ancestorIds
childrenIds
fullName
id
isArchived
isLeaf
isRoot
level
name
parentId
}
combinedListing {
parentProduct
}
combinedListingRole
compareAtPriceRange {
maxVariantCompareAtPrice
minVariantCompareAtPrice
}
createdAt
customProductType
defaultCursor
descriptionHtml
descriptionPlainSummary
featuredImage {
altText
height
id
originalSrc
src
thumbhash
width
}
featuredMedia {
alt
id
mediaContentType
mediaErrors
mediaWarnings
preview
status
}
feedback {
appFeedback
details
summary
}
giftCardSettings {
crossCurrencyRedeemable
issuanceCurrency
}
giftCardTemplateSuffix
handle
hasOnlyDefaultVariant
hasOutOfStockVariants
hasVariantsThatRequiresComponents
id
isGiftCard
legacyResourceId
mediaCount {
count
precision
}
onlineStorePreviewUrl
onlineStoreUrl
priceRange {
maxVariantPrice
minVariantPrice
}
priceRangeV2 {
maxVariantPrice
minVariantPrice
}
productCategory {
productTaxonomyNode
}
productComponentsCount {
count
precision
}
productType
publishedAt
publishedOnCurrentChannel
publishedOnCurrentPublication
requiresSellingPlan
resourcePublicationOnCurrentPublication {
isPublished
publication
publishDate
publishable
}
sellingPlanGroupCount
sellingPlanGroupsCount {
count
precision
}
seo {
description
title
}
standardizedProductType {
productTaxonomyNode
}
status
storefrontId
tags
templateSuffix
title
totalInventory
totalVariants
tracksInventory
updatedAt
variantsCount {
count
precision
}
vendor
}
publishedOnCurrentChannel
publishedOnCurrentPublication
requiresComponents
selectedOptions {
name
optionValue {
hasVariants
id
linkedMetafieldValue
name
swatch
}
value
}
sellableOnlineQuantity
sellingPlanGroupCount
sellingPlanGroupsCount {
count
precision
}
showUnitPrice
sku
storefrontId
taxCode
taxable
title
unitPrice {
amount
currencyCode
}
unitPriceMeasurement {
measuredType
quantityUnit
quantityValue
referenceUnit
referenceValue
}
updatedAt
}
}
Variables
Pass these as a JSON object in the step's Variables field.
{
"id": "string"
}
Response
Read the result with {{productvariant.response.data.data.productVariant}}. If the API returns errors, the step fails and they are at {{productvariant.response.data.errors}}.
Need more? See the Shopify guide for connection setup and behaviour shared by every action.
Was this page helpful?