A job corresponds to some long running task that the client should poll for status.
Anchor to FieldsFields
- Anchor to donedone•Boolean!non-null
This indicates if the job is still queued or has been run.
- •ID!non-null
A globally-unique ID that's returned when running an asynchronous mutation.
- Anchor to queryquery•
This field will only resolve once the job is done. Can be used to ask for object(s) that have been changed by the job.
Anchor to QueriesQueries
- •query
Returns a Job resource by ID. Used to check the status of internal jobs and any applicable changes.
Anchor to MutationsMutations
- •mutation
Asynchronously adds a set of products to a given collection. It can take a long time to run. Instead of returning a collection, it returns a job which should be polled.
- •ID!required
The ID of the collection that's being updated.
- Anchor to productIdsproduct•
Ids [ID!]!required The IDs of the products that are being added to the collection. If the collection's sort order is manual, the products will be added in the order in which they are provided.
Arguments
- •
The asynchronous job adding the products.
- Anchor to userErrorsuser•
Errors The list of errors that occurred from executing the mutation.
Fields
- •
- •mutation
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. For use with manual collections only.
- •ID!required
The ID of the collection to remove products from. The ID must reference an existing manual collection.
- Anchor to productIdsproduct•
Ids [ID!]!required The IDs of products to remove from the collection. The mutation doesn't validate that the products belong to the collection or whether the products exist.
Arguments
- •
The asynchronous job removing the products.
- Anchor to userErrorsuser•
Errors [UserError!]!non-null The list of errors that occurred from executing the mutation.
Fields
- •
- •mutation
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. The
must be
. Displaced products will have their position altered in a consistent manner, with no gaps.
- •ID!required
The ID of the collection on which to reorder products.
- Anchor to movesmoves•[Move
Input!]!required A list of moves to perform, which will be evaluated in order. Up to 250 moves are supported, the
does not have to be unique.
Arguments
- •
The asynchronous job reordering the products.
- Anchor to userErrorsuser•
Errors [UserError!]!non-null The list of errors that occurred from executing the mutation.
Fields
- •
- •mutation
Updates a collection.
- Anchor to inputinput•Collection
Input!required The updated properties for the collection.
Arguments
- Anchor to collectioncollection•
The updated collection.
- •
The asynchronous job updating the products based on the new rule set.
- Anchor to userErrorsuser•
Errors [UserError!]!non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Merges two customers.
- Anchor to customerOneIdcustomer•
One Id ID!required The ID of the first customer that will be merged.
- Anchor to customerTwoIdcustomer•
Two Id ID!required The ID of the second customer that will be merged.
- Anchor to overrideFieldsoverride•
Fields The fields to override the default customer merge rules.
Arguments
- •
The asynchronous job for merging the customers.
- Anchor to resultingCustomerIdresulting•
Customer Id The ID of the customer resulting from the merge.
- Anchor to userErrorsuser•
Errors [CustomerMerge User Error!]!non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Enqueue the removal of a delivery profile.
- •ID!required
The ID of the delivery profile to remove.
Arguments
- •
The delivery profile deletion job triggered by the mutation.
- Anchor to userErrorsuser•
Errors [UserError!]!non-null The list of errors that occurred from executing the mutation.
Fields
- •
- •mutation
Asynchronously delete automatic discounts in bulk if a
search
orargument is provided or if a maximum discount threshold is reached (1,000). Otherwise, deletions will occur inline. Warning: All automatic discounts will be deleted if a blank
search
argument is provided.- •
The IDs of the automatic discounts to delete.
- Anchor to savedSearchIdsaved•
Search Id The ID of the saved search to use for filtering automatic discounts to delete.
- Anchor to searchsearch•
The search query for filtering automatic discounts to delete.
For more information on the list of supported fields and search syntax, refer to the AutomaticDiscountNodes query section.
Arguments
- •
The asynchronous job removing the automatic discounts.
- Anchor to userErrorsuser•
Errors [DiscountUser Error!]!non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Activates multiple code discounts asynchronously using one of the following:
- A search query
- A saved search ID
- A list of discount code IDs
For example, you can activate discounts for all codes that match a search criteria, or activate a predefined set of discount codes.
- •
The IDs of the discounts to activate.
- Anchor to savedSearchIdsaved•
Search Id The ID of the saved search for filtering discounts to activate. Saved searches represent customer segments that merchants have built in the Shopify admin.
- Anchor to searchsearch•
Arguments
- •
The asynchronous job that activates the discounts.
- Anchor to userErrorsuser•
Errors [DiscountUser Error!]!non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Deactivates multiple code-based discounts asynchronously using one of the following:
- A search query
- A saved search ID
- A list of discount code IDs
For example, you can deactivate discounts for all codes that match a search criteria, or deactivate a predefined set of discount codes.
- •
The IDs of the discounts to deactivate.
- Anchor to savedSearchIdsaved•
Search Id The ID of the saved search for filtering discounts to deactivate. Saved searches represent customer segments that merchants have built in the Shopify admin.
- Anchor to searchsearch•
Arguments
- •
The asynchronous job that deactivates the discounts.
- Anchor to userErrorsuser•
Errors [DiscountUser Error!]!non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Deletes multiple code-based discounts asynchronously using one of the following:
- A search query
- A saved search ID
- A list of discount code IDs
For example, you can delete discounts for all codes that match a search criteria, or delete a predefined set of discount codes.
- •
The IDs of the discounts to delete.
- Anchor to savedSearchIdsaved•
Search Id The ID of the saved search for filtering discounts to delete. Saved searches represent customer segments that merchants have built in the Shopify admin.
- Anchor to searchsearch•
Arguments
- •
The asynchronous job that deletes the discounts.
- Anchor to userErrorsuser•
Errors [DiscountUser Error!]!non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Asynchronously delete discount codes in bulk that customers can use to redeem a discount.
- Anchor to discountIddiscount•
Id ID!required The ID of the
object that the codes will be removed from. For example,
. You can use the
query to retrieve the ID.
- •
The IDs of the
objects to delete. For example,
. You can use the
query to retrieve the ID.
- Anchor to savedSearchIdsaved•
Search Id The ID of a saved search.
- Anchor to searchsearch•
A filter made up of terms, connectives, modifiers, and comparators that you can use to search for code discounts. You can apply one or more filters to a query. Learn more about Shopify API search syntax.
For a list of accepted values for the
search
field, refer to thequery
argument on thequery.
Arguments
- •
The asynchronous job that deletes the discount codes.
- Anchor to userErrorsuser•
Errors [DiscountUser Error!]!non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Adds tags to multiple draft orders.
- •
The IDs of the draft orders to add tags to.
- Anchor to savedSearchIdsaved•
Search Id The ID of the draft order saved search for filtering draft orders on.
- Anchor to searchsearch•
The conditions for filtering draft orders on. See the detailed search syntax.
- •[String!]!required
List of tags to be added.
Arguments
- •
The asynchronous job for adding tags to the draft orders.
- Anchor to userErrorsuser•
Errors [UserError!]!non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Deletes multiple draft orders.
- •
The IDs of the draft orders to delete.
- Anchor to savedSearchIdsaved•
Search Id The ID of the draft order saved search for filtering draft orders on.
- Anchor to searchsearch•
The conditions for filtering draft orders on. See the detailed search syntax.
Arguments
- •
The asynchronous job for deleting the draft orders.
- Anchor to userErrorsuser•
Errors [UserError!]!non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Removes tags from multiple draft orders.
- •
The IDs of the draft orders to remove tags from.
- Anchor to savedSearchIdsaved•
Search Id The ID of the draft order saved search for filtering draft orders on.
- Anchor to searchsearch•
The conditions for filtering draft orders on. See the detailed search syntax.
- •[String!]!required
List of tags to be removed.
Arguments
- •
The asynchronous job for removing tags from the draft orders.
- Anchor to userErrorsuser•
Errors [UserError!]!non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Deletes all external marketing activities. Deletion is performed by a background job, as it may take a bit of time to complete if a large number of activities are to be deleted. Attempting to create or modify external activities before the job has completed will result in the create/update/upsert mutation returning an error.
- •
The asynchronous job that performs the deletion. The status of the job may be used to determine when it's safe again to create new activities.
- Anchor to userErrorsuser•
Errors [MarketingActivity User Error!]!non-null The list of errors that occurred from executing the mutation.
- •mutation
Updates a metafield definition.
- Anchor to definitiondefinition•Metafield
Definition Update Input!required The input fields for the metafield definition update.
Arguments
- Anchor to updatedDefinitionupdated•
Definition The metafield definition that was updated.
- Anchor to userErrorsuser•
Errors The list of errors that occurred from executing the mutation.
- Anchor to validationJobvalidation•
Job The asynchronous job updating the metafield definition's validation_status.
Fields
- •mutation
Asynchronously delete metaobjects and their associated metafields in bulk.
- Anchor to wherewhere•
Specifies the condition by which metaobjects are deleted. Exactly one field of input is required.
Arguments
- •
The asynchronous job that deletes the metaobjects.
- Anchor to userErrorsuser•
Errors [MetaobjectUser Error!]!non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Cancels an order.
- Anchor to notifyCustomernotify•
Customer BooleanDefault:false Whether to send a notification to the customer about the order cancellation.
- Anchor to orderIdorder•
Id ID!required The ID of the order to be canceled.
- Anchor to reasonreason•Order
Cancel Reason!required The reason for canceling the order.
- Anchor to refundrefund•Boolean!required
Indicates whether to refund the amount paid by the customer. Authorized payments will be voided regardless of this setting.
- Anchor to restockrestock•Boolean!required
Whether to restock the inventory committed to the order. For unpaid orders fulfilled from locations that have been deactivated, inventory will not be restocked to the deactivated locations even if this argument is set to true.
- Anchor to staffNotestaff•
Note StringDefault:null A staff-facing note about the order cancellation. This is not visible to the customer.
Arguments
- •
The job that asynchronously cancels the order.
- Anchor to orderCancelUserErrorsorder•
Cancel User Errors [OrderCancel User Error!]!non-null The list of errors that occurred from executing the mutation.
- Anchor to userErrorsuser•
Errors [UserError!]!non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Creates a payment for an order by mandate.
- Anchor to amountamount•
The payment amount to collect.
- Anchor to autoCaptureauto•
Capture BooleanDefault:true Whether the payment should be authorized or captured. If
false
, then the authorization of the payment is triggered.- •ID!required
The ID of the order to collect the balance for.
- Anchor to idempotencyKeyidempotency•
Key String!required A unique key to identify the payment request.
- Anchor to mandateIdmandate•
Id ID!required The mandate ID used for payment.
- Anchor to paymentScheduleIdpayment•
Schedule Id The ID of the payment schedule to collect the balance for.
Arguments
- •
The async job used for charging the payment.
- Anchor to paymentReferenceIdpayment•
Reference Id The Unique ID for the created payment.
- Anchor to userErrorsuser•
Errors The list of errors that occurred from executing the mutation.
Fields
- •mutation
Duplicates a product.
If you need to duplicate a large product, such as one that has many variants that are active at several locations, 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
.
Metafield values are not duplicated if the unique values capability is enabled.
- Anchor to includeImagesinclude•
Images BooleanDefault:false Specifies whether or not to duplicate images.
- Anchor to includeTranslationsinclude•
Translations BooleanDefault:false Specifies whether or not to duplicate translations.
- Anchor to newStatusnew•
Status The new status of the product. If no value is provided the status will be inherited from the original product.
- Anchor to newTitlenew•
Title String!required The new title of the product.
- Anchor to productIdproduct•
Id ID!required The ID of the product to be duplicated.
- Anchor to synchronoussynchronous•BooleanDefault:true
Specifies whether or not to run the mutation synchronously.
Arguments
- Anchor to imageJobimage•
Job The asynchronous job that duplicates the product images.
- Anchor to newProductnew•
Product The duplicated product.
- Anchor to productDuplicateOperationproduct•
Duplicate Operation The product duplicate operation, returned when run in asynchronous mode.
- Anchor to shopshop•Shop!non-null
The user's shop.
- Anchor to userErrorsuser•
Errors [UserError!]!non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Asynchronously reorders the media attached to a product.
- •ID!required
The ID of the product on which to reorder medias.
- Anchor to movesmoves•[Move
Input!]!required A list of moves to perform which will be evaluated in order.
Arguments
- •
The asynchronous job which reorders the media.
- Anchor to mediaUserErrorsmedia•
User Errors [MediaUser Error!]!non-null The list of errors that occurred from executing the mutation.
- Anchor to userErrorsuser•
Errors [UserError!]!non-null The list of errors that occurred from executing the mutation.
Fields
- •
- •mutation
Asynchronously queries and charges all subscription billing cycles whose billingAttemptExpectedDate values fall within a specified date range and meet additional filtering criteria. The results of this action can be retrieved using the subscriptionBillingCycleBulkResults query.
- Anchor to billingAttemptExpectedDateRangebilling•
Attempt Expected Date Range Specifies the date range within which the
values of the billing cycles should fall.
- Anchor to filtersfilters•
Criteria to filter the billing cycles on which the action is executed.
- Anchor to inventoryPolicyinventory•
Policy SubscriptionBilling Attempt Inventory PolicyDefault:PRODUCT_VARIANT_INVENTORY_POLICY The behaviour to use when updating inventory.
Arguments
- •
The asynchronous job that performs the action on the targeted billing cycles.
- Anchor to userErrorsuser•
Errors The list of errors that occurred from executing the mutation.
Fields
- •mutation
Asynchronously queries all subscription billing cycles whose billingAttemptExpectedDate values fall within a specified date range and meet additional filtering criteria. The results of this action can be retrieved using the subscriptionBillingCycleBulkResults query.
- Anchor to billingAttemptExpectedDateRangebilling•
Attempt Expected Date Range Specifies the date range within which the
values of the billing cycles should fall.
- Anchor to filtersfilters•
Criteria to filter the billing cycles on which the action is executed.
Arguments
- •
The asynchronous job that performs the action on the targeted billing cycles.
- Anchor to userErrorsuser•
Errors The list of errors that occurred from executing the mutation.
Fields
- •mutation
Create or update theme files.
- Anchor to filesfiles•
The files to update.
- Anchor to themeIdtheme•
Id ID!required The theme to update.
Arguments
- •
The theme files write job triggered by the mutation.
- Anchor to upsertedThemeFilesupserted•
Theme Files The resulting theme files.
- Anchor to userErrorsuser•
Errors The list of errors that occurred from executing the mutation.
Fields
- •mutation
Asynchronously delete URL redirects in bulk.
- •
The asynchronous job removing the redirects.
- Anchor to userErrorsuser•
Errors [UserError!]!non-null The list of errors that occurred from executing the mutation.
- •mutation
Asynchronously delete URLRedirect objects in bulk by IDs. Learn more about URLRedirect objects.
- •[ID!]!required
Arguments
- •
The asynchronous job removing the redirects.
- Anchor to userErrorsuser•
Errors The list of errors that occurred from executing the mutation.
Fields
- •
- •mutation
Asynchronously delete redirects in bulk.
- Anchor to savedSearchIdsaved•
Search Id ID!required The ID of the URL redirect saved search for filtering.
Arguments
- •
The asynchronous job removing the redirects.
- Anchor to userErrorsuser•
Errors The list of errors that occurred from executing the mutation.
Fields
- •mutation
Asynchronously delete redirects in bulk.
- Anchor to searchsearch•String!required
Search query for filtering redirects on (both Redirect from and Redirect to fields).
Arguments
- •
The asynchronous job removing the redirects.
- Anchor to userErrorsuser•
Errors The list of errors that occurred from executing the mutation.
Fields
- •mutation
- •ID!required
Arguments
- •
The asynchronous job importing the redirects.
- Anchor to userErrorsuser•
Errors [UrlRedirect Import User Error!]!non-null The list of errors that occurred from executing the mutation.
Fields
- •