Storeware Docs
REST

Objects

The resources many REST calls answer with, and every field each has.

AppPurchase

FieldTypeDescription
idstring (uuid)
namestring
amountMinorinteger
currencystringThe shop’s billing currency. Every amount here is in its minor unit: cents, pence, paise. One of usd, gbp, eur, inr.
testbooleanTrue when no money moves.
statusstringOne of pending, accepted, declined, expired.
createdAtstring (date-time)
confirmationUrlstring or nullWhere the merchant approves it, while it waits. Send them there.

Used by Get your app’s billing on this shop, Ask the merchant to approve a one-time charge.

AppSubscription

FieldTypeDescription
idstring (uuid)
planstringThe plan’s key in your manifest’s [[billing.plans]].
namestring
statusstringpending waits for the merchant; active, past_due and frozen are in force; scheduled starts when the current period ends. One of pending, active, past_due, frozen, scheduled, canceled, declined, expired.
amountMinorintegerWhat each period costs.
currencystringThe shop’s billing currency. Every amount here is in its minor unit: cents, pence, paise. One of usd, gbp, eur, inr.
intervalstringOne of month, year.
testbooleanTrue when no money moves.
trialEndsAtstring (date-time) or null
currentPeriodStartstring (date-time) or null
currentPeriodEndstring (date-time) or null
cancelAtPeriodEndboolean
createdAtstring (date-time)
confirmationUrlstring or nullWhere the merchant approves it, while it waits. Send them there.
usageCapMinorinteger or nullThe most a period’s usage may come to, for a plan that charges by use.
usageTermsstring or nullHow usage is priced, in your words.

Used by Get your app’s billing on this shop, Ask the merchant to approve a plan, End your plan on this shop.

AppUsage

FieldTypeDescription
capMinorintegerThe most this period’s usage may come to.
usedMinorintegerWhat has been reported so far this period.
termsstring or nullHow usage is priced, in your words.

Used by Get your app’s billing on this shop, Report what the shop used.

Collection

FieldTypeDescription
idstring (uuid)
storeIdstring (uuid)
titlestring
handlestring
descriptionstring or null
parentIdstring (uuid) or null
seoTitlestring or null
seoDescriptionstring or null
kindstringOne of manual, automatic.
rulesarray of objectWhat an automatic collection matches. Empty on a manual one. Up to 10 items.
rules[].fieldstringOne of title, product_type, vendor, tag, price.
rules[].operatorstringOne of equals, not_equals, contains, starts_with, ends_with, greater_than, less_than.
rules[].valuestring1 to 200 characters.
rules[].currencystringMatches ^[A-Z]{3}$.
sortOrderstringOne of manual, title_asc, title_desc, created_desc, price_asc, price_desc.
filterableboolean
publishedAtstring (date-time) or null
createdAtstring (date-time)
updatedAtstring (date-time)

Used by List collections, Create a collection, Get a collection, Update a collection.

Customer

FieldTypeDescription
idstring (uuid)
storeIdstring (uuid)
emailstring
firstNamestring or null
lastNamestring or null
phonestring or null
accountTypestringguest until they first sign in with their email, then registered. One of guest, registered, business.
acceptsMarketingbooleanWhether they agreed to be emailed. Only the customer can give it; withdraw it with withdrawCustomerMarketingConsent.
defaultAddressobject or null
defaultAddress.namestring
defaultAddress.line_onestring
defaultAddress.line_twostring
defaultAddress.citystring
defaultAddress.statestringA code where the country has them, such as CA.
defaultAddress.countrystringTwo letters, such as GB.
defaultAddress.postal_codestring
tagsarray of stringThe merchant’s labels.
taxExemptbooleanThey pay no tax.
taxExemptionReferencestring or nullWhy they are exempt: a VAT number, a resale certificate.
notestring or nullThe merchant’s own note. Never shown to the customer.
verifiedAtstring (date-time) or nullWhen they last signed in with this email. Cleared when the email is changed, until they sign in again.
createdAtstring (date-time)
updatedAtstring (date-time)
archivedAtstring (date-time) or nullWhen they were archived. Lists leave archived customers out unless asked.

Used by Create a customer, Update a customer, Archive a customer, Unarchive a customer, Withdraw a customer’s marketing consent.

CustomerSavedAddress

FieldTypeDescription
idstring (uuid)
storeIdstring (uuid)
customerIdstring (uuid)
addressobject
address.namestring
address.line_onestring
address.line_twostring
address.citystring
address.statestringA code where the country has them, such as CA.
address.countrystringTwo letters, such as GB.
address.postal_codestring
createdAtstring (date-time)
updatedAtstring (date-time)

Used by List a customer’s saved addresses, Save an address for a customer, Correct a customer’s saved address.

