Hi everyone,
I’m trying to use Bulk Operation API to export price lists including their quantityPriceBreaks.
My goal is to retrieve, for all variants in a given priceList, the base price and quantity breaks in one bulk job.
Here’s the bulk mutation I’m attempting:
mutation {
bulkOperationRunQuery(
query: """
{
priceLists(first: 5) {
edges {
node {
id
prices(first: 250) {
edges {
node {
variant {
id
}
quantityPriceBreaks(first: 10) {
edges {
node {
id
minimumQuantity
price {
amount
}
}
}
}
}
}
}
}
}
}
}"""
) {
bulkOperation {
id
status
}
userErrors {
field
message
}
}
}
However, Shopify returns this error:
The parent 'node' field for a nested connection must select the 'id' field without an alias and must be of 'ID' return type. Connection fields without 'id': prices.
The issue seems to be that PriceListPrice doesn’t expose an id, so Bulk Operations can’t flatten the nested quantityPriceBreaks connection.
I’ve tested different variations (variant.id, priceList.id, etc.) but the error persists even when priceLists is queried at the root level.
My question:
What’s the recommended or most efficient way to bulk export all quantityPriceBreaks for a large catalog (e.g., 20,000 variants) — given that Bulk API doesn’t support this nesting?
Has anyone from Shopify or the community found a scalable approach (Bulk + REST hybrid, or other pattern)?
Thanks in advance!