--- title: currentBulkOperation - GraphQL Admin description: >- Returns the current app's most recent [`BulkOperation`](https://shopify.dev/docs/api/admin-graphql/latest/objects/BulkOperation). Apps can run one bulk query and one bulk mutation operation at a time per shop. The operation type parameter determines whether to retrieve the most recent query or mutation bulk operation. Use this query to check the operation's status, track its progress, and retrieve the result URL when it completes. api_version: 2025-10 api_name: admin type: query api_type: graphql source_url: html: >- https://shopify.dev/docs/api/admin-graphql/latest/queries/currentBulkOperation md: >- https://shopify.dev/docs/api/admin-graphql/latest/queries/currentBulkOperation.md --- # current​Bulk​Operation query Deprecated. Use [bulkOperations](https://shopify.dev/docs/api/admin-graphql/latest/queries/bulkOperations) with status filter instead. Returns the current app's most recent [`BulkOperation`](https://shopify.dev/docs/api/admin-graphql/latest/objects/BulkOperation). Apps can run one bulk query and one bulk mutation operation at a time per shop. The operation type parameter determines whether to retrieve the most recent query or mutation bulk operation. Use this query to check the operation's status, track its progress, and retrieve the result URL when it completes. ## Arguments * type [Bulk​Operation​Type](https://shopify.dev/docs/api/admin-graphql/latest/enums/BulkOperationType) Default:QUERY The current bulk operation's type. *** ## Possible returns * Bulk​Operation [Bulk​Operation](https://shopify.dev/docs/api/admin-graphql/latest/objects/BulkOperation) An asynchronous operation that exports large datasets or imports data in bulk. Create bulk operations using [bulkOperationRunQuery](https://shopify.dev/docs/api/admin-graphql/latest/mutations/bulkOperationRunQuery) to export data or [bulkOperationRunMutation](https://shopify.dev/docs/api/admin-graphql/latest/mutations/bulkOperationRunMutation) to import data. After creation, check the [`status`](https://shopify.dev/docs/api/admin-graphql/latest/objects/BulkOperation#field-BulkOperation.fields.status) field to track progress. When completed, the [`url`](https://shopify.dev/docs/api/admin-graphql/latest/objects/BulkOperation#field-BulkOperation.fields.url) field contains a link to download results in [JSONL](http://jsonlines.org/) format. The [`objectCount`](https://shopify.dev/docs/api/admin-graphql/latest/objects/BulkOperation#field-BulkOperation.fields.objectCount) field shows the running total of processed objects, while [`rootObjectCount`](https://shopify.dev/docs/api/admin-graphql/latest/objects/BulkOperation#field-BulkOperation.fields.rootObjectCount) tracks only root-level objects in nested queries. If an operation fails but retrieves partial data, then the [`partialDataUrl`](https://shopify.dev/docs/api/admin-graphql/latest/objects/BulkOperation#field-BulkOperation.fields.partialDataUrl) field provides access to incomplete results. *** Note `url` and `partialDataUrl` values expire after seven days. *** Learn more about [exporting](https://shopify.dev/docs/api/usage/bulk-operations/queries) and [importing](https://shopify.dev/docs/api/usage/bulk-operations/imports) data in bulk. *** ## Examples * ### Get the currentBulkOperation for a query #### Description The following query retrieves the currentBulkOperation for a query. #### Query ```graphql query { currentBulkOperation(type: QUERY) { id type status } } ``` #### cURL ```bash curl -X POST \ https://your-development-store.myshopify.com/admin/api/2025-10/graphql.json \ -H 'Content-Type: application/json' \ -H 'X-Shopify-Access-Token: {access_token}' \ -d '{ "query": "query { currentBulkOperation(type: QUERY) { id type status } }" }' ``` #### React Router ```javascript import { authenticate } from "../shopify.server"; export const loader = async ({request}) => { const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql query { currentBulkOperation(type: QUERY) { id type status } }`, ); const json = await response.json(); return json.data; } ``` #### Ruby ```ruby session = ShopifyAPI::Auth::Session.new( shop: "your-development-store.myshopify.com", access_token: access_token ) client = ShopifyAPI::Clients::Graphql::Admin.new( session: session ) query = <<~QUERY query { currentBulkOperation(type: QUERY) { id type status } } QUERY response = client.query(query: query) ``` #### Node.js ```javascript const client = new shopify.clients.Graphql({session}); const data = await client.query({ data: `query { currentBulkOperation(type: QUERY) { id type status } }`, }); ``` #### Response ```json { "currentBulkOperation": { "id": "gid://shopify/BulkOperation/726270413", "type": "QUERY", "status": "CREATED" } } ``` ## Get the currentBulkOperation for a query [Open in GraphiQL](http://localhost:3457/graphiql?query=query%20%7B%0A%20%20currentBulkOperation\(type%3A%20QUERY\)%20%7B%0A%20%20%20%20id%0A%20%20%20%20type%0A%20%20%20%20status%0A%20%20%7D%0A%7D) ##### GQL ```graphql query { currentBulkOperation(type: QUERY) { id type status } } ``` ##### cURL ```bash curl -X POST \ https://your-development-store.myshopify.com/admin/api/2025-10/graphql.json \ -H 'Content-Type: application/json' \ -H 'X-Shopify-Access-Token: {access_token}' \ -d '{ "query": "query { currentBulkOperation(type: QUERY) { id type status } }" }' ``` ##### React Router ```javascript import { authenticate } from "../shopify.server"; export const loader = async ({request}) => { const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql query { currentBulkOperation(type: QUERY) { id type status } }`, ); const json = await response.json(); return json.data; } ``` ##### Node.js ```javascript const client = new shopify.clients.Graphql({session}); const data = await client.query({ data: `query { currentBulkOperation(type: QUERY) { id type status } }`, }); ``` ##### Ruby ```ruby session = ShopifyAPI::Auth::Session.new( shop: "your-development-store.myshopify.com", access_token: access_token ) client = ShopifyAPI::Clients::Graphql::Admin.new( session: session ) query = <<~QUERY query { currentBulkOperation(type: QUERY) { id type status } } QUERY response = client.query(query: query) ``` ## Response JSON ```json { "currentBulkOperation": { "id": "gid://shopify/BulkOperation/726270413", "type": "QUERY", "status": "CREATED" } } ```