CustomerSummary

FieldTypeDescription
idstring (uuid)
storeIdstring (uuid)
emailstring
firstNamestring or null
lastNamestring or null
phonestring or null
accountTypestringguest until they first sign in with their email, then registered. One of guest, registered, business.
acceptsMarketingbooleanWhether they agreed to be emailed. Only the customer can give it; withdraw it with withdrawCustomerMarketingConsent.
defaultAddressobject or null
defaultAddress.namestring
defaultAddress.line_onestring
defaultAddress.line_twostring
defaultAddress.citystring
defaultAddress.statestringA code where the country has them, such as CA.
defaultAddress.countrystringTwo letters, such as GB.
defaultAddress.postal_codestring
tagsarray of stringThe merchant’s labels.
taxExemptbooleanThey pay no tax.
taxExemptionReferencestring or nullWhy they are exempt: a VAT number, a resale certificate.
notestring or nullThe merchant’s own note. Never shown to the customer.
verifiedAtstring (date-time) or nullWhen they last signed in with this email. Cleared when the email is changed, until they sign in again.
createdAtstring (date-time)
updatedAtstring (date-time)
archivedAtstring (date-time) or nullWhen they were archived. Lists leave archived customers out unless asked.
orderCountintegerOrders that were not cancelled.
spentAmountintegerWhat they have spent, in minor units: charged less refunded, over orders not cancelled.
lastOrderAtstring (date-time) or nullWhen they last ordered.

Used by List customers, Get a customer.

DigitalAsset

FieldTypeDescription
idstring (uuid)
variantIdstring (uuid)
storeIdstring (uuid)
storagePathstringWhere the file is kept, from its upload ticket.
fileNamestringThe name a buyer’s download is saved under.
sizeBytesnumber or null
downloadLimitnumber or nullHow many times each buyer may download it. Null is no limit.
createdAtstring (date-time)

Used by List a variant’s downloads, Attach a download to a variant.

DownloadGrant

FieldTypeDescription
lineItemIdstring (uuid)
assetIdstring (uuid)
fileNamestring
sizeBytesinteger or null
downloadCountinteger
downloadLimitinteger or nullNull means unlimited.
downloadsRemaininginteger or nullNull when unlimited.
firstDownloadedAtstring (date-time) or null
lastDownloadedAtstring (date-time) or null
availablebooleanFalse when the order does not entitle anyone, or the allowance is spent.
unavailableReasonstring or nullWhy not, in English, for the customer.
unavailablestring or nullOne of unpaid, canceled, refunded, exhausted.

Used by List an order’s downloads, Set a download allowance.

Fulfillment

FieldTypeDescription
fulfillmentobject
fulfillment.idstring (uuid)
fulfillment.orderIdstring (uuid)
fulfillment.storeIdstring (uuid)
fulfillment.locationIdstring (uuid) or null
fulfillment.typestringOne of shipping, pickup, digital.
fulfillment.statusstringOne of pending, processing, shipped, in_transit, out_for_delivery, ready_for_pickup, delivered, failed, canceled.
fulfillment.carrierstring or null
fulfillment.trackingNumberstring or null
fulfillment.trackingUrlstring or null
fulfillment.destinationobject or nullWhere it is going.
fulfillment.destination.namestring
fulfillment.destination.line_onestring
fulfillment.destination.line_twostring
fulfillment.destination.citystring
fulfillment.destination.statestring
fulfillment.destination.countrystring
fulfillment.destination.postal_codestring
fulfillment.estimatedDeliveryEarlieststring (date-time) or null
fulfillment.estimatedDeliveryLateststring (date-time) or null
fulfillment.digitalAccessUrlstring or null
fulfillment.digitalLicenseKeystring or null
fulfillment.digitalExpiresAtstring (date-time) or null
fulfillment.descriptionstring or null
fulfillment.supplierConnectionIdstring (uuid) or null
fulfillment.supplierOrderIdstring or null
fulfillment.actorTypestring or nullWho recorded it. One of staff, customer, plugin, agent, system.
fulfillment.actorIdstring or null
fulfillment.createdAtstring (date-time)
fulfillment.updatedAtstring (date-time)
eventsarray of objectWhere it has got to, newest first.
events[].idstring (uuid)
events[].fulfillmentIdstring (uuid)
events[].storeIdstring (uuid)
events[].typestringOne of processing, shipped, in_transit, out_for_delivery, ready_for_pickup, delivered, failed_attempt, returned.
events[].occurredAtstring (date-time)
events[].descriptionstring or null
events[].locationstring or null
events[].sourceKeystring or nullThe carrier’s name for the scan. Null for one a person recorded.
events[].createdAtstring (date-time)
lineItemsarray of objectThe order’s lines it carries, and how many of each.
lineItems[].lineItemIdstring (uuid)
lineItems[].quantityinteger

