> ## Documentation Index
> Fetch the complete documentation index at: https://docs.r28.ai/charter/llms.txt
> Use this file to discover all available pages before exploring further.

# Objects

> Every object and enum the Shopify tools accept.

## Model tree

<div className="model-tree"><div className="model-tree-scroll"><div className="tree-node"><a href="#shopgetvariables">ShopGetVariables</a></div><div className="tree-node"><a href="#productslistvariables">ProductsListVariables</a></div><div className="tree-node"><a href="#productgetvariables">ProductGetVariables</a></div><div className="tree-node"><a href="#productcreatevariables">ProductCreateVariables</a><div className="tree-children"><div className="tree-node"><a href="#productcreateinput">ProductCreateInput</a></div></div></div><div className="tree-node"><a href="#productupdatevariables">ProductUpdateVariables</a><div className="tree-children"><div className="tree-node"><a href="#productupdateinput">ProductUpdateInput</a></div></div></div><div className="tree-node"><a href="#orderslistvariables">OrdersListVariables</a></div><div className="tree-node"><a href="#ordergetvariables">OrderGetVariables</a></div><div className="tree-node"><a href="#customerslistvariables">CustomersListVariables</a></div><div className="tree-node"><a href="#customergetvariables">CustomerGetVariables</a></div><div className="tree-node"><a href="#customercreatevariables">CustomerCreateVariables</a><div className="tree-children"><div className="tree-node"><a href="#customerinput">CustomerInput</a></div></div></div><div className="tree-node"><a href="#customerupdatevariables">CustomerUpdateVariables</a><div className="tree-children"><div className="tree-node"><a href="#customerupdateinput">CustomerUpdateInput</a></div></div></div><div className="tree-node"><a href="#orderfulfillmentordersvariables">OrderFulfillmentOrdersVariables</a></div><div className="tree-node"><a href="#fulfillmentcreatevariables">FulfillmentCreateVariables</a><div className="tree-children"><div className="tree-node"><a href="#fulfillmentinput">FulfillmentInput</a><div className="tree-children"><div className="tree-node"><a href="#fulfillmentorderlineitems">FulfillmentOrderLineItems</a><div className="tree-children"><div className="tree-node"><a href="#fulfillmentorderlineitem">FulfillmentOrderLineItem</a></div></div></div><div className="tree-node"><a href="#fulfillmenttracking">FulfillmentTracking</a></div></div></div></div></div><div className="tree-node"><a href="#inventoryadjustvariables">InventoryAdjustVariables</a><div className="tree-children"><div className="tree-node"><a href="#inventoryadjustinput">InventoryAdjustInput</a><div className="tree-children"><div className="tree-node"><a href="#inventorychange">InventoryChange</a></div></div></div></div></div><div className="tree-node"><a href="#variantinventorylevelvariables">VariantInventoryLevelVariables</a></div><div className="tree-node"><a href="#locationsvariables">LocationsVariables</a></div><div className="tree-node"><a href="#orderstatevariables">OrderStateVariables</a><div className="tree-children"><div className="tree-node"><a href="#orderidinput">OrderIdInput</a></div></div></div><div className="tree-node"><a href="#ordercancelvariables">OrderCancelVariables</a></div><div className="tree-node"><a href="#draftordercreatevariables">DraftOrderCreateVariables</a></div><div className="tree-node"><a href="#draftordercompletevariables">DraftOrderCompleteVariables</a></div><div className="tree-node"><a href="#productvariantsbulkcreatevariables">ProductVariantsBulkCreateVariables</a><div className="tree-children"><div className="tree-node"><a href="#productvariantbulkinput">ProductVariantBulkInput</a><div className="tree-children"><div className="tree-node"><a href="#variantoptionvalue">VariantOptionValue</a></div><div className="tree-node"><a href="#variantinventoryitem">VariantInventoryItem</a></div></div></div></div></div></div></div>

## ShopGetVariables

`shop` takes no arguments.

This object has no settable fields.

## ProductsListVariables

Variables for the `products` connection.

