> This page is for Developer.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.bigcommerce.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.bigcommerce.com/_mcp/server.

# Add Consignment to Checkout

POST https://api.bigcommerce.com/stores/{store_hash}/v3/checkouts/{checkoutId}/consignments
Content-Type: application/json

Adds a new consignment to a checkout.


To prevent lost updates due to concurrent requests overriding changes made by others, it is recommended to enable optimistic concurrency control by including the `version` field in the request payload. If the provided version does not match the version on the server, a conflict error will be returned, which the client can handle accordingly.

For more information about working with consignments, see [Checkout consignment](/developer/docs/admin/checkout-and-cart/custom-checkouts/consignments).  

Though the only required `address` properties to create a consignment are `email` and `country_code`, to successfully [create an order](/developer/api-reference/rest/admin/management/checkouts/orders/create-order) the `address` requires the following properties:
* `first_name`
* `last_name`
* `address1`
* `city`
* `country`
* `email`
* `country_code`

Depending on the country, the following `address` properties may also be required:

* `postal_code`
* `state_or_province`

Reference: https://docs.bigcommerce.com/developer/api-reference/rest/admin/management/checkouts/consignments/add-checkout-consignment

## Authentication

- `X-Auth-Token` header (required) — ### OAuth scopes | UI Name | Permission | Parameter | |:--------|:-----------|:----------| | Checkouts | modify | `store_checkouts` | | Checkouts | read-only | `store_checkouts_read_only` | | Checkout Content | modify | `store_checkout_content` | | Checkout Content | read-only | `store_checkout_content_read_only` | ### Authentication header | Header | Argument | Description | |:-------|:---------|:------------| | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). | ### Further reading For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests). For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes). For a list of API status codes, see [API Status Codes](/developer/api-reference/rest/overview#rest-http-status-codes).

## Request

### Path parameters

- `checkoutId` (string, required) — ID of the checkout; the same as the cart ID.
- `store_hash` (string, required) — Permanent ID of the BigCommerce store.

### Query parameters

- `include` (enum, optional) — Include the shipping options available to this checkout.
  - Allowed values: `consignments.available_shipping_options`

### Headers

- `Accept` (string, required, default: application/json) — The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.

### Body (application/json)

This endpoint expects a list of CreateConsignmentRequestItems.

- `list of CreateConsignmentRequestItems`

## Response

### 200

OK

- `data` (Checkout, optional)
- `meta` (MetaOpen, optional) — Response metadata.

## Errors

### 409 Conflict Error

Cart conflict

- `status` (integer, optional)
- `title` (string, optional)
- `type` (string, optional)

## Types

### CreateConsignmentRequestItems

- `address` (CreateConsignmentRequestItemsAddress, optional)
- `line_items` (list of CreateConsignmentRequestItemsLineItemsItems, optional)
- `pickup_option` (CreateConsignmentRequestItemsPickupOption, optional) — Assigns a pickup consignment. Note: You cannot assign a shipping method with a pickup consignment.
- `version` (integer, optional) — The cart version that you expect to apply the updates. If the provided version doesn't match the current cart version, you will receive a conflict error. This field is optional; if not provided, optimistic concurrency control will not apply.

### Checkout

- `id` (string, optional)
- `cart` (CheckoutCart, optional)
- `billing_address` (CheckoutBillingAddress, optional)
- `consignments` (list of CheckoutConsignmentsItems, optional)
- `taxes` (list of CheckoutTaxesItems, optional)
- `coupons` (list of AppliedCoupon, optional) — Coupons applied at checkout level.
- `fees` (list of CheckoutFee, optional) — Fees applied at the checkout level.
- `order_id` (string, optional, nullable)
- `shipping_cost_total_inc_tax` (double, optional) — Shipping cost before any discounts are applied including tax.
- `shipping_cost_total_ex_tax` (double, optional) — Shipping cost before any discounts are applied excluding tax.
- `handling_cost_total_inc_tax` (double, optional) — Handling cost for all consignments including tax.
- `handling_cost_total_ex_tax` (double, optional) — Handling cost for all consignments excluding tax.
- `tax_total` (double, optional)
- `subtotal_inc_tax` (double, optional) — Subtotal of the checkout before applying item-level discounts including tax.
- `subtotal_ex_tax` (double, optional) — Subtotal of the checkout before applying item-level discounts excluding tax.
- `grand_total` (double, optional) — The total payable amount, before applying any store credit or a gift certificate.
- `created_time` (string, optional) — Time when the cart was created.
- `updated_time` (string, optional) — Time when the cart was last updated.
- `customer_message` (string, optional) — Shopper's message provided as details for the order to be created from this checkout.
- `promotions` (list of CheckoutPromotionsItems, optional)
- `version` (integer, optional) — The current version of the checkout increments with each successful update. You can use it to enable optimistic concurrency control for subsequent updates.

### MetaOpen

Response metadata.

### CreateConsignmentRequestItemsAddress

- `email` (string, required)
- `state_or_province` (string, required) — Represents state or province.
- `country_code` (string, required)
- `postal_code` (string, required)
- `first_name` (string, optional)
- `last_name` (string, optional)
- `company` (string, optional)
- `address1` (string, optional)
- `address2` (string, optional)
- `city` (string, optional)
- `state_or_province_code` (string, optional)
- `phone` (string, optional)
- `custom_fields` (list of CreateConsignmentRequestItemsAddressCustomFieldsItems, optional) — You can retrieve custom fields from the [Get Form Fields](/developer/api-reference/rest/storefront/form-fields/get-form-fields) endpoint.

### CreateConsignmentRequestItemsLineItemsItems

- `item_id` (string, required) — Corresponds to `line_items.physical_items[N].id` value from `GET`checkout response.
- `quantity` (integer, required)

### CreateConsignmentRequestItemsPickupOption

Assigns a pickup consignment. Note: You cannot assign a shipping method with a pickup consignment.

- `pickup_method_id` (integer, optional)

### CheckoutCart

- `id` (string, optional) — Cart ID, provided after creating a cart with a POST request.
- `customer_id` (integer, optional) — ID of the customer to which the cart belongs.
- `email` (string, optional) — The email address of the cart. This is the same email address that is used in the billing address.
- `currency` (CheckoutCartCurrency, optional)
- `tax_included` (boolean, optional) — Indicates whether product prices are shown inclusive of sales tax.
- `base_amount` (double, optional) — Sum of cart line-item amounts before cart-level discounts, coupons, or taxes are applied.
- `channel_id` (double, optional) — ID of channel
- `discount_amount` (double, optional) — The amount includes order-level automatic promotions plus manual discounts and excludes coupon and product-based discounts.
- `cart_amount_inc_tax` (double, optional) — Sum of cart line-item amounts minus cart-level discounts and coupons including tax.
- `cart_amount_ex_tax` (double, optional) — Sum of cart line-item amounts minus cart-level discounts and coupons excluding tax.
- `coupons` (list of CheckoutCartCouponsItems, optional)
- `discounts` (list of CheckoutCartDiscountsItems, optional)
- `line_items` (CheckoutCartLineItems, optional)
- `created_time` (string, optional) — Time when the cart was created.
- `updated_time` (string, optional) — Time when the cart was last updated.

### CheckoutBillingAddress

- `first_name` (string, optional)
- `last_name` (string, optional)
- `email` (string, optional)
- `company` (string, optional)
- `address1` (string, optional)
- `address2` (string, optional)
- `city` (string, optional)
- `state_or_province` (string, optional) — Represents state or province.
- `state_or_province_code` (string, optional)
- `country_code` (string, optional)
- `postal_code` (string, optional)
- `phone` (string, optional)
- `custom_fields` (list of CheckoutBillingAddressCustomFieldsItems, optional)
- `id` (string, optional)

### CheckoutConsignmentsItems

This allows the use of multiple addresses. When there is only one address, this array will contain only one value, with all the items.

