> ## 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.

# FulfillmentOrderLineItemSubcomponent

> One component a line item's component is built from.

**imageUrl** `String`

A URL to the component's image.

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

What a fulfillment partner needs to identify and ship this component: 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.

**fields**

**height** `Float`

The height, in `unit`.

**length** `Float`

The length, in `unit`.

**unit** `[DimensionUnit!](/docs/api-reference/v3/reference/catalog/dimension-unit)` *required*

The unit all three measurements are expressed in.

**width** `Float`

The width, in `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:** [`inventory_read`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-inventory_read)

**fields**

**altText** `String!` *required*

Alternative text describing the image.

**default** `Boolean!` *required*

Whether this is the default image.

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

The id of this image.

**position** `Int!` *required*

The image's ordering position.

**url** `String!` *required*

The public URL of the image.

**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.

**fields**

**unit** `[WeightUnit!](/docs/api-reference/v3/reference/catalog/weight-unit)` *required*

The unit the value is expressed in.

**value** `Float!` *required*

The numeric magnitude of the weight.

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

The store's catalog product for this component, 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.

**Fields**

**description** `String`

An optional description of what the attribute represents.

**displayName** `String!` *required*

The human-readable label shown for the attribute.

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

The unique identifier of the attribute's definition.

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

The attribute's machine name, unique within the account.

**type** `[AttributeType!](/docs/api-reference/v3/reference/catalog/attribute-type)` *required*

The data type of the attribute's value.

**value** `[JSON](/docs/api-reference/v3/reference/common/json)`

The attribute's value, resolved to the typed JSON form for its `type` — read `type` to know the shape. E.g. SHORT\_TEXT → a string, WEIGHT → \{ value, unit }, MONEY → \{ amount, currency }. Null if unset. See AttributeType for each type's shape.

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

The merchant-defined attributes set on this product.

**fields**

**description** `String`

An optional description of what the attribute represents.

**displayName** `String!` *required*

The human-readable label shown for the attribute.

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

The unique identifier of the attribute's definition.

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

The attribute's machine name, unique within the account.

**type** `[AttributeType!](/docs/api-reference/v3/reference/catalog/attribute-type)` *required*

The data type of the attribute's value.

**value** `[JSON](/docs/api-reference/v3/reference/common/json)`

The attribute's value, resolved to the typed JSON form for its `type` — read `type` to know the shape. E.g. SHORT\_TEXT → a string, WEIGHT → \{ value, unit }, MONEY → \{ amount, currency }. Null if unset. See AttributeType for each type's shape.

**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.

**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).

**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.

**fields**

**height** `Float`

The height, in `unit`.

**length** `Float`

The length, in `unit`.

**unit** `[DimensionUnit!](/docs/api-reference/v3/reference/catalog/dimension-unit)` *required*

The unit all three measurements are expressed in.

**width** `Float`

The width, in `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)

**fields**

**altText** `String!` *required*

Alternative text describing the image.

**default** `Boolean!` *required*

Whether this is the default image.

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

The id of this image.

**position** `Int!` *required*

The image's ordering position.

**url** `String!` *required*

The public URL of the image.

**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`.

**Fields**

**edges** `[\[ProductImageEdge!\]!](/docs/api-reference/v3/pagination)` *required*

The list of edges (each a node plus its pagination `cursor`).

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

The nodes in this page, without the edge/cursor wrapper — a convenience over `edges`.

**pageInfo** `[PageInfo!](/docs/api-reference/v3/pagination)` *required*

Pagination metadata for the current page.

**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`.

**Fields**

**edges** `[\[ProductImportRestrictionEdge!\]!](/docs/api-reference/v3/pagination)` *required*

The list of edges (each a node plus its pagination `cursor`).

**nodes** `[\[ProductImportRestriction!\]!](/docs/api-reference/v3/reference/markets/product-import-restriction)` *required*

The nodes in this page, without the edge/cursor wrapper — a convenience over `edges`.

