# Outbound sync data structures

Outbound syncs require certain fields to be specific data types.

Supported Outbound Sync operations:

* [Customers](#customer)
* [Products](#product)
* [Orders](#order)
* [Fulfillments](#fulfillment)

Note:\
1\. \* means the field is REQUIRED to be filled and cannot be null.\
2\. enum fields only accepts certain terms as strings which are shown in its corresponding example.

## Customer

### Outbound Sync: Create

This operation creates a new customer in Shopify.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>first_name</code></td><td>string</td><td>John</td></tr><tr><td>*<code>last_name</code></td><td>number</td><td>Smith</td></tr><tr><td><code>tags</code></td><td>string</td><td>first</td></tr><tr><td><code>phone</code></td><td>string</td><td>+60123456789</td></tr><tr><td><code>email</code></td><td>string</td><td>testexample@gmail.com</td></tr><tr><td><code>note</code></td><td>string</td><td>Bulk Customer</td></tr><tr><td><code>tax_exempt</code></td><td>boolean</td><td>TRUE | FALSE</td></tr><tr><td><code>email_marketing_consent</code></td><td>object</td><td><a href="#object-examples">Example under "Object Examples"</a></td></tr><tr><td><code>sms_marketing_consent</code></td><td>object</td><td><a href="#object-examples">Example under "Object Examples"</a></td></tr><tr><td><code>addresses</code></td><td><strong>array</strong> of objects</td><td><a href="#object-examples">Example under "Object Examples"</a></td></tr></tbody></table>

### Outbound Sync: Update

This operation updates the details of an existing customer in Shopify. Will not update if no existing customer ID is found.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>record_id</code></td><td>number</td><td>651023456789</td></tr><tr><td><code>first_name</code></td><td>string</td><td>John</td></tr><tr><td><code>last_name</code></td><td>number</td><td>Smith</td></tr><tr><td><code>tags</code></td><td>string</td><td>first</td></tr><tr><td><code>phone</code></td><td>string</td><td>+60123456789</td></tr><tr><td><code>email</code></td><td>string</td><td>testexample@gmail.com</td></tr><tr><td><code>note</code></td><td>string</td><td>Bulk Customer</td></tr><tr><td><code>tax_exempt</code></td><td>boolean</td><td>TRUE | FALSE</td></tr><tr><td><code>email_marketing_consent</code></td><td>object</td><td><a href="#object-examples">Example under "Object Examples"</a></td></tr><tr><td><code>sms_marketing_consent</code></td><td>object</td><td><a href="#object-examples">Example under "Object Examples"</a></td></tr><tr><td><code>addresses</code></td><td><strong>array</strong> of objects</td><td><a href="#object-examples">Example under "Object Examples"</a></td></tr></tbody></table>

### Outbound Sync: Upsert

This operation creates a customer if the customer has never been created with this sync operation. This operation will update the existing customer's details if the customer was previously created from this sync operation.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>record_id</code></td><td>number</td><td>651023456789</td></tr><tr><td>*<code>first_name</code></td><td>string</td><td>John</td></tr><tr><td>*<code>last_name</code></td><td>number</td><td>Smith</td></tr><tr><td><code>tags</code></td><td>string</td><td>first</td></tr><tr><td><code>phone</code></td><td>string</td><td>+60123456789</td></tr><tr><td><code>email</code></td><td>string</td><td>testexample@gmail.com</td></tr><tr><td><code>note</code></td><td>string</td><td>Bulk Customer</td></tr><tr><td><code>tax_exempt</code></td><td>boolean</td><td>TRUE | FALSE</td></tr><tr><td><code>email_marketing_consent</code></td><td>object</td><td><a href="#object-examples">Example under "Object Examples"</a></td></tr><tr><td><code>sms_marketing_consent</code></td><td>object</td><td><a href="#object-examples">Example under "Object Examples"</a></td></tr><tr><td><code>addresses</code></td><td><strong>array</strong> of objects</td><td><a href="#object-examples">Example under "Object Examples"</a></td></tr></tbody></table>

### Outbound Sync: Delete

This operation deletes an already existing customer. Will not delete if existing customer ID is not found.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>record_id</code></td><td>number</td><td>651023456789</td></tr></tbody></table>

#### **Object Examples (Customer)**

{% tabs %}
{% tab title="addresses" %}
{% code fullWidth="false" %}

```json5
[
    { 
        // first_name, last_name is required
        "address1": "123 Oak St",
        "city":"Ottawa",
        "province":"ON",
        "phone":"555-1212",
        "zip":"123 ABC",
        "first_name":"Mother",
        "last_name":"Lastnameson",        
        "country":"CA"
    }
]
```

{% endcode %}
{% endtab %}

{% tab title="email\_marketing\_consent" %}

```json
{
   "state": "subscribed",
   "opt_in_level": "confirmed_opt_in",
}
```

{% endtab %}

{% tab title="sms\_marketing\_consent" %}

```json
{
   "state": "subscribed",
   "opt_in_level": "confirmed_opt_in",
   "consent_collected_from": "OTHER"
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Objects or array of objects should not be empty. At least one field of the object should be present when performing a sync operation.
{% endhint %}

***

## Product

### Outbound Sync: Create

This operation creates a new product in Shopify.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>title</code></td><td>string</td><td>Computer Laptop 32 inch</td></tr><tr><td><code>body_html</code></td><td>string</td><td>Silent, powerful and affordable laptop!</td></tr><tr><td><code>product_type</code></td><td>string</td><td>Laptop</td></tr><tr><td><code>published_scope</code></td><td>string (enum)</td><td>web | global</td></tr><tr><td><code>status</code></td><td>string (enum)</td><td>active | archived | draft</td></tr><tr><td><code>tags</code></td><td>string</td><td>Affordable, Big Screen</td></tr><tr><td><code>variants</code></td><td>array of objects</td><td><a href="#object-examples-product">Example under "Object Examples"</a></td></tr><tr><td><code>vendor</code></td><td>string</td><td>Steve Jobs</td></tr></tbody></table>

### Outbound Sync: Update

This operation updates the details of an existing product in Shopify. Will not update if no existing product ID is found.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>record_id</code></td><td>number</td><td>632910392</td></tr><tr><td><code>title</code></td><td>string</td><td>Computer Laptop 32 inch</td></tr><tr><td><code>body_html</code></td><td>string</td><td>Silent, powerful and affordable laptop!</td></tr><tr><td><code>product_type</code></td><td>string</td><td>Laptop</td></tr><tr><td><code>published_scope</code></td><td>string (enum)</td><td>web | global</td></tr><tr><td><code>status</code></td><td>string (enum)</td><td>active | archived | draft</td></tr><tr><td><code>tags</code></td><td>string</td><td>Affordable, Big Screen</td></tr><tr><td><code>variants</code></td><td>array of objects</td><td><a href="#object-examples-product">Example under "Object Examples"</a></td></tr><tr><td><code>vendor</code></td><td>string</td><td>Steve Jobs</td></tr></tbody></table>

### Outbound Sync: Upsert

This operation creates a product if the product has never been created with this sync operation. This operation will update the existing product's details if the product was previously created from this sync operation.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>record_id</code></td><td>number</td><td>632910392</td></tr><tr><td>*<code>title</code></td><td>string</td><td>Computer Laptop 32 inch</td></tr><tr><td><code>body_html</code></td><td>string</td><td>Silent, powerful and affordable laptop!</td></tr><tr><td><code>product_type</code></td><td>string</td><td>Laptop</td></tr><tr><td><code>published_scope</code></td><td>string (enum)</td><td>web | global</td></tr><tr><td><code>status</code></td><td>string (enum)</td><td>active | archived | draft</td></tr><tr><td><code>tags</code></td><td>string</td><td>Affordable, Big Screen</td></tr><tr><td><code>variants</code></td><td>array of objects</td><td><a href="#object-examples-product">Example under "Object Examples"</a></td></tr><tr><td><code>vendor</code></td><td>string</td><td>Steve Jobs</td></tr></tbody></table>

### Outbound Sync: Delete

This operation deletes an already existing product. Will not delete if existing product ID is not found.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>record_id</code></td><td>number</td><td>632910392</td></tr></tbody></table>

#### Object Examples (Product)

{% tabs %}
{% tab title="Variants" %}

<pre class="language-json5"><code class="lang-json5"><strong>// Each item represents one variant of the product
</strong><strong>[
</strong>  {
    "option1":"First",
    "price":"10.00",
    "sku":"123"
  },
  {
    "option1":"Second",
    "price":"20.00",
    "sku":"123"
  }
]
</code></pre>

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Each variant item in the object can accept more parameters than stated in the example.

Reference: <https://shopify.dev/docs/api/admin-rest/2024-07/resources/product-variant>
{% endhint %}

***

## Order

### Outbound Sync: Create

This operation creates a new order in Shopify.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>line_items</code></td><td>array of objects</td><td><a href="#object-examples-order">Example under "Object Examples"</a></td></tr><tr><td><code>email</code></td><td>string</td><td>testuser@example.com</td></tr><tr><td><code>phone</code></td><td>string</td><td>+60123456789</td></tr><tr><td><code>billing_address</code></td><td>object</td><td><a href="#object-examples-order">Example under "Object Examples"</a></td></tr><tr><td><code>shipping_address</code></td><td>object</td><td><a href="#object-examples-order">Example under "Object Examples"</a></td></tr><tr><td><code>discount_codes</code></td><td>array of objects</td><td><a href="#object-examples-order">Example under "Object Examples"</a></td></tr><tr><td><code>financial_status</code></td><td>string (enum)</td><td>pending | paid | authorized | partially_paid | partially_refunded | refunded | voided</td></tr><tr><td><code>tax_lines</code><br><em>will fail if line_items have tax_lines object</em></td><td>array of objects</td><td><a href="#object-examples-order">Example under "Object Examples"</a></td></tr><tr><td><code>customer</code></td><td>object</td><td><a href="#object-examples-order">Example under "Object Examples"</a></td></tr><tr><td><code>fulfillment_status</code></td><td>string</td><td>fulfilled | null | partial | restocked</td></tr><tr><td><code>note</code></td><td>string</td><td>Bulk order</td></tr><tr><td><code>note_attributes</code></td><td>array of objects</td><td><a href="#object-examples-order">Example under "Object Examples"</a></td></tr><tr><td><code>buyer_accepts_marketing</code></td><td>boolean</td><td>TRUE | FALSE</td></tr><tr><td><code>tags</code></td><td>string</td><td>RTX, Intel, SSD, Music</td></tr></tbody></table>

{% hint style="warning" %}
The entire create operation for the record will FAIL if the line\_items field, which also accepts a **tax\_lines** field in the object, has a present **tax\_lines** field as part of the object.

It is advisable to fill the **tax\_lines** field as part of each item if each individual item has it's own tax details.

If all items share the same tax details, it is advisable to not have any **tax\_lines** objects in each line\_item but part of the optional parameter instead.

In [#object-examples-order](#object-examples-order "mention") demonstrates the usage of the tax\_lines object in line\_items.
{% endhint %}

### Outbound Sync: Update

This operation updates the details of an existing order in Shopify. Will not update if no existing order ID is found.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>record_id</code></td><td>number</td><td>50123456789</td></tr><tr><td><code>note</code></td><td>string</td><td>Bulk order</td></tr><tr><td><code>note_attributes</code></td><td>array of objects</td><td><a href="#object-examples-order">Example under "Object Examples"</a></td></tr><tr><td><code>buyer_accepts_marketing</code></td><td>boolean</td><td>TRUE | FALSE</td></tr><tr><td><code>tags</code></td><td>string</td><td>RTX, Intel, SSD, Music</td></tr><tr><td><code>phone</code></td><td>string</td><td><a href="#object-examples-order">Example under "Object Examples"</a></td></tr><tr><td><code>shipping_address</code></td><td>object</td><td><a href="#object-examples-order">Example under "Object Examples"</a></td></tr><tr><td><code>customer</code></td><td>null</td><td>null</td></tr></tbody></table>

{% hint style="info" %}
The customer field only accepts a **null** argument. This will remove the customer that placed the order.\
Shopify API has not provided a way to insert an existing customer into an order after creation.
{% endhint %}

### Outbound Sync: Upsert

This operation creates an order if the order has never been created with this sync operation. This operation will update the existing order's details if the product was previously created from this sync operation.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>line_items</code></td><td>array of objects</td><td>Example under "Object Examples"</td></tr><tr><td>*<code>record_id</code></td><td>number</td><td>50123456789</td></tr><tr><td><code>email</code></td><td>string</td><td>testuser@example.com</td></tr><tr><td><code>phone</code></td><td>string</td><td>+60123456789</td></tr><tr><td><code>billing_address</code></td><td>object</td><td><a href="#object-examples-order">Example under "Object Examples"</a></td></tr><tr><td><code>shipping_address</code></td><td>object</td><td><a href="#object-examples-order">Example under "Object Examples"</a></td></tr><tr><td><code>discount_codes</code></td><td>array of objects</td><td><a href="#object-examples-order">Example under "Object Examples"</a></td></tr><tr><td><code>financial_status</code></td><td>string (enum)</td><td>pending | paid | authorized | partially_paid | partially_refunded | refunded | voided</td></tr><tr><td><code>tax_lines</code><br><em>will fail if line_items have tax_lines object</em></td><td>array of objects</td><td><a href="#object-examples-order">Example under "Object Examples"</a></td></tr><tr><td><code>customer</code></td><td>object | null</td><td><a href="#object-examples-order">Example under "Object Examples"</a> | null</td></tr><tr><td><code>fulfillment_status</code></td><td>string (enum)</td><td>fulfilled | null | partial | restocked</td></tr><tr><td><code>note</code></td><td>string</td><td>Bulk order</td></tr><tr><td><code>note_attributes</code></td><td>array of objects</td><td><a href="#object-examples-order">Example under "Object Examples"</a></td></tr><tr><td><code>buyer_accepts_marketing</code></td><td>boolean</td><td>TRUE | FALSE</td></tr><tr><td><code>tags</code></td><td>string</td><td>RTX, Intel, SSD, Music</td></tr></tbody></table>

{% hint style="info" %}
If this operation performs a **create** operation, the **customer** field will be able to accept the object.

If this operation performs an **update** operation, the **customer** field can only accept a **null** object. If this field remains filled with a customer object, it will be ignored and the corresponding customer will not be updated in the order. A null object will remove the customer from the order.
{% endhint %}

### Outbound Sync: Delete

This operation deletes an already existing order. Will not delete if existing order ID is not found.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>record_id</code></td><td>number</td><td>50123456789</td></tr></tbody></table>

#### Object Examples (Order)

{% tabs %}
{% tab title="line\_items" %}

```json5
[
  {
    "title":"Big Brown Bear Boots",
    "price":74.99,
    "grams":"1300",
    "quantity":3
  }
]
```

{% endtab %}

{% tab title="line\_items (tax\_lines)" %}

```json5
[
  {
    "title":"Big Brown Bear Boots",
    "price":74.99,
    "grams":"1300",
    "quantity":3,
    "tax_lines":[
        {
            "price":13.5,
            "rate":0.06,
            "title":"State tax"
        }
    ]
  }
]
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="billing\_address/shipping\_address" %}

```json5
{
    "first_name":"John",
    "last_name":"Smith",
    "address1":"123 Fake Street",
    "phone":"555-555-5555",
    "city":"Fakecity",
    "province":"Ontario",
    "country":"Canada",
    "zip":"K2P 1L4"
}
```

{% endtab %}

{% tab title="discount\_codes" %}

```json5
[
  {
     "code":"FAKE30",
     "amount":"9.00",
     // type is an enum: fixed_amount | percentage | shipping
     "type":"percentage"
  }
]
```

{% endtab %}

{% tab title="tax\_lines" %}

```json5
[
  {
    "price":6,
    "rate":0.06,
    "title": "State Tax"
  }
]
```

{% endtab %}

{% tab title="customer" %}

```json5
{
    "first_name":"Paul",
    "last_name":"Norman",
    "email":"paul.norman@example.com"
}
```

{% endtab %}
{% endtabs %}

***

## Fulfillment

### Outbound Sync: Create

This operation fulfills an existing unfulfilled order's items given the fulfillment order ID.\
Orders that have all items fulfilled will be marked as fulfilled.\
Orders that have only part of it's items fulfilled will be marked as partially fulfilled.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>line_items_by_fulfillment_order</code></td><td>array of objects</td><td><a href="#object-examples-fulfillment">Example under "Object Examples"</a></td></tr><tr><td><code>message</code></td><td>string</td><td>Leave at doorstep</td></tr><tr><td><code>notify_customer</code></td><td>boolean</td><td>TRUE | FALSE</td></tr><tr><td><code>origin_address</code></td><td>object</td><td><a href="#object-examples-fulfillment">Example under "Object Examples"</a></td></tr><tr><td><code>tracking_info</code></td><td>object</td><td><a href="#object-examples-fulfillment">Example under "Object Examples"</a></td></tr></tbody></table>

### Outbound Sync: Update

This operations updates an existing **fulfilled** order's details, such as the tracking information and delivery company.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>record_id</code></td><td>number</td><td>4123456789</td></tr><tr><td><code>tracking_info</code></td><td>object</td><td><a href="#object-examples-fulfillment">Example under "Object Examples"</a></td></tr><tr><td><code>notify_customer</code></td><td>boolean</td><td>TRUE | FALSE</td></tr></tbody></table>

### Outbound Sync: Upsert

This operation will fulfill an order if the order has never been fulfilled with this sync operation. This operation will update the existing fulfillment's details if the order was previously fulfilled from this sync operation.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>line_items_by_fulfillment_order</code></td><td>array of objects</td><td><a href="#object-examples-fulfillment">Example under "Object Examples"</a></td></tr><tr><td>*<code>record_id</code></td><td>number</td><td>4123456789</td></tr><tr><td><code>tracking_info</code></td><td>object</td><td><a href="#object-examples-fulfillment">Example under "Object Examples"</a></td></tr><tr><td><code>notify_customer</code></td><td>boolean</td><td>TRUE | FALSE</td></tr></tbody></table>

### Outbound Sync: Delete

This operation will **unfulfill** an order, changing the items of orders from fulfilled into unfulfilled state.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>record_id</code></td><td>number</td><td>4123456789</td></tr></tbody></table>

#### Object Examples (Fulfillment)

{% tabs %}
{% tab title="line\_items\_by\_fulfillment\_order" %}

```json5
[
  // only fulfillment_order_id is required
  // fulfillment_order_line_items is optional
  {
    "fulfillment_order_id":1046000819,
    "fulfillment_order_line_items":[{ "id":1058737537, "quantity":1 }]
  }
]
```

{% endtab %}

{% tab title="origin\_address" %}

```json5
{
   "address1": "123 Test Street",
   "address2": "Test Town",
   "city": "Sydney",
   "country_code": "AU",
   "province_code": "B1",
   "zip": "2000"
}
```

{% endtab %}

{% tab title="tracking\_info" %}

```json5
{
    // company - The name of the tracking company.
    "company":"FedEx",
    // number - The tracking number for the fulfillment. 
    "number": "MS1562678",
    // url - The URL to track the fulfillment. 
    "url": "https://www.my-shipping-company.com?tracking=MS1562678"
}
```

{% endtab %}
{% endtabs %}

## Product Variant

### Outbound Sync: Create

This operation creates a new product variant from a product.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>product_id</code></td><td>number</td><td>123456789</td></tr><tr><td><code>title</code></td><td>string</td><td>Pen (Blue)</td></tr><tr><td><code>price</code></td><td>string</td><td>15.99</td></tr></tbody></table>

### Outbound Sync: Update

This operation updates an existing product variant from a product.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>record_id</code></td><td>number</td><td>123456789</td></tr><tr><td>*<code>product_id</code></td><td>number</td><td>123456789</td></tr><tr><td><code>title</code></td><td>string</td><td>Pen (Blue)</td></tr><tr><td><code>price</code></td><td>string</td><td>15.99</td></tr></tbody></table>

### Outbound Sync: Upsert

This operation updates an existing product variant from a product, or creates a new product variant if the same title does not exist.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>product_id</code></td><td>number</td><td>123456789</td></tr><tr><td>*<code>record_id</code></td><td>number</td><td>123456789</td></tr><tr><td><code>title</code></td><td>string</td><td>Pen (Blue)</td></tr><tr><td><code>price</code></td><td>string</td><td>15.99</td></tr></tbody></table>

### Outbound Sync: Delete

This operation deletes an exisitng product variant from a product.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>product_id</code></td><td>number</td><td>123456789</td></tr></tbody></table>

***

## Inventory Item Levels

Inventory Item Levels syncs the inventory count of a **product variant** at a **location**.

An inventory level is the object that connects between a product variant and a location, allowing stock to be moved from/into the location.

### Outbound Sync: Create

This operation creates a new inventory level between an inventory item and a location. Having an inventory level allows stock to be stocked at that specified location.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>inventory_item_id</code></td><td>number</td><td>123456789</td></tr><tr><td><code>inventory_level_amount</code></td><td>object</td><td><a href="#object-examples-inventory-item-levels">Example under "Object Examples"</a></td></tr></tbody></table>

### Outbound Sync: Update

This operation updates the inventory level stock count between an inventory item and a location. It replaces the stock count for that inventory level.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>inventory_item_id</code></td><td>number</td><td>123456789</td></tr><tr><td><code>quantity_name</code></td><td>string</td><td>available | on_hand</td></tr><tr><td><code>inventory_level_amount</code></td><td>object</td><td><a href="#object-examples-inventory-item-levels">Example under "Object Examples"</a></td></tr></tbody></table>

### Outbound Sync: Upsert

This operation updates the inventory level stock count between an inventory item and a location. If there is no exsiting inventory level to update, it will create a new inventory level with the corresponding amount initially stocked.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>inventory_item_id</code></td><td>number</td><td>123456789</td></tr><tr><td><code>quantity_name</code></td><td>string</td><td>available | on_hand</td></tr><tr><td><code>inventory_level_amount</code></td><td>object</td><td><a href="#object-examples-inventory-item-levels">Example under "Object Examples"</a></td></tr></tbody></table>

### Outbound Sync: Delete

This operation deletes the inventory level.

<table><thead><tr><th width="279">Field Name</th><th width="130">Type</th><th>Example</th></tr></thead><tbody><tr><td>*<code>inventory_item_id</code></td><td>number</td><td>123456789</td></tr><tr><td><code>inventory_level_amount</code></td><td>object</td><td><a href="#object-examples-inventory-item-levels">Example under "Object Examples"</a></td></tr></tbody></table>

{% hint style="warning" %}
If the given inventory level (the combination of inventory\_item\_id and location\_id) is the last remaining inventory level associated with the product variant, it cannot be deleted.
{% endhint %}

#### Object Examples (Inventory Item Levels)

{% tabs %}
{% tab title="inventory\_level\_amount" %}

```json5
{
    // "5600902030" the location ID of the object
    // 200: the quantity that needs to be stocked at the location
    "5473020810": 100,
    "5600902030": 200,
    "5473020810": 300
}
```

{% endtab %}
{% endtabs %}