Used by List an order’s fulfillments, Create a fulfillment, Record a tracking event, Take back a despatch, Correct a despatch’s tracking.

InventoryLevel

FieldTypeDescription
variantIdstring (uuid)
locationIdstring (uuid)
storeIdstring (uuid)
onHandnumberWhat is on the shelf.
reservednumberHeld for orders placed and not yet sent.
availableintegerOn hand less reserved: what can still be sold.
updatedAtstring (date-time)

Used by Get a variant’s stock levels, Change stock at a location.

Listing

FieldTypeDescription
idstring (uuid)
titlestring
statusstringOne of draft, active, archived.
descriptionstring or nullHTML.
productTypestring or null
variantsintegerHow many variants it has. More than one means options, each with its own price.
priceobject or nullIts price in the shop’s currency, when it has one variant and that is priced.
price.amountintegerIn the currency’s minor units, such as pence.
price.currencystringAn ISO 4217 code, such as GBP.
madeToOrderbooleanWhether it keeps selling with none in stock.
picturesarray of objectIts first three pictures, the cover first, sized for a small tile.
pictures[].idstring (uuid)
pictures[].urlstring or null

Used by Get several listings.

Location

FieldTypeDescription
idstring (uuid)
storeIdstring (uuid)
namestring
isDefaultbooleanOrders take their stock from the default location. A shop has one.
addressobject or nullWhere a carrier collects from. Null until somebody gives one.
address.namestring
address.companystring
address.line_onestring
address.line_twostring
address.citystring
address.statestring
address.countrystringTwo letters, such as GB.
address.postal_codestring
address.phonestring
address.emailstring
addressValidatedAtstring (date-time) or nullWhen a carrier last agreed the address exists. Null is unchecked.
kindstringsupplier stock is refreshed from the supplier and cannot be changed here. One of own, supplier.
supplierConnectionIdstring (uuid) or nullThe supplier that stocks it. Null for the shop’s own.
createdAtstring (date-time)
updatedAtstring (date-time)

Used by List locations, Create a location, Update a location.

MetafieldDefinition

FieldTypeDescription
idstring (uuid)
storeIdstring (uuid)
pluginIdstring (uuid) or nullThe app whose manifest declares it. Null for the shop’s own field.
ownerTypestringThe kind of record it hangs on. One of product, variant, collection, customer, order, store.
namespacestringcustom unless said. Namespaces starting app_ belong to apps.
keystring
namestringThe merchant’s label for it.
descriptionstring or null
typestringOne of single_line_text, multi_line_text, integer, decimal, boolean, date, url.
isListbooleanHolds a list of values rather than one.
validationsobjectThe rules every value is checked against.
validations.minnumber
validations.maxnumber
validations.minLengthinteger
validations.maxLengthinteger
validations.choicesarray of stringThe only values it may hold.
validations.scaleintegerDigits after the point, for decimal.
storefrontVisiblebooleanShoppers may see it. Never true on a customer or an order.
searchFacetbooleanShoppers can narrow search by it.
positionnumberWhere it sits among the fields for its kind of record, lowest first.
createdAtstring (date-time)
updatedAtstring (date-time)

Used by List metafield definitions, Get a metafield definition, Update a metafield definition.

Order

