> ## Documentation Index
> Fetch the complete documentation index at: https://developers.redo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# FulfillmentGroupFulfillmentOrder

> A sales channel's fulfillment order, or the part of one, that a fulfillment group ships.

**externalId** `String!` *required*

The fulfillment order's id in the sales channel.

**lineItems** `[\[FulfillmentOrderLineItem!\]!](/docs/api-reference/v3/reference/shipping/fulfillment-order-line-item)` *required*

This group's share of the fulfillment order's items.

**fields**

**billOfMaterials** `[\[FulfillmentOrderLineItemBillOfMaterials!\]!](/docs/api-reference/v3/reference/shipping/fulfillment-order-line-item-bill-of-materials)` *required*

How the item is built from components. Empty unless it is built from components.

**fields**

**builtByWorkOrder** `Boolean!` *required*

Whether a work order builds the finished product, so the finished product is picked instead of its components.

**components** `[\[FulfillmentOrderLineItemComponent!\]!](/docs/api-reference/v3/reference/shipping/fulfillment-order-line-item-component)` *required*

The components the line item is built from.

**expandedQuantity** `Int!` *required*

Units built from components. The rest of the line ship as the finished product.

**leftovers** `[\[FulfillmentOrderLineItemLeftover!\]!](/docs/api-reference/v3/reference/shipping/fulfillment-order-line-item-leftover)` *required*

Remainder pieces the build credits back to stock. Empty unless the build cuts to size.

**customAttributes** `[\[LineItemAttribute!\]!](/docs/api-reference/v3/reference/shipping/line-item-attribute)` *required*

Custom keys and values attached to the item.

**fields**

**key** `String!` *required*

The attribute's key.

**value** `String`

The attribute's value.

**id** `ID!` *required*

The line item's id on the fulfillment order, unique across the store.

**imageUrl** `String`

A URL to the item's image at order time.

**inventoryProduct** `[InventoryProduct](/docs/api-reference/v3/reference/inventory/inventory-product)`

What a fulfillment partner needs to identify and ship this item: identity only, no pricing. Readable by the store and the 3PL that ships the group. Null when it never matched a catalog product.

**fields**

**barcodes** `[String!]!` *required*

Barcodes associated with this product, for scanning.

**dimensions** `[Dimensions](/docs/api-reference/v3/reference/catalog/dimensions)`

The product's length, width, and height in a single shared unit, for box sizing.

**hsCode** `String`

The Harmonized System code used for customs.

**id** `ID!` *required*

The id of this product.

**image** `[ProductImage](/docs/api-reference/v3/reference/catalog/product-image)`

The first (default) image for this product, if any.

**Requires:** [`inventory_read`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-inventory_read)

**originCountry** `String`

The country of origin, as a country code, for customs.

**sku** `String`

The stock keeping unit identifying this product.

**title** `String!` *required*

The product's title.

**upc** `String`

The Universal Product Code for this product.

**weight** `[Weight](/docs/api-reference/v3/reference/catalog/weight)`

The product's weight, for shipping.

**product** `[Product](/docs/api-reference/v3/reference/catalog/product)`

The store's catalog product for this item, when it matched one. Null when it never matched, the product was deleted, or the caller can't read the store's products (e.g. a 3PL). Requires `products_read`.

**fields**

**attribute** `[Attribute](/docs/api-reference/v3/reference/catalog/attribute)`

Look up a single attribute on this product by its name, if set.

**Requires:** [`products_read`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-products_read)

**fields**

**Arguments**

**name** `String!` *required*

The machine name of the attribute to look up.

**attributes** `[\[Attribute!\]!](/docs/api-reference/v3/reference/catalog/attribute)` *required*

The merchant-defined attributes set on this product.

**barcodes** `[String!]!` *required*

Barcodes associated with this product.

**cost** `[Money](/docs/api-reference/v3/reference/common/money)`

The merchant's unit cost for the product.

**createdAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When the record was created.

**description** `String!` *required*

The product's long-form description.

**dimensions** `[Dimensions](/docs/api-reference/v3/reference/catalog/dimensions)`

The product's length, width, and height, expressed in a single shared unit.

**hsCode** `String`

The Harmonized System code used for customs.

**id** `ID!` *required*

The id of this product.

**image** `[ProductImage](/docs/api-reference/v3/reference/catalog/product-image)`

The first (default) image for this product, if any.

**Requires:** [`products_read`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-products_read)

**images** `[ProductImageConnection!](/docs/api-reference/v3/pagination)` *required*

A paginated list of the product's images.