<div className="reference-table">
  | Field     | Type                                | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
  | --------- | ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `first`   | `integer`                           | How many results to return, at most 250. Larger pages cost more against the store's query-cost budget. <span className="field-constraints">≥ 1; ≤ 250; defaults to `50`</span>                                                                                                                                                                                                                                                                                                                                                                                                                      |
  | `after`   | `string`                            | The `endCursor` from the previous page's `pageInfo`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
  | `reverse` | `boolean`                           | Reverse the sort order. Defaults to false.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
  | `query`   | `string`                            | A Shopify search string. Supported qualifiers include `title:`, `vendor:`, `product_type:`, `tag:`, `status:` (active/archived/draft), `created_at:`, `updated_at:` and `inventory_total:`. Terms combine with AND; use OR explicitly. Example: `status:active vendor:Acme`. A record created moments ago may not appear here yet; search is eventually consistent, so confirm a write with the id it returned. Use only the qualifiers listed: Shopify ignores one it does not recognise instead of rejecting it, so a typo like `vendorr:` returns the whole unfiltered set rather than an error. |
  | `sortKey` | [ProductSortKeys](#productsortkeys) | Which field to sort by. Shopify sorts by ID by default.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
</div>

## ProductGetVariables

Variables for the `product` query.

<div className="reference-table">
  | Field                                                      | Type     | Description                                                          |
  | ---------------------------------------------------------- | -------- | -------------------------------------------------------------------- |
  | `id` <span className="required" title="required">\*</span> | `string` | A Shopify global ID, of the form `gid://shopify/Product/1234567890`. |
</div>

## ProductCreateVariables

Variables for the `productCreate` mutation.

<div className="reference-table">
  | Field                                                           | Type                                      | Description            |
  | --------------------------------------------------------------- | ----------------------------------------- | ---------------------- |
  | `product` <span className="required" title="required">\*</span> | [ProductCreateInput](#productcreateinput) | The product to create. |
</div>

## ProductCreateInput

The input to `productCreate`.

<div className="reference-table">
  | Field                                                         | Type                            | Description                                                                     |
  | ------------------------------------------------------------- | ------------------------------- | ------------------------------------------------------------------------------- |
  | `title` <span className="required" title="required">\*</span> | `string`                        | The product's title. Required.                                                  |
  | `descriptionHtml`                                             | `string`                        | The product description, as HTML.                                               |
  | `vendor`                                                      | `string`                        | The product's vendor name.                                                      |
  | `productType`                                                 | `string`                        | A custom product type, used for filtering and reporting.                        |
  | `tags`                                                        | `string`\[]                     | Tags to attach to the product.                                                  |
  | `status`                                                      | [ProductStatus](#productstatus) | The product's status. Defaults to ACTIVE. DRAFT keeps it out of the storefront. |
  | `handle`                                                      | `string`                        | The URL slug for the product. Derived from the title when omitted.              |
</div>

## ProductUpdateVariables

Variables for the `productUpdate` mutation.

<div className="reference-table">
  | Field                                                           | Type                                      | Description          |
  | --------------------------------------------------------------- | ----------------------------------------- | -------------------- |
  | `product` <span className="required" title="required">\*</span> | [ProductUpdateInput](#productupdateinput) | The product changes. |
</div>

## ProductUpdateInput

The input to `productUpdate`. Only `id` is required.

<div className="reference-table">
  | Field                                                      | Type                            | Description                                                          |
  | ---------------------------------------------------------- | ------------------------------- | -------------------------------------------------------------------- |
  | `id` <span className="required" title="required">\*</span> | `string`                        | A Shopify global ID, of the form `gid://shopify/Product/1234567890`. |
  | `title`                                                    | `string`                        | A new title.                                                         |
  | `descriptionHtml`                                          | `string`                        | A new description, as HTML.                                          |
  | `vendor`                                                   | `string`                        | A new vendor name.                                                   |
  | `productType`                                              | `string`                        | A new product type.                                                  |
  | `tags`                                                     | `string`\[]                     | Tags. This *replaces* the product's tags rather than adding to them. |
  | `status`                                                   | [ProductStatus](#productstatus) | A new status.                                                        |
  | `handle`                                                   | `string`                        | A new URL slug.                                                      |
</div>

## OrdersListVariables

Variables for the `orders` connection.

<div className="reference-table">
  | Field     | Type                            | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
  | --------- | ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `first`   | `integer`                       | How many results to return, at most 250. Larger pages cost more against the store's query-cost budget. <span className="field-constraints">≥ 1; ≤ 250; defaults to `50`</span>                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | `after`   | `string`                        | The `endCursor` from the previous page's `pageInfo`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  | `reverse` | `boolean`                       | Reverse the sort order. Defaults to false.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
  | `query`   | `string`                        | A Shopify search string. Supported qualifiers include `financial_status:` (paid/pending/refunded/voided), `fulfillment_status:` (shipped/unshipped/partial), `created_at:`, `updated_at:`, `email:`, `name:` and `tag:`. Example: `financial_status:paid fulfillment_status:unshipped`. Use only the qualifiers listed: Shopify ignores one it does not recognise instead of rejecting it, so a typo like `vendorr:` returns the whole unfiltered set rather than an error. Note that a `created_at:` window reaching further back than 60 days returns nothing unless the app holds the `read_all_orders` scope. |
  | `sortKey` | [OrderSortKeys](#ordersortkeys) | Which field to sort by. Shopify sorts by PROCESSED\_AT by default.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
</div>

## OrderGetVariables

Variables for the `order` query.

<div className="reference-table">
  | Field                                                      | Type     | Description                                                        |
  | ---------------------------------------------------------- | -------- | ------------------------------------------------------------------ |
  | `id` <span className="required" title="required">\*</span> | `string` | A Shopify global ID, of the form `gid://shopify/Order/1234567890`. |
</div>

## CustomersListVariables

Variables for the `customers` connection.

<div className="reference-table">
  | Field     | Type                                  | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  | --------- | ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `first`   | `integer`                             | How many results to return, at most 250. Larger pages cost more against the store's query-cost budget. <span className="field-constraints">≥ 1; ≤ 250; defaults to `50`</span>                                                                                                                                                                                                                                                                                                                           |
  | `after`   | `string`                              | The `endCursor` from the previous page's `pageInfo`.                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
  | `reverse` | `boolean`                             | Reverse the sort order. Defaults to false.                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
  | `query`   | `string`                              | A Shopify search string. Supported qualifiers include `email:`, `first_name:`, `last_name:`, `phone:`, `tag:`, `orders_count:` and `total_spent:`. Example: `orders_count:&gt;5`. A record created moments ago may not appear here yet; search is eventually consistent, so confirm a write with the id it returned. Use only the qualifiers listed: Shopify ignores one it does not recognise instead of rejecting it, so a typo like `vendorr:` returns the whole unfiltered set rather than an error. |
  | `sortKey` | [CustomerSortKeys](#customersortkeys) | Which field to sort by.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
</div>

## CustomerGetVariables

Variables for the `customer` query.

<div className="reference-table">
  | Field                                                      | Type     | Description                                                           |
  | ---------------------------------------------------------- | -------- | --------------------------------------------------------------------- |
  | `id` <span className="required" title="required">\*</span> | `string` | A Shopify global ID, of the form `gid://shopify/Customer/1234567890`. |
</div>

## CustomerCreateVariables

Variables for the `customerCreate` mutation.

<div className="reference-table">
  | Field                                                         | Type                            | Description             |
  | ------------------------------------------------------------- | ------------------------------- | ----------------------- |
  | `input` <span className="required" title="required">\*</span> | [CustomerInput](#customerinput) | The customer to create. |
</div>

## CustomerInput

The input to `customerCreate`.

<div className="reference-table">
  | Field       | Type        | Description                                                                                        |
  | ----------- | ----------- | -------------------------------------------------------------------------------------------------- |
  | `email`     | `string`    | The customer's email address. Either this or `phone` is needed for Shopify to accept the customer. |
  | `phone`     | `string`    | The customer's phone number, in E.164 format.                                                      |
  | `firstName` | `string`    | The customer's first name.                                                                         |
  | `lastName`  | `string`    | The customer's last name.                                                                          |
  | `note`      | `string`    | A note about the customer.                                                                         |
  | `tags`      | `string`\[] | Tags to attach to the customer.                                                                    |
</div>

## CustomerUpdateVariables

Variables for the `customerUpdate` mutation.

<div className="reference-table">
  | Field                                                         | Type                                        | Description                                    |
  | ------------------------------------------------------------- | ------------------------------------------- | ---------------------------------------------- |
  | `input` <span className="required" title="required">\*</span> | [CustomerUpdateInput](#customerupdateinput) | The customer's `id` plus the fields to change. |
</div>

## CustomerUpdateInput

The input to `customerUpdate`.

<div className="reference-table">
  | Field                                                      | Type        | Description                                                                        |
  | ---------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------- |
  | `id` <span className="required" title="required">\*</span> | `string`    | The customer's global ID, `gid://shopify/Customer/...`.                            |
  | `email`                                                    | `string`    | The customer's email address.                                                      |
  | `phone`                                                    | `string`    | The customer's phone number, in E.164 format.                                      |
  | `firstName`                                                | `string`    | The customer's first name.                                                         |
  | `lastName`                                                 | `string`    | The customer's last name.                                                          |
  | `note`                                                     | `string`    | A note about the customer.                                                         |
  | `tags`                                                     | `string`\[] | Tags for the customer. This replaces the existing tags rather than adding to them. |
</div>

## OrderFulfillmentOrdersVariables

Variables for reading an order's fulfillment orders.

<div className="reference-table">
  | Field                                                      | Type      | Description                                                                                                 |
  | ---------------------------------------------------------- | --------- | ----------------------------------------------------------------------------------------------------------- |
  | `id` <span className="required" title="required">\*</span> | `string`  | The order's global ID, `gid://shopify/Order/...`.                                                           |
  | `first`                                                    | `integer` | How many fulfillment orders to read. <span className="field-constraints">≥ 1; ≤ 50; defaults to `10`</span> |
</div>

## FulfillmentCreateVariables

Variables for the `fulfillmentCreate` mutation.

<div className="reference-table">
  | Field                                                               | Type                                  | Description                                 |
  | ------------------------------------------------------------------- | ------------------------------------- | ------------------------------------------- |
  | `fulfillment` <span className="required" title="required">\*</span> | [FulfillmentInput](#fulfillmentinput) | What to fulfil.                             |
  | `message`                                                           | `string`                              | A message recorded against the fulfillment. |
</div>

## FulfillmentInput

What to fulfil, and whether to tell the customer.

<div className="reference-table">
  | Field                                                                               | Type                                                       | Description                                                                                    |
  | ----------------------------------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
  | `lineItemsByFulfillmentOrder` <span className="required" title="required">\*</span> | [FulfillmentOrderLineItems](#fulfillmentorderlineitems)\[] | The fulfillment orders being fulfilled. <span className="field-constraints">min 1 items</span> |
  | `notifyCustomer`                                                                    | `boolean`                                                  | Email the customer. Absent, Shopify does not.                                                  |
  | `trackingInfo`                                                                      | [FulfillmentTracking](#fulfillmenttracking)                | Carrier and tracking number.                                                                   |
</div>

## FulfillmentOrderLineItems

One fulfillment order, whole or in part.

<div className="reference-table">
  | Field                                                                      | Type                                                     | Description                                                    |
  | -------------------------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------------- |
  | `fulfillmentOrderId` <span className="required" title="required">\*</span> | `string`                                                 | The fulfillment order's global ID, from the resolve step.      |
  | `fulfillmentOrderLineItems`                                                | [FulfillmentOrderLineItem](#fulfillmentorderlineitem)\[] | Specific lines to fulfil. Absent, the whole fulfillment order. |
</div>

## FulfillmentOrderLineItem

One line of a fulfillment order, when fulfilling it only in part.

<div className="reference-table">
  | Field                                                            | Type      | Description                                                              |
  | ---------------------------------------------------------------- | --------- | ------------------------------------------------------------------------ |
  | `id` <span className="required" title="required">\*</span>       | `string`  | The line's global ID, `gid://shopify/FulfillmentOrderLineItem/...`.      |
  | `quantity` <span className="required" title="required">\*</span> | `integer` | How many units to fulfil. <span className="field-constraints">≥ 1</span> |
</div>

## FulfillmentTracking

Where the customer can follow the parcel.

<div className="reference-table">
  | Field     | Type     | Description          |
  | --------- | -------- | -------------------- |
  | `company` | `string` | The carrier's name.  |
  | `number`  | `string` | The tracking number. |
  | `url`     | `string` | A tracking URL.      |
</div>

## InventoryAdjustVariables

Variables for `inventoryAdjustQuantities`, including its idempotency key.

<div className="reference-table">
  | Field                                                         | Type                                          | Description                                                                                                                 |
  | ------------------------------------------------------------- | --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
  | `input` <span className="required" title="required">\*</span> | [InventoryAdjustInput](#inventoryadjustinput) | The adjustment to apply.                                                                                                    |
  | `idempotencyKey`                                              | `string`                                      | Deduplicates this adjustment for 24 hours. A fresh one is generated per call; pass your own to make a retry safe to repeat. |
</div>

## InventoryAdjustInput

A relative stock adjustment.

<div className="reference-table">
  | Field                                                           | Type                                            | Description                                                                    |
  | --------------------------------------------------------------- | ----------------------------------------------- | ------------------------------------------------------------------------------ |
  | `name` <span className="required" title="required">\*</span>    | [InventoryStateName](#inventorystatename)       | Which stock state to move.                                                     |
  | `reason` <span className="required" title="required">\*</span>  | [InventoryAdjustReason](#inventoryadjustreason) | Why the stock moved. `correction` is the general case.                         |
  | `changes` <span className="required" title="required">\*</span> | [InventoryChange](#inventorychange)\[]          | The movements to apply. <span className="field-constraints">min 1 items</span> |
  | `referenceDocumentUri`                                          | `string`                                        | A URI for the document this adjustment came from.                              |
</div>

## InventoryChange

One stock movement, relative to what is there now.

<div className="reference-table">
  | Field                                                                      | Type      | Description                                                                                                                                                                |
  | -------------------------------------------------------------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `delta` <span className="required" title="required">\*</span>              | `integer` | How much to add or remove. Negative reduces the count.                                                                                                                     |
  | `inventoryItemId` <span className="required" title="required">\*</span>    | `string`  | The item's global ID, `gid://shopify/InventoryItem/...`.                                                                                                                   |
  | `locationId` <span className="required" title="required">\*</span>         | `string`  | The location's global ID, `gid://shopify/Location/...`.                                                                                                                    |
  | `changeFromQuantity` <span className="required" title="required">\*</span> | `integer` | The quantity you expect to be there now, from `variant_inventory_level`. Shopify refuses the change if the count has moved since, so read it immediately before adjusting. |
  | `ledgerDocumentUri`                                                        | `string`  | A URI recording why the stock moved. Shopify requires one for every state except `available`, and it must not be a gid.                                                    |
</div>

## VariantInventoryLevelVariables

Variables for reading one variant's stock at one location.

<div className="reference-table">
  | Field                                                              | Type        | Description                                                                                                                                                                      |
  | ------------------------------------------------------------------ | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `id` <span className="required" title="required">\*</span>         | `string`    | The variant's global ID, `gid://shopify/ProductVariant/...`.                                                                                                                     |
  | `locationId` <span className="required" title="required">\*</span> | `string`    | The location's global ID, `gid://shopify/Location/...`.                                                                                                                          |
  | `names`                                                            | `string`\[] | Which stock states to read: available, committed, incoming, on\_hand, reserved, damaged, safety\_stock, quality\_control. <span className="field-constraints">min 1 items</span> |
</div>

## LocationsVariables

Variables for the `locations` connection.

<div className="reference-table">
  | Field             | Type      | Description                                                                                                                                                                    |
  | ----------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
  | `first`           | `integer` | How many results to return, at most 250. Larger pages cost more against the store's query-cost budget. <span className="field-constraints">≥ 1; ≤ 250; defaults to `50`</span> |
  | `after`           | `string`  | The `endCursor` from the previous page's `pageInfo`.                                                                                                                           |
  | `reverse`         | `boolean` | Reverse the sort order. Defaults to false.                                                                                                                                     |
  | `query`           | `string`  | A Shopify search string.                                                                                                                                                       |
  | `includeInactive` | `boolean` | Include deactivated locations. Absent, only active ones.                                                                                                                       |
</div>

## OrderStateVariables

Variables for `orderClose` and `orderOpen`.

<div className="reference-table">
  | Field                                                         | Type                          | Description          |
  | ------------------------------------------------------------- | ----------------------------- | -------------------- |
  | `input` <span className="required" title="required">\*</span> | [OrderIdInput](#orderidinput) | The order to change. |
</div>

## OrderIdInput

The single-field input `orderClose` and `orderOpen` share.

<div className="reference-table">
  | Field                                                      | Type     | Description                                       |
  | ---------------------------------------------------------- | -------- | ------------------------------------------------- |
  | `id` <span className="required" title="required">\*</span> | `string` | The order's global ID, `gid://shopify/Order/...`. |
</div>

## OrderCancelVariables

Variables for `orderCancel`.

<div className="reference-table">
  | Field                                                           | Type                                    | Description                                                                                     |
  | --------------------------------------------------------------- | --------------------------------------- | ----------------------------------------------------------------------------------------------- |
  | `orderId` <span className="required" title="required">\*</span> | `string`                                | The order's global ID.                                                                          |
  | `reason` <span className="required" title="required">\*</span>  | [OrderCancelReason](#ordercancelreason) | Why the order is being cancelled.                                                               |
  | `restock` <span className="required" title="required">\*</span> | `boolean`                               | Whether to return the items to inventory.                                                       |
  | `notifyCustomer`                                                | `boolean`                               | Email the customer. Absent, Shopify does not.                                                   |
  | `staffNote`                                                     | `string`                                | An internal note on the cancellation. <span className="field-constraints">max length 255</span> |
</div>

## DraftOrderCreateVariables

Variables for `draftOrderCreate`.

<div className="reference-table">
  | Field                                                         | Type     | Description                                                                                                                                                                                       |
  | ------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `input` <span className="required" title="required">\*</span> | `object` | The draft order. Useful keys: `lineItems` (each with `variantId` and `quantity`, or `title` and `originalUnitPrice` for a custom line), `customerId`, `email`, `note`, `tags`, `shippingAddress`. |
</div>

## DraftOrderCompleteVariables

Variables for `draftOrderComplete`.

<div className="reference-table">
  | Field                                                      | Type     | Description                                             |
  | ---------------------------------------------------------- | -------- | ------------------------------------------------------- |
  | `id` <span className="required" title="required">\*</span> | `string` | The draft order's global ID.                            |
  | `paymentGatewayId`                                         | `string` | The gateway to charge through, when taking payment now. |
  | `sourceName`                                               | `string` | Where the resulting order came from.                    |
</div>

## ProductVariantsBulkCreateVariables

Variables for `productVariantsBulkCreate`.

<div className="reference-table">
  | Field                                                             | Type                                                                    | Description                                                                                                                   |
  | ----------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
  | `productId` <span className="required" title="required">\*</span> | `string`                                                                | The product's global ID, `gid://shopify/Product/...`.                                                                         |
  | `variants` <span className="required" title="required">\*</span>  | [ProductVariantBulkInput](#productvariantbulkinput)\[]                  | The variants to add. <span className="field-constraints">min 1 items</span>                                                   |
  | `strategy`                                                        | [ProductVariantsBulkCreateStrategy](#productvariantsbulkcreatestrategy) | Use 'REMOVE\_STANDALONE\_VARIANT' when adding the first real variant to a product that still carries its default placeholder. |
</div>

## ProductVariantBulkInput

One variant to add to a product.

<div className="reference-table">
  | Field                                                                | Type                                          | Description                                                                                                                                        |
  | -------------------------------------------------------------------- | --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `optionValues` <span className="required" title="required">\*</span> | [VariantOptionValue](#variantoptionvalue)\[]  | What distinguishes this variant. <span className="field-constraints">min 1 items</span>                                                            |
  | `price`                                                              | `string`                                      | The price, as a decimal string. Dollars as written, not a count of cents: "15.00" is fifteen dollars and "1500" is fifteen hundred.                |
  | `compareAtPrice`                                                     | `string`                                      | The struck-through price, as a decimal string. Dollars as written, not a count of cents: "15.00" is fifteen dollars and "1500" is fifteen hundred. |
  | `barcode`                                                            | `string`                                      | The variant's barcode.                                                                                                                             |
  | `taxable`                                                            | `boolean`                                     | Whether tax applies.                                                                                                                               |
  | `inventoryItem`                                                      | [VariantInventoryItem](#variantinventoryitem) | SKU and stock tracking.                                                                                                                            |
</div>

## VariantOptionValue

One option value that distinguishes a variant, such as Size / Large.

<div className="reference-table">
  | Field                                                              | Type     | Description                               |
  | ------------------------------------------------------------------ | -------- | ----------------------------------------- |
  | `name` <span className="required" title="required">\*</span>       | `string` | The value, such as 'Large'.               |
  | `optionName` <span className="required" title="required">\*</span> | `string` | The option it belongs to, such as 'Size'. |
</div>

## VariantInventoryItem

The variant fields Shopify moved onto the inventory item.

<div className="reference-table">
  | Field     | Type      | Description                                    |
  | --------- | --------- | ---------------------------------------------- |
  | `sku`     | `string`  | The variant's SKU.                             |
  | `tracked` | `boolean` | Whether Shopify tracks stock for this variant. |
</div>

## ProductStatus

<div className="enum-table">
  | Value      |
  | ---------- |
  | `ACTIVE`   |
  | `ARCHIVED` |
  | `DRAFT`    |
</div>

## ProductSortKeys

<div className="enum-table">
  | Value             |
  | ----------------- |
  | `CREATED_AT`      |
  | `ID`              |
  | `INVENTORY_TOTAL` |
  | `PRODUCT_TYPE`    |
  | `PUBLISHED_AT`    |
  | `RELEVANCE`       |
  | `TITLE`           |
  | `UPDATED_AT`      |
  | `VENDOR`          |
</div>

## OrderSortKeys

<div className="enum-table">
  | Value                  |
  | ---------------------- |
  | `CREATED_AT`           |
  | `CURRENT_TOTAL_PRICE`  |
  | `CUSTOMER_NAME`        |
  | `DESTINATION`          |
  | `FINANCIAL_STATUS`     |
  | `FULFILLMENT_STATUS`   |
  | `ID`                   |
  | `ORDER_NUMBER`         |
  | `PO_NUMBER`            |
  | `PROCESSED_AT`         |
  | `RELEVANCE`            |
  | `TOTAL_ITEMS_QUANTITY` |
  | `TOTAL_PRICE`          |
  | `UPDATED_AT`           |
</div>

## CustomerSortKeys

<div className="enum-table">
  | Value        |
  | ------------ |
  | `CREATED_AT` |
  | `ID`         |
  | `LOCATION`   |
  | `NAME`       |
  | `RELEVANCE`  |
  | `UPDATED_AT` |
</div>

## InventoryStateName

<div className="enum-table">
  | Value             |
  | ----------------- |
  | `available`       |
  | `damaged`         |
  | `quality_control` |
  | `reserved`        |
  | `safety_stock`    |
</div>

## InventoryAdjustReason

<div className="enum-table">
  | Value                   |
  | ----------------------- |
  | `correction`            |
  | `cycle_count_available` |
  | `damaged`               |
  | `movement_created`      |
  | `movement_updated`      |
  | `movement_received`     |
  | `movement_canceled`     |
  | `other`                 |
  | `promotion`             |
  | `quality_control`       |
  | `received`              |
  | `reservation_created`   |
  | `reservation_deleted`   |
  | `reservation_updated`   |
  | `restock`               |
  | `safety_stock`          |
  | `shrinkage`             |
</div>

## OrderCancelReason

<div className="enum-table">
  | Value       |
  | ----------- |
  | `CUSTOMER`  |
  | `DECLINED`  |
  | `FRAUD`     |
  | `INVENTORY` |
  | `OTHER`     |
  | `STAFF`     |
</div>

## ProductVariantsBulkCreateStrategy

<div className="enum-table">
  | Value                       |
  | --------------------------- |
  | `DEFAULT`                   |
  | `REMOVE_STANDALONE_VARIANT` |
</div>