FieldTypeDescription
idstring (uuid)
storeIdstring (uuid)
sessionIdstring (uuid) or null
customerIdstring (uuid) or null
buyerProvenbooleanWhether the basket named a known customer when the order was placed. False for an order filed under an email address someone typed.
orderNumberstringThe number the shop and the buyer know it by, without the #.
customerNotestring or nullWhat the shopper wrote at checkout.
statusstringOne of created, confirmed, manual_review, processing, shipped, delivered, canceled.
currencystring
localestring or nullThe language the shopper was reading the shop in. Null when the shop never knew.
buyerEmailstring
buyerFirstNamestring or null
buyerLastNamestring or null
buyerPhonestring or null
shippingAddressobject or null
shippingAddress.namestring
shippingAddress.line_onestring
shippingAddress.line_twostring
shippingAddress.citystring
shippingAddress.statestring
shippingAddress.countrystring
shippingAddress.postal_codestring
billingAddressobject or null
billingAddress.namestring
billingAddress.line_onestring
billingAddress.line_twostring
billingAddress.citystring
billingAddress.statestring
billingAddress.countrystring
billingAddress.postal_codestring
fulfillmentOptionobject or nullThe delivery the shopper chose, by name. Null on older orders.
fulfillmentOption.typestringOne of shipping, digital, pickup, local_delivery.
fulfillmentOption.idstring
fulfillmentOption.titlestring
fulfillmentOption.descriptionstring
fulfillmentOption.carrierstring
fulfillmentOption.earliest_delivery_timestring
fulfillmentOption.latest_delivery_timestring
fulfillmentOption.amountintegerMinor units.
subtotalAmountnumberThe goods, before discounts, in minor units of currency (1999 is 19.99). Every amount on an order is in minor units.
discountAmountnumberEverything discounts took off, including any taken off delivery.
fulfillmentAmountnumberDelivery, after any discount on it.
taxAmountnumberTax, including any on delivery.
fulfillmentTaxAmountnumberThe part of taxAmount charged on delivery.
fulfillmentDiscountAmountnumberThe part of discountAmount that came off delivery.
companyIdstring (uuid) or nullThe trade account it was placed against, if any.
priceListIdstring (uuid) or null
paymentTermsNetDaysnumber or nullDays to pay, for an order placed on account. Null when paid at checkout.
dueAtstring (date-time) or nullWhen an order on account falls due.
purchaseOrderNumberstring or null
totalAmountnumberWhat the order came to at checkout. Refunds and edits never change it; they are counted in refundedAmount and changeAmount.
refundedAmountnumberRefunded so far.
changeAmountnumberThe net of every confirmed change, signed: positive means the customer owes more.
creditAppliedAmountnumberThe part of the total paid with store credit.
taxCalculationIdstring or null
taxTransactionIdstring or null
discountIdstring (uuid) or null
discountCodestring or null
tagsarray of stringLabels the shop put on the order. Staff only, never shown to a shopper.
heldAtstring (date-time) or nullWhen the shop kept this order back from being sent. Null when it may go.
heldBystring or nullWho kept it back.
holdReasonstring or nullWhy it was kept back. Staff only, never shown to a shopper.
originstringWhich door placed it. One of storefront, agent, admin, plugin, imported, subscription.
agentIdstring or nullThe AI agent that placed it, when one did.
conversationIdstring (uuid) or null
referralIdstring (uuid) or null
adLinkIdstring (uuid) or null
placedAtstring (date-time)
canceledAtstring (date-time) or null
subscriptionIdstring (uuid) or nullThe subscription that produced it. Null for a one time purchase.
createdAtstring (date-time)
updatedAtstring (date-time)

Used by List orders, Get an order, Cancel an order, Approve or reject a held order, Record an invoice payment.

OrderAdjustment

FieldTypeDescription
idstring (uuid)
orderIdstring (uuid)
storeIdstring (uuid)
typestringOne of refund, partial_refund, store_credit, return, exchange, cancellation, dispute, chargeback.
statusstringA refund is pending while the money moves, then completed or failed. One of pending, completed, failed.
amountnumberIn minor units of the order’s currency.
currencystring or null
reasonstring or null
descriptionstring or null
providerRefundIdstring or nullThe payment provider’s id for the refund, when one was sent.
evidenceDueBystring (date-time) or nullOn a dispute: when the answer is due.
feeAmountnumber or nullOn a dispute: what it cost, in minor units of feeCurrency. Null until the payment provider states it.
feeCurrencystring or nullOn a dispute: the currency of feeAmount.
taxReversalIdstring or null
actorTypestring or nullWho issued it. Null for a refund the payment provider reported. One of staff, customer, plugin, agent, system.
actorIdstring or null
occurredAtstring (date-time)
createdAtstring (date-time)
updatedAtstring (date-time)

Used by Get an order, List an order’s refunds, Refund an order.

OrderChange

FieldTypeDescription
changeobject
change.idstring (uuid)
change.storeIdstring (uuid)
change.orderIdstring (uuid)
change.kindstringOne of edit, return, exchange, claim.
change.statusstringOne of pending, confirmed, declined, canceled.
change.reasonstring or null
change.notestring or null
change.deltaSubtotalAmountnumber
change.deltaDiscountAmountnumber
change.deltaFulfillmentAmountnumber
change.deltaTaxAmountnumber
change.deltaTotalAmountnumberWhat the change came to, signed and in minor units: positive means the customer owes more. Zero until it is confirmed, as are the other deltas.
change.currencystring
change.adjustmentIdstring (uuid) or nullThe refund it made, when it gave money back.
change.paymentIdstring (uuid) or null
change.actorTypestring or nullOne of staff, customer, plugin, agent, system.
change.actorIdstring or null
change.createdAtstring (date-time)
change.updatedAtstring (date-time)
change.confirmedAtstring (date-time) or null
change.declinedAtstring (date-time) or null
change.canceledAtstring (date-time) or null
actionsarray of object
actions[].idstring (uuid)
actions[].storeIdstring (uuid)
actions[].changeIdstring (uuid)
actions[].actionstringOne of item_add, item_quantity, item_remove, shipping_add, shipping_remove.
actions[].lineItemIdstring (uuid) or null
actions[].variantIdstring (uuid) or null
actions[].quantityDeltanumberSigned. Negative takes units off the line.
actions[].unitAmountnumberMinor units.
actions[].amountnumberMinor units.
actions[].detailsany
actions[].createdAtstring (date-time)

