{
  "components" : {
    "schemas" : {
      "CMarketplaceCondition" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "Condition code for the offer.",
            "example" : "11"
          }
        }
      },
      "CMarketplaceDeliveryDateTime" : {
        "type" : "object",
        "properties" : {
          "earliest" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "The earliest possible delivery date and time. This represents the soonest the customer can expect to receive their order.",
            "example" : "2023-07-05T15:39:11Z"
          },
          "latest" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "The latest possible delivery date and time. This is the final deadline by which the customer can expect to receive their order.",
            "example" : "2023-07-05T15:39:11Z"
          }
        }
      },
      "CMarketplaceDocumentDownloadResponse" : {
        "type" : "object",
        "properties" : {
          "url" : {
            "type" : "string",
            "description" : "Download url of the document."
          }
        }
      },
      "CMarketplaceErrorResponse" : {
        "type" : "object",
        "properties" : {
          "detail" : {
            "type" : "string",
            "description" : "Error detail.",
            "example" : "The request could not be understood by the server due to malformed syntax."
          },
          "title" : {
            "type" : "string",
            "description" : "Error title.",
            "example" : "Bad Request"
          },
          "type" : {
            "type" : "string",
            "description" : "Error type.",
            "example" : "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request"
          }
        }
      },
      "CMarketplaceEvaluation" : {
        "type" : "object",
        "description" : "Details of an evaluation.",
        "properties" : {
          "comment" : {
            "type" : "string",
            "description" : "The comment of the evaluation."
          },
          "customerId" : {
            "type" : "string",
            "description" : "The identifier of the customer."
          },
          "date" : {
            "type" : "string",
            "description" : "The date of the evaluation."
          },
          "firstName" : {
            "type" : "string",
            "description" : "The first name of the evaluator."
          },
          "grade" : {
            "type" : "number",
            "description" : "The grade of the evaluation."
          },
          "lastName" : {
            "type" : "string",
            "description" : "The last name of the evaluator."
          },
          "reply" : {
            "$ref" : "#/components/schemas/CMarketplaceEvaluationsReplyResponse"
          }
        }
      },
      "CMarketplaceEvaluationsReplyResponse" : {
        "type" : "object",
        "description" : "Response containing the reply of an evaluation.",
        "properties" : {
          "comment" : {
            "type" : "string",
            "description" : "The comment of the evaluation."
          },
          "date" : {
            "type" : "string",
            "description" : "The date of the evaluation."
          },
          "type" : {
            "type" : "string",
            "description" : "The type of user who replied."
          }
        }
      },
      "CMarketplaceEvaluationsResponse" : {
        "type" : "object",
        "description" : "Response containing the evaluations for a shop and the total count of evaluations.",
        "properties" : {
          "evaluations" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CMarketplaceEvaluation"
            }
          },
          "totalCount" : {
            "type" : "integer",
            "description" : "Total count of elements returned by the query."
          }
        }
      },
      "CMarketplaceExpectedShipment" : {
        "type" : "object",
        "description" : "Details of an expected shipment, including offers and shipping methods.",
        "properties" : {
          "offers" : {
            "type" : "array",
            "description" : "List of available offers for shipping.",
            "items" : {
              "$ref" : "#/components/schemas/CMarketplaceOffer"
            }
          },
          "shippingMethods" : {
            "type" : "array",
            "description" : "Available shipping methods for this offer.",
            "items" : {
              "$ref" : "#/components/schemas/CMarketplaceShippingMethod"
            }
          }
        }
      },
      "CMarketplaceOffer" : {
        "type" : "object",
        "properties" : {
          "allowedShippingMethods" : {
            "type" : "array",
            "description" : "Array of shipping methods permitted for the offer.",
            "items" : {
              "type" : "object",
              "properties" : {
                "offerId" : {
                  "type" : "string",
                  "description" : "Unique identifier of the offer."
                }
              }
            }
          },
          "id" : {
            "type" : "string",
            "description" : "Unique identifier of the offer."
          },
          "price" : {
            "type" : "number",
            "description" : "The price of the offer."
          },
          "quantity" : {
            "type" : "integer",
            "description" : "The quantity of the offer."
          }
        }
      },
      "CMarketplaceOffersShippingMethodsResponse" : {
        "type" : "array",
        "description" : "Response containing the shipping methods for the offers.",
        "items" : {
          "$ref" : "#/components/schemas/CMarketplaceShippingMethod"
        }
      },
      "CMarketplaceOrderQuantity" : {
        "type" : "object",
        "description" : "Information regarding the minimum and/or maximum order quantity per offer, and the order quantity increment per offer.",
        "properties" : {
          "increment" : {
            "type" : "integer",
            "description" : "Indivisible quantity of the same product.",
            "example" : 2
          },
          "max" : {
            "type" : "integer",
            "description" : "The highest quantity of product items per order.",
            "example" : 40
          },
          "min" : {
            "type" : "integer",
            "description" : "The lowest quantity of product items per order.",
            "example" : 1
          }
        }
      },
      "CMarketplaceOrderShipment" : {
        "type" : "object",
        "description" : "Shipment for an order.",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The identifier of the shipment.",
            "example" : "019-00000302-A"
          },
          "prepared" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CMarketplacePreparedShipment"
            }
          },
          "toPrepare" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CMarketplaceShipmentToPrepare"
            }
          }
        }
      },
      "CMarketplaceOrderShipmentsResponse" : {
        "type" : "object",
        "description" : "Response containing the shipments with items to ship for an order.",
        "properties" : {
          "shipments" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CMarketplaceOrderShipment"
            }
          }
        }
      },
      "CMarketplacePreparedShipment" : {
        "type" : "object",
        "description" : "Prepared shipment for an order.",
        "properties" : {
          "shipmentLines" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CMarketplaceShipmentLine"
            }
          },
          "status" : {
            "type" : "string",
            "description" : "The status of the shipment.",
            "example" : "PREPARED"
          },
          "tracking" : {
            "type" : "object",
            "properties" : {
              "carrierCode" : {
                "type" : "string",
                "description" : "The carrier code of the shipment.",
                "example" : "UPS"
              },
              "carrierName" : {
                "type" : "string",
                "description" : "The carrier name of the shipment.",
                "example" : "UPS"
              },
              "lastKnownLocation" : {
                "type" : "string",
                "description" : "The last known location of the shipment.",
                "example" : "New York, NY"
              },
              "number" : {
                "type" : "string",
                "description" : "The tracking number of the shipment.",
                "example" : "1Z999AA10123456784"
              },
              "url" : {
                "type" : "string",
                "description" : "The tracking URL of the shipment.",
                "example" : "https://www.ups.com/track?tracknum=1Z999AA10123456784"
              }
            }
          }
        }
      },
      "CMarketplacePrice" : {
        "type" : "object",
        "properties" : {
          "originValue" : {
            "type" : "number",
            "format" : "float",
            "description" : "Original price value before any discounts or changes.",
            "example" : 45.0
          },
          "value" : {
            "type" : "number",
            "format" : "float",
            "description" : "Current price value.",
            "example" : 40.0
          }
        }
      },
      "CMarketplaceProductItem" : {
        "type" : "object",
        "description" : "Additional Mirakl data related to the product item.",
        "properties" : {
          "orderQuantity" : {
            "$ref" : "#/components/schemas/CMarketplaceOrderQuantity"
          }
        }
      },
      "CMarketplaceShipmentLine" : {
        "type" : "object",
        "description" : "Shipment line for a shipment.",
        "properties" : {
          "orderLineId" : {
            "type" : "string",
            "description" : "The identifier of the order line.",
            "example" : "019-00000302-A-1"
          },
          "packageReference" : {
            "type" : "string",
            "description" : "The reference of the package.",
            "example" : "123456"
          },
          "quantity" : {
            "type" : "integer",
            "description" : "The quantity of the product in the shipment line.",
            "example" : 1
          }
        }
      },
      "CMarketplaceShipmentToPrepare" : {
        "type" : "object",
        "description" : "Shipment for an order.",
        "properties" : {
          "shipmentLines" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CMarketplaceShipmentLine"
            }
          }
        }
      },
      "CMarketplaceShipments" : {
        "type" : "array",
        "description" : "The marketplace shipments data related coming from SH02.",
        "items" : {
          "$ref" : "#/components/schemas/CMarketplaceShippingMethod"
        }
      },
      "CMarketplaceShippingErrors" : {
        "type" : "object",
        "description" : "Marketplace shipping errors related to the shipment.",
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "Code of the shipping error.",
            "example" : "offer_quantity_not_available"
          },
          "maximumQuantity" : {
            "type" : "integer",
            "description" : "The maximum quantity available for an offer.",
            "example" : 12
          },
          "offerId" : {
            "type" : "string",
            "description" : "The offer ID concerned by the error.",
            "example" : "2258"
          },
          "price" : {
            "$ref" : "#/components/schemas/CMarketplacePrice"
          },
          "shippingTypeCode" : {
            "type" : "string",
            "description" : "The shipping type code concerned by the error.",
            "example" : "EXP"
          }
        }
      },
      "CMarketplaceShippingMethod" : {
        "type" : "object",
        "description" : "The shipping method data related to the shipment coming from SH02.",
        "properties" : {
          "shippingMethods" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "cutOffNextDate" : {
                  "type" : "string",
                  "format" : "date-time",
                  "description" : "Cut-off date and time for the shipping method."
                },
                "deliveryDateTime" : {
                  "type" : "object",
                  "properties" : {
                    "earliest" : {
                      "type" : "string",
                      "format" : "date-time",
                      "description" : "Earliest delivery date and time."
                    },
                    "latest" : {
                      "type" : "string",
                      "format" : "date-time",
                      "description" : "Latest delivery date and time."
                    }
                  }
                },
                "id" : {
                  "type" : "string",
                  "description" : "Identifier of the shipping method."
                },
                "price" : {
                  "type" : "object",
                  "properties" : {
                    "value" : {
                      "type" : "number",
                      "format" : "float",
                      "description" : "Price of the shipping method."
                    }
                  }
                },
                "selected" : {
                  "type" : "boolean",
                  "description" : "Whether this shipping method is selected."
                }
              }
            }
          }
        }
      },
      "CMarketplaceShippingMethodsResponse" : {
        "type" : "object",
        "description" : "Response containing the expected shipping methods for a basket.",
        "properties" : {
          "expectedShipments" : {
            "type" : "array",
            "description" : "List of expected shipments with available shipping methods.",
            "items" : {
              "$ref" : "#/components/schemas/CMarketplaceExpectedShipment"
            }
          }
        }
      },
      "CMarketplaceShopResponse" : {
        "type" : "object",
        "properties" : {
          "approvalDelay" : {
            "type" : "number",
            "description" : "The approval delay of the shop."
          },
          "approvalRate" : {
            "type" : "number",
            "description" : "The approval rate of the shop."
          },
          "banner" : {
            "type" : "string",
            "description" : "The URL of the shop banner."
          },
          "closedFrom" : {
            "type" : "string",
            "description" : "The start date of the closing of the shop."
          },
          "closedTo" : {
            "type" : "string",
            "description" : "The end date of the closing of the shop."
          },
          "description" : {
            "type" : "string",
            "description" : "The description of the shop."
          },
          "evaluationsCount" : {
            "type" : "integer",
            "description" : "The number of evaluations of the shop."
          },
          "grade" : {
            "type" : "number",
            "description" : "The grade of the shop."
          },
          "id" : {
            "type" : "string",
            "description" : "The identifier of the shop."
          },
          "isOpen" : {
            "type" : "boolean",
            "description" : "Whether the shop is open."
          },
          "isPremium" : {
            "type" : "boolean",
            "description" : "The premium status of the shop."
          },
          "logo" : {
            "type" : "string",
            "description" : "The URL of the shop logo."
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the shop."
          },
          "orderMessagesResponseDelay" : {
            "type" : "number",
            "description" : "The order messages response delay of the shop."
          },
          "returnPolicy" : {
            "type" : "string",
            "description" : "The return policy of the shop."
          }
        }
      },
      "basket" : {
        "type" : "object",
        "description" : "The basket object.",
        "properties" : {
          "adjustedMerchandizeTotalTax" : {
            "type" : "number",
            "format" : "double",
            "description" : "The total tax on products in the shipment, including adjustments.",
            "example" : 30
          },
          "adjustedShippingTotalTax" : {
            "type" : "number",
            "format" : "double",
            "description" : "The total tax on shipping charges in the shipment, including adjustments.",
            "example" : 0.8
          },
          "agentBasket" : {
            "type" : "boolean",
            "description" : "Indicates if the basket was created by an agent.",
            "example" : false
          },
          "basketId" : {
            "type" : "string",
            "description" : "The unique identifier for the basket.",
            "example" : "a10ff320829cb0eef93ca5310a"
          },
          "billingAddress" : {
            "type" : "object",
            "description" : "The billing address.",
            "properties" : {
              "address1" : {
                "type" : "string",
                "description" : "The first line of the address.",
                "example" : "104 Presidential Way"
              },
              "city" : {
                "type" : "string",
                "description" : "The city of the address.",
                "example" : "Woburn"
              },
              "countryCode" : {
                "type" : "string",
                "description" : "The country code of the address.",
                "example" : "US"
              },
              "firstName" : {
                "type" : "string",
                "description" : "The first name of the customer.",
                "example" : "Stephanie"
              },
              "fullName" : {
                "type" : "string",
                "description" : "The full name of the customer.",
                "example" : "Stephanie Miller"
              },
              "id" : {
                "type" : "string",
                "description" : "The unique identifier of the billing address.",
                "example" : "bfea663fd3de75d5be3ec02702"
              },
              "lastName" : {
                "type" : "string",
                "description" : "The last name of the customer.",
                "example" : "Miller"
              },
              "postalCode" : {
                "type" : "string",
                "description" : "The postal code of the address.",
                "example" : "01801"
              },
              "stateCode" : {
                "type" : "string",
                "description" : "The state code of the address.",
                "example" : "MA"
              }
            }
          },
          "channelType" : {
            "type" : "string",
            "description" : "The sales channel.",
            "example" : "storefront"
          },
          "couponItems" : {
            "type" : "array",
            "description" : "The coupon items.",
            "items" : {
              "type" : "object",
              "properties" : {
                "code" : {
                  "type" : "string",
                  "description" : "The coupon code.",
                  "example" : "5ties"
                },
                "couponItemId" : {
                  "type" : "string",
                  "description" : "The unique identifier for the coupon item.",
                  "example" : "cc6ef43f207bf64099288aec36"
                },
                "statusCode" : {
                  "type" : "string",
                  "description" : "The status of the coupon.",
                  "example" : "no_applicable_promotion"
                },
                "valid" : {
                  "type" : "boolean",
                  "description" : "Indicates if the coupon is valid.",
                  "example" : true
                }
              }
            }
          },
          "creationDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "The timestamp when the basket was created.",
            "example" : "2019-10-17T08:29:55.34Z"
          },
          "currency" : {
            "type" : "string",
            "description" : "The ISO 4217 currency code.",
            "example" : "USD"
          },
          "customerInfo" : {
            "type" : "object",
            "description" : "The customer information.",
            "properties" : {
              "customerId" : {
                "type" : "string",
                "description" : "The unique identifier for the customer.",
                "example" : "beQeANXJNsd0xcINsB6cSrobQa"
              },
              "email" : {
                "type" : "string",
                "description" : "The customer's email address.",
                "example" : "shopper@salesforce-test.com"
              }
            }
          },
          "lastModified" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "The timestamp when the basket was last modified.",
            "example" : "2019-10-17T08:29:55.698Z"
          },
          "merchandizeTotalTax" : {
            "type" : "number",
            "format" : "double",
            "description" : "The total tax for merchandise.",
            "example" : 30
          },
          "notes" : {
            "type" : "object",
            "description" : "Additional notes for the basket."
          },
          "orderTotal" : {
            "type" : "number",
            "format" : "double",
            "description" : "The total price, including products, shipping, and tax.",
            "example" : 646.76
          },
          "paymentInstruments" : {
            "type" : "array",
            "description" : "The payment instruments.",
            "items" : {
              "type" : "object",
              "properties" : {
                "amount" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The payment amount.",
                  "example" : 0
                },
                "paymentCard" : {
                  "type" : "object",
                  "description" : "Information about the payment card.",
                  "properties" : {
                    "cardType" : {
                      "type" : "string",
                      "description" : "The type of the card.",
                      "example" : "Visa"
                    },
                    "creditCardExpired" : {
                      "type" : "boolean",
                      "description" : "Indicates if the credit card has expired.",
                      "example" : false
                    }
                  }
                },
                "paymentInstrumentId" : {
                  "type" : "string",
                  "description" : "The unique identifier for the payment instrument.",
                  "example" : "b7679bea661819b2de78b9de7d"
                },
                "paymentMethodId" : {
                  "type" : "string",
                  "description" : "The payment method identifier.",
                  "example" : "CREDIT_CARD"
                }
              }
            }
          },
          "productItems" : {
            "type" : "array",
            "description" : "The product items.",
            "items" : {
              "type" : "object",
              "properties" : {
                "adjustedTax" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The adjusted tax for the product.",
                  "example" : 30
                },
                "basePrice" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The base price of the product.",
                  "example" : 199.99
                },
                "bonusProductLineItem" : {
                  "type" : "boolean",
                  "description" : "Indicates if the product is a bonus item.",
                  "example" : false
                },
                "gift" : {
                  "type" : "boolean",
                  "description" : "Indicates if the product is a gift.",
                  "example" : false
                },
                "itemId" : {
                  "type" : "string",
                  "description" : "The unique identifier for the product item.",
                  "example" : "3d4e28425ce0b3a65b0ac4e163"
                },
                "itemText" : {
                  "type" : "string",
                  "description" : "A description of the product.",
                  "example" : "Green Umbrella - Sustained Edition"
                },
                "optionItems" : {
                  "type" : "array",
                  "description" : "The option items for the product.",
                  "items" : {
                    "type" : "object",
                    "properties" : {
                      "adjustedTax" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The adjusted tax for the option item.",
                        "example" : 0
                      },
                      "basePrice" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The base price of the option item.",
                        "example" : 0
                      },
                      "bonusProductLineItem" : {
                        "type" : "boolean",
                        "description" : "Indicates if the option item is a bonus item.",
                        "example" : false
                      },
                      "gift" : {
                        "type" : "boolean",
                        "description" : "Indicates if the option item is a gift.",
                        "example" : false
                      },
                      "itemId" : {
                        "type" : "string",
                        "description" : "The unique identifier for the option item.",
                        "example" : "ff9452ed11fcf5c80f9143a8f1"
                      },
                      "itemText" : {
                        "type" : "string",
                        "description" : "A description of the option item.",
                        "example" : "We will plant a tree for your order."
                      },
                      "optionId" : {
                        "type" : "string",
                        "description" : "The identifier of the option.",
                        "example" : "plantATree"
                      },
                      "optionValueId" : {
                        "type" : "string",
                        "description" : "The value identifier of the option.",
                        "example" : "000"
                      },
                      "price" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The price of the option item.",
                        "example" : 0
                      },
                      "priceAfterItemDiscount" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The price of the option item after item-level discounts.",
                        "example" : 0
                      },
                      "priceAfterOrderDiscount" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The price of the option item after order-level discounts.",
                        "example" : 0
                      },
                      "productId" : {
                        "type" : "string",
                        "description" : "The product ID for the option item.",
                        "example" : "000"
                      },
                      "productName" : {
                        "type" : "string",
                        "description" : "The product name for the option item.",
                        "example" : "Plant a tree."
                      },
                      "quantity" : {
                        "type" : "integer",
                        "description" : "The quantity of the option item.",
                        "example" : 3
                      },
                      "shipmentId" : {
                        "type" : "string",
                        "description" : "The shipment ID associated with the option item.",
                        "example" : "me"
                      },
                      "tax" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The tax applied to the option item.",
                        "example" : 0
                      },
                      "taxBasis" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The tax basis for the option item.",
                        "example" : 0
                      },
                      "taxClassId" : {
                        "type" : "string",
                        "description" : "The tax class ID for the option item.",
                        "example" : "standard"
                      },
                      "taxRate" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The tax rate applied to the option item.",
                        "example" : 0.05
                      }
                    }
                  }
                },
                "price" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The total price of the product item.",
                  "example" : 599.97
                },
                "priceAfterItemDiscount" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The price of the product item after item-level discounts.",
                  "example" : 599.97
                },
                "priceAfterOrderDiscount" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The price of the product item after order-level discounts.",
                  "example" : 599.97
                },
                "productId" : {
                  "type" : "string",
                  "description" : "The product ID of the item.",
                  "example" : "green-umbrella"
                },
                "productName" : {
                  "type" : "string",
                  "description" : "The product name of the item.",
                  "example" : "Green Umbrella - Sustained Edition"
                },
                "quantity" : {
                  "type" : "integer",
                  "description" : "The quantity of the product item.",
                  "example" : 3
                },
                "shipmentId" : {
                  "type" : "string",
                  "description" : "The shipment ID associated with the product item.",
                  "example" : "me"
                },
                "tax" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The tax applied to the product item.",
                  "example" : 30
                },
                "taxBasis" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The tax basis for the product item.",
                  "example" : 599.97
                },
                "taxClassId" : {
                  "type" : "string",
                  "description" : "The tax class ID for the product item.",
                  "example" : "standard"
                },
                "taxRate" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The tax rate applied to the product item.",
                  "example" : 0.05
                }
              }
            }
          },
          "productSubTotal" : {
            "type" : "number",
            "format" : "double",
            "description" : "The subtotal for all products.",
            "example" : 599.97
          },
          "productTotal" : {
            "type" : "number",
            "format" : "double",
            "description" : "The total price of all products.",
            "example" : 599.97
          },
          "shipments" : {
            "type" : "array",
            "description" : "The shipments in the basket.",
            "items" : {
              "type" : "object",
              "properties" : {
                "adjustedMerchandizeTotalTax" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "Adjusted merchandise total tax for the shipment.",
                  "example" : 30
                },
                "adjustedShippingTotalTax" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "Adjusted shipping total tax for the shipment.",
                  "example" : 0.8
                },
                "gift" : {
                  "type" : "boolean",
                  "description" : "Indicates if the shipment is a gift.",
                  "example" : false
                },
                "merchandizeTotalTax" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "Merchandise total tax for the shipment.",
                  "example" : 30
                },
                "productSubTotal" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "Product subtotal for the shipment.",
                  "example" : 599.97
                },
                "productTotal" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "Product total for the shipment.",
                  "example" : 599.97
                },
                "shipmentId" : {
                  "type" : "string",
                  "description" : "Unique identifier of the shipment.",
                  "example" : "me"
                },
                "shipmentTotal" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The total price for the shipment, including shipping and tax.",
                  "example" : 646.76
                },
                "shippingAddress" : {
                  "type" : "object",
                  "description" : "The shipping address for the shipment.",
                  "properties" : {
                    "address1" : {
                      "type" : "string",
                      "description" : "The first line of the address.",
                      "example" : "4162 Turkey Pen Road"
                    },
                    "city" : {
                      "type" : "string",
                      "description" : "The city of the address.",
                      "example" : "New York"
                    },
                    "countryCode" : {
                      "type" : "string",
                      "description" : "The country code of the address.",
                      "example" : "US"
                    },
                    "firstName" : {
                      "type" : "string",
                      "description" : "The first name of the recipient.",
                      "example" : "Agustin"
                    },
                    "fullName" : {
                      "type" : "string",
                      "description" : "The full name of the recipient.",
                      "example" : "Agustin Estes"
                    },
                    "id" : {
                      "type" : "string",
                      "description" : "The unique identifier of the shipping address.",
                      "example" : "4432af77112f7c2433248a48e8"
                    },
                    "lastName" : {
                      "type" : "string",
                      "description" : "The last name of the recipient.",
                      "example" : "Estes"
                    },
                    "postalCode" : {
                      "type" : "string",
                      "description" : "The postal code of the address.",
                      "example" : "10016"
                    },
                    "stateCode" : {
                      "type" : "string",
                      "description" : "The state code of the address.",
                      "example" : "NY"
                    }
                  }
                },
                "shippingMethod" : {
                  "type" : "object",
                  "description" : "The shipping method for the shipment.",
                  "properties" : {
                    "description" : {
                      "type" : "string",
                      "description" : "A description of the shipping method.",
                      "example" : "Order received within 7-10 business days"
                    },
                    "id" : {
                      "type" : "string",
                      "description" : "The identifier of the shipping method.",
                      "example" : "001"
                    },
                    "name" : {
                      "type" : "string",
                      "description" : "The name of the shipping method.",
                      "example" : "Ground"
                    },
                    "price" : {
                      "type" : "number",
                      "format" : "double",
                      "description" : "The price of the shipping method.",
                      "example" : 15.99
                    }
                  }
                },
                "shippingStatus" : {
                  "type" : "string",
                  "description" : "The status of the shipment.",
                  "example" : "not_shipped"
                },
                "shippingTotal" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The total shipping charges for the shipment.",
                  "example" : 15.99
                },
                "shippingTotalTax" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The total tax on shipping charges for the shipment.",
                  "example" : 0.8
                },
                "taxTotal" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The total tax for the shipment.",
                  "example" : 30.8
                }
              }
            }
          },
          "shippingItems" : {
            "type" : "array",
            "description" : "The shipping items in the basket.",
            "items" : {
              "type" : "object",
              "properties" : {
                "adjustedTax" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The adjusted tax for the shipping item.",
                  "example" : 0.8
                },
                "basePrice" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The base price of the shipping item.",
                  "example" : 15.99
                },
                "itemId" : {
                  "type" : "string",
                  "description" : "The unique identifier for the shipping item.",
                  "example" : "d5ed0e58b8f8b5efe8d617a630"
                },
                "itemText" : {
                  "type" : "string",
                  "description" : "A description of the shipping item.",
                  "example" : "Shipping"
                },
                "price" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The price of the shipping item.",
                  "example" : 15.99
                },
                "priceAfterItemDiscount" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The price of the shipping item after item-level discounts.",
                  "example" : 15.99
                },
                "shipmentId" : {
                  "type" : "string",
                  "description" : "The shipment ID associated with the shipping item.",
                  "example" : "me"
                },
                "tax" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The tax applied to the shipping item.",
                  "example" : 0.8
                },
                "taxBasis" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The tax basis for the shipping item.",
                  "example" : 15.99
                },
                "taxClassId" : {
                  "type" : "string",
                  "description" : "The tax class ID for the shipping item.",
                  "example" : "standard"
                },
                "taxRate" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The tax rate applied to the shipping item.",
                  "example" : 0.05
                }
              }
            }
          },
          "shippingTotal" : {
            "type" : "number",
            "format" : "double",
            "description" : "The total shipping charges for the basket.",
            "example" : 15.99
          },
          "shippingTotalTax" : {
            "type" : "number",
            "format" : "double",
            "description" : "The total tax on shipping charges for the basket.",
            "example" : 0.8
          },
          "taxTotal" : {
            "type" : "number",
            "format" : "double",
            "description" : "The total tax amount for the basket.",
            "example" : 30.8
          },
          "taxation" : {
            "type" : "string",
            "description" : "The taxation policy for the basket.",
            "example" : "net"
          }
        }
      },
      "basketShipmentCMarketplaceData" : {
        "type" : "object",
        "description" : "Additional Mirakl data related to the shipment.",
        "properties" : {
          "errors" : {
            "type" : "array",
            "description" : "Marketplace shipping errors related to the shipment and the offers.",
            "items" : {
              "$ref" : "#/components/schemas/CMarketplaceShippingErrors"
            }
          },
          "isSH02Done" : {
            "type" : "boolean",
            "description" : "A boolean indicating whether SH02 has been called.",
            "example" : true
          },
          "shipments" : {
            "type" : "array",
            "description" : "The marketplace shipments data.",
            "items" : {
              "$ref" : "#/components/schemas/CMarketplaceShipments"
            }
          },
          "shippingPrice" : {
            "$ref" : "#/components/schemas/CMarketplacePrice"
          },
          "shippingTaxes" : {
            "$ref" : "#/components/schemas/CMarketplacePrice"
          }
        }
      },
      "bodyAddItemToBasket" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/basket"
        }, {
          "type" : "object",
          "properties" : {
            "productItems" : {
              "type" : "array",
              "description" : "List of the product items of the basket.",
              "items" : {
                "$ref" : "#/components/schemas/productItem"
              }
            },
            "shipments" : {
              "type" : "array",
              "description" : "List of the shipment items of the basket.",
              "items" : {
                "$ref" : "#/components/schemas/shipment"
              }
            }
          }
        } ]
      },
      "bodyGetBasket" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/basket"
        }, {
          "type" : "object",
          "properties" : {
            "productItems" : {
              "type" : "array",
              "description" : "List of the product items of the basket.",
              "items" : {
                "$ref" : "#/components/schemas/productItem"
              }
            },
            "shipments" : {
              "type" : "array",
              "description" : "List of the shipment items of the basket.",
              "items" : {
                "$ref" : "#/components/schemas/shipment"
              }
            }
          }
        } ]
      },
      "bodyGetCustomerBasket" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/basket"
        }, {
          "type" : "object",
          "properties" : {
            "productItems" : {
              "type" : "array",
              "description" : "List of the product items of the basket.",
              "items" : {
                "$ref" : "#/components/schemas/productItem"
              }
            },
            "shipments" : {
              "type" : "array",
              "description" : "List of the shipment items of the basket.",
              "items" : {
                "$ref" : "#/components/schemas/shipment"
              }
            }
          }
        } ]
      },
      "bodyGetCustomerBaskets" : {
        "type" : "object",
        "properties" : {
          "baskets" : {
            "type" : "array",
            "description" : "The list of baskets for a customer.",
            "items" : {
              "$ref" : "#/components/schemas/bodyGetCustomerBasket"
            }
          }
        }
      },
      "bodyGetOrder" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/order"
        } ],
        "properties" : {
          "shipments" : {
            "type" : "array",
            "description" : "List of the shipment items of the basket.",
            "items" : {
              "$ref" : "#/components/schemas/shipment_1"
            }
          }
        }
      },
      "bodyGetOrderCMarketplaceAccountingDocument" : {
        "type" : "object",
        "properties" : {
          "dateUploaded" : {
            "type" : "string",
            "description" : "Uploaded date of the document.",
            "example" : "2023-07-05T15:39:11.000Z"
          },
          "fileName" : {
            "type" : "string",
            "description" : "Name of the document.",
            "example" : "accounting-Mirakl00004701-A.pdf"
          },
          "id" : {
            "type" : "string",
            "description" : "Unique ID for the document.",
            "example" : "2497"
          },
          "number" : {
            "type" : "string",
            "description" : "Number of the document.",
            "example" : "2497"
          },
          "orderId" : {
            "type" : "string",
            "description" : "Mirakl unique ID for the order.",
            "example" : "Mirakl00004701-A"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of the document coming from Mirakl.",
            "example" : "INVOICE"
          }
        }
      },
      "bodyGetOrderCMarketplaceData" : {
        "type" : "object",
        "properties" : {
          "accountingDocuments" : {
            "type" : "array",
            "description" : "List of accounting documents related to the order.",
            "items" : {
              "$ref" : "#/components/schemas/bodyGetOrderCMarketplaceAccountingDocument"
            }
          },
          "offers" : {
            "type" : "array",
            "description" : "List of offers related to the order.",
            "items" : {
              "$ref" : "#/components/schemas/bodyGetOrderCMarketplaceOffer"
            }
          },
          "orderDocuments" : {
            "type" : "array",
            "description" : "List of documents related to the order.",
            "items" : {
              "$ref" : "#/components/schemas/bodyGetOrderCMarketplaceOrderDocument"
            }
          },
          "orderShipments" : {
            "type" : "array",
            "description" : "List of Mirakl shipments related to the order.",
            "items" : {
              "$ref" : "#/components/schemas/bodyGetOrderCMarketplaceOrderShipment"
            }
          },
          "shippingMethod" : {
            "$ref" : "#/components/schemas/bodyGetOrderCMarketplaceShippingMethod"
          },
          "shippingPrice" : {
            "$ref" : "#/components/schemas/bodyGetOrderCMarketplaceShippingPrice"
          }
        }
      },
      "bodyGetOrderCMarketplaceOffer" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Unique ID for the offer.",
            "example" : "2000"
          }
        }
      },
      "bodyGetOrderCMarketplaceOrderDocument" : {
        "type" : "object",
        "properties" : {
          "dateUploaded" : {
            "type" : "string",
            "description" : "Uploaded date of the document.",
            "example" : "2023-07-05T15:39:11.000Z"
          },
          "fileName" : {
            "type" : "string",
            "description" : "Name of the document.",
            "example" : "delivery-Mirakl00004701-A.pdf"
          },
          "id" : {
            "type" : "string",
            "description" : "Unique ID for the document.",
            "example" : "2497"
          },
          "orderId" : {
            "type" : "string",
            "description" : "Mirakl unique ID for the order.",
            "example" : "Mirakl00004701-A"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of the document coming from Mirakl.",
            "example" : "SYSTEM_DELIVERY_BILL"
          }
        }
      },
      "bodyGetOrderCMarketplaceOrderShipment" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Unique ID for the shipment.",
            "example" : "2000"
          },
          "shipmentLines" : {
            "type" : "array",
            "description" : "List of shipment lines related to the shipment.",
            "items" : {
              "$ref" : "#/components/schemas/bodyGetOrderCMarketplaceShipmentLine"
            }
          },
          "shippingDate" : {
            "type" : "string",
            "description" : "The shipping date of the shipment.",
            "example" : "2023-07-05T15:39:11.000Z"
          },
          "status" : {
            "type" : "string",
            "description" : "The status of the shipment.",
            "example" : "SHIPPED"
          },
          "tracking" : {
            "type" : "string",
            "description" : "The tracking number of the shipment.",
            "example" : "1Z999AA10123456784"
          }
        }
      },
      "bodyGetOrderCMarketplaceShipmentLine" : {
        "type" : "object",
        "properties" : {
          "offerSku" : {
            "type" : "string",
            "description" : "The SKU of the offer.",
            "example" : "S2026"
          },
          "orderLineId" : {
            "type" : "string",
            "description" : "The order line ID.",
            "example" : "00000202-A-1"
          },
          "packageReference" : {
            "type" : "string",
            "description" : "The package reference of the shipment line.",
            "example" : "ref-00000202-A-1"
          },
          "quantity" : {
            "type" : "integer",
            "description" : "The quantity of the shipment line.",
            "example" : 1
          }
        }
      },
      "bodyGetOrderCMarketplaceShippingMethod" : {
        "type" : "object",
        "properties" : {
          "deliveryDateTime" : {
            "$ref" : "#/components/schemas/CMarketplaceDeliveryDateTime"
          },
          "id" : {
            "type" : "string",
            "description" : "Unique ID for the shipping method.",
            "example" : "EXP"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the shipping method.",
            "example" : "Express"
          }
        }
      },
      "bodyGetOrderCMarketplaceShippingPrice" : {
        "type" : "object",
        "properties" : {
          "shippingPrice" : {
            "$ref" : "#/components/schemas/CMarketplacePrice"
          },
          "shippingTaxes" : {
            "$ref" : "#/components/schemas/CMarketplacePrice"
          }
        }
      },
      "bodyGetProduct" : {
        "type" : "object",
        "properties" : {
          "c_marketplaceData" : {
            "$ref" : "#/components/schemas/bodyGetProductCMarketplaceData"
          }
        }
      },
      "bodyGetProductCMarketplaceData" : {
        "type" : "object",
        "properties" : {
          "shippingZoneCode" : {
            "type" : "string",
            "description" : "The shipping zone code calculated based on the customer and the basket.",
            "example" : "FR"
          },
          "sortedOffers" : {
            "type" : "array",
            "description" : "List of offers sorted by the buybox ranking algorithm.",
            "items" : {
              "$ref" : "#/components/schemas/bodyGetProductCMarketplaceOffer"
            }
          }
        }
      },
      "bodyGetProductCMarketplaceEcoContribution" : {
        "type" : "object",
        "properties" : {
          "price" : {
            "$ref" : "#/components/schemas/CMarketplacePrice"
          }
        }
      },
      "bodyGetProductCMarketplaceOffer" : {
        "type" : "object",
        "properties" : {
          "condition" : {
            "$ref" : "#/components/schemas/CMarketplaceCondition"
          },
          "ecoContributions" : {
            "type" : "array",
            "description" : "Eco-contributions of the offer - only available if the operator setting Activate data collection related to circular economy regulations has been enabled.",
            "items" : {
              "$ref" : "#/components/schemas/bodyGetProductCMarketplaceEcoContribution"
            }
          },
          "id" : {
            "type" : "string",
            "description" : "Unique ID for the offer. The field is omitted when the seller is the operator.",
            "example" : "2257"
          },
          "minShippingPrice" : {
            "$ref" : "#/components/schemas/CMarketplacePrice"
          },
          "orderQuantity" : {
            "$ref" : "#/components/schemas/CMarketplaceOrderQuantity"
          },
          "price" : {
            "$ref" : "#/components/schemas/CMarketplacePrice"
          },
          "quantity" : {
            "type" : "integer",
            "description" : "Number of items available for this offer. The field is omitted when the seller is the operator.",
            "example" : 4
          },
          "seller" : {
            "$ref" : "#/components/schemas/bodyGetProductCMarketplaceSeller"
          },
          "shippingMethods" : {
            "type" : "array",
            "description" : "List of shipping methods compatible with the given offer.",
            "items" : {
              "$ref" : "#/components/schemas/bodyGetProductCMarketplaceShippingMethod"
            }
          }
        }
      },
      "bodyGetProductCMarketplaceSeller" : {
        "type" : "object",
        "properties" : {
          "evaluationsCount" : {
            "type" : "integer",
            "description" : "Number of evaluations the seller has received.",
            "example" : 2
          },
          "grade" : {
            "type" : "number",
            "format" : "float",
            "description" : "Seller's average rating or grade.",
            "example" : 4.0
          },
          "id" : {
            "type" : "string",
            "description" : "Unique ID for the seller.",
            "example" : "2000"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the seller.",
            "example" : "Lucas store"
          }
        }
      },
      "bodyGetProductCMarketplaceShippingMethod" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "Shipping method code.",
            "example" : "STD"
          },
          "cutOffNextDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Cut-off date time for the shipping.",
            "example" : "2023-07-05T15:39:11Z"
          },
          "deliveryTime" : {
            "$ref" : "#/components/schemas/CMarketplaceDeliveryDateTime"
          },
          "price" : {
            "$ref" : "#/components/schemas/CMarketplacePrice"
          },
          "zoneCode" : {
            "type" : "string",
            "description" : "Shipping zone code.",
            "example" : "FR"
          }
        }
      },
      "bodyGetShippingMethodsForShipment" : {
        "type" : "object",
        "properties" : {
          "applicableShippingMethods" : {
            "type" : "array",
            "description" : "A list of shipping methods applicable for the shipment.",
            "items" : {
              "type" : "object",
              "properties" : {
                "description" : {
                  "type" : "string",
                  "description" : "Description of the shipping method."
                },
                "id" : {
                  "type" : "string",
                  "description" : "Identifier of the shipping method."
                },
                "name" : {
                  "type" : "string",
                  "description" : "Name of the shipping method."
                },
                "price" : {
                  "type" : "number",
                  "format" : "float",
                  "description" : "Cost associated with the shipping method."
                }
              }
            }
          },
          "defaultShippingMethodId" : {
            "type" : "string",
            "description" : "The ID of the default shipping method."
          }
        }
      },
      "bodyProductSearch" : {
        "type" : "object",
        "properties" : {
          "hits" : {
            "type" : "array",
            "description" : "The list of products that match the search criteria.",
            "items" : {
              "$ref" : "#/components/schemas/productSearchHit"
            }
          }
        }
      },
      "bodyProductSearchCMarketplaceBestOffer" : {
        "type" : "object",
        "properties" : {
          "condition" : {
            "$ref" : "#/components/schemas/CMarketplaceCondition"
          },
          "id" : {
            "type" : "string",
            "description" : "Unique ID for the offer.",
            "example" : "2253"
          },
          "price" : {
            "$ref" : "#/components/schemas/CMarketplacePrice"
          },
          "quantity" : {
            "type" : "integer",
            "description" : "Number of items available for this offer.",
            "example" : 111
          },
          "seller" : {
            "$ref" : "#/components/schemas/bodyProductSearchCMarketplaceSeller"
          }
        }
      },
      "bodyProductSearchCMarketplaceData" : {
        "type" : "object",
        "properties" : {
          "bestOffer" : {
            "$ref" : "#/components/schemas/bodyProductSearchCMarketplaceBestOffer"
          },
          "isSameSeller" : {
            "type" : "boolean",
            "description" : "Indicates if all the offers on this product are from the same seller.",
            "example" : true
          },
          "offerCount" : {
            "type" : "number",
            "format" : "integer",
            "description" : "The total number of third-party offers available.",
            "example" : 2
          }
        }
      },
      "bodyProductSearchCMarketplaceSeller" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Unique ID for the seller.",
            "example" : "2000"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the seller.",
            "example" : "Marketplace store"
          }
        }
      },
      "bodyRemoveItemFromBasket" : {
        "type" : "object",
        "properties" : {
          "productItems" : {
            "type" : "array",
            "description" : "List of the product items of the basket.",
            "items" : {
              "$ref" : "#/components/schemas/productItem"
            }
          },
          "shipments" : {
            "type" : "array",
            "description" : "List of the shipment items of the basket.",
            "items" : {
              "$ref" : "#/components/schemas/shipment"
            }
          }
        }
      },
      "bodyUpdateBasket" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/basket"
        }, {
          "type" : "object",
          "properties" : {
            "productItems" : {
              "type" : "array",
              "description" : "List of the product items of the basket.",
              "items" : {
                "$ref" : "#/components/schemas/productItem"
              }
            },
            "shipments" : {
              "type" : "array",
              "description" : "List of the shipment items of the basket.",
              "items" : {
                "$ref" : "#/components/schemas/shipment"
              }
            }
          }
        } ]
      },
      "bodyUpdateBillingAddressForBasket" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/basket"
        }, {
          "type" : "object",
          "properties" : {
            "productItems" : {
              "type" : "array",
              "description" : "List of the product items of the basket.",
              "items" : {
                "$ref" : "#/components/schemas/productItem"
              }
            },
            "shipments" : {
              "type" : "array",
              "description" : "List of the shipment items of the basket.",
              "items" : {
                "$ref" : "#/components/schemas/shipment"
              }
            }
          }
        } ]
      },
      "bodyUpdateItemInBasket" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/basket"
        }, {
          "type" : "object",
          "properties" : {
            "productItems" : {
              "type" : "array",
              "description" : "List of the product items of the basket.",
              "items" : {
                "$ref" : "#/components/schemas/productItem"
              }
            },
            "shipments" : {
              "type" : "array",
              "description" : "List of the shipment items of the basket.",
              "items" : {
                "$ref" : "#/components/schemas/shipment"
              }
            }
          }
        } ]
      },
      "bodyUpdateShippingMethodForShipment" : {
        "type" : "object",
        "properties" : {
          "shipments" : {
            "type" : "array",
            "description" : "List of the shipment items of the basket.",
            "items" : {
              "$ref" : "#/components/schemas/shipment"
            }
          }
        }
      },
      "errorResponse" : {
        "type" : "object",
        "properties" : {
          "detail" : {
            "type" : "string",
            "description" : "Error detail.",
            "example" : "The request could not be understood by the server due to malformed syntax. The client SHOULD NOT repeat the request without modifications"
          },
          "status" : {
            "type" : "string",
            "description" : "Error status",
            "example" : "400"
          },
          "title" : {
            "type" : "string",
            "description" : "Error title.",
            "example" : "Bad Request"
          },
          "type" : {
            "type" : "string",
            "description" : "Error type.",
            "example" : "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request"
          }
        }
      },
      "order" : {
        "type" : "object",
        "description" : "The order object.",
        "properties" : {
          "adjustedMerchandizeTotalTax" : {
            "type" : "number",
            "format" : "double",
            "description" : "The total tax on products in the order, including price adjustments, but not including service charges such as shipping.",
            "example" : 30
          },
          "adjustedShippingTotalTax" : {
            "type" : "number",
            "format" : "double",
            "description" : "The total tax on shipping charges in the order, including shipping price adjustments.",
            "example" : 0.8
          },
          "billingAddress" : {
            "type" : "object",
            "description" : "The billing address.",
            "properties" : {
              "address1" : {
                "type" : "string",
                "description" : "The first line of the address.",
                "example" : "104 Presidential Way"
              },
              "city" : {
                "type" : "string",
                "description" : "The city of the address.",
                "example" : "Woburn"
              },
              "countryCode" : {
                "type" : "string",
                "description" : "The country code of the address.",
                "example" : "US"
              },
              "firstName" : {
                "type" : "string",
                "description" : "The first name of the customer.",
                "example" : "Stephanie"
              },
              "fullName" : {
                "type" : "string",
                "description" : "The full name of the customer.",
                "example" : "Stephanie Miller"
              },
              "id" : {
                "type" : "string",
                "description" : "The unique identifier of the billing address.",
                "example" : "5f695b6f4bb63cb686483d65a0"
              },
              "lastName" : {
                "type" : "string",
                "description" : "The last name of the customer.",
                "example" : "Miller"
              },
              "postalCode" : {
                "type" : "string",
                "description" : "The postal code of the address.",
                "example" : "01801"
              },
              "stateCode" : {
                "type" : "string",
                "description" : "The state code of the address.",
                "example" : "MA"
              }
            }
          },
          "channelType" : {
            "type" : "string",
            "description" : "The sales channel.",
            "example" : "storefront"
          },
          "confirmationStatus" : {
            "type" : "string",
            "description" : "The confirmation status.",
            "example" : "not_confirmed"
          },
          "couponItems" : {
            "type" : "array",
            "description" : "The coupon items.",
            "items" : {
              "type" : "object",
              "properties" : {
                "code" : {
                  "type" : "string",
                  "description" : "The coupon code.",
                  "example" : "5ties"
                },
                "couponItemId" : {
                  "type" : "string",
                  "description" : "The unique identifier for the coupon item.",
                  "example" : "d3f7ae47e5897a6b5d2fd541f0"
                },
                "statusCode" : {
                  "type" : "string",
                  "description" : "The status of the coupon.",
                  "example" : "applied"
                },
                "valid" : {
                  "type" : "boolean",
                  "description" : "Indicates if the coupon is valid.",
                  "example" : true
                }
              }
            }
          },
          "createdBy" : {
            "type" : "string",
            "description" : "Indicates who created the order.",
            "example" : "Customer"
          },
          "creationDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "The timestamp when the order was created.",
            "example" : "2019-10-22T12:17:28.341Z"
          },
          "currency" : {
            "type" : "string",
            "description" : "The ISO 4217 currency code of the order.",
            "example" : "USD"
          },
          "customerInfo" : {
            "type" : "object",
            "description" : "The customer information for guest or logged-in customers.",
            "properties" : {
              "customerId" : {
                "type" : "string",
                "description" : "The unique identifier of the customer.",
                "example" : "beQeANXJNsd0xcINsB6cSrobQa"
              },
              "customerName" : {
                "type" : "string",
                "description" : "The name of the customer.",
                "example" : "Stephanie Miller"
              },
              "email" : {
                "type" : "string",
                "description" : "The email of the customer.",
                "example" : "shopper@salesforce-test.com"
              }
            }
          },
          "customerName" : {
            "type" : "string",
            "description" : "The name of the customer.",
            "example" : "Stephanie Miller"
          },
          "exportStatus" : {
            "type" : "string",
            "description" : "The export status of the order.",
            "example" : "not_exported"
          },
          "giftCertificateItems" : {
            "type" : "array",
            "description" : "The gift certificate line items.",
            "items" : {
              "type" : "object",
              "properties" : {
                "amount" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The amount of the gift certificate.",
                  "example" : 1
                },
                "giftCertificateItemId" : {
                  "type" : "string",
                  "description" : "The unique identifier of the gift certificate item.",
                  "example" : "540db3ffe58bfb04ab673757d7"
                },
                "recipientEmail" : {
                  "type" : "string",
                  "description" : "The email of the recipient of the gift certificate.",
                  "example" : "miller@salesforce-test.com"
                },
                "shipmentId" : {
                  "type" : "string",
                  "description" : "The shipment ID associated with the gift certificate.",
                  "example" : "me"
                }
              }
            }
          },
          "groupedTaxItems" : {
            "type" : "array",
            "description" : "Tax values grouped and summed based on the tax rate. The tax totals of the line items with the same tax rate are grouped together and summed up.",
            "items" : {
              "type" : "object",
              "properties" : {
                "_type" : {
                  "type" : "string",
                  "description" : "The type of the tax grouping.",
                  "example" : "grouped_tax"
                },
                "tax_rate" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The tax rate for the grouped items.",
                  "example" : 0.05
                },
                "tax_value" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The total tax value for the grouped items.",
                  "example" : 30.8
                }
              }
            }
          },
          "guest" : {
            "type" : "boolean",
            "description" : "Indicates whether the order was placed by a guest customer.",
            "example" : true
          },
          "lastModified" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "The timestamp when the order was last modified.",
            "example" : "2019-10-22T12:17:28.376Z"
          },
          "merchandizeTotalTax" : {
            "type" : "number",
            "format" : "double",
            "description" : "The total tax on merchandise in the order.",
            "example" : 30
          },
          "notes" : {
            "type" : "object",
            "description" : "Additional notes associated with the order."
          },
          "orderNo" : {
            "type" : "string",
            "description" : "The order number.",
            "example" : "00000410"
          },
          "orderPriceAdjustments" : {
            "type" : "array",
            "description" : "The order-level price adjustments.",
            "items" : {
              "type" : "object",
              "properties" : {
                "appliedDiscount" : {
                  "type" : "object",
                  "description" : "The discount applied to the order.",
                  "properties" : {
                    "amount" : {
                      "type" : "number",
                      "format" : "double",
                      "description" : "The amount of the discount.",
                      "example" : 10
                    },
                    "type" : {
                      "type" : "string",
                      "description" : "The type of discount applied.",
                      "example" : "amount"
                    }
                  }
                },
                "createdBy" : {
                  "type" : "string",
                  "description" : "Indicates who created the price adjustment.",
                  "example" : "support"
                },
                "creationDate" : {
                  "type" : "string",
                  "format" : "date-time",
                  "description" : "The timestamp when the price adjustment was created.",
                  "example" : "2019-10-22T12:17:28.347Z"
                },
                "custom" : {
                  "type" : "boolean",
                  "description" : "Indicates whether the price adjustment was custom.",
                  "example" : true
                },
                "lastModified" : {
                  "type" : "string",
                  "format" : "date-time",
                  "description" : "The timestamp when the price adjustment was last modified.",
                  "example" : "2019-10-22T12:17:28.349Z"
                },
                "manual" : {
                  "type" : "boolean",
                  "description" : "Indicates whether the price adjustment was applied manually.",
                  "example" : true
                },
                "price" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The price adjustment amount.",
                  "example" : -10
                },
                "priceAdjustmentId" : {
                  "type" : "string",
                  "description" : "The unique identifier for the price adjustment.",
                  "example" : "63b9eb9b4a92bd3e5c6ee804c2"
                },
                "promotionId" : {
                  "type" : "string",
                  "description" : "The promotion ID associated with the price adjustment.",
                  "example" : "5ties"
                },
                "reasonCode" : {
                  "type" : "string",
                  "description" : "The reason for the price adjustment.",
                  "example" : "customer service"
                }
              }
            }
          },
          "orderToken" : {
            "type" : "string",
            "description" : "The order token used to secure the lookup of an order.",
            "example" : "7gJDIFlnho_mXrxfxVB9Neic3J7szzR9glvgU5Ath-I"
          },
          "orderTotal" : {
            "type" : "number",
            "format" : "double",
            "description" : "The total price of the order, including products, shipping, and tax.",
            "example" : 586.76
          },
          "orderViewCode" : {
            "type" : "string",
            "description" : "The order view code used to secure the order lookup via the Order Lookup API.",
            "example" : "YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc"
          },
          "paymentInstruments" : {
            "type" : "array",
            "description" : "The list of payment instruments used in the order.",
            "items" : {
              "type" : "object",
              "properties" : {
                "amount" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The amount charged with this payment instrument.",
                  "example" : 20
                },
                "paymentCard" : {
                  "type" : "object",
                  "description" : "Information about the payment card (if applicable).",
                  "properties" : {
                    "cardType" : {
                      "type" : "string",
                      "description" : "The type of card used.",
                      "example" : "Visa"
                    },
                    "creditCardExpired" : {
                      "type" : "boolean",
                      "description" : "Indicates if the credit card has expired.",
                      "example" : false
                    }
                  }
                },
                "paymentInstrumentId" : {
                  "type" : "string",
                  "description" : "The unique identifier for the payment instrument.",
                  "example" : "ca47e0da3d49b067b630db624a"
                },
                "paymentMethodId" : {
                  "type" : "string",
                  "description" : "The payment method ID.",
                  "example" : "BML"
                }
              }
            }
          },
          "paymentStatus" : {
            "type" : "string",
            "description" : "The payment status of the order.",
            "example" : "not_paid"
          },
          "productItems" : {
            "type" : "array",
            "description" : "The list of product items in the order.",
            "items" : {
              "type" : "object",
              "properties" : {
                "adjustedTax" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The adjusted tax for the product item.",
                  "example" : 30
                },
                "basePrice" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The base price of the product item.",
                  "example" : 199.99
                },
                "bonusProductLineItem" : {
                  "type" : "boolean",
                  "description" : "Indicates if the product is a bonus item.",
                  "example" : false
                },
                "gift" : {
                  "type" : "boolean",
                  "description" : "Indicates if the product is a gift.",
                  "example" : false
                },
                "itemId" : {
                  "type" : "string",
                  "description" : "The unique identifier for the product item.",
                  "example" : "d9516eecc64bd90b0022714d26"
                },
                "itemText" : {
                  "type" : "string",
                  "description" : "A description of the product.",
                  "example" : "Green Umbrella - Sustained Edition"
                },
                "optionItems" : {
                  "type" : "array",
                  "description" : "The list of options for the product item.",
                  "items" : {
                    "type" : "object",
                    "properties" : {
                      "adjustedTax" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The adjusted tax for the option item.",
                        "example" : 0
                      },
                      "basePrice" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The base price of the option item.",
                        "example" : 0
                      },
                      "bonusProductLineItem" : {
                        "type" : "boolean",
                        "description" : "Indicates if the option item is a bonus.",
                        "example" : false
                      },
                      "gift" : {
                        "type" : "boolean",
                        "description" : "Indicates if the option item is a gift.",
                        "example" : false
                      },
                      "itemId" : {
                        "type" : "string",
                        "description" : "The unique identifier of the option item.",
                        "example" : "8991e8d7adf0f46ffbc584e175"
                      },
                      "itemText" : {
                        "type" : "string",
                        "description" : "A description of the option item.",
                        "example" : "We will plant a tree for your order."
                      },
                      "optionId" : {
                        "type" : "string",
                        "description" : "The option ID.",
                        "example" : "plantATree"
                      },
                      "optionValueId" : {
                        "type" : "string",
                        "description" : "The option value ID.",
                        "example" : "000"
                      },
                      "price" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The price of the option item.",
                        "example" : 0
                      },
                      "priceAfterItemDiscount" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The price after item-level discounts.",
                        "example" : 0
                      },
                      "priceAfterOrderDiscount" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The price after order-level discounts.",
                        "example" : 0
                      },
                      "productId" : {
                        "type" : "string",
                        "description" : "The product ID for the option item.",
                        "example" : "000"
                      },
                      "productName" : {
                        "type" : "string",
                        "description" : "The product name for the option item.",
                        "example" : "Plant a tree."
                      },
                      "quantity" : {
                        "type" : "integer",
                        "description" : "The quantity of the option item.",
                        "example" : 3
                      },
                      "shipmentId" : {
                        "type" : "string",
                        "description" : "The shipment ID associated with the option item.",
                        "example" : "me"
                      },
                      "tax" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The tax applied to the option item.",
                        "example" : 0
                      },
                      "taxBasis" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The tax basis for the option item.",
                        "example" : 0
                      },
                      "taxClassId" : {
                        "type" : "string",
                        "description" : "The tax class ID for the option item.",
                        "example" : "standard"
                      },
                      "taxRate" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The tax rate applied to the option item.",
                        "example" : 0.05
                      }
                    }
                  }
                },
                "price" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The price of the product item.",
                  "example" : 599.99
                },
                "priceAfterItemDiscount" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The price after item-level discounts.",
                  "example" : 599.99
                },
                "priceAfterOrderDiscount" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The price after order-level discounts.",
                  "example" : 589.99
                },
                "productId" : {
                  "type" : "string",
                  "description" : "The product ID of the item.",
                  "example" : "green-umbrella"
                },
                "productName" : {
                  "type" : "string",
                  "description" : "The product name of the item.",
                  "example" : "Green Umbrella - Sustained Edition"
                },
                "quantity" : {
                  "type" : "integer",
                  "description" : "The quantity of the product item.",
                  "example" : 3
                },
                "shipmentId" : {
                  "type" : "string",
                  "description" : "The shipment ID associated with the product item.",
                  "example" : "me"
                },
                "tax" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The tax applied to the product item.",
                  "example" : 30
                },
                "taxBasis" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The tax basis for the product item.",
                  "example" : 599.97
                },
                "taxClassId" : {
                  "type" : "string",
                  "description" : "The tax class ID for the product item.",
                  "example" : "standard"
                },
                "taxRate" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The tax rate applied to the product item.",
                  "example" : 0.05
                }
              }
            }
          },
          "productSubTotal" : {
            "type" : "number",
            "format" : "double",
            "description" : "The subtotal for all products in the order.",
            "example" : 599.97
          },
          "productTotal" : {
            "type" : "number",
            "format" : "double",
            "description" : "The total price for all products in the order.",
            "example" : 599.97
          },
          "shipments" : {
            "type" : "array",
            "description" : "The list of shipments in the order.",
            "items" : {
              "type" : "object",
              "properties" : {
                "adjustedMerchandizeTotalTax" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "Adjusted merchandise total tax for the shipment.",
                  "example" : 37
                },
                "adjustedShippingTotalTax" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "Adjusted shipping total tax for the shipment.",
                  "example" : 0.5
                },
                "gift" : {
                  "type" : "boolean",
                  "description" : "Indicates if the shipment contains a gift.",
                  "example" : false
                },
                "merchandizeTotalTax" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The total merchandise tax for the shipment.",
                  "example" : 30
                },
                "productSubTotal" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The subtotal for products in the shipment.",
                  "example" : 599.97
                },
                "productTotal" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The total price for products in the shipment.",
                  "example" : 599.97
                },
                "shipmentId" : {
                  "type" : "string",
                  "description" : "The unique identifier of the shipment.",
                  "example" : "me"
                },
                "shipmentTotal" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The total price of the shipment, including shipping and tax.",
                  "example" : 646.76
                },
                "shippingAddress" : {
                  "type" : "object",
                  "description" : "The shipping address for the shipment.",
                  "properties" : {
                    "address1" : {
                      "type" : "string",
                      "description" : "The first line of the address.",
                      "example" : "4162 Turkey Pen Road"
                    },
                    "city" : {
                      "type" : "string",
                      "description" : "The city of the address.",
                      "example" : "New York"
                    },
                    "countryCode" : {
                      "type" : "string",
                      "description" : "The country code of the address.",
                      "example" : "US"
                    },
                    "firstName" : {
                      "type" : "string",
                      "description" : "The first name of the recipient.",
                      "example" : "Agustin"
                    },
                    "fullName" : {
                      "type" : "string",
                      "description" : "The full name of the recipient.",
                      "example" : "Agustin Estes"
                    },
                    "id" : {
                      "type" : "string",
                      "description" : "The unique identifier of the shipping address.",
                      "example" : "d5d95acf5381dc6e273b4336a7"
                    },
                    "lastName" : {
                      "type" : "string",
                      "description" : "The last name of the recipient.",
                      "example" : "Estes"
                    },
                    "postalCode" : {
                      "type" : "string",
                      "description" : "The postal code of the address.",
                      "example" : "10016"
                    },
                    "stateCode" : {
                      "type" : "string",
                      "description" : "The state code of the address.",
                      "example" : "NY"
                    }
                  }
                },
                "shippingMethod" : {
                  "type" : "object",
                  "description" : "The shipping method for the shipment.",
                  "properties" : {
                    "description" : {
                      "type" : "string",
                      "description" : "Description of the shipping method.",
                      "example" : "Order received within 7-10 business days"
                    },
                    "id" : {
                      "type" : "string",
                      "description" : "The unique identifier of the shipping method.",
                      "example" : "001"
                    },
                    "name" : {
                      "type" : "string",
                      "description" : "The name of the shipping method.",
                      "example" : "Ground"
                    },
                    "price" : {
                      "type" : "number",
                      "format" : "double",
                      "description" : "The price of the shipping method.",
                      "example" : 15.99
                    }
                  }
                },
                "shippingStatus" : {
                  "type" : "string",
                  "description" : "The shipping status of the shipment.",
                  "example" : "not_shipped"
                },
                "shippingTotal" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The total shipping cost for the shipment.",
                  "example" : 15.99
                },
                "shippingTotalTax" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The total tax on shipping charges for the shipment.",
                  "example" : 0.8
                },
                "taxTotal" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The total tax for the shipment.",
                  "example" : 30.8
                }
              }
            }
          },
          "shippingItems" : {
            "type" : "array",
            "description" : "The shipping items in the order.",
            "items" : {
              "type" : "object",
              "properties" : {
                "adjustedTax" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "Adjusted tax for the shipping item.",
                  "example" : 0.8
                },
                "basePrice" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "Base price of the shipping item.",
                  "example" : 15.99
                },
                "itemId" : {
                  "type" : "string",
                  "description" : "Unique identifier for the shipping item.",
                  "example" : "768abee75aa8015239a9696c7e"
                },
                "itemText" : {
                  "type" : "string",
                  "description" : "Description of the shipping item.",
                  "example" : "Shipping"
                },
                "price" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "Price of the shipping item.",
                  "example" : 15.99
                },
                "priceAfterItemDiscount" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "Price after item-level discounts.",
                  "example" : 15.99
                },
                "shipmentId" : {
                  "type" : "string",
                  "description" : "The shipment ID associated with the shipping item.",
                  "example" : "me"
                },
                "tax" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "Tax applied to the shipping item.",
                  "example" : 0.8
                },
                "taxBasis" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "Tax basis for the shipping item.",
                  "example" : 15.99
                },
                "taxClassId" : {
                  "type" : "string",
                  "description" : "Tax class ID for the shipping item.",
                  "example" : "standard"
                },
                "taxRate" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "Tax rate applied to the shipping item.",
                  "example" : 0.05
                }
              }
            }
          },
          "shippingStatus" : {
            "type" : "string",
            "description" : "The overall shipping status of the order.",
            "example" : "not_shipped"
          },
          "shippingTotal" : {
            "type" : "number",
            "format" : "double",
            "description" : "The total cost of shipping for the order.",
            "example" : 15.99
          },
          "shippingTotalTax" : {
            "type" : "number",
            "format" : "double",
            "description" : "The total tax on shipping for the order.",
            "example" : 0.8
          },
          "status" : {
            "type" : "string",
            "description" : "The overall status of the order.",
            "example" : "created"
          },
          "taxTotal" : {
            "type" : "number",
            "format" : "double",
            "description" : "The total tax amount for the order.",
            "example" : 30.8
          },
          "taxation" : {
            "type" : "string",
            "description" : "The taxation policy for the order.",
            "example" : "net"
          }
        }
      },
      "productBadRequestErrorResponse" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/errorResponse"
        }, {
          "type" : "object",
          "properties" : {
            "field" : {
              "type" : "string",
              "description" : "The field that caused the error.",
              "example" : "link"
            }
          }
        } ]
      },
      "productItem" : {
        "type" : "object",
        "properties" : {
          "c_marketplaceData" : {
            "$ref" : "#/components/schemas/CMarketplaceProductItem"
          }
        }
      },
      "productNotFoundErrorResponse" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/errorResponse"
        }, {
          "type" : "object",
          "properties" : {
            "productId" : {
              "type" : "string",
              "description" : "The product ID.",
              "example" : "apple-ipod-shuffle"
            },
            "siteId" : {
              "type" : "string",
              "description" : "The site ID.",
              "example" : "RefArch"
            }
          }
        } ]
      },
      "productSearchHit" : {
        "type" : "object",
        "properties" : {
          "c_marketplaceData" : {
            "$ref" : "#/components/schemas/bodyProductSearchCMarketplaceData"
          }
        }
      },
      "requestBodyAddItemToBasket" : {
        "type" : "array",
        "items" : {
          "type" : "object",
          "properties" : {
            "c_offerId" : {
              "type" : "string",
              "description" : "The ID of the offer if the product is an offer."
            },
            "productId" : {
              "type" : "string",
              "description" : "The ID of the product."
            },
            "quantity" : {
              "type" : "integer",
              "description" : "The quantity of the products represented by this item."
            }
          }
        }
      },
      "requestBodyUpdateBasket" : {
        "type" : "object",
        "properties" : {
          "adjustedMerchandizeTotalTax" : {
            "type" : "number",
            "description" : "The total tax on products in the shipment, including item-level price adjustments but not including service charges such as shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only."
          },
          "adjustedShippingTotalTax" : {
            "type" : "number",
            "description" : "The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only."
          },
          "agentBasket" : {
            "type" : "boolean",
            "description" : "Is the basket created by an agent? It is read only."
          },
          "basketId" : {
            "type" : "string",
            "description" : "The unique identifier for the basket. It is read only."
          },
          "billingAddress" : {
            "type" : "object",
            "description" : "The billing address."
          },
          "bonusDiscountLineItems" : {
            "type" : "array",
            "description" : "The bonus discount line items.",
            "items" : {
              "type" : "object"
            }
          },
          "channelType" : {
            "type" : "string",
            "description" : "The sales channel. It is read only."
          },
          "couponItems" : {
            "type" : "array",
            "description" : "The coupon items.",
            "items" : {
              "type" : "object"
            }
          },
          "creationDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "The timestamp when the basket was created. It is read only."
          },
          "currency" : {
            "type" : "string",
            "description" : "The ISO 4217 mnemonic code of the currency."
          },
          "customerInfo" : {
            "type" : "object",
            "description" : "The customer information, if the customer is logged in."
          },
          "giftCertificateItems" : {
            "type" : "array",
            "description" : "The gift certificate line items.",
            "items" : {
              "type" : "object"
            }
          },
          "inventoryReservationExpiry" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "The expiration datetime of the inventory reservation. It is read only."
          },
          "lastModified" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "The timestamp when the basket was last modified. It is read only."
          },
          "merchandizeTotalTax" : {
            "type" : "number",
            "description" : "The total products tax in the purchase currency. Merchandise total price represents the sum of the product prices before services (such as shipping) or adjustments from promotions have been added. It is read only."
          },
          "notes" : {
            "type" : "object",
            "description" : "The notes."
          },
          "orderPriceAdjustments" : {
            "type" : "array",
            "description" : "The order-level price adjustments.",
            "items" : {
              "type" : "object"
            }
          },
          "orderTotal" : {
            "type" : "number",
            "description" : "The total price, including products, shipping and tax. It is read only."
          },
          "paymentInstruments" : {
            "type" : "array",
            "description" : "The payment instruments list.",
            "items" : {
              "type" : "object"
            }
          },
          "productItems" : {
            "type" : "array",
            "description" : "The product items.",
            "items" : {
              "type" : "object"
            }
          },
          "productSubTotal" : {
            "type" : "number",
            "description" : "The total price of all products including item-level adjustments, but not including order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only."
          },
          "productTotal" : {
            "type" : "number",
            "description" : "The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only."
          },
          "shipment" : {
            "type" : "array",
            "description" : "The shipments.",
            "items" : {
              "type" : "object"
            }
          },
          "shippingItems" : {
            "type" : "array",
            "description" : "The shipping items.",
            "items" : {
              "type" : "object"
            }
          },
          "shippingTotal" : {
            "type" : "number",
            "description" : "The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only."
          },
          "shippingTotalTax" : {
            "type" : "number",
            "description" : "The total tax on all shipping charges, not including shipping adjustments. It is read only."
          },
          "sourceCode" : {
            "type" : "string",
            "description" : "The source code assigned to the basket. It is read only."
          },
          "taxTotal" : {
            "type" : "number",
            "description" : "The total tax amount. It is read only."
          },
          "taxation" : {
            "type" : "string",
            "description" : "The taxation policy (gross or net). It is read only."
          }
        }
      },
      "requestBodyUpdateBillingAddressForBasket" : {
        "type" : "object",
        "properties" : {
          "address1" : {
            "type" : "string",
            "description" : "The first line of the address."
          },
          "address2" : {
            "type" : "string",
            "description" : "The second address line."
          },
          "city" : {
            "type" : "string",
            "description" : "The city."
          },
          "companyName" : {
            "type" : "string",
            "description" : "The company name."
          },
          "countryCode" : {
            "type" : "string",
            "description" : "The ISO Country Code."
          },
          "firstName" : {
            "type" : "string",
            "description" : "The first name."
          },
          "fullName" : {
            "type" : "string",
            "description" : "The full name."
          },
          "id" : {
            "type" : "string",
            "description" : "The ID of the address."
          },
          "jobTitle" : {
            "type" : "string",
            "description" : "The job title."
          },
          "lastName" : {
            "type" : "string",
            "description" : "The last name."
          },
          "phone" : {
            "type" : "string",
            "description" : "The phone number."
          },
          "postBox" : {
            "type" : "string",
            "description" : "The post office box."
          },
          "postalCode" : {
            "type" : "string",
            "description" : "The postal code."
          },
          "salutation" : {
            "type" : "string",
            "description" : "The salutation."
          },
          "secondName" : {
            "type" : "string",
            "description" : "The second name."
          },
          "stateCode" : {
            "type" : "string",
            "description" : "The state code."
          },
          "suffix" : {
            "type" : "string",
            "description" : "The suffix."
          },
          "suite" : {
            "type" : "string",
            "description" : "The suite."
          },
          "title" : {
            "type" : "string",
            "description" : "The title."
          }
        }
      },
      "requestBodyUpdateItemInBasket" : {
        "type" : "object",
        "properties" : {
          "quantity" : {
            "type" : "integer",
            "description" : "The quantity of the products represented by this item."
          }
        }
      },
      "requestBodyUpdateShippingMethodForShipment" : {
        "type" : "object",
        "properties" : {
          "c_marketplaceData" : {
            "type" : "array",
            "description" : "Marketplace-specific data.",
            "items" : {
              "type" : "object",
              "properties" : {
                "offers" : {
                  "type" : "array",
                  "items" : {
                    "type" : "object",
                    "properties" : {
                      "id" : {
                        "type" : "string",
                        "description" : "Identifier of the offer."
                      }
                    }
                  }
                },
                "selectedShippingMethod" : {
                  "type" : "string",
                  "description" : "Selected shipping method for the offer."
                }
              }
            }
          },
          "id" : {
            "type" : "string",
            "description" : "Identifier for the marketplace data."
          }
        }
      },
      "shipment" : {
        "type" : "object",
        "properties" : {
          "c_marketplaceData" : {
            "$ref" : "#/components/schemas/basketShipmentCMarketplaceData"
          }
        }
      },
      "shipment_1" : {
        "type" : "object",
        "properties" : {
          "c_marketplaceData" : {
            "$ref" : "#/components/schemas/basketShipmentCMarketplaceData"
          }
        }
      },
      "unauthorizedErrorResponse" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/errorResponse"
        }, {
          "type" : "object",
          "properties" : {
            "accessToken" : {
              "type" : "string",
              "description" : "The access token.",
              "example" : "hbGciOiJIUzI1NiIsInR5cCI6Ikp"
            }
          }
        } ]
      }
    },
    "securitySchemes" : {
      "ShopperToken" : {
        "flows" : {
          "authorizationCode" : {
            "authorizationUrl" : "https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize",
            "scopes" : {
              "sfcc.shopper-baskets-orders.rw" : "Allows the client app to update an order, with additional information such as shipping or tax information."
            },
            "tokenUrl" : "https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token"
          },
          "clientCredentials" : {
            "scopes" : {
              "sfcc.shopper-baskets-orders.rw" : "Allows the client app to update an order, with additional information such as shipping or tax information."
            },
            "tokenUrl" : "https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token"
          }
        },
        "type" : "oauth2"
      }
    }
  },
  "info" : {
    "title" : "Mirakl Connector SFCC APIs",
    "version" : "latest-release"
  },
  "openapi" : "3.0.1",
  "paths" : {
    "/baskets/{basketId}/items" : {
      "post" : {
        "description" : "Adds new items to a basket. The added items are associated with the specified shipment. If no shipment id is specified, the added items are associated with the default shipment. Considered values from the request body, for each item are:\n- productId: a valid product ID. This is the ID of the product to be added to the basket. If the product is already in the basket, the API either increments the quantity of the existing product line item or creates a new product line item, based on the site preference 'Add Product Behavior'. For option products and product bundles containing variation masters, the API creates a new product line item regardless of the site preference.\n- shipmentId: a valid shipment ID (optional). This is the ID of the shipment in which the product item is created.\n- quantity: a number between 0.01 and 999. This is the quantity of the product to order.\n- inventoryId: a valid inventory ID (optional). This is the ID of the inventory from which the item is allocated.\n- bonusDiscountLineItemId: a valid bonus discount line item ID (optional). This is the ID of the bonus discount line item for which the added product is a selected bonus product.\n- optionItems/optionValueId: a valid option value ID. This is an option value for an option item of an option product. This is only possible if the product item is an option product. To set option values, you must specify a collection of option items in the optionItems property. These option items must contain optionId and optionValueId. Also, the values you specify must be valid for the option product that this product item represents. Otherwise, the server throws an InvalidProductOptionItemException or an InvalidProductOptionValueItemException.\n- custom properties in the form c_: the custom property must correspond to a custom attribute () defined for ProductLineItem. The value of this property must be valid for the type of custom attribute defined for ProductLineItem.",
        "operationId" : "addItemToBasket",
        "parameters" : [ {
          "description" : "The ID of the basket to be modified.",
          "explode" : false,
          "in" : "path",
          "name" : "basketId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.",
          "explode" : true,
          "in" : "query",
          "name" : "siteId",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/requestBodyAddItemToBasket"
              }
            }
          },
          "description" : "Request body containing the items to add to the basket.",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/bodyAddItemToBasket"
                }
              }
            },
            "description" : "Success, the response body contains the basket with the added items."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/errorResponse"
                }
              }
            },
            "description" : "Possible reasons:\n- the given product ID is null or invalid.\n- the product with the given product ID is unknown, offline or not assigned to site catalog or the given product item quantity is null or invalid.\na null quantity value.\n- the requested product quantity is not available.\n- the product cannot be added to the basket because of its type.\n- an option with the specified option ID is unknown.\n- an option with the specified option value ID is unknown.\n- the maximum allowed number of products added to the basket, has been exceeded.\n- the customer assigned to the basket does not match the verified customer represented by the JSON Web Token (JWT).\n- the provided bonus discount line item ID is not present in the current basket.\n- the quantity of the product to be added will result in the number of selected bonus choice products to exceed the amount that the user is permitted to select.\n- the selected bonus product is not an applicable product for the bonus discount line item provided. body: application/problem+json: type: ErrorResponse examples: dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.73/examples/error/bad-request-example.raml\n"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/errorResponse"
                }
              }
            },
            "description" : "Possible reasons:\n- the basket with the given basket ID is unknown.\n- the basket does not contain a shipment with the given shipment ID.\n"
          }
        },
        "summary" : "Adds new items to a basket.",
        "tags" : [ "Shopper Baskets" ]
      }
    },
    "/basket/{basketId}" : {
      "get" : {
        "description" : "Gets a basket.",
        "operationId" : "getBasket",
        "parameters" : [ {
          "description" : "The ID of the basket to be modified.",
          "explode" : false,
          "in" : "path",
          "name" : "basketId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "A boolean telling if the SH02 should be called and recover shipment errors if needed.",
          "explode" : true,
          "in" : "query",
          "name" : "c_marketplaceCheckPricesAndQuantities",
          "schema" : {
            "type" : "boolean"
          },
          "style" : "form"
        }, {
          "description" : "The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.",
          "explode" : true,
          "in" : "query",
          "name" : "siteId",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/bodyGetBasket"
                }
              }
            },
            "description" : "Success, the response body contains the retrieved basket."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/errorResponse"
                }
              }
            },
            "description" : "The customer assigned to the basket does not match the verified customer represented by the JSON Web Token (JWT)."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/errorResponse"
                }
              }
            },
            "description" : "The basket with the given basket ID is unknown."
          }
        },
        "summary" : "Gets a basket.",
        "tags" : [ "Shopper Baskets" ]
      }
    },
    "/baskets/shipping-methods" : {
      "get" : {
        "description" : "Get the allowed shipping methods for the current basket by making a call to the SH02 API.",
        "operationId" : "getBasketShippingMethods",
        "parameters" : [ {
          "description" : "The identifier of the shipment.",
          "explode" : true,
          "in" : "query",
          "name" : "c_shipmentId",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "The user locale.",
          "explode" : true,
          "in" : "query",
          "name" : "locale",
          "schema" : {
            "type" : "string",
            "minLength" : 1
          },
          "style" : "form"
        }, {
          "description" : "The identifier of the site.",
          "explode" : true,
          "in" : "query",
          "name" : "siteId",
          "schema" : {
            "type" : "string",
            "minLength" : 1
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CMarketplaceShippingMethodsResponse"
                }
              }
            },
            "description" : "OK"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CMarketplaceErrorResponse"
                }
              }
            },
            "description" : "Shows that the shipping methods are not found."
          },
          "500" : {
            "content" : {
              "application/json" : { }
            },
            "description" : "Internal server error."
          }
        },
        "summary" : "Get the allowed shipping methods for a basket.",
        "tags" : [ "Checkout" ]
      }
    },
    "/customers/{customerId}/baskets" : {
      "get" : {
        "description" : "Gets the baskets of a customer. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken.",
        "operationId" : "getCustomerBaskets",
        "parameters" : [ {
          "description" : "A boolean telling if the SH02 should be called and recover shipment errors if needed.",
          "explode" : true,
          "in" : "query",
          "name" : "c_marketplaceCheckPricesAndQuantities",
          "schema" : {
            "type" : "boolean"
          },
          "style" : "form"
        }, {
          "description" : "The customer ID.",
          "explode" : false,
          "in" : "path",
          "name" : "customerId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.",
          "explode" : true,
          "in" : "query",
          "name" : "siteId",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/bodyGetCustomerBaskets"
                }
              }
            },
            "description" : "Success."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/errorResponse"
                }
              }
            },
            "description" : "CustomerId URL parameter does not match the verified customer represented by the JWT token."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/errorResponse"
                }
              }
            },
            "description" : "Requested Resource Not Found."
          }
        },
        "summary" : "Gets the baskets of a customer.",
        "tags" : [ "Shopper Customers" ]
      }
    },
    "/document/{documentId}/type/{documentType}" : {
      "get" : {
        "description" : "Download one document and returns the URL to download it. If the document ID doesn't exist, the API will return an error.",
        "operationId" : "getDocumentDownloadURL",
        "parameters" : [ {
          "description" : "The identifier of the document.",
          "explode" : false,
          "in" : "path",
          "name" : "documentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "The type of the document.",
          "examples" : {
            "accounting" : {
              "value" : "ACCOUNTING"
            },
            "order" : {
              "value" : "ORDER"
            }
          },
          "explode" : false,
          "in" : "path",
          "name" : "documentType",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "The identifier of the order.",
          "explode" : true,
          "in" : "query",
          "name" : "c_orderId",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "The token of the order.",
          "explode" : true,
          "in" : "query",
          "name" : "c_orderToken",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "The identifier of the shipment.",
          "explode" : true,
          "in" : "query",
          "name" : "c_shipmentId",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "The user locale.",
          "explode" : true,
          "in" : "query",
          "name" : "locale",
          "schema" : {
            "type" : "string",
            "minLength" : 1
          },
          "style" : "form"
        }, {
          "description" : "The identifier of the site.",
          "explode" : true,
          "in" : "query",
          "name" : "siteId",
          "schema" : {
            "type" : "string",
            "minLength" : 1
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CMarketplaceDocumentDownloadResponse"
                }
              }
            },
            "description" : "OK"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CMarketplaceErrorResponse"
                }
              }
            },
            "description" : "Shows that a resource is not found."
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CMarketplaceErrorResponse"
                }
              }
            },
            "description" : "Internal server error."
          }
        },
        "summary" : "Download one document and returns the url to download it.",
        "tags" : [ "Shopper Orders" ]
      }
    },
    "/orders/{orderNo}" : {
      "get" : {
        "description" : "Returns the details of the order with the specified order number.\n",
        "operationId" : "getOrder",
        "parameters" : [ {
          "description" : "The order number.",
          "explode" : false,
          "in" : "path",
          "name" : "orderNo",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.",
          "explode" : true,
          "in" : "query",
          "name" : "siteId",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/bodyGetOrder"
                }
              }
            },
            "description" : "The operation was successful."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/errorResponse"
                }
              }
            },
            "description" : "The given order number does not reference an existing order."
          }
        },
        "summary" : "Returns the details of the order with the specified order number.",
        "tags" : [ "Shopper Orders" ]
      }
    },
    "/orders/{orderId}/shipments" : {
      "get" : {
        "description" : "Get the prepared and to prepare shipments for an order.",
        "operationId" : "getOrderShipments",
        "parameters" : [ {
          "description" : "The identifier of the order.",
          "explode" : false,
          "in" : "path",
          "name" : "orderId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "The order token.",
          "explode" : true,
          "in" : "query",
          "name" : "c_orderToken",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "The user locale.",
          "explode" : true,
          "in" : "query",
          "name" : "locale",
          "schema" : {
            "type" : "string",
            "minLength" : 1
          },
          "style" : "form"
        }, {
          "description" : "The identifier of the site.",
          "explode" : true,
          "in" : "query",
          "name" : "siteId",
          "schema" : {
            "type" : "string",
            "minLength" : 1
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CMarketplaceOrderShipmentsResponse"
                }
              }
            },
            "description" : "OK"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CMarketplaceErrorResponse"
                }
              }
            },
            "description" : "Shows that an order was not found."
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CMarketplaceErrorResponse"
                }
              }
            },
            "description" : "Internal server error."
          }
        },
        "summary" : "Get the prepared and to prepare shipments for an order.",
        "tags" : [ "Shopper Orders" ]
      }
    },
    "/products/{id}" : {
      "get" : {
        "description" : "Allows access to product details for a single product ID. Only products that are online and assigned to a site catalog are returned. Along with product details, the availability, images, price, bundled_products, set_products, recommedations, product options, variations, and promotions for the products will be included, as appropriate.",
        "operationId" : "getProduct",
        "parameters" : [ {
          "description" : "The ID of the requested product.",
          "explode" : false,
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.",
          "explode" : true,
          "in" : "query",
          "name" : "siteId",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/bodyGetProduct"
                }
              }
            },
            "description" : "Success."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/errorResponse"
                }
              }
            },
            "description" : "Bad Request."
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/unauthorizedErrorResponse"
                }
              }
            },
            "description" : "Unauthorized."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/productNotFoundErrorResponse"
                }
              }
            },
            "description" : "Not Found."
          }
        },
        "summary" : "Allows access to product details for a single product ID.",
        "tags" : [ "Products and Offers" ]
      }
    },
    "/shipping-methods" : {
      "get" : {
        "description" : "Get the shipping methods for an offer and address.",
        "operationId" : "getShippingMethods",
        "parameters" : [ {
          "description" : "The first line of the address.",
          "explode" : true,
          "in" : "query",
          "name" : "c_address1",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "The country code of the address.",
          "explode" : true,
          "in" : "query",
          "name" : "c_countryCode",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "The identifier of the offer.",
          "explode" : true,
          "in" : "query",
          "name" : "c_offerId",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "The postal code of the address.",
          "explode" : true,
          "in" : "query",
          "name" : "c_postalCode",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "The shipping zone code.",
          "explode" : true,
          "in" : "query",
          "name" : "c_shippingZoneCode",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "The identifier of the product.",
          "explode" : true,
          "in" : "query",
          "name" : "c_productId",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "The user locale.",
          "explode" : true,
          "in" : "query",
          "name" : "locale",
          "schema" : {
            "type" : "string",
            "minLength" : 1
          },
          "style" : "form"
        }, {
          "description" : "The identifier of the site.",
          "explode" : true,
          "in" : "query",
          "name" : "siteId",
          "schema" : {
            "type" : "string",
            "minLength" : 1
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CMarketplaceOffersShippingMethodsResponse"
                }
              }
            },
            "description" : "Shipping methods for the offer."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CMarketplaceErrorResponse"
                }
              }
            },
            "description" : "Shows that shipping methods were not found."
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CMarketplaceErrorResponse"
                }
              }
            },
            "description" : "Internal server error."
          }
        },
        "summary" : "Get the shipping methods for an offer and address.",
        "tags" : [ "Products and Offers" ]
      }
    },
    "/baskets/{basketId}/shipments/{shipmentId}/shipping-methods" : {
      "get" : {
        "description" : "Gets the applicable shipping methods for a certain shipment of a basket.\n",
        "operationId" : "getShippingMethodsForShipment",
        "parameters" : [ {
          "description" : "The ID of the basket to be modified.",
          "explode" : false,
          "in" : "path",
          "name" : "basketId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "The ID of the shipment to be modified.",
          "explode" : false,
          "in" : "path",
          "name" : "shipmentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.",
          "explode" : true,
          "in" : "query",
          "name" : "siteId",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/bodyGetShippingMethodsForShipment"
                }
              }
            },
            "description" : "Success, the response body contains the applicable shipping methods for a certain shipment of the basket."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/errorResponse"
                }
              }
            },
            "description" : "The customer assigned to the basket does not match the verified customer represented by the JSON Web Token (JWT)."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/errorResponse"
                }
              }
            },
            "description" : "Possible reasons:\n- The basket with the given basket ID is unknown.\n- The shipment with the given shipment ID is unknown.\n"
          }
        },
        "summary" : "Gets the applicable shipping methods for a certain shipment of a basket.",
        "tags" : [ "Checkout" ]
      }
    },
    "/shop" : {
      "get" : {
        "description" : "Get the shop information.",
        "operationId" : "getShop",
        "parameters" : [ {
          "description" : "The identifier of the shop.",
          "explode" : true,
          "in" : "query",
          "name" : "c_shopId",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "The user locale.",
          "explode" : true,
          "in" : "query",
          "name" : "locale",
          "schema" : {
            "type" : "string",
            "minLength" : 1
          },
          "style" : "form"
        }, {
          "description" : "The identifier of the site.",
          "explode" : true,
          "in" : "query",
          "name" : "siteId",
          "schema" : {
            "type" : "string",
            "minLength" : 1
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CMarketplaceShopResponse"
                }
              }
            },
            "description" : "The shop information."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CMarketplaceErrorResponse"
                }
              }
            },
            "description" : "Shows that a resource is not found."
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CMarketplaceErrorResponse"
                }
              }
            },
            "description" : "Internal server error."
          }
        },
        "summary" : "Get the shop information.",
        "tags" : [ "Shop" ]
      }
    },
    "/shop/evaluations" : {
      "get" : {
        "description" : "Get the evaluations for a shop.",
        "operationId" : "getShopEvaluations",
        "parameters" : [ {
          "description" : "The identifier of the shop.",
          "explode" : true,
          "in" : "query",
          "name" : "c_shopId",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "The maximum number of evaluations to return.",
          "explode" : true,
          "in" : "query",
          "name" : "c_max",
          "schema" : {
            "type" : "integer"
          },
          "style" : "form"
        }, {
          "description" : "The offset used to return a subset of evaluations.",
          "explode" : true,
          "in" : "query",
          "name" : "c_offset",
          "schema" : {
            "type" : "integer",
            "minimum" : 0
          },
          "style" : "form"
        }, {
          "description" : "The user locale.",
          "explode" : true,
          "in" : "query",
          "name" : "locale",
          "schema" : {
            "type" : "string",
            "minLength" : 1
          },
          "style" : "form"
        }, {
          "description" : "The identifier of the site.",
          "explode" : true,
          "in" : "query",
          "name" : "siteId",
          "schema" : {
            "type" : "string",
            "minLength" : 1
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CMarketplaceEvaluationsResponse"
                }
              }
            },
            "description" : "Evaluations for a shop."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CMarketplaceErrorResponse"
                }
              }
            },
            "description" : "Shows that a resource is not found."
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CMarketplaceErrorResponse"
                }
              }
            },
            "description" : "Internal server error."
          }
        },
        "summary" : "Get the evaluations for a shop.",
        "tags" : [ "Shop" ]
      }
    },
    "/product-search" : {
      "get" : {
        "description" : "Searches for products. The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped into different buckets.",
        "operationId" : "productSearch",
        "parameters" : [ {
          "description" : "The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.",
          "explode" : true,
          "in" : "query",
          "name" : "siteId",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/bodyProductSearch"
                }
              }
            },
            "description" : "Product search successfully returned results."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/productBadRequestErrorResponse"
                }
              }
            },
            "description" : "Thrown if a price refinement parameter is malformed or the refinement limit is exceeded."
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/unauthorizedErrorResponse"
                }
              }
            },
            "description" : "Unauthorized."
          }
        },
        "summary" : "Searches for products.",
        "tags" : [ "Products and Offers" ]
      }
    },
    "/baskets/{basketId}/items/{itemId}" : {
      "delete" : {
        "description" : "Removes a product item from the basket.",
        "operationId" : "removeItemFromBasket",
        "parameters" : [ {
          "description" : "The ID of the basket to be modified.",
          "explode" : false,
          "in" : "path",
          "name" : "basketId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "The ID of the item to be updated.",
          "explode" : false,
          "in" : "path",
          "name" : "itemId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.",
          "explode" : true,
          "in" : "query",
          "name" : "siteId",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/bodyRemoveItemFromBasket"
                }
              }
            },
            "description" : "Success, the response body contains the basket without the deleted item."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/errorResponse"
                }
              }
            },
            "description" : "The customer assigned to the basket doesn't match the verified customer represented by the JSON Web Token (JWT).\n"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/errorResponse"
                }
              }
            },
            "description" : "The basket with the given basket ID is unknown.\n"
          }
        },
        "summary" : "Removes a product item from the basket.",
        "tags" : [ "Shopper Baskets" ]
      },
      "patch" : {
        "description" : "Updates an item in a basket. The item to be updated can be a bundled product item, although the kind of update supported for bundled product items is limited to productId (to support variation products), gift, giftMessage and custom properties. The following values in the request body are considered by the server:\n- productId: a valid product ID. The purpose of this value is to exchange a variation of a variation product.\n- shipmentId: a valid shipment ID. The purpose of this value is to move a product item to another shipment.\n- quantity: a number between 0 and 999. The purpose of this value is to change quantity of the product item. If quantity is 0, the product item is removed.\n- optionItems/optionValueId: a valid option value ID. The purpose of this value is to exchange an option value for an option item of an option product. This is only possible if the product item is an option product. To change option values a collection of option items to be changed need to be provided in property optionItems. Those optionItems need to contain optionId and optionValueId. The provided values must be valid for the option product that this product item represents. Otherwise, InvalidProductOptionItemException or InvalidProductOptionValueItemException is thrown.\n- custom properties c_<CUSTOM_NAME>: a value corresponding to the type defined for custom attribute <CUSTOM_NAME> of ProductLineItem. The purpose of this value is to add or change the value of a custom attribute defined for ProductLineItem.\n- gift: a boolean value that specifies whether the item is a gift\n- giftMessage: a message for the gift",
        "operationId" : "updateItemInBasket",
        "parameters" : [ {
          "description" : "The ID of the basket to be modified.",
          "explode" : false,
          "in" : "path",
          "name" : "basketId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "The ID of the item to be updated.",
          "explode" : false,
          "in" : "path",
          "name" : "itemId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.",
          "explode" : true,
          "in" : "query",
          "name" : "siteId",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/requestBodyUpdateItemInBasket"
              }
            }
          },
          "description" : "Request body containing the items to add to the basket.",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/bodyUpdateItemInBasket"
                }
              }
            },
            "description" : "Success, the response body contains the basket with the updated item."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/errorResponse"
                }
              }
            },
            "description" : "Possible reasons:\n- no product item with given item ID was found for the basket.\n- the product with the given product ID in the request body is invalid.\n- a null quantity value.\n- an option with the specified option id is unknown.\n- an option with the specified option value id is unknown.\n- the given shipment ID is invalid.\n- the customer assigned to the basket does not. match the verified customer represented by the JWT token.\n"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/errorResponse"
                }
              }
            },
            "description" : "Possible reasons:\n- the basket with the given basket ID is unknown.\n- a shipment with it's given ID is unknown.\n"
          }
        },
        "summary" : "Updates an item in a basket.",
        "tags" : [ "Shopper Baskets" ]
      }
    },
    "/baskets/{basketId}" : {
      "patch" : {
        "description" : "Updates a basket. Only the currency of the basket, source code, the custom properties of the basket, and the shipping items will be considered.",
        "operationId" : "updateBasket",
        "parameters" : [ {
          "description" : "The ID of the basket to be modified.",
          "explode" : false,
          "in" : "path",
          "name" : "basketId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "A boolean telling if the SH02 should be called and update product line items if needed.",
          "explode" : true,
          "in" : "query",
          "name" : "c_updatePrices",
          "schema" : {
            "type" : "boolean"
          },
          "style" : "form"
        }, {
          "description" : "The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.",
          "explode" : true,
          "in" : "query",
          "name" : "siteId",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/requestBodyUpdateBasket"
              }
            }
          },
          "description" : "Request body containing the basket to update.",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/bodyUpdateBasket"
                }
              }
            },
            "description" : "Success, the response body contains the updated basket."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/errorResponse"
                }
              }
            },
            "description" : "Possible reasons:\n- The customer assigned to the basket does not match the verified customer represented by the JSON Web Token (JWT).\n- The basket cannot be updated because the requested currency is not supported by the site.\n- The given shipping item ID is null or empty.\n- Multiple shipping items with the same item ID are provided.\n- The provided code is not currently active.\n"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/errorResponse"
                }
              }
            },
            "description" : "Possible reasons:\n- The basket with the given basket ID is unknown.\n- The shipping item with the given item ID is unknown for the basket.\n- The provided code was not found.\n"
          }
        },
        "summary" : "Updates a basket.",
        "tags" : [ "Shopper Baskets" ]
      }
    },
    "/baskets/{basketId}/billing-address" : {
      "put" : {
        "description" : "Sets the billing address of a basket.",
        "operationId" : "updateBillingAddressForBasket",
        "parameters" : [ {
          "description" : "The ID of the basket to be modified.",
          "explode" : false,
          "in" : "path",
          "name" : "basketId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.",
          "explode" : true,
          "in" : "query",
          "name" : "siteId",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/requestBodyUpdateBillingAddressForBasket"
              }
            }
          },
          "description" : "Request body containing the basket to update.",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/bodyUpdateBillingAddressForBasket"
                }
              }
            },
            "description" : "Success, the response body contains the basket with the added billing address."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/errorResponse"
                }
              }
            },
            "description" : "The customer assigned to the basket does not match the verified customer represented by the JSON Web Token (JWT)."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/errorResponse"
                }
              }
            },
            "description" : "The basket with the given basket ID is unknown."
          }
        },
        "summary" : "Sets the billing address of a basket.",
        "tags" : [ "Checkout" ]
      }
    },
    "/baskets/{basketId}/shipments/{shipmentId}/shipping-method" : {
      "put" : {
        "description" : "Sets a shipping method for a specific shipment of a basket.\n",
        "operationId" : "updateShippingMethodForShipment",
        "parameters" : [ {
          "description" : "The ID of the basket to be modified.",
          "explode" : false,
          "in" : "path",
          "name" : "basketId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "The ID of the shipment to be modified.",
          "explode" : false,
          "in" : "path",
          "name" : "shipmentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.",
          "explode" : true,
          "in" : "query",
          "name" : "siteId",
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/requestBodyUpdateShippingMethodForShipment"
              }
            }
          },
          "description" : "Request body containing marketplace data.",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/bodyUpdateShippingMethodForShipment"
                }
              }
            },
            "description" : "Success, the response body contains the basket with the added shipping method."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/errorResponse"
                }
              }
            },
            "description" : "Possible reasons:\n- the id of the shipping method is missing.\n- a shipping method with an ID was specified which is not a valid shipping method ID.\n- the customer assigned to the basket does not match the verified customer represented by the JSON Web Token (JWT).\n"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/errorResponse"
                }
              }
            },
            "description" : "The basket with the given basket ID is unknown."
          }
        },
        "summary" : "Sets a shipping method for a specific shipment of a basket.",
        "tags" : [ "Checkout" ]
      }
    }
  },
  "servers" : [ {
    "description" : "Commerce Cloud API server",
    "url" : "https://{shortCode}.api.commercecloud.salesforce.com/checkout/shopper-baskets/v1/organizations/{organizationId}",
    "variables" : {
      "organizationId" : {
        "default" : "myorganizationid",
        "description" : "An identifier for the organization the request is being made by."
      },
      "shortCode" : {
        "default" : "myshortcode",
        "description" : "Region-specific merchant identifier."
      }
    }
  }, {
    "description" : "Commerce Cloud API server",
    "url" : "https://{shortCode}.api.commercecloud.salesforce.com/customer/shopper-customers/v1/organizations/{organizationId}",
    "variables" : {
      "organizationId" : {
        "default" : "myorganizationid",
        "description" : "An identifier for the organization the request is being made by."
      },
      "shortCode" : {
        "default" : "myshortcode",
        "description" : "Region-specific merchant identifier."
      }
    }
  }, {
    "description" : "Commerce Cloud API server",
    "url" : "https://{shortCode}.api.commercecloud.salesforce.com/checkout/shopper-orders/v1/organizations/{organizationId}",
    "variables" : {
      "organizationId" : {
        "default" : "myorganizationid",
        "description" : "An identifier for the organization the request is being made by."
      },
      "shortCode" : {
        "default" : "myshortcode",
        "description" : "Region-specific merchant identifier."
      }
    }
  }, {
    "description" : "Commerce Cloud API server",
    "url" : "https://{shortCode}.api.commercecloud.salesforce.com/product/shopper-products/v1/organizations/{organizationId}",
    "variables" : {
      "organizationId" : {
        "default" : "myorganizationid",
        "description" : "An identifier for the organization the request is being made by."
      },
      "shortCode" : {
        "default" : "myshortcode",
        "description" : "Region-specific merchant identifier."
      }
    }
  }, {
    "description" : "Commerce Cloud API server",
    "url" : "https://{shortCode}.api.commercecloud.salesforce.com/search/shopper-search/v1/organizations/{organizationId}",
    "variables" : {
      "organizationId" : {
        "default" : "myorganizationid",
        "description" : "An identifier for the organization the request is being made by."
      },
      "shortCode" : {
        "default" : "myshortcode",
        "description" : "Region-specific merchant identifier."
      }
    }
  }, {
    "description" : "Commerce Cloud API server",
    "url" : "https://{shortCode}.api.commercecloud.salesforce.com/custom/marketplace/v1/organizations/{organizationId}",
    "variables" : {
      "organizationId" : {
        "default" : "myorganizationid",
        "description" : "Your organization's ID in Commerce Cloud."
      },
      "shortCode" : {
        "default" : "mydefaultshortcode",
        "description" : "Your organization's shortcode in Commerce Cloud."
      }
    }
  } ],
  "x-group-parameters" : true
}