> Note: > We're no longer publishing API release notes. Instead, you can find the latest updates on Shopify APIs in our [developer changelog](https://shopify.dev/changelog). You can filter updates by area. For example, you can filter API updates by the API name and version, such as GraphQL Admin API changes in version 2025-04.
Release date | Date version is no longer supported |
---|---|
January 1, 2020 | January 1, 2021 |
Collects API now returns only collects associated with custom collections, and no longer returns products associated with Smart Collections. The following endpoints are affected:
GET /admin/api/2020-01/collects.json
: Now only returns collects associated with custom collections.GET /admin/api/2020-01/collects/count.json
: Now only returns the count of collects associated with custom collections.GET /admin/api/2020-01/collects/{collect_id}.json
: If the ID collect_id
is related to smart collection, then this endpoint returns a 404 error.GET /admin/api/2020-01/collections/#{collection_id}/products.json
GET /admin/api/2020-01/collections/#{collection_id}.json
You can manage fulfillments with more control using FulfillmentOrder-based fulfillment. To learn more, refer to Managing fulfillments with the FulfillmentOrder resource.
fulfillment_orders_opt_in
property to fulfillment services.GET /admin/api/2020-01/assigned_fulfillment_orders.json?assignment_status=cancellation_requested&location_ids[]=487838322
to retrieve all the fulfillment orders that are assigned to an app at the shop level.POST /admin/api/2020-01/fulfillment_orders/#{fulfillment_order_id}/cancellation_request.json
to send a cancellation request to a fulfillment service for a fulfillment order.POST /admin/api/2020-01/fulfillment_orders/#{fulfillment_order_id}/cancellation_request/accept.json
to accept a cancellation request sent to a fulfillment service for a fulfillment order.POST /admin/api/2020-01/fulfillment_orders/#{fulfillment_order_id}/cancellation_request/reject.json
to reject a cancellation request sent to a fulfillment service for a fulfillment order.POST /admin/api/2020-01/fulfillment_orders/#{fulfillment_order_id}/fulfillment_request.json
to send a fulfillment request to a fulfillment service for a fulfillment order.POST /admin/api/2020-01/fulfillment_orders/#{fulfillment_order_id}/fulfillment_request/accept.json
to accept a fulfillment request to a fulfillment service for a fulfillment order.POST /admin/api/2020-01/fulfillment_orders/#{fulfillment_order_id}/fulfillment_request/reject.json
to reject a fulfillment request to a fulfillment service for a fulfillment order.GET /admin/api/2020-01/orders/#{order_id}/fulfillment_orders.json
to retrieve a list of fulfillment orders for a specific order.GET /admin/api/2020-01/fulfillment_orders/#{fulfillment_order_id}.json
to retrieve a specific fulfillment order.POST /admin/api/2020-01/fulfillment_orders/#{fulfillment_order_id}/cancel.json
to cancel a fulfillment order.POST /admin/api/2020-01/fulfillment_orders/#{fulfillment_order_id}/close.json
to close a fulfillment order.POST /admin/api/2020-01/fulfillment_orders/#{fulfillment_order_id}/move.json
to move a fulfillment order.GET /admin/api/2020-01/fulfillment_orders/#{fulfillment_order_id}/locations_for_move.json
to retrieve locations that a fulfillment order can potentially move to.GET /admin/api/2020-01/fulfillment_orders/#{fulfillment_order_id}/fulfillments.json
to retrieve fulfillments associated with a fulfillment order.POST /admin/api/2020-01/fulfillments.json
to create a fulfillment for one or many fulfillment orders.POST /admin/api/2020-01/fulfillments/#{fulfillment_id}/cancel.json
to cancel a fulfillment.POST /admin/api/2020-01/fulfillments/#{fulfillment_id}/update_tracking.json
to update the tracking information for a fulfillment.The following changes have been made to the Webhook resource:
New topics
orders/edited
was added as part of the new order editing feature for the GraphQL Admin API.requires_shipping
property on the InventoryItem resource can now be updated. This property replaces the deprecated requires_shipping
property on the Product Variant resource.Input arguments that accept an array have a maximum size of 250. Queries and mutations return an error if an input array exceeds 250 items.
Products now support three types of media: images, 3D models, and videos. Use the GraphQL Admin API to upload media assets and then associate them with a product. To learn more, refer to Working with product media.
Updated types
VIDEO
value was added to enum StagedUploadTargetGenerateUploadResource
MODEL_3D
value was added to enum StagedUploadTargetGenerateUploadResource
IMAGE
value was added to enum StagedUploadTargetGenerateUploadResource
media: [CreateMediaInput!]
argument was added to mutation productCreate
New fields
fileSize
field was added to input object type StagedUploadTargetGenerateInput
mediaCount
field was added to object type Product
media
field was added to object type Product
featuredMedia
field was added to object type Product
New types
VideoSource
object was addedVideo
object was addedModel3dSource
object was addedModel3d
object was addedMediaImage
object was addedExternalVideo
was addedStagedUploadInput
input object was addedStagedUploadParameter
object was addedStagedMediaUploadTarget
object was addedUpdateMediaInput
input object was addedCreateMediaInput
input object was addedProductMediaSortKeys
enum was addedMediaStatus
enum was addedMediaPreviewImageStatus
enum was addedMediaPreviewImage
enum was addedMediaErrorCode
enum was addedMediaError
object was addedMediaContentType
was addedMedia
interface was addedNew mutations
stagedUploadsCreate
was addedproductUpdateMedia
was addedproductReorderMedia
was addedproductDeleteMedia
was addedproductCreateMedia
was addedYou can now edit orders to add items, remove items, or update item quantities. To learn more, refer to Editing existing orders.
Updated types
EDIT_ORDERS
was added to enum type StaffMemberPermission
New types
CalculatedOrder
was addedOrderStagedChangeIncrementItem
was addedOrderStagedChangeDecrementItem
was addedOrderStagedChangeAddVariant
was addedOrderStagedChangeAddCustomItem
was addedOrderStagedChange
was addedCalculatedLineItem
was addedLineItemMutable
was addedNew fields
totalOutstandingSet
was added to Order
refundDiscrepancySet
was added to Order
originalTotalPriceSet
was added to Order
lineItemsMutable
was added to Order
edited
was added to Order
New mutations
orderEditSetQuantity
was addedorderEditCommit
was addedorderEditBegin
was addedorderEditAddVariant
was addedorderEditAddCustomItem
was addedStaff member permissions include the option to edit translated content.
Updated types
TRANSLATIONS
was added to enum StaffMemberPermission
You can manage fulfillments with more control using FulfillmentOrder-based fulfillment. To learn more, refer to Managing fulfillments with the FulfillmentOrder resource.
Updated types
IN_PROGRESS
value was added to the OrderDisplayFulfillmentStatus enum.New fields
fulfillment_order
was added to QueryRoot.fulfillment_orders
was added to Shop.assigned_fulfillment_orders
was added to Shop.fulfillment_orders
was added to Order.fulfillment_orders
was added to Fulfillment.order
was added to Fulfillment.callback_url
was added to FulfillmentService.fulfillment_orders_opt_in
was added to FulfillmentService.New types
New mutations
Updated mutations
fulfillment_orders_opt_in
optional argument was added to FulfillmentServiceUpdate.Updated fields and types
SHP
value was added to enum CurrencyCode
GIP
value was added to enum CurrencyCode
FKP
value was added to enum CurrencyCode
A better error code is returned when an app tries to create more than 20 million discounts or discount codes.
Updated types
EXCEEDED_MAX
was added to enum PriceRuleErrorCode
The Customer object type now includes a customer's locale.
New fields
locale
was added to input object type CustomerInput
locale
was added to object type Customer
We added support for required minimum purchase amounts for discounts. When a discount requires a minimum amount, a customer's purchase needs to exceed that value to be eligible for the discount.
Updated types
DiscountPurchaseAmount
was added to union type DiscountCustomerBuysValue
New types
DiscountPurchaseAmount
was addedNew fields
amount
was added to DiscountCustomerBuysValueInput
extraInfo
was added to DiscountUserError
Delivery method definitions are now translatable resources. To learn more about delivery method definitions, refer to Manage delivery profiles. To learn more about translating resources, refer to Translating content with the API
Updated types
DELIVERY_METHOD_DEFINITION
was added to enum TranslatableResourceType
Updated fields
merchantOwnedOnly
argument was added to field QueryRoot.deliveryProfiles
New types
DeliveryProductVariantsCount
object type was addedNew fields
productVariantsCountV2
was added to object type DeliveryProfile
DeliveryProfile.productVariantsCount
was deprecated in favor of productVariantsCountV2
You can query the full list of locales available for a shop to enable. Refer to the example for retrieving a shop's locales.
New types
Locale
object was addedNew fields
availableLocales
was added to QueryRoot
Input arguments that accept an array have a maximum size of 250. Queries and mutations return an error if an input array exceeds 250 items.
Updated fields and types
SHP
value was added to enum CurrencyCode
GIP
value was added to enum CurrencyCode
FKP
value was added to enum CurrencyCode
You can now query unit measurement and price data for product variants to display per-unit prices (for example, $9.99 / 100 ml
).
New types
UnitPriceMeasurementMeasuredUnit
was addedUnitPriceMeasurementMeasuredType
was addedUnitPriceMeasurement
was addedNew fields
unitPrice
was added to ProductVariant
presentmentUnitPrices
was added to ProductVariant
unitPriceMeasurement
was added to ProductVariant
Products now support three types of media: images, 3D models, and videos. Use the Storefront API to retrieve a product's media and display it on the store's storefront.
Updated types
media
was added to object type Product
New types
VideoSource
was addedVideo
was addedModel3dSource
was addedModel3d
was addedMediaImage
was addedExternalVideo
was addedMediaContentType
was addedMedia
was addedYou can now retrieve translated content for select resource properties using the Storefront API. You need to use the Accept-Language HTTP request header when sending queries. Before you can retrieve the content, it needs to be created using the GraphQL Admin API.
To learn more, refer to Support multiple languages on storefronts.
Supported resources
Collection
Metafield
Article
Blog
Page
Product
ProductOption
ProductVariant
ShopPolicy
For a full list of translatable properties, refer to Translatable resources.
SDK | Supported Versions |
---|---|
Mobile Buy SDK Android | 4.0.0 |
Mobile Buy SDK iOS | 3.7.0, 3.7.1 |
Unity Buy SDK | 2.0.0 |
JS Buy SDK | 2.9.0, 2.9.1,2.9.1, 2.9.2, 2.9.3 |
Buy Button JS | 2.1.0, 2.1.1, 2.1.2 |