- `id` (string, optional)
- `shippingAddress` (CheckoutConsignmentsItemsShippingAddress, optional)
- `address` (CheckoutConsignmentsItemsAddress, optional)
- `available_shipping_options` (list of CheckoutConsignmentsItemsAvailableShippingOptionsItems, optional) — This is available only when "include=consignments.available_shipping_options" is presented in the URL.
- `selected_shipping_option` (CheckoutConsignmentsItemsSelectedShippingOption, optional)
- `coupon_discounts` (list of CheckoutConsignmentsItemsCouponDiscountsItems, optional) — List of consignment discounts applied through coupons.
- `discounts` (list of CheckoutConsignmentsItemsDiscountsItems, optional) — List of consignment discounts applied through cart-level discounts.
- `shipping_cost_inc_tax` (double, optional) — The shipping cost for this consignment including tax.
- `shipping_cost_ex_tax` (double, optional) — The shipping cost for this consignment excluding tax.
- `handling_cost_inc_tax` (double, optional) — The handling cost of shipping for this consignment including tax.
- `handling_cost_ex_tax` (double, optional) — The handling cost of shipping for this consignment excluding tax.
- `line_item_ids` (list of string, optional) — Array lists only one line item. To display multiple `line_item_ids`, perform a `POST` request to add consignments to the checkout using the same address.
- `selected_pickup_option` (PickupOption, optional)

### CheckoutTaxesItems

- `name` (string, optional) — Name of the tax.
- `amount` (double, optional)

### AppliedCoupon

- `code` (string, required) — The coupon code.
- `id` (integer, optional) — The coupon ID.
- `coupon_type` (string, optional) — Key name to identify the type of coupon.
- `display_name` (string, optional) — The display name of the coupon.
- `discounted_amount` (float, optional) — The discounted amount applied within a given context.

### CheckoutFee

- `id` (string, optional) — The fee ID.
- `type` (enum, optional) — The type of the fee.
  - Allowed values: `custom_fee`
- `name` (string, optional) — Name of the fee.
- `display_name` (string, optional) — Display name of the fee targeting customers/shoppers.
- `cost_inc_tax` (double, optional) — Cost of the fee including tax.
- `cost_ex_tax` (double, optional) — Cost of the fee excluding tax.
- `source` (string, optional) — The source of the request.
- `tax_class_id` (integer, optional, nullable) — The tax class ID.

### CheckoutPromotionsItems

- `banners` (list of CheckoutPromotionsItemsBannersItems, optional)

### CreateConsignmentRequestItemsAddressCustomFieldsItems

- `field_id` (string, required) — You must provide the form field ID value as the `field_id`.
- `field_value` (string, optional) — This can also be an array for fields that need to support a list of values (e.g., a set of check boxes.)

### CheckoutCartCurrency

