fulfillment Order Splitmutation
mutation
2025-01release candidate
Requires
write_merchant_managed_fulfillment_orders
access scope or write_third_party_fulfillment_orders
access scope. Also: The user must have fulfill_and_ship_orders permission.
Splits a fulfillment order or orders based on line item inputs and quantities.
Arguments
The fulfillment orders, line items and quantities to be split into new fulfillment orders.
Was this section helpful?
FulfillmentOrderSplitPayload returns
The result of the fulfillment order splits.
The list of errors that occurred from executing the mutation.
Was this section helpful?
Examples
Hide code
DescriptionCopy
mutation fulfillmentOrderSplit($fulfillmentOrderSplits: [FulfillmentOrderSplitInput!]!) { fulfillmentOrderSplit(fulfillmentOrderSplits: $fulfillmentOrderSplits) { fulfillmentOrderSplits { fulfillmentOrder { id lineItems(first: 10) { edges { cursor node { id totalQuantity } } } } remainingFulfillmentOrder { id lineItems(first: 10) { edges { cursor node { id totalQuantity } } } } } userErrors { field message } } }
curl -X POST \ https://your-development-store.myshopify.com/admin/api/2025-01/graphql.json \ -H 'Content-Type: application/json' \ -H 'X-Shopify-Access-Token: {access_token}' \ -d '{ "query": "mutation fulfillmentOrderSplit($fulfillmentOrderSplits: [FulfillmentOrderSplitInput!]!) { fulfillmentOrderSplit(fulfillmentOrderSplits: $fulfillmentOrderSplits) { fulfillmentOrderSplits { fulfillmentOrder { id lineItems(first: 10) { edges { cursor node { id totalQuantity } } } } remainingFulfillmentOrder { id lineItems(first: 10) { edges { cursor node { id totalQuantity } } } } } userErrors { field message } } }", "variables": { "fulfillmentOrderSplits": [ { "fulfillmentOrderId": "gid://shopify/FulfillmentOrder/1046000796", "fulfillmentOrderLineItems": [ { "id": "gid://shopify/FulfillmentOrderLineItem/1058737504", "quantity": 2 } ] } ] } }'
const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql mutation fulfillmentOrderSplit($fulfillmentOrderSplits: [FulfillmentOrderSplitInput!]!) { fulfillmentOrderSplit(fulfillmentOrderSplits: $fulfillmentOrderSplits) { fulfillmentOrderSplits { fulfillmentOrder { id lineItems(first: 10) { edges { cursor node { id totalQuantity } } } } remainingFulfillmentOrder { id lineItems(first: 10) { edges { cursor node { id totalQuantity } } } } } userErrors { field message } } }`, { variables: { "fulfillmentOrderSplits": [ { "fulfillmentOrderId": "gid://shopify/FulfillmentOrder/1046000796", "fulfillmentOrderLineItems": [ { "id": "gid://shopify/FulfillmentOrderLineItem/1058737504", "quantity": 2 } ] } ] }, }, ); const data = await response.json();
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 mutation fulfillmentOrderSplit($fulfillmentOrderSplits: [FulfillmentOrderSplitInput!]!) { fulfillmentOrderSplit(fulfillmentOrderSplits: $fulfillmentOrderSplits) { fulfillmentOrderSplits { fulfillmentOrder { id lineItems(first: 10) { edges { cursor node { id totalQuantity } } } } remainingFulfillmentOrder { id lineItems(first: 10) { edges { cursor node { id totalQuantity } } } } } userErrors { field message } } } QUERY variables = { "fulfillmentOrderSplits": [{"fulfillmentOrderId"=>"gid://shopify/FulfillmentOrder/1046000796", "fulfillmentOrderLineItems"=>[{"id"=>"gid://shopify/FulfillmentOrderLineItem/1058737504", "quantity"=>2}]}] } response = client.query(query: query, variables: variables)
const client = new shopify.clients.Graphql({session}); const data = await client.query({ data: { "query": `mutation fulfillmentOrderSplit($fulfillmentOrderSplits: [FulfillmentOrderSplitInput!]!) { fulfillmentOrderSplit(fulfillmentOrderSplits: $fulfillmentOrderSplits) { fulfillmentOrderSplits { fulfillmentOrder { id lineItems(first: 10) { edges { cursor node { id totalQuantity } } } } remainingFulfillmentOrder { id lineItems(first: 10) { edges { cursor node { id totalQuantity } } } } } userErrors { field message } } }`, "variables": { "fulfillmentOrderSplits": [ { "fulfillmentOrderId": "gid://shopify/FulfillmentOrder/1046000796", "fulfillmentOrderLineItems": [ { "id": "gid://shopify/FulfillmentOrderLineItem/1058737504", "quantity": 2 } ] } ] }, }, });
use Shopify\Clients\Graphql; $client = new Graphql("your-development-store.myshopify.com", $accessToken); $query = <<<QUERY mutation fulfillmentOrderSplit($fulfillmentOrderSplits: [FulfillmentOrderSplitInput!]!) { fulfillmentOrderSplit(fulfillmentOrderSplits: $fulfillmentOrderSplits) { fulfillmentOrderSplits { fulfillmentOrder { id lineItems(first: 10) { edges { cursor node { id totalQuantity } } } } remainingFulfillmentOrder { id lineItems(first: 10) { edges { cursor node { id totalQuantity } } } } } userErrors { field message } } } QUERY; $variables = [ "fulfillmentOrderSplits" => [{"fulfillmentOrderId"=>"gid://shopify/FulfillmentOrder/1046000796", "fulfillmentOrderLineItems"=>[{"id"=>"gid://shopify/FulfillmentOrderLineItem/1058737504", "quantity"=>2}]}], ]; $response = $client->query(["query" => $query, "variables" => $variables]);
Hide code
Input variables
Copy
{ "fulfillmentOrderSplits": [ { "fulfillmentOrderId": "gid://shopify/FulfillmentOrder/1046000796", "fulfillmentOrderLineItems": [ { "id": "gid://shopify/FulfillmentOrderLineItem/1058737504", "quantity": 2 } ] } ] }
Hide code
Response
JSON
{ "fulfillmentOrderSplit": { "fulfillmentOrderSplits": [ { "fulfillmentOrder": { "id": "gid://shopify/FulfillmentOrder/1046000796", "lineItems": { "edges": [ { "cursor": "eyJsYXN0X2lkIjoxMDU4NzM3NTAzLCJsYXN0X3ZhbHVlIjoxMDU4NzM3NTAzfQ==", "node": { "id": "gid://shopify/FulfillmentOrderLineItem/1058737503", "totalQuantity": 1 } } ] } }, "remainingFulfillmentOrder": { "id": "gid://shopify/FulfillmentOrder/1046000797", "lineItems": { "edges": [ { "cursor": "eyJsYXN0X2lkIjoxMDU4NzM3NTA0LCJsYXN0X3ZhbHVlIjoxMDU4NzM3NTA0fQ==", "node": { "id": "gid://shopify/FulfillmentOrderLineItem/1058737504", "totalQuantity": 2 } } ] } } } ], "userErrors": [] } }