Used by List an order’s changes, Open an order change, Confirm, decline or cancel an order change, Add a line to an order change, Remove a line from an order change.

OrderLineItem

FieldTypeDescription
idstring (uuid)
orderIdstring (uuid)
storeIdstring (uuid)
variantIdstring (uuid) or null
productIdstring (uuid) or null
titlestringThe product’s title when it was bought.
variantTitlestring or nullThe variant’s title when it was bought.
productHandlestring or null
skustring or null
imageUrlstring or null
quantityOrderednumber
quantityShippednumberUnits sent.
quantityRefundednumberUnits whose money went back.
quantityReturnednumberUnits that came back, whatever the shopper got for them.
unitAmountnumberOne unit, in minor units of the order’s currency.
subtotalAmountnumberEvery unit on the line, before its discount and tax.
priceListIdstring (uuid) or null
listUnitAmountnumber or nullWhat one unit costs at the shop’s own price, when a price list priced this line. Null otherwise.
discountAmountnumberThe line’s share of the discounts.
taxAmountnumberThe line’s tax.
sellingPlanIdstring (uuid) or null
createdAtstring (date-time)
updatedAtstring (date-time)

Used by Get an order, Approve or reject a held order.

OrderNote

FieldTypeDescription
idstring (uuid)
orderIdstring (uuid)
storeIdstring (uuid)
bodystring
actorTypestringWho wrote it. One of staff, system, agent, plugin.
actorIdstring
createdAtstring (date-time)

Used by List an order’s notes, Add a note to an order.

PayoutSummary

FieldTypeDescription
connectedbooleanFalse for a shop with no payment account yet.
livebooleanFalse when the balance and the list could not be read just now. They are then empty, and failure is still current.
balanceobject
balance.availablearray of objectReady to be sent, per currency.
balance.available[].amountintegerIn the currency’s minor unit: cents, pence, paise.
balance.available[].currencystringLower case, such as gbp.
balance.pendingarray of objectStill clearing, per currency.
balance.pending[].amountintegerIn the currency’s minor unit: cents, pence, paise.
balance.pending[].currencystringLower case, such as gbp.
payoutsarray of objectThe latest ten, newest first.
payouts[].idstring
payouts[].amountintegerIn the currency’s minor unit.
payouts[].currencystring
payouts[].arrivalDatestring (date-time)When the bank should have it, or did.
payouts[].statusstringpaid, pending, in_transit, canceled or failed.
payouts[].failureCodestring or nullWhy it failed, as a code such as account_closed, when it did.
nextArrivalstring (date-time) or nullThe earliest arrival among those on their way, or null when none is.
failureobject or nullThe last failure on record, while no later payout has arrived.
failure.atstring (date-time)
failure.codestring or null

Used by Read the shop’s balance and payouts.

PriceChange

FieldTypeDescription
idnumberPass as historyId to put back the price from before this change.
storeIdstring (uuid)
variantIdstring (uuid)
currencystring
amountnumberThe new price, in minor units.
previousAmountnumber or nullThe price before. Null for the variant’s first price.
compareAtAmountnumber or null
previousCompareAtAmountnumber or null
actorTypestringOne of staff, customer, plugin, agent, system.
actorIdstring or null
reasonstring or nullWhy it moved, where known, such as revert for a change put back. One of merchant, import, bulk, proposal, revert.
proposalIdstring (uuid) or null
createdAtstring (date-time)

Used by List a variant’s price changes.

Product

FieldTypeDescription
idstring (uuid)
storeIdstring (uuid)
titlestring
handlestringThe product’s address on the shop front: /products/\{handle\}.
descriptionstring or null
statusstringOnly an active product is on sale. One of draft, active, archived.
productTypestring or null
vendorstring or null
tagsarray of string
seoTitlestring or null
seoDescriptionstring or null
isGiftCardbooleanBuying it buys a gift card worth the variant’s price.
pinnedCopyarray of stringFields whose wording is the merchant’s own, which automatic copy leaves alone.
publishedAtstring (date-time) or nullWhen it first went on sale. Putting it on sale again does not move it.
enrichmentStatusstringOne of none, queued, ready, failed.
indexedAtstring (date-time) or null
indexedEnrichmentIdstring (uuid) or null
indexedBackendsarray of string
createdAtstring (date-time)
updatedAtstring (date-time)
archivedAtstring (date-time) or nullWhen it was archived. Lists leave archived products out unless asked.

