# UserError - admin-graphql - OBJECT Version: 2024-07 ## Description Represents an error in the input of a mutation. ### Access Scopes ## Fields * [field](/docs/api/admin-graphql/2024-07/scalars/String): String - The path to the input field that caused the error. * [message](/docs/api/admin-graphql/2024-07/scalars/String): String! - The error message. ## Connections ## Related queries ## Related mutations * [appPurchaseOneTimeCreate](/docs/api/admin-graphql/2024-07/mutations/appPurchaseOneTimeCreate) Charges a shop for features or services one time. This type of charge is recommended for apps that aren't billed on a recurring basis. Test and demo shops aren't charged. * [appSubscriptionCancel](/docs/api/admin-graphql/2024-07/mutations/appSubscriptionCancel) Cancels an app subscription on a store. * [appSubscriptionCreate](/docs/api/admin-graphql/2024-07/mutations/appSubscriptionCreate) Allows an app to charge a store for features or services on a recurring basis. * [appSubscriptionLineItemUpdate](/docs/api/admin-graphql/2024-07/mutations/appSubscriptionLineItemUpdate) Updates the capped amount on the usage pricing plan of an app subscription line item. * [appUsageRecordCreate](/docs/api/admin-graphql/2024-07/mutations/appUsageRecordCreate) Enables an app to charge a store for features or services on a per-use basis. The usage charge value is counted towards the `cappedAmount` limit that was specified in the `appUsagePricingDetails` field when the app subscription was created. If you create an app usage charge that causes the total usage charges in a billing interval to exceed the capped amount, then a `Total price exceeds balance remaining` error is returned. * [bulkOperationCancel](/docs/api/admin-graphql/2024-07/mutations/bulkOperationCancel) Starts the cancelation process of a running bulk operation. There may be a short delay from when a cancelation starts until the operation is actually canceled. * [bulkOperationRunQuery](/docs/api/admin-graphql/2024-07/mutations/bulkOperationRunQuery) Creates and runs a bulk operation query. See the [bulk operations guide](https://shopify.dev/api/usage/bulk-operations/queries) for more details. * [collectionAddProducts](/docs/api/admin-graphql/2024-07/mutations/collectionAddProducts) Adds products to a collection. * [collectionCreate](/docs/api/admin-graphql/2024-07/mutations/collectionCreate) Creates a collection. * [collectionDelete](/docs/api/admin-graphql/2024-07/mutations/collectionDelete) Deletes a collection. * [collectionPublish](/docs/api/admin-graphql/2024-07/mutations/collectionPublish) Publishes a collection to a channel. * [collectionRemoveProducts](/docs/api/admin-graphql/2024-07/mutations/collectionRemoveProducts) Removes a set of products from a given collection. The mutation can take a long time to run. Instead of returning an updated collection the mutation returns a job, which should be [polled](https://shopify.dev/api/admin-graphql/latest/queries/job). For use with manual collections only. * [collectionReorderProducts](/docs/api/admin-graphql/2024-07/mutations/collectionReorderProducts) Asynchronously reorders a set of products within a specified collection. Instead of returning an updated collection, this mutation returns a job, which should be [polled](https://shopify.dev/api/admin-graphql/latest/queries/job). The [`Collection.sortOrder`](https://shopify.dev/api/admin-graphql/latest/objects/Collection#field-collection-sortorder) must be `MANUAL`. Displaced products will have their position altered in a consistent manner, with no gaps. * [collectionUnpublish](/docs/api/admin-graphql/2024-07/mutations/collectionUnpublish) Unpublishes a collection. * [collectionUpdate](/docs/api/admin-graphql/2024-07/mutations/collectionUpdate) Updates a collection. * [customerAddTaxExemptions](/docs/api/admin-graphql/2024-07/mutations/customerAddTaxExemptions) Add tax exemptions for the customer. * [customerCreate](/docs/api/admin-graphql/2024-07/mutations/customerCreate) Create a new customer. As of API version 2022-10, apps using protected customer data must meet the protected customer data [requirements](https://shopify.dev/apps/store/data-protection/protected-customer-data). * [customerDelete](/docs/api/admin-graphql/2024-07/mutations/customerDelete) Delete a customer. As of API version 2022-10, apps using protected customer data must meet the protected customer data [requirements](https://shopify.dev/apps/store/data-protection/protected-customer-data). * [customerGenerateAccountActivationUrl](/docs/api/admin-graphql/2024-07/mutations/customerGenerateAccountActivationUrl) Generate an account activation URL for a customer. * [customerPaymentMethodCreditCardCreate](/docs/api/admin-graphql/2024-07/mutations/customerPaymentMethodCreditCardCreate) Creates a credit card payment method for a customer using a session id. These values are only obtained through card imports happening from a PCI compliant environment. Please use customerPaymentMethodRemoteCreate if you are not managing credit cards directly. * [customerPaymentMethodCreditCardUpdate](/docs/api/admin-graphql/2024-07/mutations/customerPaymentMethodCreditCardUpdate) Updates the credit card payment method for a customer. * [customerPaymentMethodRevoke](/docs/api/admin-graphql/2024-07/mutations/customerPaymentMethodRevoke) Revokes a customer's payment method. * [customerPaymentMethodSendUpdateEmail](/docs/api/admin-graphql/2024-07/mutations/customerPaymentMethodSendUpdateEmail) Sends a link to the customer so they can update a specific payment method. * [customerRemoveTaxExemptions](/docs/api/admin-graphql/2024-07/mutations/customerRemoveTaxExemptions) Remove tax exemptions from a customer. * [customerReplaceTaxExemptions](/docs/api/admin-graphql/2024-07/mutations/customerReplaceTaxExemptions) Replace tax exemptions for a customer. * [customerUpdateDefaultAddress](/docs/api/admin-graphql/2024-07/mutations/customerUpdateDefaultAddress) Updates a customer's default address. * [customerUpdate](/docs/api/admin-graphql/2024-07/mutations/customerUpdate) Update a customer's attributes. As of API version 2022-10, apps using protected customer data must meet the protected customer data [requirements](https://shopify.dev/apps/store/data-protection/protected-customer-data). * [deliveryProfileCreate](/docs/api/admin-graphql/2024-07/mutations/deliveryProfileCreate) Create a delivery profile. * [deliveryProfileRemove](/docs/api/admin-graphql/2024-07/mutations/deliveryProfileRemove) Enqueue the removal of a delivery profile. * [deliveryProfileUpdate](/docs/api/admin-graphql/2024-07/mutations/deliveryProfileUpdate) Update a delivery profile. * [deliverySettingUpdate](/docs/api/admin-graphql/2024-07/mutations/deliverySettingUpdate) Set the delivery settings for a shop. * [deliveryShippingOriginAssign](/docs/api/admin-graphql/2024-07/mutations/deliveryShippingOriginAssign) Assigns a location as the shipping origin while using legacy compatibility mode for multi-location delivery profiles. * [draftOrderBulkAddTags](/docs/api/admin-graphql/2024-07/mutations/draftOrderBulkAddTags) Adds tags to multiple draft orders. * [draftOrderBulkDelete](/docs/api/admin-graphql/2024-07/mutations/draftOrderBulkDelete) Deletes multiple draft orders. * [draftOrderBulkRemoveTags](/docs/api/admin-graphql/2024-07/mutations/draftOrderBulkRemoveTags) Removes tags from multiple draft orders. * [draftOrderCalculate](/docs/api/admin-graphql/2024-07/mutations/draftOrderCalculate) Calculates the properties of a draft order. Useful for determining information such as total taxes or price without actually creating a draft order. * [draftOrderComplete](/docs/api/admin-graphql/2024-07/mutations/draftOrderComplete) Completes a draft order and creates an order. * [draftOrderCreateFromOrder](/docs/api/admin-graphql/2024-07/mutations/draftOrderCreateFromOrder) Creates a draft order from order. * [draftOrderCreateMerchantCheckout](/docs/api/admin-graphql/2024-07/mutations/draftOrderCreateMerchantCheckout) Creates a merchant checkout for the given draft order. * [draftOrderCreate](/docs/api/admin-graphql/2024-07/mutations/draftOrderCreate) Creates a draft order. * [draftOrderDelete](/docs/api/admin-graphql/2024-07/mutations/draftOrderDelete) Deletes a draft order. * [draftOrderDuplicate](/docs/api/admin-graphql/2024-07/mutations/draftOrderDuplicate) Duplicates a draft order. * [draftOrderInvoicePreview](/docs/api/admin-graphql/2024-07/mutations/draftOrderInvoicePreview) Previews a draft order invoice email. * [draftOrderInvoiceSend](/docs/api/admin-graphql/2024-07/mutations/draftOrderInvoiceSend) Sends an email invoice for a draft order. * [draftOrderUpdate](/docs/api/admin-graphql/2024-07/mutations/draftOrderUpdate) Updates a draft order. If a checkout has been started for a draft order, any update to the draft will unlink the checkout. Checkouts are created but not immediately completed when opening the merchant credit card modal in the admin, and when a buyer opens the invoice URL. This is usually fine, but there is an edge case where a checkout is in progress and the draft is updated before the checkout completes. This will not interfere with the checkout and order creation, but if the link from draft to checkout is broken the draft will remain open even after the order is created. * [eventBridgeWebhookSubscriptionCreate](/docs/api/admin-graphql/2024-07/mutations/eventBridgeWebhookSubscriptionCreate) Creates a new Amazon EventBridge webhook subscription. Building an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe). * [eventBridgeWebhookSubscriptionUpdate](/docs/api/admin-graphql/2024-07/mutations/eventBridgeWebhookSubscriptionUpdate) Updates an Amazon EventBridge webhook subscription. Building an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe). * [flowTriggerReceive](/docs/api/admin-graphql/2024-07/mutations/flowTriggerReceive) Triggers any workflows that begin with the trigger specified in the request body. To learn more, refer to [_Create Shopify Flow triggers_](https://shopify.dev/apps/flow/triggers). * [fulfillmentCancel](/docs/api/admin-graphql/2024-07/mutations/fulfillmentCancel) Cancels a fulfillment. * [fulfillmentCreateV2](/docs/api/admin-graphql/2024-07/mutations/fulfillmentCreateV2) Creates a fulfillment for one or many fulfillment orders. The fulfillment orders are associated with the same order and are assigned to the same location. * [fulfillmentEventCreate](/docs/api/admin-graphql/2024-07/mutations/fulfillmentEventCreate) Creates a fulfillment event for a specified fulfillment. * [fulfillmentOrderAcceptCancellationRequest](/docs/api/admin-graphql/2024-07/mutations/fulfillmentOrderAcceptCancellationRequest) Accept a cancellation request sent to a fulfillment service for a fulfillment order. * [fulfillmentOrderAcceptFulfillmentRequest](/docs/api/admin-graphql/2024-07/mutations/fulfillmentOrderAcceptFulfillmentRequest) Accepts a fulfillment request sent to a fulfillment service for a fulfillment order. * [fulfillmentOrderCancel](/docs/api/admin-graphql/2024-07/mutations/fulfillmentOrderCancel) Marks a fulfillment order as canceled. * [fulfillmentOrderClose](/docs/api/admin-graphql/2024-07/mutations/fulfillmentOrderClose) Marks an in-progress fulfillment order as incomplete, indicating the fulfillment service is unable to ship any remaining items, and closes the fulfillment request. This mutation can only be called for fulfillment orders that meet the following criteria: - Assigned to a fulfillment service location, - The fulfillment request has been accepted, - The fulfillment order status is `IN_PROGRESS`. This mutation can only be called by the fulfillment service app that accepted the fulfillment request. Calling this mutation returns the control of the fulfillment order to the merchant, allowing them to move the fulfillment order line items to another location and fulfill from there, remove and refund the line items, or to request fulfillment from the same fulfillment service again. Closing a fulfillment order is explained in [the fulfillment service guide](https://shopify.dev/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services#step-7-optional-close-a-fulfillment-order). * [fulfillmentOrderMove](/docs/api/admin-graphql/2024-07/mutations/fulfillmentOrderMove) Changes the location which is assigned to fulfill a number of unfulfilled fulfillment order line items. Moving a fulfillment order will fail in the following circumstances: * The fulfillment order is closed. * The destination location has never stocked the requested inventory item. * The API client doesn't have the correct permissions. Line items which have already been fulfilled can't be re-assigned and will always remain assigned to the original location. You can't change the assigned location while a fulfillment order has a [request status](https://shopify.dev/docs/api/admin-graphql/latest/enums/FulfillmentOrderRequestStatus) of `SUBMITTED`, `ACCEPTED`, `CANCELLATION_REQUESTED`, or `CANCELLATION_REJECTED`. These request statuses mean that a fulfillment order is awaiting action by a fulfillment service and can't be re-assigned without first having the fulfillment service accept a cancellation request. This behavior is intended to prevent items from being fulfilled by multiple locations or fulfillment services. ### How re-assigning line items affects fulfillment orders **First scenario:** Re-assign all line items belonging to a fulfillment order to a new location. In this case, the [assignedLocation](https://shopify.dev/docs/api/admin-graphql/latest/objects/fulfillmentorder#field-fulfillmentorder-assignedlocation) of the original fulfillment order will be updated to the new location. **Second scenario:** Re-assign a subset of the line items belonging to a fulfillment order to a new location. You can specify a subset of line items using the `fulfillmentOrderLineItems` parameter (available as of the `2023-04` API version), or specify that the original fulfillment order contains line items which have already been fulfilled. If the new location is already assigned to another active fulfillment order, on the same order, then a new fulfillment order is created. The existing fulfillment order is closed and line items are recreated in a new fulfillment order. * [fulfillmentOrderOpen](/docs/api/admin-graphql/2024-07/mutations/fulfillmentOrderOpen) Marks a scheduled fulfillment order as open. * [fulfillmentOrderRejectCancellationRequest](/docs/api/admin-graphql/2024-07/mutations/fulfillmentOrderRejectCancellationRequest) Rejects a cancellation request sent to a fulfillment service for a fulfillment order. * [fulfillmentOrderRejectFulfillmentRequest](/docs/api/admin-graphql/2024-07/mutations/fulfillmentOrderRejectFulfillmentRequest) Rejects a fulfillment request sent to a fulfillment service for a fulfillment order. * [fulfillmentOrderSubmitCancellationRequest](/docs/api/admin-graphql/2024-07/mutations/fulfillmentOrderSubmitCancellationRequest) Sends a cancellation request to the fulfillment service of a fulfillment order. * [fulfillmentOrderSubmitFulfillmentRequest](/docs/api/admin-graphql/2024-07/mutations/fulfillmentOrderSubmitFulfillmentRequest) Sends a fulfillment request to the fulfillment service of a fulfillment order. * [fulfillmentServiceCreate](/docs/api/admin-graphql/2024-07/mutations/fulfillmentServiceCreate) Creates a fulfillment service. ## Fulfillment service location When creating a fulfillment service, a new location will be automatically created on the shop and will be associated with this fulfillment service. This location will be named after the fulfillment service and inherit the shop's address. If you are using API version `2023-10` or later, and you need to specify custom attributes for the fulfillment service location (for example, to change its address to a country different from the shop's country), use the [LocationEdit](https://shopify.dev/api/admin-graphql/latest/mutations/locationEdit) mutation after creating the fulfillment service. * [fulfillmentServiceDelete](/docs/api/admin-graphql/2024-07/mutations/fulfillmentServiceDelete) Deletes a fulfillment service. * [fulfillmentServiceUpdate](/docs/api/admin-graphql/2024-07/mutations/fulfillmentServiceUpdate) Updates a fulfillment service. If you are using API version `2023-10` or later, and you need to update the location managed by the fulfillment service (for example, to change the address of a fulfillment service), use the [LocationEdit](https://shopify.dev/api/admin-graphql/latest/mutations/locationEdit) mutation. * [fulfillmentTrackingInfoUpdateV2](/docs/api/admin-graphql/2024-07/mutations/fulfillmentTrackingInfoUpdateV2) Updates tracking information for a fulfillment. * [giftCardDisable](/docs/api/admin-graphql/2024-07/mutations/giftCardDisable) Disable a gift card. A disabled gift card cannot be used by a customer. A disabled gift card cannot be re-enabled. * [giftCardUpdate](/docs/api/admin-graphql/2024-07/mutations/giftCardUpdate) Update a gift card. * [inventoryActivate](/docs/api/admin-graphql/2024-07/mutations/inventoryActivate) Activate an inventory item at a location. * [inventoryDeactivate](/docs/api/admin-graphql/2024-07/mutations/inventoryDeactivate) Removes an inventory item's quantities from a location, and turns off inventory at the location. * [inventoryItemUpdate](/docs/api/admin-graphql/2024-07/mutations/inventoryItemUpdate) Updates an inventory item. * [marketingActivityCreate](/docs/api/admin-graphql/2024-07/mutations/marketingActivityCreate) Create new marketing activity. * [marketingActivityUpdate](/docs/api/admin-graphql/2024-07/mutations/marketingActivityUpdate) Updates a marketing activity with the latest information. * [metafieldDelete](/docs/api/admin-graphql/2024-07/mutations/metafieldDelete) Deletes a metafield. * [metafieldStorefrontVisibilityCreate](/docs/api/admin-graphql/2024-07/mutations/metafieldStorefrontVisibilityCreate) Creates a `MetafieldStorefrontVisibility` record to make all metafields that belong to the specified resource and have the established `namespace` and `key` combination visible in the Storefront API. * [metafieldStorefrontVisibilityDelete](/docs/api/admin-graphql/2024-07/mutations/metafieldStorefrontVisibilityDelete) Deletes a `MetafieldStorefrontVisibility` record. All metafields that belongs to the specified record will no longer be visible in the Storefront API. * [metafieldsDelete](/docs/api/admin-graphql/2024-07/mutations/metafieldsDelete) Deletes multiple metafields in bulk. * [orderCancel](/docs/api/admin-graphql/2024-07/mutations/orderCancel) Cancels an order. * [orderCapture](/docs/api/admin-graphql/2024-07/mutations/orderCapture) Captures payment for an authorized transaction on an order. An order can only be captured if it has a successful authorization transaction. Capturing an order will claim the money reserved by the authorization. orderCapture can be used to capture multiple times as long as the OrderTransaction is multi-capturable. To capture a partial payment, the included `amount` value should be less than the total order amount. Multi-capture is available only to stores on a Shopify Plus plan. * [orderClose](/docs/api/admin-graphql/2024-07/mutations/orderClose) Closes an open order. * [orderEditAddCustomItem](/docs/api/admin-graphql/2024-07/mutations/orderEditAddCustomItem) Adds a custom line item to an existing order. For example, you could add a gift wrapping service as a [custom line item](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing#add-a-custom-line-item). To learn how to edit existing orders, refer to [Edit an existing order with Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). * [orderEditAddLineItemDiscount](/docs/api/admin-graphql/2024-07/mutations/orderEditAddLineItemDiscount) Adds a discount to a line item on the current order edit. For more information on how to use the GraphQL Admin API to edit an existing order, refer to [Edit existing orders](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). * [orderEditAddVariant](/docs/api/admin-graphql/2024-07/mutations/orderEditAddVariant) Adds a line item from an existing product variant. * [orderEditBegin](/docs/api/admin-graphql/2024-07/mutations/orderEditBegin) Starts editing an order. Mutations are operating on `OrderEdit`. All order edits start with `orderEditBegin`, have any number of `orderEdit`* mutations made, and end with `orderEditCommit`. * [orderEditCommit](/docs/api/admin-graphql/2024-07/mutations/orderEditCommit) Applies and saves staged changes to an order. Mutations are operating on `OrderEdit`. All order edits start with `orderEditBegin`, have any number of `orderEdit`* mutations made, and end with `orderEditCommit`. * [orderEditRemoveLineItemDiscount](/docs/api/admin-graphql/2024-07/mutations/orderEditRemoveLineItemDiscount) Removes a line item discount that was applied as part of an order edit. * [orderEditSetQuantity](/docs/api/admin-graphql/2024-07/mutations/orderEditSetQuantity) Sets the quantity of a line item on an order that is being edited. For more information on how to use the GraphQL Admin API to edit an existing order, refer to [Edit existing orders](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). * [orderMarkAsPaid](/docs/api/admin-graphql/2024-07/mutations/orderMarkAsPaid) Marks an order as paid. You can only mark an order as paid if it isn't already fully paid. * [orderOpen](/docs/api/admin-graphql/2024-07/mutations/orderOpen) Opens a closed order. * [orderUpdate](/docs/api/admin-graphql/2024-07/mutations/orderUpdate) Updates the fields of an order. * [priceRuleActivate](/docs/api/admin-graphql/2024-07/mutations/priceRuleActivate) Activate a price rule. * [priceRuleCreate](/docs/api/admin-graphql/2024-07/mutations/priceRuleCreate) Create a price rule using the input. * [priceRuleDeactivate](/docs/api/admin-graphql/2024-07/mutations/priceRuleDeactivate) Deactivate a price rule. * [priceRuleDelete](/docs/api/admin-graphql/2024-07/mutations/priceRuleDelete) Delete a price rule. * [priceRuleDiscountCodeCreate](/docs/api/admin-graphql/2024-07/mutations/priceRuleDiscountCodeCreate) Create a discount code for a price rule. * [priceRuleDiscountCodeUpdate](/docs/api/admin-graphql/2024-07/mutations/priceRuleDiscountCodeUpdate) Update a discount code for a price rule. * [priceRuleUpdate](/docs/api/admin-graphql/2024-07/mutations/priceRuleUpdate) Updates a price rule using its ID and an input. * [privateMetafieldDelete](/docs/api/admin-graphql/2024-07/mutations/privateMetafieldDelete) Deletes a private metafield. Private metafields are automatically deleted when the app that created them is uninstalled. * [privateMetafieldUpsert](/docs/api/admin-graphql/2024-07/mutations/privateMetafieldUpsert) Creates or updates a private metafield. Use private metafields when you don't want the metafield data to be accessible by merchants or other apps. Private metafields are accessible only by the application that created them and only from the GraphQL Admin API. An application can create a maximum of 10 private metafields per shop resource. * [productAppendImages](/docs/api/admin-graphql/2024-07/mutations/productAppendImages) Appends images to a product. * [productBundleCreate](/docs/api/admin-graphql/2024-07/mutations/productBundleCreate) Creates a new componentized product. * [productBundleUpdate](/docs/api/admin-graphql/2024-07/mutations/productBundleUpdate) Updates a componentized product. * [productCreateMedia](/docs/api/admin-graphql/2024-07/mutations/productCreateMedia) Creates media for a product. * [productCreate](/docs/api/admin-graphql/2024-07/mutations/productCreate) Creates a product. Learn more about the [product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model) and [adding product data](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/add-data). * [productDeleteImages](/docs/api/admin-graphql/2024-07/mutations/productDeleteImages) Removes product images from the product. * [productDeleteMedia](/docs/api/admin-graphql/2024-07/mutations/productDeleteMedia) Deletes media for a product. * [productDelete](/docs/api/admin-graphql/2024-07/mutations/productDelete) Deletes a product, including all associated variants and media. As of API version `2023-01`, if you need to delete a large product, such as one that has many [variants](https://shopify.dev/api/admin-graphql/latest/input-objects/ProductVariantInput) that are active at several [locations](https://shopify.dev/api/admin-graphql/latest/input-objects/InventoryLevelInput), you may encounter timeout errors. To avoid these timeout errors, you can instead use the asynchronous [ProductDeleteAsync](https://shopify.dev/api/admin-graphql/latest/mutations/productDeleteAsync) mutation. * [productDuplicate](/docs/api/admin-graphql/2024-07/mutations/productDuplicate) Duplicates a product. If you need to duplicate a large product, such as one that has many [variants](https://shopify.dev/api/admin-graphql/latest/input-objects/ProductVariantInput) that are active at several [locations](https://shopify.dev/api/admin-graphql/latest/input-objects/InventoryLevelInput), you might encounter timeout errors. To avoid these timeout errors, you can instead duplicate the product asynchronously. In API version 2024-10 and higher, include `synchronous: false` argument in this mutation to perform the duplication asynchronously. In API version 2024-07 and lower, use the asynchronous [`ProductDuplicateAsyncV2`](https://shopify.dev/api/admin-graphql/2024-07/mutations/productDuplicateAsyncV2). * [productImageUpdate](/docs/api/admin-graphql/2024-07/mutations/productImageUpdate) Updates an image of a product. * [productPublish](/docs/api/admin-graphql/2024-07/mutations/productPublish) Publishes a product. Products that are sold exclusively on subscription (`requiresSellingPlan: true`) can only be published on online stores. * [productReorderImages](/docs/api/admin-graphql/2024-07/mutations/productReorderImages) Asynchronously reorders a set of images for a given product. * [productReorderMedia](/docs/api/admin-graphql/2024-07/mutations/productReorderMedia) Asynchronously reorders the media attached to a product. * [productUnpublish](/docs/api/admin-graphql/2024-07/mutations/productUnpublish) Unpublishes a product. * [productUpdateMedia](/docs/api/admin-graphql/2024-07/mutations/productUpdateMedia) Updates media for a product. * [productUpdate](/docs/api/admin-graphql/2024-07/mutations/productUpdate) Updates a product. For versions `2024-01` and older: If you update a product and only include some variants in the update, then any variants not included will be deleted. To safely manage variants without the risk of deleting excluded variants, use [productVariantsBulkUpdate](https://shopify.dev/api/admin-graphql/latest/mutations/productvariantsbulkupdate). If you want to update a single variant, then use [productVariantUpdate](https://shopify.dev/api/admin-graphql/latest/mutations/productvariantupdate). * [productVariantCreate](/docs/api/admin-graphql/2024-07/mutations/productVariantCreate) Creates a product variant. * [productVariantDelete](/docs/api/admin-graphql/2024-07/mutations/productVariantDelete) Deletes a product variant. * [productVariantUpdate](/docs/api/admin-graphql/2024-07/mutations/productVariantUpdate) Updates a product variant. * [publishablePublish](/docs/api/admin-graphql/2024-07/mutations/publishablePublish) Publishes a resource to a channel. If the resource is a product, then it's visible in the channel only if the product status is `active`. Products that are sold exclusively on subscription (`requiresSellingPlan: true`) can be published only on online stores. * [publishablePublishToCurrentChannel](/docs/api/admin-graphql/2024-07/mutations/publishablePublishToCurrentChannel) Publishes a resource to current channel. If the resource is a product, then it's visible in the channel only if the product status is `active`. Products that are sold exclusively on subscription (`requiresSellingPlan: true`) can be published only on online stores. * [publishableUnpublish](/docs/api/admin-graphql/2024-07/mutations/publishableUnpublish) Unpublishes a resource from a channel. If the resource is a product, then it's visible in the channel only if the product status is `active`. * [publishableUnpublishToCurrentChannel](/docs/api/admin-graphql/2024-07/mutations/publishableUnpublishToCurrentChannel) Unpublishes a resource from the current channel. If the resource is a product, then it's visible in the channel only if the product status is `active`. * [refundCreate](/docs/api/admin-graphql/2024-07/mutations/refundCreate) Creates a refund. * [savedSearchCreate](/docs/api/admin-graphql/2024-07/mutations/savedSearchCreate) Creates a saved search. * [savedSearchDelete](/docs/api/admin-graphql/2024-07/mutations/savedSearchDelete) Delete a saved search. * [savedSearchUpdate](/docs/api/admin-graphql/2024-07/mutations/savedSearchUpdate) Updates a saved search. * [scriptTagCreate](/docs/api/admin-graphql/2024-07/mutations/scriptTagCreate)