**Requires:** [`products_read`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-products_read)

**fields**

**Arguments**

**after** `String`

Forward pagination cursor — returns items after it. Pass an `edges[].cursor` or `pageInfo.endCursor` from a previous page.

**before** `String`

Backward pagination cursor — returns items before it. Pass an `edges[].cursor` or `pageInfo.startCursor` from a previous page.

**first** `Int`

Forward pagination: returns the first N items (max 100, default 25). Use with `after`; mutually exclusive with `last`/`before`.

**last** `Int`

Backward pagination: returns the last N items (max 100, default 25). Use with `before`; mutually exclusive with `first`/`after`.

**importRestrictions** `[ProductImportRestrictionConnection!](/docs/api-reference/v3/pagination)` *required*

The import restrictions the product trips, one per destination country and rule. Only countries of enabled markets with restriction screening on are screened, and a restriction drops off 21 days after screening last found it.

**Requires:** [`markets_read`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-markets_read)

**fields**

**Arguments**

**after** `String`

Forward pagination cursor — returns import restrictions after it.

**before** `String`

Backward pagination cursor — returns import restrictions before it.

**first** `Int`

Forward pagination: returns the first N import restrictions (max 100, default 25). Use with `after`; mutually exclusive with `last`/`before`.

**last** `Int`

Backward pagination: returns the last N import restrictions (max 100, default 25). Use with `before`; mutually exclusive with `first`/`after`.

**inventoryItems** `[InventoryItemConnection!](/docs/api-reference/v3/pagination)` *required*

Traceable inventory units for this product.

**Requires:** [`inventory_read`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-inventory_read)

**fields**

**Arguments**

**after** `String`

**before** `String`

**first** `Int`

**last** `Int`

**inventoryLevel** `[LocationInventoryLevel](/docs/api-reference/v3/reference/inventory/location-inventory-level)`

This product's inventory level at a single location, if any.

**Requires:** [`inventory_read`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-inventory_read)

**fields**

**Arguments**

**locationId** `ID!` *required*

The id of the location to fetch the level at.

**inventoryLevels** `[LocationInventoryLevelConnection!](/docs/api-reference/v3/pagination)` *required*

Per-location inventory levels for this product.

**Requires:** [`inventory_read`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-inventory_read)

**fields**

**Arguments**

**after** `String`

Forward pagination cursor — returns items after it. Pass an `edges[].cursor` or `pageInfo.endCursor` from a previous page.

**before** `String`

Backward pagination cursor — returns items before it. Pass an `edges[].cursor` or `pageInfo.startCursor` from a previous page.

**first** `Int`

Forward pagination: returns the first N items (max 100, default 25). Use with `after`; mutually exclusive with `last`/`before`.

**last** `Int`

Backward pagination: returns the last N items (max 100, default 25). Use with `before`; mutually exclusive with `first`/`after`.

**marketPublishing** `[\[ProductMarketPublishing!\]](/docs/api-reference/v3/reference/markets/product-market-publishing)`

Publishing per destination country where the product trips an import restriction, or has a publish override. Only countries of enabled markets with restriction screening on are screened. Null when publishing can't be read.

**Requires:** [`markets_read`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-markets_read)

**options** `[\[ProductOptionValue!\]!](/docs/api-reference/v3/reference/catalog/product-option-value)` *required*

The variant's selected option values (e.g. Size: M, Color: Red), ordered by the family's option positions.

**originCountry** `String`

The country of origin, as a country code.

**physicalItem** `Boolean!` *required*

Whether the product is a physical, shippable item.

**price** `[Money](/docs/api-reference/v3/reference/common/money)`

The product's selling price.

**productFamily** `[ProductFamily](/docs/api-reference/v3/reference/catalog/product-family)`

The product family this product belongs to, if any.

**Requires:** [`products_read`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-products_read)

**sku** `String`

The stock keeping unit identifying this product.

**tags** `[String!]!` *required*

Free-form tags applied to the product.

**taxCode** `String`

The tax code used to classify the product for taxation.

**taxable** `Boolean!` *required*

Whether the product is subject to tax.

**title** `String!` *required*

The product's title.

**upc** `String`

The Universal Product Code for this product.

**updatedAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When the record was last updated.

**vendor** `String`

The vendor or manufacturer of the product.

**weight** `[Weight](/docs/api-reference/v3/reference/catalog/weight)`

The product's weight.

**quantity** `Int!` *required*

Units of this item in the fulfillment group.