**pageInfo** `[PageInfo!](/docs/api-reference/v3/pagination)` *required*

Pagination metadata for the current page.

**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`

**Fields**

**edges** `[\[InventoryItemEdge!\]!](/docs/api-reference/v3/pagination)` *required*

The list of edges (each a node plus its pagination `cursor`).

**nodes** `[\[InventoryItem!\]!](/docs/api-reference/v3/reference/inventory/inventory-item)` *required*

The nodes in this page, without the edge/cursor wrapper — a convenience over `edges`.

**pageInfo** `[PageInfo!](/docs/api-reference/v3/pagination)` *required*

Pagination metadata for the current page.

**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.

**Fields**

**available** `Int!` *required*

The quantity available to sell.

**buildable** `Int!` *required*

The quantity that can be built from components.

**committed** `Int!` *required*

The quantity committed to existing orders.

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

When the record was created.

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

The id of this inventory level.

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

A fulfillment-oriented view of the product, readable by anyone who can see this level (e.g. a 3PL). For the full product, use `product`.

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

**location** `[Location](/docs/api-reference/v3/reference/inventory/location)`

The location these inventory levels are held at.

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

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

The full product these inventory levels are for. Only readable by the account that owns the product; use `inventoryProduct` otherwise.

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

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

The total quantity on hand at the location.

**reserved** `Int!` *required*

The quantity reserved across all reservation buckets.

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

When the record was last updated.

**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`.

**Fields**

**edges** `[\[LocationInventoryLevelEdge!\]!](/docs/api-reference/v3/pagination)` *required*

The list of edges (each a node plus its pagination `cursor`).

**nodes** `[\[LocationInventoryLevel!\]!](/docs/api-reference/v3/reference/inventory/location-inventory-level)` *required*

The nodes in this page, without the edge/cursor wrapper — a convenience over `edges`.

**pageInfo** `[PageInfo!](/docs/api-reference/v3/pagination)` *required*

Pagination metadata for the current page.

**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)

**fields**

**countryCode** `[CountryCode!](/docs/api-reference/v3/reference/common/country-code)` *required*

The destination country.

**publishOverride** `Boolean`

The merchant's override: true to publish, false to hide. Null when there is none, so `recommendedPublish` applies.

**published** `Boolean!` *required*

Whether the product is published there: the override when set, otherwise `recommendedPublish`. Without an override, a market listing function can still change the outcome.

**recommendedPublish** `Boolean!` *required*

Whether Redo publishes the product there when there is no override. False only when the product is restricted there and the store hides restricted products.

**restricted** `Boolean!` *required*

Whether the product counts as restricted there: it trips a BLOCKED import restriction, or an ACTION\_NEEDED one that is not resolved.

**setBy** `[Actor](/docs/api-reference/v3/reference/common/actor)`

Who set `publishOverride`: a team member or an API token. Null when there is no override, when an automation or a change before this field set it, or when the team member has left the team.

**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.

**fields**

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

The option name, e.g. Size.

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

The selected value, e.g. M.

**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.

**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).

**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)

**fields**

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

Look up a single attribute on this family 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 family.

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

When the record was created.

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

The product family's long-form description.

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

The id of this product family.

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

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

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

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

A paginated list of the family'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`.

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

The variant options (e.g. Size, Color) for this family.

**products** `[ProductConnection!](/docs/api-reference/v3/pagination)` *required*

A paginated list of the products (variants) in this family.

**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`.

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

Free-form tags applied to the product family.

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

The product family's title.

**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 family.

**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.

**fields**

**unit** `[WeightUnit!](/docs/api-reference/v3/reference/catalog/weight-unit)` *required*

The unit the value is expressed in.

**value** `Float!` *required*

The numeric magnitude of the weight.

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

Units of this component across the expanded units.

**sku** `String`

The component's SKU.

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

The component's product title.

**variantTitle** `String`

The component's variant title.


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