Used by List a collection’s products.

ProductDetail

FieldTypeDescription
idstring (uuid)
storeIdstring (uuid)
titlestring
handlestringThe product’s address on the shop front: /products/\{handle\}.
descriptionstring or null
statusstringOnly an active product is on sale. One of draft, active, archived.
productTypestring or null
vendorstring or null
tagsarray of string
seoTitlestring or null
seoDescriptionstring or null
isGiftCardbooleanBuying it buys a gift card worth the variant’s price.
pinnedCopyarray of stringFields whose wording is the merchant’s own, which automatic copy leaves alone.
publishedAtstring (date-time) or nullWhen it first went on sale. Putting it on sale again does not move it.
enrichmentStatusstringOne of none, queued, ready, failed.
indexedAtstring (date-time) or null
indexedEnrichmentIdstring (uuid) or null
indexedBackendsarray of string
createdAtstring (date-time)
updatedAtstring (date-time)
archivedAtstring (date-time) or nullWhen it was archived. Lists leave archived products out unless asked.
optionsarray of object
options[].idstring (uuid)
options[].namestring
options[].positioninteger
options[].valuesarray of stringIts values, in order.
options[].valueRowsarray of objectThe same values with their ids, for renaming or removing one.
options[].valueRows[].idstring (uuid)
options[].valueRows[].valuestring
options[].valueRows[].positioninteger
variantsarray of object
variants[].idstring (uuid)
variants[].titlestringIts option values joined, such as S / Navy, unless set by hand.
variants[].skustring or null
variants[].barcodestring or null
variants[].weightGramsinteger or null
variants[].hsCodestring or nullThe tariff code customs is told abroad.
variants[].countryOfOriginstring or nullTwo letters, such as US.
variants[].requiresShippingboolean
variants[].isDigitalboolean
variants[].positioninteger
variants[].continueSellingbooleanWhether it keeps selling once its stock is zero.
variants[].taxClassIdstring (uuid) or nullThe shop’s own tax rate it is sold at. Null is the standard one.
variants[].shippingClassIdstring (uuid) or nullThe delivery group it belongs to, which decides the rates it can go by.
variants[].costobject or nullWhat one cost to buy. Null means unknown, not free.
variants[].cost.amountintegerIn the currency’s minor units, such as pence.
variants[].cost.currencystringAn ISO 4217 code, such as GBP.
variants[].pricesarray of object
variants[].prices[].currencystring
variants[].prices[].amountinteger
variants[].prices[].compareAtAmountinteger or nullThe higher price shown struck through beside it.

Used by Create a product, Get a product, Update a product, Copy a product, Add an option to a product, Rename an option, Add a value to an option, Rename an option value, Remove an option value, Create a listing.

ProductFigures

FieldTypeDescription
notLiveintegerDrafts, not yet on sale.
outOfStockintegerProducts nobody can buy: every version keeps a count and none is left. filter=out_of_stock lists them.
neverReadintegerProducts the shop has never read. filter=never_read lists them.
sold30Daysobject or nullThe last thirty days. Null without analytics:read. filter=sold_30d lists them.
sold30Days.productsintegerHow many products were on an order.
sold30Days.unitsintegerHow many of them were ordered.

Used by Count the catalogue.

ProductMedia

FieldTypeDescription
idstring (uuid)
storeIdstring (uuid)
storagePathstring or null
sourceUrlstring or null
storageProviderstringOne of supabase, r2.
mimeTypestring
sizeBytesnumber or null
widthnumber or null
heightnumber or null
altstring or null
mirrorClaimedAtstring (date-time) or null
mirrorAttemptsnumber
mirrorFailedAtstring (date-time) or null
createdAtstring (date-time)
urlstringWhere the image is served.
positionintegerIts place in the order, from 0.

Used by List a product’s images, Add an image to a product, List a variant’s images.

ProductRow