**selectedOptions** `[\[LineItemOption!\]!](/docs/api-reference/v3/reference/shipping/line-item-option)` *required*

The product options the customer chose.

**fields**

**name** `String!` *required*

The option's name.

**value** `String!` *required*

The chosen value.

**sku** `String`

The SKU at order time.

**title** `String!` *required*

The product title at order time.

**totalDiscountedPrice** `[Money!](/docs/api-reference/v3/reference/common/money)` *required*

The price of every unit in the group after discounts.

**fields**

**amount** `[Decimal!](/docs/api-reference/v3/reference/common/decimal)` *required*

The exact amount as a decimal string (e.g. "19.99").

**currency** `String!` *required*

ISO 4217 currency code (e.g. USD).

**totalPrice** `[Money!](/docs/api-reference/v3/reference/common/money)` *required*

The price of every unit in the group before discounts.

**fields**

**amount** `[Decimal!](/docs/api-reference/v3/reference/common/decimal)` *required*

The exact amount as a decimal string (e.g. "19.99").

**currency** `String!` *required*

ISO 4217 currency code (e.g. USD).

**totalTax** `[Money](/docs/api-reference/v3/reference/common/money)`

The tax on every unit in the group, if known.

**fields**

**amount** `[Decimal!](/docs/api-reference/v3/reference/common/decimal)` *required*

The exact amount as a decimal string (e.g. "19.99").

**currency** `String!` *required*

ISO 4217 currency code (e.g. USD).

**unitDiscountedPrice** `[Money!](/docs/api-reference/v3/reference/common/money)` *required*

The price of one unit after discounts.

**fields**

**amount** `[Decimal!](/docs/api-reference/v3/reference/common/decimal)` *required*

The exact amount as a decimal string (e.g. "19.99").

**currency** `String!` *required*

ISO 4217 currency code (e.g. USD).

**unitPrice** `[Money!](/docs/api-reference/v3/reference/common/money)` *required*

The price of one unit before discounts.

**fields**

**amount** `[Decimal!](/docs/api-reference/v3/reference/common/decimal)` *required*

The exact amount as a decimal string (e.g. "19.99").

**currency** `String!` *required*

ISO 4217 currency code (e.g. USD).

**variantTitle** `String`

The variant title at order time.

**order** `[Order](/docs/api-reference/v3/reference/orders/order)`

The Redo order. Null when there is no Redo order, or the caller can't read it, e.g. a 3PL reading its client's group.

**Requires:** [`orders_read`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-orders_read)

**fields**

**createdAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When the order was placed (the ecommerce provider's creation time, falling back to Redo's ingestion time).

**currencyCode** `String`

The ISO 4217 currency code the order was placed in.

**customer** `[OrderCustomer](/docs/api-reference/v3/reference/orders/order-customer)`

The customer who placed the order, if known.

**fields**

**email** `String`

The customer's email address.

**firstName** `String`

The customer's first (given) name.

**id** `String`

The customer's id in the source platform.

**lastName** `String`

The customer's last (family) name.

**name** `String`

The customer's full name, when both name parts are set.

**phoneNumber** `String`

The customer's phone number.

**externalId** `String!` *required*

The order's id in the source ecommerce platform.

**fulfillments** `[\[OrderFulfillment!\]!](/docs/api-reference/v3/reference/orders/order-fulfillment)` *required*

The shipments fulfilling this order's items.

**fields**

**createdAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When the fulfillment was created.

**deliveredAt** `[DateTime](/docs/api-reference/v3/reference/common/date-time)`

When the shipment was delivered, if it has been.

**estimatedDeliveryDate** `[Date](/docs/api-reference/v3/reference/common/date)`

The carrier's estimated delivery date (YYYY-MM-DD, destination-local), if known.

**id** `String!` *required*

The fulfillment's id in the source platform.

**lineItems** `[\[OrderFulfillmentLineItem!\]!](/docs/api-reference/v3/reference/orders/order-fulfillment-line-item)` *required*

The items included in this fulfillment.

**status** `[OrderFulfillmentStatus!](/docs/api-reference/v3/reference/orders/order-fulfillment-status)` *required*

The current tracked shipment status.

**trackingCompany** `String`

The shipping carrier, if known.

**trackingHistory** `[\[OrderTrackingEvent!\]!](/docs/api-reference/v3/reference/orders/order-tracking-event)` *required*

The carrier tracking events, oldest to newest.

**trackingNumber** `String`

The carrier tracking number, if known.

**id** `ID!` *required*

The id of this order.

**legacyId** `String!` *required*

