Emporix · Schema

cart

CompanyCommerceE-CommerceB2B CommerceHeadless CommerceComposable CommerceCommerce OrchestrationAgentic CommerceiPaaSSoftware-as-a-Service
View JSON Schema on GitHub

JSON Schema

emporix-cart-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/emporix/main/json-schema/emporix-cart-schema.json",
  "title": "cart",
  "x-generated": "2026-10-18",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/emporix-cart-openapi.yml#/components/schemas/cart",
  "allOf": [
    {
      "$ref": "#/$defs/baseCart"
    },
    {
      "type": "object",
      "description": "Cart details.",
      "properties": {
        "items": {
          "type": "array",
          "description": "Items added to the cart.",
          "items": {
            "$ref": "#/$defs/cartItemResponse"
          }
        },
        "deliveryWindowId": {
          "type": "string",
          "deprecated": true,
          "description": "Delivery window unique identifier, as defined in the Shipping Service.\n\n***NOTE***\nThis attribute is deprecated. Please use the `deliveryWindow` attribute."
        },
        "feeYrnAggregate": {
          "allOf": [
            {
              "$ref": "#/$defs/feeAggregate"
            },
            {
              "type": "object",
              "description": "**This field is deprecated**. Please use `calculatedPrice.totalFees` and `items[].calculatedPrice.fees` instead. These fields provide the same values with updated functionality."
            }
          ],
          "deprecated": true
        },
        "totalPrice": {
          "allOf": [
            {
              "$ref": "#/$defs/price"
            },
            {
              "type": "object",
              "description": "**This field is deprecated**. Please use `calculatedPrice.finalPrice` instead. The `calculatedPrice.finalPrice` field provides the same value with updated functionality."
            }
          ],
          "deprecated": true
        },
        "subTotalPrice": {
          "allOf": [
            {
              "$ref": "#/$defs/price"
            },
            {
              "type": "object",
              "description": "**This field is deprecated**. Please use `calculatedPrice.price` or `calculatedPrice.discountedPrice` instead. These fields provide the same value with updated functionality."
            }
          ],
          "deprecated": true
        },
        "shipping": {
          "allOf": [
            {
              "$ref": "#/$defs/shipping"
            },
            {
              "type": "object",
              "description": "**This field is deprecated**. Please use `calculatedPrice.totalShipping` instead. The `unitPrice` field provides the same value with updated functionality."
            }
          ],
          "deprecated": true
        },
        "taxAggregate": {
          "allOf": [
            {
              "$ref": "#/$defs/taxAggregate"
            },
            {
              "type": "object",
              "description": "**This field is deprecated**. Please use `calculatedPrice.finalPrice.taxAggregate` instead. The `calculatedPrice.finalPrice.taxAggregate` field provides the same value with updated functionality."
            }
          ],
          "deprecated": true
        },
        "subtotalAggregate": {
          "allOf": [
            {
              "$ref": "#/$defs/subtotalAggregate"
            },
            {
              "type": "object",
              "description": "**This field is deprecated**. Please use `calculatedPrice.price` instead. The `calculatedPrice.price` field provides the same value with updated functionality."
            }
          ],
          "deprecated": true
        },
        "totalDiscount": {
          "allOf": [
            {
              "$ref": "#/$defs/price"
            },
            {
              "type": "object",
              "description": "**This field is deprecated**. Please use `calculatedPrice.totalDiscount` instead. The `calculatedPrice.totalDiscount` field provides the same value with updated functionality."
            }
          ],
          "deprecated": true
        },
        "itemFeesTotal": {
          "allOf": [
            {
              "$ref": "#/$defs/total"
            },
            {
              "type": "object",
              "description": "**This field is deprecated**. Please use `calculatedPrice.totalFee` instead. The `unitPrice` field provides the same value with updated functionality."
            }
          ],
          "deprecated": true
        },
        "paymentFeesTotal": {
          "allOf": [
            {
              "$ref": "#/$defs/total"
            },
            {
              "type": "object",
              "description": "**This field is deprecated**. Please use `calculatedPrice.paymentFees` instead. The `calculatedPrice.paymentFees` field provides the same value with updated functionality."
            }
          ],
          "deprecated": true
        },
        "totalAuthorizedAmount": {
          "allOf": [
            {
              "$ref": "#/$defs/price"
            },
            {
              "type": "object",
              "description": "**This field is deprecated**. Please use `calculatedPrice.upliftValue` instead. The `calculatedPrice.upliftValue` field provides an information how much final price should be increased for card authorization."
            }
          ],
          "deprecated": true
        }
      }
    }
  ],
  "$defs": {
    "YRN": {
      "type": "string",
      "title": "YRN",
      "description": "A unique identifier of a global resource, which stores information about the resource, such as its type, ID or name of the tenant.",
      "minLength": 1
    },
    "addressResponse": {
      "type": "object",
      "description": "Information about the carts address used for shipping and tax determination.",
      "additionalProperties": false,
      "properties": {
        "origin": {
          "type": "string",
          "enum": [
            "REQUEST",
            "LEGAL_ENTITY",
            "CUSTOMER",
            "SITE"
          ],
          "description": "Holds information about the origin of the address. Possible values:\n  * `REQUEST` - provided in create/update cart request\n  * `LEGAL_ENTITY` - automatically populated from from cart's legal entity location\n  * `CUSTOMER` - automatically populated from fetched from customer addresses\n  * `SITE` - automatically populated from sites base address"
        },
        "siteCode": {
          "type": "string",
          "description": "Site unique identifier. A site is a specific shop."
        },
        "legalEntityId": {
          "type": "string",
          "description": "ID of the legal entity to which customer is assigned."
        },
        "legalEntityLocationId": {
          "type": "string",
          "description": "ID of the legal entity location."
        },
        "customerAddressId": {
          "type": "string",
          "description": "ID of the customer address."
        },
        "contactName": {
          "type": "string",
          "minLength": 0,
          "description": "Contact name."
        },
        "companyName": {
          "type": "string",
          "description": "Company name."
        },
        "street": {
          "type": "string",
          "minLength": 0,
          "description": "Street."
        },
        "streetNumber": {
          "type": "string",
          "description": "Street number."
        },
        "streetAppendix": {
          "type": "string",
          "description": "Street appendix."
        },
        "zipCode": {
          "type": "string",
          "maxLength": 11,
          "minLength": 0,
          "description": "Zip code."
        },
        "city": {
          "type": "string",
          "minLength": 0,
          "description": "City."
        },
        "country": {
          "type": "string",
          "pattern": "[a-zA-Z]{2}",
          "minLength": 2,
          "maxLength": 2,
          "description": "Country."
        },
        "state": {
          "type": "string",
          "description": "State."
        },
        "contactPhone": {
          "type": "string",
          "description": "Contact phone."
        },
        "type": {
          "type": "string",
          "enum": [
            "BILLING",
            "SHIPPING"
          ],
          "description": "Type of the address data."
        },
        "metadata": {
          "$ref": "#/$defs/metadataRequest"
        },
        "mixins": {
          "type": "object",
          "description": "Mixins object",
          "additionalProperties": true
        }
      }
    },
    "baseCart": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Cart unique identifier generated when a cart is created."
        },
        "yrn": {
          "$ref": "#/$defs/YRN"
        },
        "restriction": {
          "$ref": "#/$defs/restriction"
        },
        "customerId": {
          "type": "string",
          "description": "Customer unique identifier generated when a customer account is created through the Customer Service."
        },
        "legalEntityId": {
          "type": "string",
          "description": "ID of the legal entity to which customer is assigned."
        },
        "orderId": {
          "type": "string",
          "description": "The identifier of an order generated from this cart."
        },
        "quoteId": {
          "type": "string",
          "description": "Identifier of a quote created from this cart."
        },
        "currency": {
          "type": "string",
          "description": "Three-letter currency code, compliant with the ISO 4217 standard.",
          "pattern": "[A-Z]{3}",
          "minLength": 3,
          "maxLength": 3
        },
        "deliveryWindow": {
          "$ref": "#/$defs/deliveryWindow"
        },
        "siteCode": {
          "type": "string",
          "description": "Site unique identifier. A site is a specific shop."
        },
        "type": {
          "type": "string",
          "description": "Cart type."
        },
        "zipCode": {
          "type": "string",
          "description": "Customer address - zip code."
        },
        "countryCode": {
          "type": "string",
          "description": "Two-letter country code, compliant with the ISO 3166 standard.",
          "minLength": 2,
          "maxLength": 2,
          "pattern": "[A-Z]{2}"
        },
        "addresses": {
          "type": "array",
          "description": "A list of addresses used in the cart. The list contains one `BILLING` and one `SHIPPING` address `type`.\nIf one of the address `types` is not provided in the request, it is automatically populated in the following order:\n* If the cart has a legal entity, it gets the first location of the legal entity that has both `country` and `zipCode`, and matches the required `type` - then the address has origin=`LEGAL_ENTITY`.\n* Otherwise, if the cart has a logged-in customer, it finds the `default` address that has both `country` and `zipCode`, and matches the required `type`. If there is no matching default address with the required information, it uses the first customer address that meets the criteria. The address has origin=`CUSTOMER`.\n* Otherwise, the cart uses the site homebase address. Then the address has origin=`SITE`.\nThese addresses are used in the tax country code determination [How to determine a tax country at cart level](https://developer.emporix.io/api-documentation/api-guides/checkout/cart/cart#how-to-determine-a-tax-country-at-cart-level) and shipping cost calculation [How to calculate shipping cost at cart level](https://developer.emporix.io/api-documentation/api-guides/checkout/cart/cart#how-to-calculate-shipping-cost-at-cart-level).",
          "items": {
            "$ref": "#/$defs/addressResponse"
          }
        },
        "channel": {
          "$ref": "#/$defs/channel"
        },
        "calculatedPrice": {
          "$ref": "#/$defs/cartCalculatedPrice"
        },
        "discounts": {
          "type": "array",
          "description": "Discounts applied to the cart.",
          "items": {
            "$ref": "#/$defs/discountResponse"
          }
        },
        "externalDiscounts": {
          "type": "array",
          "description": "External discounts that should be applied to this cart. Requires the `cart.cart_manage_external_prices` scope.",
          "items": {
            "$ref": "#/$defs/externalCartDiscount"
          }
        },
        "totalUnitsCount": {
          "type": "number",
          "description": "Total number of items added to the cart.",
          "format": "double"
        },
        "sessionId": {
          "description": "Customer unique session identifier.",
          "type": "string"
        },
        "metadata": {
          "$ref": "#/$defs/metadataResponse"
        },
        "totalTax": {
          "$ref": "#/$defs/price"
        },
        "taxDescription": {
          "description": "Information about the applied tax.",
          "type": "string"
        },
        "mixins": {
          "type": "object",
          "additionalProperties": true
        },
        "leadTime": {
          "type": "integer",
          "description": "Time needed to prepare the products for the delivery, expressed in hours. Time is calculated based on the products added to the cart. It is equal to the maximum lead time of all the products - `mixins.productCustomAttributes.leadTime`."
        },
        "nonDelivery": {
          "type": "array",
          "description": "List of days on which the products cannot be delivered. Days are presented by numbers where Monday is `0`, Tuesday is `1` etc. `nonDelivery` list is the union of all `mixins.productCustomAttributes.nonDelivery` products values.",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "siteCode"
      ]
    },
    "baseCartItemResponse": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Cart item's unique identifier generated when the item is added to cart."
        },
        "keepAsSeparateLineItem": {
          "type": "boolean",
          "description": "Indicates that products are maintained as individual entries in the cart, rather than being consolidated. When identical products are added multiple times, each addition creates a new line item instead of increasing the quantity of an existing one."
        },
        "yrn": {
          "$ref": "#/$defs/YRN"
        },
        "product": {
          "$ref": "#/$defs/cartItemResponseProduct"
        },
        "itemYrn": {
          "$ref": "#/$defs/YRN"
        },
        "type": {
          "$ref": "#/$defs/itemType"
        },
        "quantity": {
          "type": "number",
          "minimum": 0,
          "format": "double",
          "description": "Quantity of the product added to cart."
        },
        "effectiveQuantity": {
          "type": "number",
          "minimum": 0,
          "format": "double",
          "description": "Effective quantity of the product added to cart."
        },
        "calculatedPrice": {
          "$ref": "#/$defs/itemCalculatedPrice"
        },
        "taxCode": {
          "description": "Tax code. Tax indicated in this field overrides the site's default tax value.",
          "type": "string"
        },
        "unitPrice": {
          "allOf": [
            {
              "$ref": "#/$defs/calculatedPrice"
            },
            {
              "type": "object",
              "description": "Product unit price with tax values"
            }
          ]
        },
        "totalTax": {
          "type": "number",
          "minimum": 0,
          "description": "Product total tax amount.",
          "format": "double"
        },
        "metadata": {
          "$ref": "#/$defs/metadataRequest"
        },
        "mixins": {
          "type": "object",
          "additionalProperties": true
        },
        "externalDiscounts": {
          "type": "array",
          "description": "External discounts applied to this cart item.",
          "items": {
            "$ref": "#/$defs/externalDiscount"
          }
        }
      },
      "required": [
        "quantity",
        "effectiveQuantity"
      ],
      "description": "Cart item details."
    },
    "calculatedAppliedDiscount": {
      "title": "calculatedAppliedDiscount",
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The ID of the applied discount."
        },
        "value": {
          "type": "number",
          "format": "double",
          "description": "The calculated value of the discount."
        },
        "price": {
          "allOf": [
            {
              "$ref": "#/$defs/calculatedPrice"
            },
            {
              "type": "object",
              "description": "Applied discount's price. When discount is applied before tax the value equals `price.netValue` and `price.grossValue` for discount applied after tax."
            }
          ]
        },
        "discountType": {
          "type": "string",
          "enum": [
            "PERCENT",
            "ABSOLUTE",
            "FREE_SHIPPING"
          ],
          "description": "The discount type which shows how the discount was calculated. PERCENT refers to a percentage discount for example 10%. ABSOLUTE is a monetary amount."
        },
        "origin": {
          "type": "string",
          "enum": [
            "INTERNAL",
            "EXTERNAL"
          ],
          "description": "Indicates whether the discount is from internal coupon (INTERNAL) or external discount (EXTERNAL)."
        }
      }
    },
    "calculatedFee": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier of the fee."
        },
        "origin": {
          "enum": [
            "INTERNAL",
            "EXTERNAL"
          ],
          "type": "string",
          "description": "INTERNAL defined in commerce engine, EXTERNAL specified when an item is added to the cart"
        },
        "type": {
          "type": "string",
          "enum": [
            "PERCENT",
            "ABSOLUTE",
            "ABSOLUTE_MULTIPLY_ITEMQUANTITY"
          ],
          "description": "Type of the fee."
        },
        "name": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Localized names of the fee."
        },
        "price": {
          "allOf": [
            {
              "$ref": "#/$defs/calculatedPrice"
            },
            {
              "type": "object",
              "description": "The calculated fee price."
            }
          ]
        },
        "discountedPrice": {
          "allOf": [
            {
              "$ref": "#/$defs/calculatedPriceWithDiscounts"
            },
            {
              "type": "object",
              "description": "The discounted fee value."
            }
          ]
        }
      }
    },
    "calculatedPrice": {
      "type": "object",
      "properties": {
        "netValue": {
          "type": "number",
          "format": "double",
          "description": "Net value of the price, price without tax."
        },
        "grossValue": {
          "type": "number",
          "format": "double",
          "description": "Gross value of the price, price with tax."
        },
        "taxValue": {
          "type": "number",
          "format": "double",
          "description": "Tax value of the price, it's the actual amount of tax that has to be paid."
        },
        "taxCode": {
          "type": "string",
          "description": "Tax code applied to the price, a tax code is a country's set of tax rules."
        },
        "taxRate": {
          "type": "number",
          "format": "double",
          "description": "Tax rate applied to the price, it's the percentage at which an individual or business is taxed."
        }
      },
      "description": "A price calculation model containing net and gross amounts along with their associated tax details."
    },
    "calculatedPriceWithDiscounts": {
      "allOf": [
        {
          "$ref": "#/$defs/calculatedPrice"
        },
        {
          "type": "object",
          "properties": {
            "appliedDiscounts": {
              "type": "array",
              "description": "List of applied discounts for the calculated price.",
              "items": {
                "$ref": "#/$defs/calculatedAppliedDiscount"
              }
            }
          },
          "description": "A price calculation model showing the final amount after applying discounts."
        }
      ]
    },
    "calculatedPriceWithTaxAggregate": {
      "allOf": [
        {
          "$ref": "#/$defs/calculatedPrice"
        },
        {
          "type": "object",
          "properties": {
            "taxAggregate": {
              "$ref": "#/$defs/calculatedTaxAggregate"
            }
          },
          "description": "A price calculation model that includes tax aggregate information."
        }
      ]
    },
    "calculatedTaxAggregate": {
      "type": "object",
      "properties": {
        "lines": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/calculatedPrice"
          },
          "description": "List of tax calculations grouped by taxCode and taxRate"
        }
      },
      "description": "Aggregated tax information showing detailed tax calculations"
    },
    "calculatedTotalDiscount": {
      "title": "calculatedTotalDiscount",
      "type": "object",
      "description": "The total combined value of all applied discounts.",
      "properties": {
        "calculationType": {
          "type": "string",
          "enum": [
            "ApplyDiscountBeforeTax",
            "ApplyDiscountAfterTax"
          ],
          "description": "Indicates whether discounts were calculated using net or gross price values."
        },
        "value": {
          "type": "number",
          "format": "double",
          "description": "The calculated amount of all discounts."
        },
        "price": {
          "allOf": [
            {
              "$ref": "#/$defs/calculatedPrice"
            },
            {
              "type": "object",
              "description": "Total discounts price. When discounts are applied before tax the value equals `price.netValue` and `price.grossValue` for discounts applied after tax."
            }
          ]
        },
        "appliedDiscounts": {
          "type": "array",
          "description": "All applied discounts that are parts of the sum. Sum of all `discountedPrice.appliedDiscounts[].value` and `fees[].discountedPrice.appliedDiscounts[].value`.",
          "items": {
            "$ref": "#/$defs/calculatedAppliedDiscount"
          }
        }
      }
    },
    "cartCalculatedPrice": {
      "type": "object",
      "description": "A breakdown of the total price calculated from all line items, including detailed pricing components.",
      "properties": {
        "price": {
          "allOf": [
            {
              "$ref": "#/$defs/calculatedPrice"
            },
            {
              "type": "object",
              "description": "The sum of all line item price values, it means unit prices multiplied by quantity - `items[].calculatedPrice.price`.",
              "properties": {
                "netValue": {
                  "type": "number",
                  "format": "double",
                  "description": "Net value of the price, price without tax."
                },
                "grossValue": {
                  "type": "number",
                  "format": "double",
                  "description": "Gross value of the price, price with tax."
                },
                "taxValue": {
                  "type": "number",
                  "format": "double",
                  "description": "Tax value of the price, it's the actual amount of tax that has to be paid."
                },
                "taxCode": {
                  "type": "string",
                  "description": "Tax code applied to the price, a tax code is a country's set of tax rules. If all fees have the same taxRate, then the value is present. Otherwise, the field is not returned."
                },
                "taxRate": {
                  "type": "number",
                  "format": "double",
                  "description": "Tax rate applied to the price, it's the percentage at which an individual or business is taxed. If all fees have the same taxRate, then the value is present. Otherwise, the field is not returned."
                }
              }
            }
          ]
        },
        "upliftValue": {
          "allOf": [
            {
              "$ref": "#/$defs/calculatedPrice"
            },
            {
              "type": "object",
              "description": "The sum of all line item uplift values. Uplift value is the maximum additional amount to be authorized for payment to cover potential price adjustments during packaging of weight-based products. For example, if the item’s `price.netValue=12`, the `upliftValue.netValue=1,2`, with 10% uplift configured. If the uplift value is not configured for an item, it's not returned in the response.",
              "properties": {
                "netValue": {
                  "type": "number",
                  "format": "double",
                  "description": "Net value of the uplift amount, value without tax."
                },
                "grossValue": {
                  "type": "number",
                  "format": "double",
                  "description": "Gross value of the uplift amount, value with tax."
                },
                "taxValue": {
                  "type": "number",
                  "format": "double",
                  "description": "Tax value of the uplift amount, it's the actual amount of tax that has to be paid."
                },
                "taxCode": {
                  "type": "string",
                  "description": "Tax code applied to uplift amount, a tax code is a country's set of tax rules. If all fees have the same taxRate, then the value is present. Otherwise, the field is not returned."
                },
                "taxRate": {
                  "type": "number",
                  "format": "double",
                  "description": "Tax rate applied to the uplift amount, it's the percentage at which an individual or business is taxed. If all fees have the same taxRate, then the value is present. Otherwise, the field is not returned."
                }
              }
            }
          ]
        },
        "discountedPrice": {
          "allOf": [
            {
              "$ref": "#/$defs/calculatedPriceWithDiscounts"
            },
            {
              "type": "object",
              "description": "The sum of all line item prices after discounts are calculated. It's included in the response if at least one line item has a discounted price. It's the total amount of discounted prices for items with applied discounts and the original prices for items without discounts. It reflects the total cost of all line items after discounts.",
              "properties": {
                "netValue": {
                  "type": "number",
                  "format": "double",
                  "description": "The net value after applying discounts."
                },
                "grossValue": {
                  "type": "number",
                  "format": "double",
                  "description": "The gross value after applying discounts."
                },
                "taxValue": {
                  "type": "number",
                  "format": "double",
                  "description": "The difference between `grossValue` and `netValue`."
                },
                "taxCode": {
                  "type": "string",
                  "description": "Tax code applied to the discounted price, a tax code is a country's set of tax rules. If all fees have the same taxRate, then the value is present. Otherwise, the field is not returned."
                },
                "taxRate": {
                  "type": "number",
                  "format": "double",
                  "description": "Tax rate applied to the discounted price, it's the percentage at which an individual or business is taxed. If all fees have the same taxRate, then the value is present. Otherwise, the field is not returned."
                }
              }
            }
          ]
        },
        "fees": {
          "allOf": [
            {
              "$ref": "#/$defs/calculatedPrice"
            },
            {
              "type": "object",
              "description": "The sum of all fees applied on the line items plus the payment fee *before discounts*."
            }
          ]
        },
        "totalFee": {
          "allOf": [
            {
              "$ref": "#/$defs/calculatedPriceWithDiscounts"
            },
            {
              "type": "object",
              "description": "The sum of all fees applied on the line items plus the payment fee. It's calculated by summing `items[].calculatedPrice.totalFee` with `paymentFee`. The `totalFee` is the value after all the discounts, if any discounts were applied.",
              "properties": {
                "netValue": {
                  "type": "number",
                  "format": "double",
                  "description": "Net value of the total fee, value without tax."
                },
                "grossValue": {
                  "type": "number",
                  "format": "double",
                  "description": "Gross value of the total fee, value with tax."
                },
                "taxValue": {
                  "type": "number",
                  "format": "double",
                  "description": "Tax value of the total fee, it's the actual amount of tax that has to be paid."
                },
                "taxRate": {
                  "type": "number",
                  "format": "double",
                  "description": "If all fees have the same `taxCode` defined, resulting in the same `taxRate`, the value is present. Otherwise, the field is not returned in the response."
                },
                "taxCode": {
                  "type": "string",
                  "description": "If all fees have the same `taxCode` defined, the value is present. Otherwise, the field is not returned in the response."
                },
                "appliedDiscounts": {
                  "description": "A list of discounts applied to on the line item fees. The payment fee itself is not discountable.",
                  "items": {
                    "allOf": [
                      {
                        "$ref": "#/$defs/calculatedAppliedDiscount"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "Discount identifier."
                          },
                          "value": {
                            "type": "number",
                            "format": "double",
                            "description": "The sum of all `lines[].calculatedPrice.totalFee[].appliedDiscounts[].value` grouped by `discount.id`."
                          },
                          "discountType": {
                            "type": "string",
                            "enum": [
                              "PERCENT",
                              "ABSOLUTE",
                              "FREE_SHIPPING"
                            ],
                            "description": "PERCENT for percentage discounts and ABSOLUTE for amount applied to the fee."
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          ]
        },
        "shipping": {
          "allOf": [
            {
              "$ref": "#/$defs/calculatedPrice"
            },
            {
              "type": "object",
              "description": "The total shipping cost is calculated by summing `items[].calculatedPrice.price.grossValue` for shipping estimation. `GrossValue` is used because,

# --- truncated at 32 KB (93 KB total) ---
# Full source: https://artifacts.apis.io/emporix/json-schema/emporix-cart-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/emporix-cart"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.