- `code` (string, optional) — ISO-4217 currency code. (See: https://www.iso.org/iso-4217-currency-codes.html.)

### CheckoutCartCouponsItems

- `code` (string, required) — The coupon code.
- `id` (integer, optional) — The coupon ID.
- `coupon_type` (string, optional) — Key name to identify the type of coupon.
- `discounted_amount` (float, optional) — The discounted amount applied within a given context.
- `display_name` (string, optional) — The display name of the coupon.

### CheckoutCartDiscountsItems

- `id` (string, optional) — ID of the applied discount.
- `discounted_amount` (double, optional) — The discounted amount applied within a given context.

### CheckoutCartLineItems

- `physical_items` (list of CheckoutCartLineItemsPhysicalItemsItems, required)
- `digital_items` (list of CheckoutCartLineItemsDigitalItemsItems, required)
- `gift_certificates` (list of CheckoutCartLineItemsGiftCertificatesItems, required)
- `custom_items` (list of CheckoutCartLineItemsCustomItemsItems, optional)

### CheckoutBillingAddressCustomFieldsItems

- `field_id` (string, optional)
- `field_value` (string, optional) — This can also be an array for fields that need to support a list of values (e.g., a set of check boxes.)

### CheckoutConsignmentsItemsShippingAddress

### CheckoutConsignmentsItemsAddress

- `email` (string, required)
- `country_code` (string, required)
- `first_name` (string, optional)
- `last_name` (string, optional)
- `company` (string, optional)
- `address1` (string, optional)
- `address2` (string, optional)
- `city` (string, optional)
- `state_or_province` (string, optional) — Represents state or province.
- `state_or_province_code` (string, optional)
- `postal_code` (string, optional)
- `phone` (string, optional)
- `custom_fields` (list of CheckoutConsignmentsItemsAddressCustomFieldsItems, optional)
- `id` (string, optional)

### CheckoutConsignmentsItemsAvailableShippingOptionsItems

- `description` (string, optional)
- `id` (string, optional)
- `type` (string, optional) — Specifies the type of shipping option, such as flat rate, UPS, etc.
- `image_url` (string, optional)
- `cost` (double, optional)
- `transit_time` (string, optional) — An estimate of the arrival time.
- `additional_description` (string, optional) — Read-only field that is used for the Shipping Provider API.

### CheckoutConsignmentsItemsSelectedShippingOption

- `description` (string, optional)
- `id` (string, optional)
- `type` (string, optional) — Specifies the type of shipping option, such as flat rate, UPS, etc.
- `image_url` (string, optional)
- `cost` (double, optional)
- `transit_time` (string, optional) — An estimate of the arrival time.
- `additional_description` (string, optional) — Read-only field that is used for the Shipping Provider API.

### CheckoutConsignmentsItemsCouponDiscountsItems

- `code` (string, optional) — Coupon code through which this discount was applied.
- `amount` (double, optional)

### CheckoutConsignmentsItemsDiscountsItems

- `id` (integer, optional) — Discount rule ID that applied this discount.

### PickupOption

- `pickup_method_id` (integer, optional)

### CheckoutPromotionsItemsBannersItems

- `id` (string, optional) — ID of the promotion.
- `type` (string, optional) — Type of the banner.
- `page` (list of string, optional) — An array of the locations where the banner will display.
- `text` (string, optional) — Text of the banner.

### CheckoutCartLineItemsPhysicalItemsItems

- `quantity` (double, required)
- `id` (string, optional) — The line-item ID.
- `variant_id` (double, optional)
- `product_id` (double, optional)
- `sku` (string, optional)
- `name` (string, optional) — The product name of the item.
- `url` (string, optional) — The product URL.
- `is_taxable` (boolean, optional)
- `image_url` (string, optional)
- `discounts` (list of CheckoutCartLineItemsPhysicalItemsItemsDiscountsItems, optional)
- `discount_amount` (double, optional) — The total value of all discounts applied to this item.
- `coupon_amount` (double, optional) — The total value of all coupons applied to this item.
- `original_price` (double, optional) — An item’s original price is the same as the default price of the product configured in the admin panel.
- `list_price` (double, optional) — The net item price before discounts and coupons are applied. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.
- `sale_price` (double, optional) — Price of the item after all discounts are applied. (The final price before tax calculation.)
- `extended_list_price` (double, optional) — List price of the item multiplied by the quantity.
- `extended_sale_price` (double, optional) — Sale price of the item multiplied by the quantity.
- `comparison_price` (double, optional) — The price of a single product used for strike-through.
- `extended_comparison_price` (double, optional) — The price of a line item (product * quantity) used for strike-through.
- `is_require_shipping` (boolean, optional)
- `is_mutable` (boolean, optional)
- `added_by_promotion` (boolean, optional) — Whether or not a promotion added an additional item.
- `parent_id` (double, optional, nullable)
- `gift_wrapping` (CheckoutCartLineItemsPhysicalItemsItemsGiftWrapping, optional, nullable)
- `stock_position` (CheckoutCartLineItemsPhysicalItemsItemsStockPosition, optional) — Backorder and stock availability details for this line item. Only returned when explicitly requested via `include=cart.line_items.physical_items.stock_position` (or the `digital_items` equivalent) — not included by default.

### CheckoutCartLineItemsDigitalItemsItems

- `quantity` (double, required)
- `id` (string, optional) — The line-item ID.
- `variant_id` (double, optional)
- `parent_id` (double, optional, nullable)
- `product_id` (double, optional)
- `sku` (string, optional)
- `name` (string, optional) — The product name of the item.
- `url` (string, optional) — The product URL.
- `is_mutable` (boolean, optional)
- `is_require_shipping` (boolean, optional)
- `added_by_promotion` (boolean, optional) — Whether or not a promotion added an additional item.
- `is_taxable` (boolean, optional)
- `image_url` (string, optional)
- `discounts` (list of CheckoutCartLineItemsDigitalItemsItemsDiscountsItems, optional)
- `discount_amount` (double, optional) — The total value of all discounts applied to this item.
- `coupon_amount` (double, optional) — The total value of all coupons applied to this item.
- `original_price` (double, optional) — An item’s original price is the same as the product default price in the admin panel.
- `list_price` (double, optional) — The net item price before discounts and coupons are applied. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.
- `sale_price` (double, optional) — Price of the item after all discounts are applied. (The final price before tax calculation.)
- `extended_list_price` (double, optional) — List price of the item multiplied by the quantity.
- `extended_sale_price` (double, optional) — Sale price of the item multiplied by the quantity.
- `comparison_price` (double, optional) — The price of a single product used for strike-through.
- `extended_comparison_price` (double, optional) — The price of a line item (product * quantity) used for strike-through.

### CheckoutCartLineItemsGiftCertificatesItems

- `theme` (string, required) — Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.
- `amount` (double, required) — Value must be between 1.00 and 1,000.00 in the store’s default currency.
- `sender` (CheckoutCartLineItemsGiftCertificatesItemsSender, required)
- `recipient` (CheckoutCartLineItemsGiftCertificatesItemsRecipient, required)
- `id` (string, optional)
- `name` (string, optional) — GiftCertificate-provided name that will appear in the control panel.
- `taxable` (boolean, optional)
- `message` (string, optional) — Limited to 200 characters.

### CheckoutCartLineItemsCustomItemsItems

- `quantity` (double, required)
- `id` (string, optional)
- `extended_list_price` (double, optional)
- `list_price` (double, optional)
- `sku` (string, optional)
- `name` (string, optional)
- `image_url` (string, optional)

### CheckoutConsignmentsItemsAddressCustomFieldsItems

- `field_id` (string, optional)
- `field_value` (string, optional) — This can also be an array for fields that need to support a list of values (e.g., a set of check boxes.)

### CheckoutCartLineItemsPhysicalItemsItemsDiscountsItems

- `id` (CheckoutCartLineItemsPhysicalItemsItemsDiscountsItemsId, optional) — The string value is always equal to "manual-discount" regardless of the input.
- `discounted_amount` (double, optional) — The discounted amount applied within a given context.

### CheckoutCartLineItemsPhysicalItemsItemsGiftWrapping

- `name` (string, optional)
- `message` (string, optional)
- `amount` (double, optional)
- `amount_as_integer` (double, optional)

### CheckoutCartLineItemsPhysicalItemsItemsStockPosition

Backorder and stock availability details for this line item. Only returned when explicitly requested via `include=cart.line_items.physical_items.stock_position` (or the `digital_items` equivalent) — not included by default.

- `quantity_on_hand` (integer, optional) — Number of units currently in stock and available to fulfill this line item without backordering.
- `quantity_backordered` (integer, optional) — Number of units from this line item that are fulfilled via backorder.
- `quantity_out_of_stock` (integer, optional) — Number of units from this line item that are out of stock and unavailable for backorder.
- `backorder_message` (string, optional, nullable) — Backorder messaging shown to the customer for this line item. `null` if no backorder message applies.

### CheckoutCartLineItemsDigitalItemsItemsDiscountsItems

- `id` (string, optional) — ID of the applied discount.
- `discounted_amount` (double, optional) — The discounted amount applied within a given context.

### CheckoutCartLineItemsGiftCertificatesItemsSender

- `name` (string, optional)
- `email` (string, optional)

### CheckoutCartLineItemsGiftCertificatesItemsRecipient

- `name` (string, optional)
- `email` (string, optional)

### CheckoutCartLineItemsPhysicalItemsItemsDiscountsItemsId

The string value is always equal to "manual-discount" regardless of the input.

## Examples

### Available Shipping Options

**Response**

```json
{
  "data": {
    "id": "306d57d7-124e-4112-82cd-35e060c0d4d9",
    "cart": {
      "id": "306d57d7-124e-4112-82cd-35e060c0d4d9",
      "customer_id": 11,
      "email": "janedoe@example.com",
      "currency": {
        "code": "USD"
      },
      "base_amount": 31.95,
      "channel_id": 1,
      "discount_amount": 0,
      "cart_amount_inc_tax": 33.23,
      "cart_amount_ex_tax": 31.95,
      "coupons": [
        {
          "code": "SHOP20",
          "id": 1,
          "coupon_type": "percentage_discount",
          "discounted_amount": 0.9,
          "display_name": "20% Off"
        }
      ],
      "discounts": [
        {
          "id": "8edef915-8e8e-4ebd-bece-31fbb1191a7e",
          "discounted_amount": 0
        }
      ],
      "line_items": {
        "physical_items": [
          {
            "quantity": 1,
            "id": "8edef915-8e8e-4ebd-bece-31fbb1191a7e",
            "variant_id": 359,
            "product_id": 188,
            "sku": "DUST1",
            "name": "Hello",
            "url": "https://{store_hash}/all/dustpan-brush/",
            "is_taxable": true,
            "image_url": "https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2",
            "discounts": [],
            "discount_amount": 0,
            "coupon_amount": 0,
            "original_price": 35.95,
            "list_price": 31.95,
            "sale_price": 33.23,
            "extended_list_price": 31.95,
            "extended_sale_price": 33.23,
            "is_require_shipping": true,
            "parent_id": 123,
            "gift_wrapping": {},
            "coupons": []
          }
        ],
        "digital_items": [],
        "gift_certificates": [],
        "custom_items": []
      },
      "created_time": "2019-08-05T15:38:14+00:00",
      "updated_time": "2019-08-05T15:41:28+00:00"
    },
    "billing_address": {
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "janedoe@example.com",
      "company": "BigCommerce",
      "address1": "123 Main Street",
      "address2": "Apt 1",
      "city": "Austin",
      "state_or_province": "",
      "state_or_province_code": "",
      "country_code": "",
      "postal_code": "",
      "phone": "12125685555",
      "custom_fields": [],
      "id": "5d484d668e5aa",
      "country": ""
    },
    "consignments": [
      {
        "id": "5d484e28d20a8",
        "address": {
          "email": "jane2@example.com",
          "country_code": "US",
          "first_name": "BigCommerce",
          "last_name": "Cart/Checkout",
          "company": "",
          "address1": "123 Main Street",
          "address2": "",
          "city": "Austin",
          "state_or_province": "Texas",
          "state_or_province_code": "TX",
          "postal_code": "78751",
          "phone": "688546",
          "country": "United States",
          "customFields": [
            {
              "field_id": "field_25",
              "field_value": "Great!"
            }
          ]
        },
        "available_shipping_options": [
          {
            "description": "Ship by Weight",
            "id": "006a58a98c9a844225552ee2a9c60ca8",
            "type": "shipping_byweight",
            "image_url": "",
            "cost": 8,
            "transit_time": "",
            "additional_description": ""
          },
          {
            "description": "Flat Rate",
            "id": "722d78b5120de60a725e41be9bb8d999",
            "type": "shipping_flatrate",
            "image_url": "",
            "cost": 12,
            "transit_time": "",
            "additional_description": ""
          },
          {
            "description": "UPS® (UPS Next Day Air®)",
            "id": "71090fa93c8985348892543c3f4887b6",
            "type": "shipping_upsready",
            "image_url": "",
            "cost": 43.9,
            "transit_time": "1 business day",
            "additional_description": ""
          }
        ],
        "coupon_discounts": [],
        "discounts": [],
        "shipping_cost_inc_tax": 0,
        "shipping_cost_ex_tax": 0,
        "handling_cost_inc_tax": 0,
        "handling_cost_ex_tax": 0,
        "line_item_ids": [
          "8edef915-8e8e-4ebd-bece-31fbb1191a7e"
        ]
      }
    ],
    "taxes": [
      {
        "name": "Tax",
        "amount": 1.28
      }
    ],
    "coupons": [
      {
        "code": "SHOP20",
        "id": 1,
        "coupon_type": "percentage_discount",
        "display_name": "20% Off",
        "discounted_amount": 0.9
      }
    ],
    "shipping_cost_total_inc_tax": 0,
    "shipping_cost_total_ex_tax": 0,
    "handling_cost_total_inc_tax": 0,
    "handling_cost_total_ex_tax": 0,
    "tax_total": 1.28,
    "subtotal_inc_tax": 33.23,
    "subtotal_ex_tax": 31.95,
    "grand_total": 33.23,
    "created_time": "2019-08-05T15:38:14+00:00",
    "updated_time": "2019-08-05T15:41:28+00:00",
    "customer_message": ""
  },
  "meta": {}
}
```

**SDK Code**

```python Available Shipping Options
import requests

url = "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments"

headers = {
    "Accept": "application/json",
    "X-Auth-Token": "<apiKey>"
}

response = requests.post(url, headers=headers)

print(response.json())
```

```javascript Available Shipping Options
const url = 'https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments';
const options = {
  method: 'POST',
  headers: {Accept: 'application/json', 'X-Auth-Token': '<apiKey>'}
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Available Shipping Options
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments"

	req, _ := http.NewRequest("POST", url, nil)

	req.Header.Add("Accept", "application/json")
	req.Header.Add("X-Auth-Token", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Available Shipping Options
require 'uri'
require 'net/http'

url = URI("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json'
request["X-Auth-Token"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java Available Shipping Options
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")
  .header("Accept", "application/json")
  .header("X-Auth-Token", "<apiKey>")
  .asString();
```

```php Available Shipping Options
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments', [
  'headers' => [
    'Accept' => 'application/json',
    'X-Auth-Token' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Available Shipping Options
using RestSharp;

var client = new RestClient("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json");
request.AddHeader("X-Auth-Token", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift Available Shipping Options
import Foundation

let headers = [
  "Accept": "application/json",
  "X-Auth-Token": "<apiKey>"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Selected Shipping Options

**Response**

```json
{
  "data": {
    "id": "306d57d7-124e-4112-82cd-35e060c0d4d9",
    "cart": {
      "id": "306d57d7-124e-4112-82cd-35e060c0d4d9",
      "customer_id": 11,
      "email": "janedoe@example.com",
      "currency": {
        "code": "USD"
      },
      "base_amount": 31.95,
      "channel_id": 1,
      "discount_amount": 0,
      "cart_amount_inc_tax": 33.23,
      "cart_amount_ex_tax": 31.95,
      "coupons": [],
      "discounts": [
        {
          "id": "8edef915-8e8e-4ebd-bece-31fbb1191a7e",
          "discounted_amount": 0
        }
      ],
      "line_items": {
        "physical_items": [
          {
            "quantity": 1,
            "id": "8edef915-8e8e-4ebd-bece-31fbb1191a7e",
            "variant_id": 359,
            "product_id": 188,
            "sku": "DUST1",
            "name": "Hello",
            "url": "https://{store_hash}/all/dustpan-brush/",
            "is_taxable": true,
            "image_url": "https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2",
            "discounts": [],
            "discount_amount": 0,
            "coupon_amount": 0,
            "original_price": 35.95,
            "list_price": 31.95,
            "sale_price": 33.23,
            "extended_list_price": 31.95,
            "extended_sale_price": 33.23,
            "is_require_shipping": true,
            "parent_id": 123,
            "coupons": []
          }
        ],
        "digital_items": [],
        "gift_certificates": [],
        "custom_items": []
      },
      "created_time": "2019-08-05T15:38:14+00:00",
      "updated_time": "2019-08-05T15:41:28+00:00"
    },
    "billing_address": {
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "janedoe@example.com",
      "company": "BigCommerce",
      "address1": "123 Main Street",
      "address2": "Apt 1",
      "city": "Austin",
      "state_or_province": "",
      "state_or_province_code": "",
      "country_code": "",
      "postal_code": "",
      "phone": "12125559659",
      "custom_fields": [],
      "id": "5d484d668e5aa",
      "country": ""
    },
    "consignments": [
      {
        "id": "5d484e28d20a8",
        "address": {
          "email": "jane2@example.com",
          "country_code": "US",
          "first_name": "BigCommerce",
          "last_name": "Cart/Checkout",
          "company": "",
          "address1": "123 Main Street",
          "address2": "",
          "city": "Austin",
          "state_or_province": "Texas",
          "state_or_province_code": "TX",
          "postal_code": "78751",
          "phone": "688546",
          "country": "United States",
          "customFields": [
            {
              "field_id": "field_25",
              "field_value": "Great!"
            }
          ]
        },
        "selected_shipping_option": {
          "description": "Ship by Weight",
          "id": "006a58a98c9a844225552ee2a9c60ca8",
          "type": "shipping_byweight",
          "image_url": "",
          "cost": 8,
          "transit_time": "",
          "additional_description": ""
        },
        "coupon_discounts": [],
        "discounts": [],
        "shipping_cost_inc_tax": 8.32,
        "shipping_cost_ex_tax": 8,
        "handling_cost_inc_tax": 0,
        "handling_cost_ex_tax": 0,
        "line_item_ids": [
          "8edef915-8e8e-4ebd-bece-31fbb1191a7e"
        ]
      }
    ],
    "taxes": [
      {
        "name": "Tax",
        "amount": 1.6
      }
    ],
    "coupons": [],
    "shipping_cost_total_inc_tax": 8.32,
    "shipping_cost_total_ex_tax": 8,
    "handling_cost_total_inc_tax": 0,
    "handling_cost_total_ex_tax": 0,
    "tax_total": 1.6,
    "subtotal_inc_tax": 33.23,
    "subtotal_ex_tax": 31.95,
    "grand_total": 41.55,
    "created_time": "2019-08-05T15:38:14+00:00",
    "updated_time": "2019-08-05T15:41:28+00:00",
    "customer_message": ""
  },
  "meta": {}
}
```

**SDK Code**

```python Selected Shipping Options
import requests

url = "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments"

headers = {
    "Accept": "application/json",
    "X-Auth-Token": "<apiKey>"
}

response = requests.post(url, headers=headers)

print(response.json())
```

```javascript Selected Shipping Options
const url = 'https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments';
const options = {
  method: 'POST',
  headers: {Accept: 'application/json', 'X-Auth-Token': '<apiKey>'}
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Selected Shipping Options
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments"

	req, _ := http.NewRequest("POST", url, nil)

	req.Header.Add("Accept", "application/json")
	req.Header.Add("X-Auth-Token", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Selected Shipping Options
require 'uri'
require 'net/http'

url = URI("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json'
request["X-Auth-Token"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java Selected Shipping Options
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")
  .header("Accept", "application/json")
  .header("X-Auth-Token", "<apiKey>")
  .asString();
```

```php Selected Shipping Options
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments', [
  'headers' => [
    'Accept' => 'application/json',
    'X-Auth-Token' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Selected Shipping Options
using RestSharp;

var client = new RestClient("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json");
request.AddHeader("X-Auth-Token", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift Selected Shipping Options
import Foundation

let headers = [
  "Accept": "application/json",
  "X-Auth-Token": "<apiKey>"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Coupon Applied

**Response**

```json
{
  "data": {
    "id": "267c5d6f-0d27-48ea-b731-e7832a4c5537",
    "cart": {
      "id": "267c5d6f-0d27-48ea-b731-e7832a4c5537",
      "customer_id": 25,
      "email": "customer@example.com",
      "currency": {
        "code": "USD"
      },
      "base_amount": 67,
      "channel_id": 1,
      "discount_amount": 0,
      "cart_amount_inc_tax": 53.6,
      "cart_amount_ex_tax": 53.6,
      "coupons": [
        {
          "code": "SHOP20",
          "id": 1,
          "coupon_type": "percentage_discount",
          "discounted_amount": 13.4,
          "display_name": "20% Off"
        }
      ],
      "discounts": [
        {
          "id": "985c79a3-4c94-4104-923a-2e3d4572e72d",
          "discounted_amount": 7
        },
        {
          "id": "b0adf3a7-7a92-44d9-ad46-87235b118e48",
          "discounted_amount": 6.4
        }
      ],
      "line_items": {
        "physical_items": [
          {
            "quantity": 1,
            "id": "b0adf3a7-7a92-44d9-ad46-87235b118e48",
            "variant_id": 528,
            "product_id": 145,
            "sku": "htltwl-001",
            "name": "Hotel Towel",
            "url": "https://example.com/hotel-towel/",
            "is_taxable": true,
            "image_url": "https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1",
            "discounts": [
              {
                "id": "coupon",
                "discounted_amount": 6.4
              }
            ],
            "discount_amount": 0,
            "coupon_amount": 6.4,
            "original_price": 32,
            "list_price": 32,
            "sale_price": 32,
            "extended_list_price": 32,
            "extended_sale_price": 32,
            "is_require_shipping": true,
            "is_mutable": true,
            "coupons": 6.4
          }
        ],
        "digital_items": [
          {
            "quantity": 1,
            "id": "985c79a3-4c94-4104-923a-2e3d4572e72d",
            "variant_id": 182,
            "product_id": 138,
            "sku": "ebk-001",
            "name": "eBook Download",
            "url": "https://example.com/digital/",
            "is_mutable": true,
            "is_require_shipping": false,
            "is_taxable": true,
            "image_url": "https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1",
            "discounts": [
              {
                "id": "coupon",
                "discounted_amount": 7
              }
            ],
            "discount_amount": 0,
            "coupon_amount": 7,
            "original_price": 35,
            "list_price": 35,
            "sale_price": 35,
            "extended_list_price": 35,
            "extended_sale_price": 35,
            "coupons": 7
          }
        ],
        "gift_certificates": [],
        "custom_items": []
      },
      "created_time": "2021-11-08T22:46:23+00:00",
      "updated_time": "2021-11-09T16:08:01+00:00"
    },
    "billing_address": {
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "customer@example.com",
      "company": "",
      "address1": "123 Main Street",
      "address2": "",
      "city": "",
      "state_or_province": "",
      "state_or_province_code": "",
      "country_code": "",
      "postal_code": "29681",
      "phone": "12125556895",
      "custom_fields": [],
      "id": "618a9ce18173e",
      "country": ""
    },
    "consignments": [],
    "taxes": [
      {
        "name": "Tax",
        "amount": 0
      }
    ],
    "coupons": [
      {
        "code": "SHOP20",
        "id": 1,
        "coupon_type": "percentage_discount",
        "display_name": "20% Off",
        "discounted_amount": 13.4
      }
    ],
    "shipping_cost_total_inc_tax": 0,
    "shipping_cost_total_ex_tax": 0,
    "handling_cost_total_inc_tax": 0,
    "handling_cost_total_ex_tax": 0,
    "tax_total": 0,
    "subtotal_inc_tax": 67,
    "subtotal_ex_tax": 67,
    "grand_total": 53.6,
    "created_time": "2021-11-08T22:46:23+00:00",
    "updated_time": "2021-11-09T16:08:01+00:00",
    "customer_message": ""
  },
  "meta": {}
}
```

**SDK Code**

```python Coupon Applied
import requests

url = "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments"

headers = {
    "Accept": "application/json",
    "X-Auth-Token": "<apiKey>"
}

response = requests.post(url, headers=headers)

print(response.json())
```

```javascript Coupon Applied
const url = 'https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments';
const options = {
  method: 'POST',
  headers: {Accept: 'application/json', 'X-Auth-Token': '<apiKey>'}
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Coupon Applied
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments"

	req, _ := http.NewRequest("POST", url, nil)

	req.Header.Add("Accept", "application/json")
	req.Header.Add("X-Auth-Token", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Coupon Applied
require 'uri'
require 'net/http'

url = URI("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json'
request["X-Auth-Token"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java Coupon Applied
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")
  .header("Accept", "application/json")
  .header("X-Auth-Token", "<apiKey>")
  .asString();
```

```php Coupon Applied
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments', [
  'headers' => [
    'Accept' => 'application/json',
    'X-Auth-Token' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Coupon Applied
using RestSharp;

var client = new RestClient("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json");
request.AddHeader("X-Auth-Token", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift Coupon Applied
import Foundation

let headers = [
  "Accept": "application/json",
  "X-Auth-Token": "<apiKey>"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### No Coupon Applied

**Response**

```json
{
  "data": {
    "id": "267c5d6f-0d27-48ea-b731-e7832a4c5537",
    "cart": {
      "id": "267c5d6f-0d27-48ea-b731-e7832a4c5537",
      "customer_id": 0,
      "email": "example@example.com",
      "currency": {
        "code": "USD"
      },
      "base_amount": 67,
      "channel_id": 1,
      "discount_amount": 0,
      "cart_amount_inc_tax": 67,
      "cart_amount_ex_tax": 67,
      "coupons": [],
      "discounts": [
        {
          "id": "985c79a3-4c94-4104-923a-2e3d4572e72d",
          "discounted_amount": 0
        },
        {
          "id": "b0adf3a7-7a92-44d9-ad46-87235b118e48",
          "discounted_amount": 0
        }
      ],
      "line_items": {
        "physical_items": [
          {
            "quantity": 1,
            "id": "b0adf3a7-7a92-44d9-ad46-87235b118e48",
            "variant_id": 528,
            "product_id": 145,
            "sku": "htltwl-001",
            "name": "Hotel Towel",
            "url": "https://example.com/hotel-towel/",
            "is_taxable": true,
            "image_url": "https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1",
            "discounts": [],
            "discount_amount": 0,
            "coupon_amount": 0,
            "original_price": 32,
            "list_price": 32,
            "sale_price": 32,
            "extended_list_price": 32,
            "extended_sale_price": 32,
            "is_require_shipping": true,
            "is_mutable": true,
            "coupons": []
          }
        ],
        "digital_items": [
          {
            "quantity": 1,
            "id": "985c79a3-4c94-4104-923a-2e3d4572e72d",
            "variant_id": 182,
            "product_id": 138,
            "sku": "ebk-001",
            "name": "eBook Download",
            "url": "https://example.com/digital/",
            "is_mutable": true,
            "is_require_shipping": false,
            "is_taxable": true,
            "image_url": "https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1",
            "discounts": [],
            "discount_amount": 0,
            "coupon_amount": 0,
            "original_price": 35,
            "list_price": 35,
            "sale_price": 35,
            "extended_list_price": 35,
            "extended_sale_price": 35,
            "coupons": []
          }
        ],
        "gift_certificates": [],
        "custom_items": []
      },
      "created_time": "2021-11-08T22:46:23+00:00",
      "updated_time": "2021-11-09T16:06:56+00:00"
    },
    "billing_address": {},
    "consignments": [],
    "taxes": [
      {
        "name": "Tax",
        "amount": 0
      }
    ],
    "coupons": [],
    "shipping_cost_total_inc_tax": 0,
    "shipping_cost_total_ex_tax": 0,
    "handling_cost_total_inc_tax": 0,
    "handling_cost_total_ex_tax": 0,
    "tax_total": 0,
    "subtotal_inc_tax": 67,
    "subtotal_ex_tax": 67,
    "grand_total": 67,
    "created_time": "2021-11-08T22:46:23+00:00",
    "updated_time": "2021-11-09T16:06:56+00:00",
    "customer_message": ""
  },
  "meta": {}
}
```

**SDK Code**

```python No Coupon Applied
import requests

url = "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments"

headers = {
    "Accept": "application/json",
    "X-Auth-Token": "<apiKey>"
}

response = requests.post(url, headers=headers)

print(response.json())
```

```javascript No Coupon Applied
const url = 'https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments';
const options = {
  method: 'POST',
  headers: {Accept: 'application/json', 'X-Auth-Token': '<apiKey>'}
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go No Coupon Applied
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments"

	req, _ := http.NewRequest("POST", url, nil)

	req.Header.Add("Accept", "application/json")
	req.Header.Add("X-Auth-Token", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby No Coupon Applied
require 'uri'
require 'net/http'

url = URI("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json'
request["X-Auth-Token"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java No Coupon Applied
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")
  .header("Accept", "application/json")
  .header("X-Auth-Token", "<apiKey>")
  .asString();
```

```php No Coupon Applied
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments', [
  'headers' => [
    'Accept' => 'application/json',
    'X-Auth-Token' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp No Coupon Applied
using RestSharp;

var client = new RestClient("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json");
request.AddHeader("X-Auth-Token", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift No Coupon Applied
import Foundation

let headers = [
  "Accept": "application/json",
  "X-Auth-Token": "<apiKey>"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Include promotions

**Response**

```json
{
  "data": {
    "id": "267c5d6f-0d27-48ea-b731-e7832a4c5537",
    "cart": {
      "id": "267c5d6f-0d27-48ea-b731-e7832a4c5537",
      "customer_id": 0,
      "email": "example@example.com",
      "currency": {
        "code": "USD"
      },
      "base_amount": 67,
      "channel_id": 1,
      "discount_amount": 0,
      "cart_amount_inc_tax": 67,
      "cart_amount_ex_tax": 67,
      "coupons": [],
      "discounts": [
        {
          "id": "985c79a3-4c94-4104-923a-2e3d4572e72d",
          "discounted_amount": 0
        },
        {
          "id": "b0adf3a7-7a92-44d9-ad46-87235b118e48",
          "discounted_amount": 0
        }
      ],
      "line_items": {
        "physical_items": [
          {
            "quantity": 1,
            "id": "b0adf3a7-7a92-44d9-ad46-87235b118e48",
            "variant_id": 528,
            "product_id": 145,
            "sku": "htltwl-001",
            "name": "Hotel Towel",
            "url": "https://example.com/hotel-towel/",
            "is_taxable": true,
            "image_url": "https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1",
            "discounts": [],
            "discount_amount": 0,
            "coupon_amount": 0,
            "original_price": 32,
            "list_price": 32,
            "sale_price": 32,
            "extended_list_price": 32,
            "extended_sale_price": 32,
            "is_require_shipping": true,
            "is_mutable": true,
            "coupons": []
          }
        ],
        "digital_items": [
          {
            "quantity": 1,
            "id": "985c79a3-4c94-4104-923a-2e3d4572e72d",
            "variant_id": 182,
            "product_id": 138,
            "sku": "ebk-001",
            "name": "eBook Download",
            "url": "https://example.com/digital/",
            "is_mutable": true,
            "is_require_shipping": false,
            "is_taxable": true,
            "image_url": "https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1",
            "discounts": [],
            "discount_amount": 0,
            "coupon_amount": 0,
            "original_price": 35,
            "list_price": 35,
            "sale_price": 35,
            "extended_list_price": 35,
            "extended_sale_price": 35,
            "coupons": []
          }
        ],
        "gift_certificates": [],
        "custom_items": []
      },
      "created_time": "2021-11-08T22:46:23+00:00",
      "updated_time": "2021-11-09T16:06:56+00:00"
    },
    "billing_address": {},
    "consignments": [],
    "taxes": [
      {
        "name": "Tax",
        "amount": 0
      }
    ],
    "coupons": [],
    "shipping_cost_total_inc_tax": 0,
    "shipping_cost_total_ex_tax": 0,
    "handling_cost_total_inc_tax": 0,
    "handling_cost_total_ex_tax": 0,
    "tax_total": 0,
    "subtotal_inc_tax": 67,
    "subtotal_ex_tax": 67,
    "grand_total": 67,
    "created_time": "2021-11-08T22:46:23+00:00",
    "updated_time": "2021-11-09T16:06:56+00:00",
    "customer_message": "",
    "promotions": [
      {
        "banners": [
          {
            "id": "3",
            "type": "applied",
            "page": [
              "homepage",
              "cartpage"
            ],
            "text": "Some text"
          }
        ]
      }
    ]
  },
  "meta": {}
}
```

**SDK Code**

```python Include promotions
import requests

url = "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments"

headers = {
    "Accept": "application/json",
    "X-Auth-Token": "<apiKey>"
}

response = requests.post(url, headers=headers)

print(response.json())
```

```javascript Include promotions
const url = 'https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments';
const options = {
  method: 'POST',
  headers: {Accept: 'application/json', 'X-Auth-Token': '<apiKey>'}
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Include promotions
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments"

	req, _ := http.NewRequest("POST", url, nil)

	req.Header.Add("Accept", "application/json")
	req.Header.Add("X-Auth-Token", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Include promotions
require 'uri'
require 'net/http'

url = URI("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json'
request["X-Auth-Token"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java Include promotions
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")
  .header("Accept", "application/json")
  .header("X-Auth-Token", "<apiKey>")
  .asString();
```

```php Include promotions
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments', [
  'headers' => [
    'Accept' => 'application/json',
    'X-Auth-Token' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Include promotions
using RestSharp;

var client = new RestClient("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json");
request.AddHeader("X-Auth-Token", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift Include promotions
import Foundation

let headers = [
  "Accept": "application/json",
  "X-Auth-Token": "<apiKey>"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Shipping Consignment

**Request**

```json
[
  {
    "address": {
      "email": "Jane.Doe@email.com",
      "state_or_province": "Texas",
      "country_code": "US",
      "postal_code": "78701",
      "first_name": "Jane",
      "last_name": "Doe",
      "company": "BigCommerce",
      "address1": "100 Main Street",
      "address2": "string",
      "city": "Austin",
      "state_or_province_code": "string",
      "phone": "555-555-5555",
      "custom_fields": [
        {
          "field_id": "string",
          "field_value": "string"
        }
      ]
    },
    "line_items": [
      {
        "item_id": "118f8774-387c-485e-a095-6ef76d5f1bbd",
        "quantity": 1
      }
    ],
    "version": 1
  }
]
```

**Response**

```json
{
  "data": {
    "id": "306d57d7-124e-4112-82cd-35e060c0d4d9",
    "cart": {
      "id": "306d57d7-124e-4112-82cd-35e060c0d4d9",
      "customer_id": 11,
      "email": "janedoe@example.com",
      "currency": {
        "code": "USD"
      },
      "base_amount": 31.95,
      "channel_id": 1,
      "discount_amount": 0,
      "cart_amount_inc_tax": 33.23,
      "cart_amount_ex_tax": 31.95,
      "coupons": [
        {
          "code": "SHOP20",
          "id": 1,
          "coupon_type": "percentage_discount",
          "discounted_amount": 0.9,
          "display_name": "20% Off"
        }
      ],
      "discounts": [
        {
          "id": "8edef915-8e8e-4ebd-bece-31fbb1191a7e",
          "discounted_amount": 0
        }
      ],
      "line_items": {
        "physical_items": [
          {
            "quantity": 1,
            "id": "8edef915-8e8e-4ebd-bece-31fbb1191a7e",
            "variant_id": 359,
            "product_id": 188,
            "sku": "DUST1",
            "name": "Hello",
            "url": "https://{store_hash}/all/dustpan-brush/",
            "is_taxable": true,
            "image_url": "https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2",
            "discounts": [],
            "discount_amount": 0,
            "coupon_amount": 0,
            "original_price": 35.95,
            "list_price": 31.95,
            "sale_price": 33.23,
            "extended_list_price": 31.95,
            "extended_sale_price": 33.23,
            "is_require_shipping": true,
            "parent_id": 123,
            "gift_wrapping": {},
            "coupons": []
          }
        ],
        "digital_items": [],
        "gift_certificates": [],
        "custom_items": []
      },
      "created_time": "2019-08-05T15:38:14+00:00",
      "updated_time": "2019-08-05T15:41:28+00:00"
    },
    "billing_address": {
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "janedoe@example.com",
      "company": "BigCommerce",
      "address1": "123 Main Street",
      "address2": "Apt 1",
      "city": "Austin",
      "state_or_province": "",
      "state_or_province_code": "",
      "country_code": "",
      "postal_code": "",
      "phone": "12125685555",
      "custom_fields": [],
      "id": "5d484d668e5aa",
      "country": ""
    },
    "consignments": [
      {
        "id": "5d484e28d20a8",
        "address": {
          "email": "jane2@example.com",
          "country_code": "US",
          "first_name": "BigCommerce",
          "last_name": "Cart/Checkout",
          "company": "",
          "address1": "123 Main Street",
          "address2": "",
          "city": "Austin",
          "state_or_province": "Texas",
          "state_or_province_code": "TX",
          "postal_code": "78751",
          "phone": "688546",
          "country": "United States",
          "customFields": [
            {
              "field_id": "field_25",
              "field_value": "Great!"
            }
          ]
        },
        "available_shipping_options": [
          {
            "description": "Ship by Weight",
            "id": "006a58a98c9a844225552ee2a9c60ca8",
            "type": "shipping_byweight",
            "image_url": "",
            "cost": 8,
            "transit_time": "",
            "additional_description": ""
          },
          {
            "description": "Flat Rate",
            "id": "722d78b5120de60a725e41be9bb8d999",
            "type": "shipping_flatrate",
            "image_url": "",
            "cost": 12,
            "transit_time": "",
            "additional_description": ""
          },
          {
            "description": "UPS® (UPS Next Day Air®)",
            "id": "71090fa93c8985348892543c3f4887b6",
            "type": "shipping_upsready",
            "image_url": "",
            "cost": 43.9,
            "transit_time": "1 business day",
            "additional_description": ""
          }
        ],
        "coupon_discounts": [],
        "discounts": [],
        "shipping_cost_inc_tax": 0,
        "shipping_cost_ex_tax": 0,
        "handling_cost_inc_tax": 0,
        "handling_cost_ex_tax": 0,
        "line_item_ids": [
          "8edef915-8e8e-4ebd-bece-31fbb1191a7e"
        ]
      }
    ],
    "taxes": [
      {
        "name": "Tax",
        "amount": 1.28
      }
    ],
    "coupons": [
      {
        "code": "SHOP20",
        "id": 1,
        "coupon_type": "percentage_discount",
        "display_name": "20% Off",
        "discounted_amount": 0.9
      }
    ],
    "shipping_cost_total_inc_tax": 0,
    "shipping_cost_total_ex_tax": 0,
    "handling_cost_total_inc_tax": 0,
    "handling_cost_total_ex_tax": 0,
    "tax_total": 1.28,
    "subtotal_inc_tax": 33.23,
    "subtotal_ex_tax": 31.95,
    "grand_total": 33.23,
    "created_time": "2019-08-05T15:38:14+00:00",
    "updated_time": "2019-08-05T15:41:28+00:00",
    "customer_message": ""
  },
  "meta": {}
}
```

**SDK Code**

```python Shipping Consignment
import requests

url = "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments"

payload = [
    {
        "address": {
            "email": "Jane.Doe@email.com",
            "state_or_province": "Texas",
            "country_code": "US",
            "postal_code": "78701",
            "first_name": "Jane",
            "last_name": "Doe",
            "company": "BigCommerce",
            "address1": "100 Main Street",
            "address2": "string",
            "city": "Austin",
            "state_or_province_code": "string",
            "phone": "555-555-5555",
            "custom_fields": [
                {
                    "field_id": "string",
                    "field_value": "string"
                }
            ]
        },
        "line_items": [
            {
                "item_id": "118f8774-387c-485e-a095-6ef76d5f1bbd",
                "quantity": 1
            }
        ],
        "version": 1
    }
]
headers = {
    "Accept": "application/json",
    "X-Auth-Token": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Shipping Consignment
const url = 'https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments';
const options = {
  method: 'POST',
  headers: {
    Accept: 'application/json',
    'X-Auth-Token': '<apiKey>',
    'Content-Type': 'application/json'
  },
  body: '[{"address":{"email":"Jane.Doe@email.com","state_or_province":"Texas","country_code":"US","postal_code":"78701","first_name":"Jane","last_name":"Doe","company":"BigCommerce","address1":"100 Main Street","address2":"string","city":"Austin","state_or_province_code":"string","phone":"555-555-5555","custom_fields":[{"field_id":"string","field_value":"string"}]},"line_items":[{"item_id":"118f8774-387c-485e-a095-6ef76d5f1bbd","quantity":1}],"version":1}]'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Shipping Consignment
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments"

	payload := strings.NewReader("[\n  {\n    \"address\": {\n      \"email\": \"Jane.Doe@email.com\",\n      \"state_or_province\": \"Texas\",\n      \"country_code\": \"US\",\n      \"postal_code\": \"78701\",\n      \"first_name\": \"Jane\",\n      \"last_name\": \"Doe\",\n      \"company\": \"BigCommerce\",\n      \"address1\": \"100 Main Street\",\n      \"address2\": \"string\",\n      \"city\": \"Austin\",\n      \"state_or_province_code\": \"string\",\n      \"phone\": \"555-555-5555\",\n      \"custom_fields\": [\n        {\n          \"field_id\": \"string\",\n          \"field_value\": \"string\"\n        }\n      ]\n    },\n    \"line_items\": [\n      {\n        \"item_id\": \"118f8774-387c-485e-a095-6ef76d5f1bbd\",\n        \"quantity\": 1\n      }\n    ],\n    \"version\": 1\n  }\n]")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Accept", "application/json")
	req.Header.Add("X-Auth-Token", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Shipping Consignment
require 'uri'
require 'net/http'

url = URI("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json'
request["X-Auth-Token"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"address\": {\n      \"email\": \"Jane.Doe@email.com\",\n      \"state_or_province\": \"Texas\",\n      \"country_code\": \"US\",\n      \"postal_code\": \"78701\",\n      \"first_name\": \"Jane\",\n      \"last_name\": \"Doe\",\n      \"company\": \"BigCommerce\",\n      \"address1\": \"100 Main Street\",\n      \"address2\": \"string\",\n      \"city\": \"Austin\",\n      \"state_or_province_code\": \"string\",\n      \"phone\": \"555-555-5555\",\n      \"custom_fields\": [\n        {\n          \"field_id\": \"string\",\n          \"field_value\": \"string\"\n        }\n      ]\n    },\n    \"line_items\": [\n      {\n        \"item_id\": \"118f8774-387c-485e-a095-6ef76d5f1bbd\",\n        \"quantity\": 1\n      }\n    ],\n    \"version\": 1\n  }\n]"

response = http.request(request)
puts response.read_body
```

```java Shipping Consignment
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")
  .header("Accept", "application/json")
  .header("X-Auth-Token", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"address\": {\n      \"email\": \"Jane.Doe@email.com\",\n      \"state_or_province\": \"Texas\",\n      \"country_code\": \"US\",\n      \"postal_code\": \"78701\",\n      \"first_name\": \"Jane\",\n      \"last_name\": \"Doe\",\n      \"company\": \"BigCommerce\",\n      \"address1\": \"100 Main Street\",\n      \"address2\": \"string\",\n      \"city\": \"Austin\",\n      \"state_or_province_code\": \"string\",\n      \"phone\": \"555-555-5555\",\n      \"custom_fields\": [\n        {\n          \"field_id\": \"string\",\n          \"field_value\": \"string\"\n        }\n      ]\n    },\n    \"line_items\": [\n      {\n        \"item_id\": \"118f8774-387c-485e-a095-6ef76d5f1bbd\",\n        \"quantity\": 1\n      }\n    ],\n    \"version\": 1\n  }\n]")
  .asString();
```

```php Shipping Consignment
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments', [
  'body' => '[
  {
    "address": {
      "email": "Jane.Doe@email.com",
      "state_or_province": "Texas",
      "country_code": "US",
      "postal_code": "78701",
      "first_name": "Jane",
      "last_name": "Doe",
      "company": "BigCommerce",
      "address1": "100 Main Street",
      "address2": "string",
      "city": "Austin",
      "state_or_province_code": "string",
      "phone": "555-555-5555",
      "custom_fields": [
        {
          "field_id": "string",
          "field_value": "string"
        }
      ]
    },
    "line_items": [
      {
        "item_id": "118f8774-387c-485e-a095-6ef76d5f1bbd",
        "quantity": 1
      }
    ],
    "version": 1
  }
]',
  'headers' => [
    'Accept' => 'application/json',
    'Content-Type' => 'application/json',
    'X-Auth-Token' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Shipping Consignment
using RestSharp;

var client = new RestClient("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json");
request.AddHeader("X-Auth-Token", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"address\": {\n      \"email\": \"Jane.Doe@email.com\",\n      \"state_or_province\": \"Texas\",\n      \"country_code\": \"US\",\n      \"postal_code\": \"78701\",\n      \"first_name\": \"Jane\",\n      \"last_name\": \"Doe\",\n      \"company\": \"BigCommerce\",\n      \"address1\": \"100 Main Street\",\n      \"address2\": \"string\",\n      \"city\": \"Austin\",\n      \"state_or_province_code\": \"string\",\n      \"phone\": \"555-555-5555\",\n      \"custom_fields\": [\n        {\n          \"field_id\": \"string\",\n          \"field_value\": \"string\"\n        }\n      ]\n    },\n    \"line_items\": [\n      {\n        \"item_id\": \"118f8774-387c-485e-a095-6ef76d5f1bbd\",\n        \"quantity\": 1\n      }\n    ],\n    \"version\": 1\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Shipping Consignment
import Foundation

let headers = [
  "Accept": "application/json",
  "X-Auth-Token": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  [
    "address": [
      "email": "Jane.Doe@email.com",
      "state_or_province": "Texas",
      "country_code": "US",
      "postal_code": "78701",
      "first_name": "Jane",
      "last_name": "Doe",
      "company": "BigCommerce",
      "address1": "100 Main Street",
      "address2": "string",
      "city": "Austin",
      "state_or_province_code": "string",
      "phone": "555-555-5555",
      "custom_fields": [
        [
          "field_id": "string",
          "field_value": "string"
        ]
      ]
    ],
    "line_items": [
      [
        "item_id": "118f8774-387c-485e-a095-6ef76d5f1bbd",
        "quantity": 1
      ]
    ],
    "version": 1
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Pickup Consignment

**Request**

```json
[
  {
    "line_items": [
      {
        "item_id": "118f8774-387c-485e-a095-6ef76d5f1bbd",
        "quantity": 1
      }
    ],
    "pickup_option": {
      "pickup_method_id": 1
    },
    "version": 1
  }
]
```

**Response**

```json
{
  "data": {
    "id": "306d57d7-124e-4112-82cd-35e060c0d4d9",
    "cart": {
      "id": "306d57d7-124e-4112-82cd-35e060c0d4d9",
      "customer_id": 11,
      "email": "janedoe@example.com",
      "currency": {
        "code": "USD"
      },
      "base_amount": 31.95,
      "channel_id": 1,
      "discount_amount": 0,
      "cart_amount_inc_tax": 33.23,
      "cart_amount_ex_tax": 31.95,
      "coupons": [
        {
          "code": "SHOP20",
          "id": 1,
          "coupon_type": "percentage_discount",
          "discounted_amount": 0.9,
          "display_name": "20% Off"
        }
      ],
      "discounts": [
        {
          "id": "8edef915-8e8e-4ebd-bece-31fbb1191a7e",
          "discounted_amount": 0
        }
      ],
      "line_items": {
        "physical_items": [
          {
            "quantity": 1,
            "id": "8edef915-8e8e-4ebd-bece-31fbb1191a7e",
            "variant_id": 359,
            "product_id": 188,
            "sku": "DUST1",
            "name": "Hello",
            "url": "https://{store_hash}/all/dustpan-brush/",
            "is_taxable": true,
            "image_url": "https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2",
            "discounts": [],
            "discount_amount": 0,
            "coupon_amount": 0,
            "original_price": 35.95,
            "list_price": 31.95,
            "sale_price": 33.23,
            "extended_list_price": 31.95,
            "extended_sale_price": 33.23,
            "is_require_shipping": true,
            "parent_id": 123,
            "gift_wrapping": {},
            "coupons": []
          }
        ],
        "digital_items": [],
        "gift_certificates": [],
        "custom_items": []
      },
      "created_time": "2019-08-05T15:38:14+00:00",
      "updated_time": "2019-08-05T15:41:28+00:00"
    },
    "billing_address": {
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "janedoe@example.com",
      "company": "BigCommerce",
      "address1": "123 Main Street",
      "address2": "Apt 1",
      "city": "Austin",
      "state_or_province": "",
      "state_or_province_code": "",
      "country_code": "",
      "postal_code": "",
      "phone": "12125685555",
      "custom_fields": [],
      "id": "5d484d668e5aa",
      "country": ""
    },
    "consignments": [
      {
        "id": "5d484e28d20a8",
        "address": {
          "email": "jane2@example.com",
          "country_code": "US",
          "first_name": "BigCommerce",
          "last_name": "Cart/Checkout",
          "company": "",
          "address1": "123 Main Street",
          "address2": "",
          "city": "Austin",
          "state_or_province": "Texas",
          "state_or_province_code": "TX",
          "postal_code": "78751",
          "phone": "688546",
          "country": "United States",
          "customFields": [
            {
              "field_id": "field_25",
              "field_value": "Great!"
            }
          ]
        },
        "available_shipping_options": [
          {
            "description": "Ship by Weight",
            "id": "006a58a98c9a844225552ee2a9c60ca8",
            "type": "shipping_byweight",
            "image_url": "",
            "cost": 8,
            "transit_time": "",
            "additional_description": ""
          },
          {
            "description": "Flat Rate",
            "id": "722d78b5120de60a725e41be9bb8d999",
            "type": "shipping_flatrate",
            "image_url": "",
            "cost": 12,
            "transit_time": "",
            "additional_description": ""
          },
          {
            "description": "UPS® (UPS Next Day Air®)",
            "id": "71090fa93c8985348892543c3f4887b6",
            "type": "shipping_upsready",
            "image_url": "",
            "cost": 43.9,
            "transit_time": "1 business day",
            "additional_description": ""
          }
        ],
        "coupon_discounts": [],
        "discounts": [],
        "shipping_cost_inc_tax": 0,
        "shipping_cost_ex_tax": 0,
        "handling_cost_inc_tax": 0,
        "handling_cost_ex_tax": 0,
        "line_item_ids": [
          "8edef915-8e8e-4ebd-bece-31fbb1191a7e"
        ]
      }
    ],
    "taxes": [
      {
        "name": "Tax",
        "amount": 1.28
      }
    ],
    "coupons": [
      {
        "code": "SHOP20",
        "id": 1,
        "coupon_type": "percentage_discount",
        "display_name": "20% Off",
        "discounted_amount": 0.9
      }
    ],
    "shipping_cost_total_inc_tax": 0,
    "shipping_cost_total_ex_tax": 0,
    "handling_cost_total_inc_tax": 0,
    "handling_cost_total_ex_tax": 0,
    "tax_total": 1.28,
    "subtotal_inc_tax": 33.23,
    "subtotal_ex_tax": 31.95,
    "grand_total": 33.23,
    "created_time": "2019-08-05T15:38:14+00:00",
    "updated_time": "2019-08-05T15:41:28+00:00",
    "customer_message": ""
  },
  "meta": {}
}
```

**SDK Code**

```python Pickup Consignment
import requests

url = "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments"

payload = [
    {
        "line_items": [
            {
                "item_id": "118f8774-387c-485e-a095-6ef76d5f1bbd",
                "quantity": 1
            }
        ],
        "pickup_option": { "pickup_method_id": 1 },
        "version": 1
    }
]
headers = {
    "Accept": "application/json",
    "X-Auth-Token": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Pickup Consignment
const url = 'https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments';
const options = {
  method: 'POST',
  headers: {
    Accept: 'application/json',
    'X-Auth-Token': '<apiKey>',
    'Content-Type': 'application/json'
  },
  body: '[{"line_items":[{"item_id":"118f8774-387c-485e-a095-6ef76d5f1bbd","quantity":1}],"pickup_option":{"pickup_method_id":1},"version":1}]'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Pickup Consignment
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments"

	payload := strings.NewReader("[\n  {\n    \"line_items\": [\n      {\n        \"item_id\": \"118f8774-387c-485e-a095-6ef76d5f1bbd\",\n        \"quantity\": 1\n      }\n    ],\n    \"pickup_option\": {\n      \"pickup_method_id\": 1\n    },\n    \"version\": 1\n  }\n]")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Accept", "application/json")
	req.Header.Add("X-Auth-Token", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Pickup Consignment
require 'uri'
require 'net/http'

url = URI("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json'
request["X-Auth-Token"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"line_items\": [\n      {\n        \"item_id\": \"118f8774-387c-485e-a095-6ef76d5f1bbd\",\n        \"quantity\": 1\n      }\n    ],\n    \"pickup_option\": {\n      \"pickup_method_id\": 1\n    },\n    \"version\": 1\n  }\n]"

response = http.request(request)
puts response.read_body
```

```java Pickup Consignment
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")
  .header("Accept", "application/json")
  .header("X-Auth-Token", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"line_items\": [\n      {\n        \"item_id\": \"118f8774-387c-485e-a095-6ef76d5f1bbd\",\n        \"quantity\": 1\n      }\n    ],\n    \"pickup_option\": {\n      \"pickup_method_id\": 1\n    },\n    \"version\": 1\n  }\n]")
  .asString();
```

```php Pickup Consignment
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments', [
  'body' => '[
  {
    "line_items": [
      {
        "item_id": "118f8774-387c-485e-a095-6ef76d5f1bbd",
        "quantity": 1
      }
    ],
    "pickup_option": {
      "pickup_method_id": 1
    },
    "version": 1
  }
]',
  'headers' => [
    'Accept' => 'application/json',
    'Content-Type' => 'application/json',
    'X-Auth-Token' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Pickup Consignment
using RestSharp;

var client = new RestClient("https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json");
request.AddHeader("X-Auth-Token", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"line_items\": [\n      {\n        \"item_id\": \"118f8774-387c-485e-a095-6ef76d5f1bbd\",\n        \"quantity\": 1\n      }\n    ],\n    \"pickup_option\": {\n      \"pickup_method_id\": 1\n    },\n    \"version\": 1\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Pickup Consignment
import Foundation

let headers = [
  "Accept": "application/json",
  "X-Auth-Token": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  [
    "line_items": [
      [
        "item_id": "118f8774-387c-485e-a095-6ef76d5f1bbd",
        "quantity": 1
      ]
    ],
    "pickup_option": ["pickup_method_id": 1],
    "version": 1
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/consignments")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```