The order's legacy Mongo ObjectId (24-char hex) from before the CockroachDB migration.

**lineItems** `[\[OrderLineItem!\]!](/docs/api-reference/v3/reference/orders/order-line-item)` *required*

The items purchased on this order.

**fields**

**discount** `[Money](/docs/api-reference/v3/reference/common/money)`

The total discount applied to this line item.

**id** `String!` *required*

The line item's id in the source platform.

**imageUrl** `String`

A URL to the item's image, if any.

**price** `[Money](/docs/api-reference/v3/reference/common/money)`

The per-unit price before discounts.

**productId** `String`

The purchased product's id in the source platform.

**quantity** `Int!` *required*

How many units of this item were ordered.

**sku** `String`

The stock keeping unit for this line item.

**title** `String!` *required*

The product title for this line item.

**variantId** `String`

The purchased variant's id in the source platform.

**protection** `[OrderProtection!](/docs/api-reference/v3/reference/orders/order-protection)` *required*

The Redo coverage the customer bought on this order.

**fields**

**covered** `Boolean!` *required*

Whether the order carried any Redo coverage — returns coverage or package protection.

**finalSaleCoverage** `Boolean!` *required*

Whether the order carried Redo final-sale returns coverage.

**packageProtection** `Boolean!` *required*

Whether the order carried Redo package protection.

**returnsCoverage** `Boolean!` *required*

Whether the order carried Redo returns coverage.

**shipping** `[OrderShipping](/docs/api-reference/v3/reference/orders/order-shipping)`

The order's shipping method, cost, and destination.

**fields**

**address** `[MailingAddress](/docs/api-reference/v3/reference/common/mailing-address)`

The destination the order ships to.

**cost** `[Money](/docs/api-reference/v3/reference/common/money)`

What the customer paid for shipping.

**method** `String`

The selected shipping method's name, e.g. Standard.

**subtotalPrice** `[Money](/docs/api-reference/v3/reference/common/money)`

The order subtotal, excluding tax and shipping, if known.

**fields**

**amount** `[Decimal!](/docs/api-reference/v3/reference/common/decimal)` *required*

The exact amount as a decimal string (e.g. "19.99").

**currency** `String!` *required*

ISO 4217 currency code (e.g. USD).

**tags** `[String!]!` *required*

Free-form tags applied to the order.

**totalPrice** `[Money](/docs/api-reference/v3/reference/common/money)`

The order total, including tax and shipping, if known.

**fields**

**amount** `[Decimal!](/docs/api-reference/v3/reference/common/decimal)` *required*

The exact amount as a decimal string (e.g. "19.99").

**currency** `String!` *required*

ISO 4217 currency code (e.g. USD).

**totalTax** `[Money](/docs/api-reference/v3/reference/common/money)`

The total tax charged on the order, if known.

**fields**

**amount** `[Decimal!](/docs/api-reference/v3/reference/common/decimal)` *required*

The exact amount as a decimal string (e.g. "19.99").

**currency** `String!` *required*

ISO 4217 currency code (e.g. USD).

**orderSummary** `[FulfillmentOrderOrderSummary](/docs/api-reference/v3/reference/shipping/fulfillment-order-order-summary)`

The order as it was when it came in, whether or not a Redo order exists. Null when the sales channel sent no order.

**fields**

**createdAt** `[DateTime](/docs/api-reference/v3/reference/common/date-time)`

When the order was placed.

**customAttributes** `[\[LineItemAttribute!\]!](/docs/api-reference/v3/reference/shipping/line-item-attribute)` *required*

Custom keys and values attached to the order.

**fields**

**key** `String!` *required*

The attribute's key.

**value** `String`

The attribute's value.

**externalId** `String!` *required*

The order's id in the sales channel.

**name** `String!` *required*

The order's name in the sales channel, e.g. #1001.

**note** `String`

The customer's note on the order.

**salesChannel** `String`

The sales channel the order was placed on, e.g. "Online Store".

**shippingPaid** `[Money](/docs/api-reference/v3/reference/common/money)`

What the customer paid for shipping on the whole order. An order split across several groups carries the same amount on each.

**fields**

**amount** `[Decimal!](/docs/api-reference/v3/reference/common/decimal)` *required*

The exact amount as a decimal string (e.g. "19.99").

**currency** `String!` *required*

ISO 4217 currency code (e.g. USD).

**tags** `[String!]!` *required*

The order's tags.

**provider** `[CommerceProvider](/docs/api-reference/v3/reference/shipping/commerce-provider)`

The platform the order came from.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.