Theme app extensions

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

Script tag deprecation

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

Creates a new script tag. * [scriptTagDelete](/docs/api/admin-graphql/2024-07/mutations/scriptTagDelete)

Theme app extensions

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

Script tag deprecation

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

Deletes a script tag. * [scriptTagUpdate](/docs/api/admin-graphql/2024-07/mutations/scriptTagUpdate)

Theme app extensions

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

Script tag deprecation

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

Updates a script tag. * [segmentCreate](/docs/api/admin-graphql/2024-07/mutations/segmentCreate) Creates a segment. * [segmentDelete](/docs/api/admin-graphql/2024-07/mutations/segmentDelete) Deletes a segment. * [segmentUpdate](/docs/api/admin-graphql/2024-07/mutations/segmentUpdate) Updates a segment. * [shippingPackageDelete](/docs/api/admin-graphql/2024-07/mutations/shippingPackageDelete) Deletes a shipping package. * [shippingPackageMakeDefault](/docs/api/admin-graphql/2024-07/mutations/shippingPackageMakeDefault) Set a shipping package as the default. The default shipping package is the one used to calculate shipping costs on checkout. * [shippingPackageUpdate](/docs/api/admin-graphql/2024-07/mutations/shippingPackageUpdate) Updates a shipping package. * [shopLocaleDisable](/docs/api/admin-graphql/2024-07/mutations/shopLocaleDisable) Deletes a locale for a shop. This also deletes all translations of this locale. * [shopLocaleEnable](/docs/api/admin-graphql/2024-07/mutations/shopLocaleEnable) Adds a locale for a shop. The newly added locale is in the unpublished state. * [shopLocaleUpdate](/docs/api/admin-graphql/2024-07/mutations/shopLocaleUpdate) Updates a locale for a shop. * [stagedUploadTargetGenerate](/docs/api/admin-graphql/2024-07/mutations/stagedUploadTargetGenerate) Generates the URL and signed paramaters needed to upload an asset to Shopify. * [stagedUploadTargetsGenerate](/docs/api/admin-graphql/2024-07/mutations/stagedUploadTargetsGenerate) Uploads multiple images. * [stagedUploadsCreate](/docs/api/admin-graphql/2024-07/mutations/stagedUploadsCreate) Creates staged upload targets for each input. This is the first step in the upload process. The returned staged upload targets' URL and parameter fields can be used to send a request to upload the file described in the corresponding input. For more information on the upload process, refer to [Upload media to Shopify](https://shopify.dev/apps/online-store/media/products#step-1-upload-media-to-shopify). * [storefrontAccessTokenCreate](/docs/api/admin-graphql/2024-07/mutations/storefrontAccessTokenCreate) Creates a storefront access token for use with the [Storefront API](https://shopify.dev/docs/api/storefront). An app can have a maximum of 100 active storefront access tokens for each shop. [Get started with the Storefront API](https://shopify.dev/docs/storefronts/headless/building-with-the-storefront-api/getting-started). * [storefrontAccessTokenDelete](/docs/api/admin-graphql/2024-07/mutations/storefrontAccessTokenDelete) Deletes a storefront access token. * [tagsAdd](/docs/api/admin-graphql/2024-07/mutations/tagsAdd) Add tags to an order, a draft order, a customer, a product, or an online store article. * [tagsRemove](/docs/api/admin-graphql/2024-07/mutations/tagsRemove) Remove tags from an order, a draft order, a customer, a product, or an online store article. * [urlRedirectBulkDeleteAll](/docs/api/admin-graphql/2024-07/mutations/urlRedirectBulkDeleteAll) Asynchronously delete [URL redirects](https://shopify.dev/api/admin-graphql/latest/objects/UrlRedirect) in bulk. * [webhookSubscriptionCreate](/docs/api/admin-graphql/2024-07/mutations/webhookSubscriptionCreate) Creates a new webhook subscription. Building an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe). * [webhookSubscriptionDelete](/docs/api/admin-graphql/2024-07/mutations/webhookSubscriptionDelete) Deletes a webhook subscription. Building an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe). * [webhookSubscriptionUpdate](/docs/api/admin-graphql/2024-07/mutations/webhookSubscriptionUpdate) Updates a webhook subscription. Building an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe). ## Related Unions ## Examples