Anchor to section titled 'undefined'

fulfillmentOrderSubmitFulfillmentRequest
mutation

Requires write_third_party_fulfillment_orders access scope. Also: The user must have fulfill_and_ship_orders permission.

Sends a fulfillment request to the fulfillment service of a fulfillment order.


The fulfillment order line items to be requested for fulfillment. If left blank, all line items of the fulfillment order are requested for fulfillment.

Anchor to id
id
required

The ID of the fulfillment order associated with fulfillment request.

An optional message for the fulfillment request.

Whether the customer should be notified when fulfillments are created for this fulfillment order.


Was this section helpful?
Anchor to section titled 'FulfillmentOrderSubmitFulfillmentRequestPayload returns'

FulfillmentOrderSubmitFulfillmentRequestPayload returns


The original fulfillment order intended to request fulfillment for.

The fulfillment order that was submitted to the fulfillment service. This will be the same as the original fulfillment order field. The exception to this is partial fulfillment requests or fulfillment request for cancelled or incomplete fulfillment orders.

This field will only be present for partial fulfillment requests. This will represent the new fulfillment order with the remaining line items not submitted to the fulfillment service.

The list of errors that occurred from executing the mutation.


Was this section helpful?

Examples

Hide code
DescriptionCopy
mutation fulfillmentOrderSubmitFulfillmentRequest($id: ID!, $fulfillmentOrderLineItems: [FulfillmentOrderLineItemInput!]) {
  fulfillmentOrderSubmitFulfillmentRequest(id: $id, fulfillmentOrderLineItems: $fulfillmentOrderLineItems) {
    originalFulfillmentOrder {
      id
      status
      requestStatus
    }
    submittedFulfillmentOrder {
      id
      status
      requestStatus
    }
    unsubmittedFulfillmentOrder {
      id
      status
      requestStatus
    }
    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 fulfillmentOrderSubmitFulfillmentRequest($id: ID!, $fulfillmentOrderLineItems: [FulfillmentOrderLineItemInput!]) { fulfillmentOrderSubmitFulfillmentRequest(id: $id, fulfillmentOrderLineItems: $fulfillmentOrderLineItems) { originalFulfillmentOrder { id status requestStatus } submittedFulfillmentOrder { id status requestStatus } unsubmittedFulfillmentOrder { id status requestStatus } userErrors { field message } } }",
 "variables": {
    "id": "gid://shopify/FulfillmentOrder/1046000794",
    "fulfillmentOrderLineItems": [
      {
        "id": "gid://shopify/FulfillmentOrderLineItem/1058737500",
        "quantity": 1
      }
    ]
  }
}'
const { admin } = await authenticate.admin(request);

const response = await admin.graphql(
  `#graphql
  mutation fulfillmentOrderSubmitFulfillmentRequest($id: ID!, $fulfillmentOrderLineItems: [FulfillmentOrderLineItemInput!]) {
    fulfillmentOrderSubmitFulfillmentRequest(id: $id, fulfillmentOrderLineItems: $fulfillmentOrderLineItems) {
      originalFulfillmentOrder {
        id
        status
        requestStatus
      }
      submittedFulfillmentOrder {
        id
        status
        requestStatus
      }
      unsubmittedFulfillmentOrder {
        id
        status
        requestStatus
      }
      userErrors {
        field
        message
      }
    }
  }`,
  {
    variables: {
      "id": "gid://shopify/FulfillmentOrder/1046000794",
      "fulfillmentOrderLineItems": [
        {
          "id": "gid://shopify/FulfillmentOrderLineItem/1058737500",
          "quantity": 1
        }
      ]
    },
  },
);

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 fulfillmentOrderSubmitFulfillmentRequest($id: ID!, $fulfillmentOrderLineItems: [FulfillmentOrderLineItemInput!]) {
    fulfillmentOrderSubmitFulfillmentRequest(id: $id, fulfillmentOrderLineItems: $fulfillmentOrderLineItems) {
      originalFulfillmentOrder {
        id
        status
        requestStatus
      }
      submittedFulfillmentOrder {
        id
        status
        requestStatus
      }
      unsubmittedFulfillmentOrder {
        id
        status
        requestStatus
      }
      userErrors {
        field
        message
      }
    }
  }
QUERY

variables = {
  "id": "gid://shopify/FulfillmentOrder/1046000794",
  "fulfillmentOrderLineItems": [{"id"=>"gid://shopify/FulfillmentOrderLineItem/1058737500", "quantity"=>1}]
}

response = client.query(query: query, variables: variables)
const client = new shopify.clients.Graphql({session});
const data = await client.query({
  data: {
    "query": `mutation fulfillmentOrderSubmitFulfillmentRequest($id: ID!, $fulfillmentOrderLineItems: [FulfillmentOrderLineItemInput!]) {
      fulfillmentOrderSubmitFulfillmentRequest(id: $id, fulfillmentOrderLineItems: $fulfillmentOrderLineItems) {
        originalFulfillmentOrder {
          id
          status
          requestStatus
        }
        submittedFulfillmentOrder {
          id
          status
          requestStatus
        }
        unsubmittedFulfillmentOrder {
          id
          status
          requestStatus
        }
        userErrors {
          field
          message
        }
      }
    }`,
    "variables": {
      "id": "gid://shopify/FulfillmentOrder/1046000794",
      "fulfillmentOrderLineItems": [
        {
          "id": "gid://shopify/FulfillmentOrderLineItem/1058737500",
          "quantity": 1
        }
      ]
    },
  },
});
use Shopify\Clients\Graphql;

$client = new Graphql("your-development-store.myshopify.com", $accessToken);
$query = <<<QUERY
  mutation fulfillmentOrderSubmitFulfillmentRequest($id: ID!, $fulfillmentOrderLineItems: [FulfillmentOrderLineItemInput!]) {
    fulfillmentOrderSubmitFulfillmentRequest(id: $id, fulfillmentOrderLineItems: $fulfillmentOrderLineItems) {
      originalFulfillmentOrder {
        id
        status
        requestStatus
      }
      submittedFulfillmentOrder {
        id
        status
        requestStatus
      }
      unsubmittedFulfillmentOrder {
        id
        status
        requestStatus
      }
      userErrors {
        field
        message
      }
    }
  }
QUERY;

$variables = [
  "id" => "gid://shopify/FulfillmentOrder/1046000794",
  "fulfillmentOrderLineItems" => [{"id"=>"gid://shopify/FulfillmentOrderLineItem/1058737500", "quantity"=>1}],
];

$response = $client->query(["query" => $query, "variables" => $variables]);
Hide code
Input variables
Copy
{
  "id": "gid://shopify/FulfillmentOrder/1046000794",
  "fulfillmentOrderLineItems": [
    {
      "id": "gid://shopify/FulfillmentOrderLineItem/1058737500",
      "quantity": 1
    }
  ]
}
Hide code
Response
JSON
{
  "fulfillmentOrderSubmitFulfillmentRequest": {
    "originalFulfillmentOrder": {
      "id": "gid://shopify/FulfillmentOrder/1046000794",
      "status": "OPEN",
      "requestStatus": "SUBMITTED"
    },
    "submittedFulfillmentOrder": {
      "id": "gid://shopify/FulfillmentOrder/1046000794",
      "status": "OPEN",
      "requestStatus": "SUBMITTED"
    },
    "unsubmittedFulfillmentOrder": {
      "id": "gid://shopify/FulfillmentOrder/1046000795",
      "status": "OPEN",
      "requestStatus": "UNSUBMITTED"
    },
    "userErrors": []
  }
}