Admin GraphQL API / 2026-07

On FulfillmentOrderLineItem,
shippingLine field added

You can now directly retrieve "which shipping method is used" for each line item of a fulfillment order. Even in complex cases merged across delivery profiles, each line can be mapped to the correct carrier service.

On this page
  1. What was actually added (in 30 seconds)
  2. Why it matters: the delivery profile merge problem
  3. Available properties
  4. Query example (GraphQL)
  5. 5 key points for developers
  6. 3 practical use cases
  7. One-line summary for your pitch

1What was actually added

Starting with Admin GraphQL API 2026-07,FulfillmentOrderLineItem.shippingLine the field becomes available.
For a fulfillment order, "per line item," you can retrieve the associated ShippingLine(shipping method).
?

Before: only FO-level deliveryMethod

You could only get the fulfillment order's "shipping method," so when a different shipping service was specified per line, the original was lost.

New: shippingLine per line item

Each line item carries a shippingLine field, so each line's original shipping service (code / title / source) can be retrieved individually.

2Why it matters: the delivery profile merge problem

Before (per-line shipping service is lost) Product A (Profile X) Standard shipping Product B (Profile Y) Express shipping merge Merged FulfillmentOrder deliveryMethod = ??? Per-line differences are lost Which carrier should it go to? After (shippingLine is preserved per line) Line A.shippingLine = Standard Line B.shippingLine = Express Line C.shippingLine = Pickup → Resolved at the line level
Delivery ProfileWhat it is: a mechanism for separating "which shipping methods/rates to offer" per product. It's used to sell groups of products with different characteristics under separate shipping rules—frozen vs. ambient, light vs. heavy, pickup items vs. shipped items, and so on.
When these are mixed into the same order and merged, the deliveryMethod for the whole FO becomes a single representative value, and the original per-line information could no longer be traced.

3Properties you can retrieve

code

shippingLine.code

The internal code of the shipping service. Can serve as the primary key when mapping to the carrier's service codes.

title

shippingLine.title

The display name of the delivery method. A human-readable label shown on picking slips, shipping labels, and warehouse operations screens.

source

shippingLine.source

The origin of this delivery method (carrier, app, manual entry, etc.). Can be used to determine which rate provider it came from and branch on it.

Note: The three properties above are the ones explicitly stated in the official article. Other fields ShippingLine conform to the type reference (not enumerated in the article).

4Example query (GraphQL)

# Admin GraphQL API 2026-07 query getFulfillmentOrder($id: ID!) { fulfillmentOrder(id: $id) { id lineItems(first: 50) { nodes { id shippingLine { # ← new field code title source } } } } }
Because the article includes the phrase "if available,"shippingLine can be null, so implement on that assumption. Keep logic that looks at the FO-wide deliveryMethod as a fallback.

5Five points engineers should keep in mind

2026-07

1. Available in API version 2026-07

To use it in an existing app, you need to raise the Admin GraphQL version to 2026-07 or later. On older versions, the shippingLine field itself won't resolve.

2. Resolvable at the line level

Instead of the deliveryMethod for the entire FulfillmentOrder, you can directly get the shipping service tied to each line item, letting you write fulfillment logic at one level finer granularity.

P1 P2

3. Effective for orders with mixed delivery profiles

The heart of this feature is being able to restore the original per-line shipping service in cases where FOs are merged across delivery profiles. The more warehouses and shipping conditions a store has, the greater the benefit.

null?

4. "if available" = nullable

There's no guarantee a value is always present. A null check is mandatory. As a fallback when it's null, FulfillmentOrder.deliveryMethod , keeping a branch that references it is the safer design.

code title source

5. A candidate primary key for carrier service mapping

The article cites code/title/source for "accurate mapping to carrier services." If your OMS maintains a shipping service table,code as the primary key,title for display,source for routing decisions is the natural division of labor.

6Three use cases for your operations

USE CASE 1

In OMS/3PL integration, "route each line to the correct carrier service"

Challenge
In the fulfillment data passed to your OMS or 3PL, each line needs a different shipping service (Standard, Express, Pickup, etc.), but you could only pick up the deliveryMethod at the FO level, requiring manual correction.
Approach
FulfillmentOrderLineItem.shippingLine.code is retrieved per line, mapped to the 3PL's shipping service master, and passed to the API.
Impact
Fewer misdeliveries, freight charge discrepancies, and rework. Warehouse operators can produce accurate per-line labels.
Technical note
code = primary key,title = warehouse picking slip,source = A clean three-way split based on rate-provider determination.
Frozen Profile X Room temperature Profile Y
USE CASE 2

Shipping automation for stores with multiple delivery profiles (frozen/room-temperature, large/small items)

Challenge
At stores that operate with separate delivery profiles—frozen vs. room-temperature, large furniture vs. small accessories, etc.—the per-line shipping service of merged orders couldn't be tracked, so splitting shipments was a manual task.
Approach
On the fulfillment app side, take the shippingLine per line, group lines with the same shipping service, and generate split fulfillment orders.
Impact
Automatic routing like "a separate label for frozen shipments only" or "a separate warehouse for large-furniture shipments only" is achieved with nearly zero implementation.
Technical notes
Assume it's nullable. Always implement a branch where null lines fall back to the FO-level deliveryMethod.
Revenue by delivery method
USE CASE 3

Revenue analysis by delivery method × product category

Challenge
Line-level analysis broken down by delivery method—such as "what are customers who chose Express buying" or "which product categories skew toward Pickup"—wasn't possible.
Approach
At the FulfillmentOrderLineItem level, join the shippingLine.title with SKU/category and build an ETL that sends it to BI.
Impact
Delivery UX improvements (narrowing down Express items, identifying candidates for Pickup expansion, etc.) can now be discussed quantitatively.
Technical notes
Fetch the GraphQL lineItems subcollection in a single call. When integrating with BigQuery / Snowflake, using code as the normalization key makes downstream work easier.

7One-line summary for proposals

"For a fulfillment order, retrieving the shipping service (code/title/source) per line item is now possible."
Even for orders merged across delivery profiles, each line can be routed to the correct carrier.
An API extension that takes shipping-automation accuracy up a notch for OMS/3PL integration apps and stores running multiple delivery profiles."