FieldTypeDescription
idstring (uuid)
storeIdstring (uuid)
titlestring
handlestringThe product’s address on the shop front: /products/\{handle\}.
descriptionstring or null
statusstringOnly an active product is on sale. One of draft, active, archived.
productTypestring or null
vendorstring or null
tagsarray of string
seoTitlestring or null
seoDescriptionstring or null
isGiftCardbooleanBuying it buys a gift card worth the variant’s price.
pinnedCopyarray of stringFields whose wording is the merchant’s own, which automatic copy leaves alone.
publishedAtstring (date-time) or nullWhen it first went on sale. Putting it on sale again does not move it.
enrichmentStatusstringOne of none, queued, ready, failed.
indexedAtstring (date-time) or null
indexedEnrichmentIdstring (uuid) or null
indexedBackendsarray of string
createdAtstring (date-time)
updatedAtstring (date-time)
archivedAtstring (date-time) or nullWhen it was archived. Lists leave archived products out unless asked.
thumbnailstring or nullIts first picture, sized for a row. Null when it has none.
priceobject or nullNull when no version has a price in the shop’s currency.
price.minintegerThe cheapest version, in the currency’s minor units.
price.maxintegerThe dearest version, in the same units.
price.currencystringThe shop’s own currency.
stockobjectWhat is left of it.
stock.availableintegerWhat is left to sell, over every location and every version that counts.
stock.trackedbooleanFalse when no version keeps a count: each sells on with none left, or is a download.
stock.sellsOnbooleanTrue when at least one version sells on with none left, or is a download, so the product can still be bought at nought.

Used by List products.

ProductSales

FieldTypeDescription
unitsarray of integer30 entries, one per day, oldest first.
revenueintegerWhat those units were sold for in the shop’s own currency, in minor units. Sales taken in another currency count as units and are left out of this figure.
currencystring or nullThe shop’s currency, or null when nothing sold in it.

Used by Get a product’s sales by day.

Return

FieldTypeDescription
requestobject
request.idstring (uuid)
request.storeIdstring (uuid)
request.orderIdstring (uuid)
request.customerIdstring (uuid) or null
request.returnNumberstring
request.statusstringOne of requested, approved, declined, in_transit, partially_received, received, resolved, canceled.
request.reasonIdstring (uuid) or null
request.reasonNotestring or null
request.resolutionstring or nullOne of refund, store_credit, exchange.
request.locationIdstring (uuid) or null
request.carrierstring or null
request.trackingNumberstring or null
request.trackingUrlstring or null
request.labelUrlstring or null
request.adjustmentIdstring (uuid) or null
request.orderChangeIdstring (uuid) or null
request.creditEntryIdstring (uuid) or null
request.exchangeSessionIdstring (uuid) or null
request.exchangeOrderIdstring (uuid) or null
request.estimatedRefundAmountnumberMinor units, as every amount on a return is.
request.restockingFeeAmountnumber
request.shippingRefundAmountnumber
request.currencystring
request.originstringOne of storefront, agent, admin, plugin, imported.
request.agentIdstring or null
request.requestedAtstring (date-time)
request.approvedAtstring (date-time) or null
request.declinedAtstring (date-time) or null
request.inTransitAtstring (date-time) or null
request.receivedAtstring (date-time) or null
request.resolvedAtstring (date-time) or null
request.canceledAtstring (date-time) or null
request.windowOverriddenAtstring (date-time) or null
request.merchantNotestring or null
request.declineReasonstring or null
request.decidedViastring or nullOne of policy, mandate.
request.mandateHeldBecausestring or null
request.createdAtstring (date-time)
request.updatedAtstring (date-time)
linesarray of object
lines[].returnIdstring (uuid)
lines[].lineItemIdstring (uuid)
lines[].storeIdstring (uuid)
lines[].quantityRequestednumber
lines[].quantityApprovednumber
lines[].quantityReceivednumber
lines[].quantityRestockednumber
lines[].quantityClaimednumber
lines[].reasonIdstring (uuid) or null
lines[].reasonNotestring or null
lines[].dispositionstring or nullOne of restock, damaged, discard, quarantine, return_to_vendor.
lines[].inspectedAtstring (date-time) or null
lines[].refundAmountnumber
lines[].taxRefundAmountnumber
lines[].restockingFeeAmountnumber
lines[].createdAtstring (date-time)
lines[].updatedAtstring (date-time)
lines[].titlestring
lines[].variantTitlestring or null
lines[].skustring or null
lines[].imageUrlstring or null
reasonobject or null
reason.idstring (uuid)
reason.storeIdstring (uuid)
reason.codestringOne of wrong_size, wrong_item_sent, damaged_in_transit, defective, not_as_described, looks_different_to_photo, quality_below_expectation, arrived_late, changed_mind, other.
reason.labelstring
reason.refundsShippingboolean
reason.waivesRestockingFeeboolean
reason.requiresReturnboolean
reason.defaultDispositionstringOne of restock, damaged, discard, quarantine, return_to_vendor.
reason.positionnumber
reason.shopAddedboolean
reason.archivedAtstring (date-time) or null
reason.createdAtstring (date-time)
reason.updatedAtstring (date-time)

Used by List an order’s returns, Open a return.

ShippingClass

FieldTypeDescription
idstring (uuid)
storeIdstring (uuid)
namestring
slugstringStable across renames. What a later import matches on.
descriptionstring or nullA note for the merchant. Shoppers do not see it.
createdAtstring (date-time)
updatedAtstring (date-time)

