Bulk Operation
An asynchronous operation that exports large datasets or imports data in bulk. Create bulk operations using bulkOperationRunQuery to export data or bulkOperationRunMutation to import data.
After creation, check the status field to track progress. When completed, the url field contains a link to download results in JSONL format. The field shows the running total of processed objects, while tracks only root-level objects in nested queries.
If an operation fails but retrieves partial data, then the field provides access to incomplete results.
url and values expire after seven days.
Anchor to FieldsFields
- Anchor to completedAtcompleted•Date
At Time When the bulk operation was successfully completed.
- Anchor to createdAtcreated•Date
At Time! non-null When the bulk operation was created.
- Anchor to errorCodeerror•Bulk
Code Operation Error Code Error code for failed operations.
- Anchor to fileSizefile•Unsigned
Size Int64 File size in bytes of the file in the
urlfield.- •ID!non-null
A globally-unique ID.
- Anchor to objectCountobject•Unsigned
Count Int64! non-null A running count of all the objects processed. For example, when fetching all the products and their variants, this field counts both products and variants. This field can be used to track operation progress.
- Anchor to partialDataUrlpartial•URL
Data Url The URL that points to the partial or incomplete response data (in JSONL format) that was returned by a failed operation. The URL expires 7 days after the operation fails. Returns
nullwhen there's no data available.- Anchor to queryquery•String!non-null
GraphQL query document specified in
.- Anchor to rootObjectCountroot•Unsigned
Object Count Int64! non-null A running count of all the objects that are processed at the root of the query. For example, when fetching all the products and their variants, this field only counts products. This field can be used to track operation progress.
- Anchor to statusstatus•Bulk
Operation Status! non-null Status of the bulk operation.
- Anchor to typetype•Bulk
Operation Type! non-null The bulk operation's type.
Anchor to MutationsMutations
- •mutation
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.
- •mutation
Creates and runs a bulk operation to import data asynchronously. This mutation executes a specified GraphQL mutation multiple times using input data from a JSONL file that you've uploaded to Shopify.
The operation processes each line in your JSONL file as a separate mutation execution. The operation delivers results in a JSONL file when it completes. You can run one bulk mutation operation at a time per shop, though a
operation can run simultaneously.Learn more about bulk importing data.
- •mutation
Creates and runs a bulk operation to fetch data asynchronously. The operation processes your GraphQL query in the background and returns results in a JSONL file when complete.
Apps can run one bulk query operation and one bulk mutation operation at a time per shop. The query must include at least one connection field and supports up to five connections with a maximum nesting depth of two levels.
NoteResults remain available for seven days after completion.
For more information, see the bulk operations guide.