Emporix · Schema

QuoteResponse

CompanyCommerceE-CommerceB2B CommerceHeadless CommerceComposable CommerceCommerce OrchestrationAgentic CommerceiPaaSSoftware-as-a-Service

Properties

Name Type Description
id string Quote ID **NOTE**: If not specified during creation, this attribute is automatically generated. It is also possible to assign a custom ID.
businessModel string Business model of the quote.
customerReference string Customer-provided reference stored on the quote.
customerComment string Customer-provided comment stored on the quote.
customer object This attribute contains details about the customer for whom the quote was created.
employee object This attribute contains details about the employee that is processing the quote.
cartId string The ID of the cart from which the quote was created (not available when the quote was created manually)
legalEntityId string Identifier of the legal entity linked to the quote.
company object **This field is deprecated**. Use `legalEntityId` to identify the company. The object remains populated for compatibility and contains the company name stored on the quote.
siteCode string The site code for which the quote was created
orderId string The ID of the order which was created based on the quote. The order is created and assigned to the quote when status of the quote transitions to `ACCEPTED`.
currency string The currency of the quote prices.
status object The status of the quote.
validTo string The date until which the quote is valid and can be accepted by the customer.
comment object Employee and customer comments.
billingAddress object
shippingAddress object
totalPrice object The calculated total price details.
subtotalPrice object The calculated quote subtotal price.
taxAggregate object Tax aggregation of the total price.
shipping object
items array A list of quote items.
mixins object Mixins request.
metadata object Quote metadata details.
restriction object
View JSON Schema on GitHub

JSON Schema