Used by Create a shipping class, Update a shipping class.

ShippingClassRow

FieldTypeDescription
idstring (uuid)
storeIdstring (uuid)
namestring
slugstringStable across renames. What a later import matches on.
descriptionstring or nullA note for the merchant. Shoppers do not see it.
createdAtstring (date-time)
updatedAtstring (date-time)
variantCountintegerHow many variants are in it.
rateCountintegerHow many delivery rates name it.

Used by List shipping classes.

ShippingLabel

FieldTypeDescription
idstring (uuid)
orderIdstring (uuid)
fulfillmentIdstring (uuid) or nullThe despatch it is for.
returnIdstring (uuid) or nullThe return it brings back.
directionstringOne of outbound, return.
statusstringOne of reserved, action_required, authorized, purchasing, purchased, void_pending, voided, failed, canceled.
livemodeboolean
payOnUsebooleanA return label charged only if a carrier scans it.
carrierstring
carrierNamestring
serviceTokenstring
serviceNamestring
estimatedDaysinteger or null
trackingNumberstring or null
trackingUrlstring or null
trackingStatusstring or null
labelUrlstring or nullThe label to print, once it is bought.
commercialInvoiceUrlstring or null
amountintegerThe carrier’s price, in minor units.
currencystring
chargeobject or nullWhat the card was charged, in minor units.
charge.statusstringOne of pending, action_required, authorized, captured, canceled, failed, owed.
charge.postageinteger
charge.feeinteger
charge.totalinteger
charge.refundedinteger
parcelobject
parcel.packageIdstring (uuid)
parcel.packageNamestring
parcel.lengthMminteger
parcel.widthMminteger
parcel.heightMminteger
parcel.weightGramsinteger
linesarray of object
lines[].lineItemIdstring (uuid)
lines[].quantityinteger
failurestring or null
createdAtstring (date-time)
purchasedAtstring (date-time) or null
voidedAtstring (date-time) or null
clientSecretstringPresent only while the bank wants the cardholder to confirm the charge.

Used by List an order’s shipping labels, Buy a shipping label, Resume a shipping label purchase, Void a shipping label.

Variant

FieldTypeDescription
idstring (uuid)
productIdstring (uuid)
storeIdstring (uuid)
titlestringIts option values joined, such as S / Navy, unless set by hand.
skustring or null
barcodestring or null
positionnumber
weightGramsnumber or null
lengthMmnumber or null
widthMmnumber or null
heightMmnumber or null
hsCodestring or nullThe tariff code customs is told when it is posted abroad.
countryOfOriginstring or nullTwo letters, such as US.
shippingClassIdstring (uuid) or nullThe delivery group it belongs to, which decides the rates it can go by.
lowStockThresholdnumber or null
taxClassIdstring (uuid) or nullThe shop’s own tax rate it is sold at. Null is the standard one.
orderMinimumnumber or null
orderMaximumnumber or null
orderIncrementnumber or null
costAmountnumber or nullWhat one cost to buy, in minor units of costCurrency. Null means unknown.
costCurrencystring or null
requiresShippingboolean
isDigitalboolean
continueSellingbooleanWhether it keeps selling once its stock is zero.
createdAtstring (date-time)
updatedAtstring (date-time)

Used by Update a variant.

VariantExtras

FieldTypeDescription
variantIdstring (uuid)
levelsarray of InventoryLevelIts stock at every location holding it.
assetsarray of DigitalAssetThe files it delivers, oldest first.
imagesarray of ProductMediaIts own pictures, in order.
metafieldsarray of object
metafields[].definitionIdstring (uuid)
metafields[].namespacestring
metafields[].keystring
metafields[].labelstringThe merchant’s name for the field.
metafields[].typestringsingle_line_text, multi_line_text, integer, decimal, boolean, date, url and the other definition types.
metafields[].isListboolean
metafields[].storefrontVisibleboolean
metafields[].searchFacetboolean
metafields[].positioninteger
metafields[].valueanyThe value, or a list of values when isList.
metafields[].displayValuestringThe value as one line of text, lists joined.
metafields[].sourcestringWho set it: the merchant, an import, or an app’s slug.

Used by Read what every variant of a product holds.

Error

What every call answers when it fails, with a status of 400 or more. See Errors.

FieldTypeDescription
errorobject
error.typestringWhat went wrong, for a program: not_found, validation_failed.
error.messagestringWhat went wrong, for a person.
error.fieldsmap of array of stringOn 422: each field that is wrong, and what is wrong with it.
error.requiredScopesarray of stringOn 403: the permissions the call needed.
requestIdstringQuote it when asking for help.

On this page