emporix-quote-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/emporix/main/json-schema/emporix-quote-response-schema.json",
  "title": "QuoteResponse",
  "x-generated": "2026-10-18",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/emporix-quote-openapi.yml#/components/schemas/QuoteResponse",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Quote ID\n\n**NOTE**:\nIf not specified during creation, this attribute is automatically generated. It is also possible to assign a custom ID."
    },
    "businessModel": {
      "type": "string",
      "description": "Business model of the quote.",
      "enum": [
        "B2B",
        "B2C"
      ]
    },
    "customerReference": {
      "type": "string",
      "description": "Customer-provided reference stored on the quote."
    },
    "customerComment": {
      "type": "string",
      "description": "Customer-provided comment stored on the quote."
    },
    "customer": {
      "type": "object",
      "description": "This attribute contains details about the customer for whom the quote was created.",
      "properties": {
        "customerId": {
          "type": "string",
          "description": "The ID of the customer for whom the quote was created."
        },
        "firstName": {
          "type": "string",
          "description": "Customer's first name\n\n**NOTE**:\nThis attribute is filled automatically after the quote is created."
        },
        "lastName": {
          "type": "string",
          "description": "Customer's last name\n\n**NOTE**:\nThis attribute is filled automatically after the quote is created."
        },
        "contactEmail": {
          "type": "string",
          "description": "Customer's contact email\n\n**NOTE**:\nThis attribute is filled automatically after the quote is created."
        }
      }
    },
    "employee": {
      "type": "object",
      "description": "This attribute contains details about the employee that is processing the quote.",
      "properties": {
        "employeeId": {
          "type": "string",
          "description": "The ID of the employee that is processing the quote."
        },
        "firstName": {
          "type": "string",
          "description": "Employee's first name\n\n**NOTE**:\nThis attribute is filled automatically after the quote is created or the employee ID is updated."
        },
        "lastName": {
          "type": "string",
          "description": "Employee's last name.\n\n**NOTE**:\nThis attribute is filled automatically after the quote is created or the employee ID is updated."
        }
      }
    },
    "cartId": {
      "type": "string",
      "description": "The ID of the cart from which the quote was created (not available when the quote was created manually)"
    },
    "legalEntityId": {
      "type": "string",
      "description": "Identifier of the legal entity linked to the quote."
    },
    "company": {
      "type": "object",
      "deprecated": true,
      "description": "**This field is deprecated**. Use `legalEntityId` to identify the company. The object remains populated for compatibility and contains the company name stored on the quote.",
      "properties": {
        "name": {
          "type": "string",
          "description": "The company name for which the quote was created."
        }
      }
    },
    "siteCode": {
      "type": "string",
      "description": "The site code for which the quote was created"
    },
    "orderId": {
      "type": "string",
      "description": "The ID of the order which was created based on the quote. The order is created and assigned to the quote when status of the quote transitions to `ACCEPTED`."
    },
    "currency": {
      "type": "string",
      "description": "The currency of the quote prices."
    },
    "status": {
      "type": "object",
      "description": "The status of the quote.",
      "properties": {
        "value": {
          "type": "string",
          "description": "The status value of the quote."
        },
        "comment": {
          "type": "string",
          "description": "Comment relating to the status."
        },
        "quoteReason": {
          "allOf": [
            {
              "$ref": "#/$defs/QuoteReasonResponse"
            },
            {
              "type": "object",
              "description": "The reason for status change."
            }
          ]
        }
      }
    },
    "validTo": {
      "type": "string",
      "format": "date-time",
      "description": "The date until which the quote is valid and can be accepted by the customer."
    },
    "comment": {
      "type": "object",
      "description": "Employee and customer comments.",
      "properties": {
        "employeeComment": {
          "type": "string",
          "description": "Employee comment"
        }
      }
    },
    "billingAddress": {
      "$ref": "#/$defs/AddressResponse"
    },
    "shippingAddress": {
      "$ref": "#/$defs/AddressResponse"
    },
    "totalPrice": {
      "type": "object",
      "description": "The calculated total price details.",
      "properties": {
        "currency": {
          "type": "string",
          "description": "Currency of the value."
        },
        "netValue": {
          "type": "number",
          "description": "The total net value."
        },
        "grossValue": {
          "type": "number",
          "description": "The total gross value."
        },
        "taxValue": {
          "type": "number",
          "description": "The amount of the tax for the total price."
        }
      }
    },
    "subtotalPrice": {
      "type": "object",
      "description": "The calculated quote subtotal price.",
      "properties": {
        "currency": {
          "type": "string",
          "description": "Currency of the value."
        },
        "netValue": {
          "type": "number",
          "description": "The subtotal net value."
        },
        "grossValue": {
          "type": "number",
          "description": "The subtotal gross value."
        },
        "taxValue": {
          "type": "number",
          "description": "The subtotal tax value."
        }
      }
    },
    "taxAggregate": {
      "type": "object",
      "description": "Tax aggregation of the total price.",
      "properties": {
        "lines": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The tax code."
              },
              "amount": {
                "type": "number",
                "description": "The amount of the tax."
              },
              "rate": {
                "type": "number",
                "description": "The tax rate."
              },
              "taxable": {
                "type": "number",
                "description": "The total taxable amount."
              }
            }
          }
        }
      }
    },
    "shipping": {
      "allOf": [
        {
          "$ref": "#/$defs/QuoteShipping"
        },
        {
          "type": "object",
          "properties": {
            "grossValue": {
              "type": "number",
              "description": "Gross value of the shipping cost."
            },
            "methodName": {
              "type": "object",
              "description": "Localized name of the shipping method selected by the customer.",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        }
      ]
    },
    "items": {
      "type": "array",
      "description": "A list of quote items.",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the quote item used for patch operations on the item."
          },
          "quantity": {
            "type": "object",
            "description": "The attribute contains details about the item quantity.",
            "properties": {
              "quantity": {
                "type": "number",
                "description": "The quantity of the item that is used for the price calculation."
              },
              "unitCode": {
                "type": "string",
                "description": "The unit code of the quantity (it must be one of the units defined in the Unit Handling Service)."
              }
            }
          },
          "price": {
            "type": "object",
            "description": "Item price details.",
            "properties": {
              "type": {
                "type": "string",
                "description": "Defines if product is external or internal. If the product is internal, it's taken from the Emporix Product Service. If the price is external, it's a custom product from external system.",
                "enum": [
                  "INTERNAL",
                  "EXTERNAL"
                ]
              },
              "priceId": {
                "type": "string",
                "description": "The ID of the price that was initially assigned to the item."
              },
              "unitPrice": {
                "type": "number",
                "description": "The original unit price of the item that is copied from the initial price."
              },
              "newUnitPrice": {
                "type": "number",
                "description": "The new unit price that is auto-calculated based on provided `quantity` and `totalNetValue` values."
              },
              "discount": {
                "type": "number",
                "description": "The difference in percentage between `unitPrice` and `newUnitPrice`."
              },
              "totalNetValue": {
                "type": "number",
                "description": "The total net price of the item that is initially based on the provided price, but it can be overridden to allow for a merchant discount."
              },
              "tax": {
                "type": "object",
                "description": "This attribute contains information about the calculated item tax.",
                "properties": {
                  "taxClass": {
                    "type": "string",
                    "description": "The tax class assigned to the item is initially copied from the initial price."
                  },
                  "taxRate": {
                    "type": "number",
                    "description": "The tax rate that is copied from the initial price."
                  },
                  "prices": {
                    "type": "object",
                    "description": "The auto-calculated item net and gross prices ",
                    "properties": {
                      "grossValue": {
                        "type": "number"
                      },
                      "netValue": {
                        "type": "number"
                      }
                    }
                  }
                }
              },
              "mixins": {
                "type": "object",
                "description": "Mixins request.",
                "additionalProperties": true
              },
              "metadata": {
                "type": "object",
                "description": "Metadata request.",
                "properties": {
                  "mixins": {
                    "type": "object",
                    "description": "Links to the mixin schemas.",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "product": {
            "type": "object",
            "description": "Product details.",
            "properties": {
              "type": {
                "type": "string",
                "description": "Defines if product is external or internal. If the product is internal, it's taken from the Emporix Product Service. If the price is external, it's a custom product from external system.",
                "enum": [
                  "INTERNAL",
                  "EXTERNAL"
                ]
              },
              "productId": {
                "type": "string",
                "description": "The ID of the product or variant assigned to the quote item."
              },
              "name": {
                "type": "object",
                "description": "This attribute contains the product name language map.\n\n**NOTE**:\nAfter the item has been added to the quote, the product name language map attribute is automatically populated."
              },
              "media": {
                "type": "object",
                "description": "This attribute comprises the product media information and is automatically populated upon the creation of the quote.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "ID of the media."
                  },
                  "contentType": {
                    "type": "string",
                    "description": "The content type of the media. For example: `image/jpg`."
                  },
                  "url": {
                    "type": "string",
                    "description": "The url to the product media."
                  }
                }
              },
              "taxClasses": {
                "type": "object",
                "description": "Map of key-value pairs that associates tax classes with locations (countries)."
              },
              "mixins": {
                "type": "object",
                "description": "Mixins request.",
                "additionalProperties": true
              },
              "metadata": {
                "type": "object",
                "description": "Metadata request.",
                "properties": {
                  "mixins": {
                    "type": "object",
                    "description": "Links to the mixin schemas.",
                    "additionalProperties": true
                  }
                }
              }
            }
          }
        }
      }
    },
    "mixins": {
      "type": "object",
      "description": "Mixins request.",
      "additionalProperties": true
    },
    "metadata": {
      "type": "object",
      "description": "Quote metadata details.",
      "properties": {
        "mixins": {
          "type": "object",
          "description": "Links to the mixin schemas.",
          "additionalProperties": true
        },
        "version": {
          "type": "integer",
          "description": "Version of the quote that is used for the optimistic locking handling."
        },
        "createdAt": {
          "type": "string",
          "format": "date-time",
          "description": "Quote creation timestamp."
        },
        "modifiedAt": {
          "type": "string",
          "format": "date-time",
          "description": "Quote modification timestamp."
        }
      }
    },
    "restriction": {
      "$ref": "#/$defs/Restriction"
    }
  },
  "$defs": {
    "AddressResponse": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The ID of the address."
        },
        "name": {
          "type": "string",
          "description": "The name of the address."
        },
        "addressLine1": {
          "type": "string",
          "description": "First line of the address."
        },
        "addressLine2": {
          "type": "string",
          "description": "Second line of the address."
        },
        "city": {
          "type": "string",
          "description": "City name."
        },
        "postcode": {
          "type": "string",
          "description": "The postal code of the city."
        },
        "state": {
          "type": "string",
          "description": "The state where the city is located."
        },
        "countryCode": {
          "type": "string",
          "description": "The code of the country location."
        }
      }
    },
    "QuoteReasonResponse": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The quote reason ID."
        },
        "type": {
          "type": "string",
          "enum": [
            "CHANGE",
            "DECLINE"
          ],
          "description": "Type of the quote reason."
        },
        "message": {
          "oneOf": [
            {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            {
              "type": "string"
            }
          ],
          "description": "Localized message - can be either string or map with languages as map's keys accordingly to specified 'Accept-Language' header."
        },
        "code": {
          "type": "string",
          "description": "Code of the reason for the quote status change."
        },
        "metadata": {
          "type": "object",
          "description": "The Quote Reason metadata details.",
          "properties": {
            "version": {
              "type": "integer",
              "description": "Version of the quote reason that is used for the optimistic locking handling."
            },
            "createdAt": {
              "type": "string",
              "format": "date-time",
              "description": "The Quote Reason creation timestamp."
            },
            "modifiedAt": {
              "type": "string",
              "format": "date-time",
              "description": "The Quote Reason modification timestamp."
            }
          }
        }
      }
    },
    "QuoteShipping": {
      "type": "object",
      "description": "The shipping cost of the quote.",
      "properties": {
        "value": {
          "type": "number",
          "description": "Net value of the shipping cost."
        },
        "methodId": {
          "type": "string",
          "description": "Shipping method's unique identifier."
        },
        "zoneId": {
          "type": "string",
          "description": "Shipping zone identifier."
        },
        "shippingTaxCode": {
          "type": "string",
          "description": "Tax code of the shipping method."
        }
      }
    },
    "Restriction": {
      "type": [
        "string",
        "null"
      ],
      "description": "Access control identifier that determines who can view or manage the quotes.\n\n**Purpose**: Restricts quote visibility based on scope permissions. Only users/applications \nwith matching restriction scopes can access quotes with a specific restriction value.\n\n**Access Control**:\n- *Reading*: Users can only query and view quotes with the `restriction` value that matches one of their authorized restrictions.\n\n**Validation**: The value must exist in the tenant's configured list of valid restrictions.\n\n**Restriction Synchronization**:\n- If quote is created by a customer (based on a cart) and `restriction` property is not set, the `restriction` value of quote is inherited from customer's restriction.\n- If a quote is created by an employee and the `restriction` property is not set with tenant configuration property `enableSyncBetweenRestrictionsAndSiteCodes` set to `true`, the `restriction` field automatically syncs with quote's siteCode property.\n"
    }
  }
}

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-quote-response"
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.