Pricing
POST /v1/products/{productId}/quote returns a price for one product at one quantity:
{ "productId": "SLS_918273", "quantity": 250, "totalPrice": 89.99, "createdOn": "2026-07-30T00:00:00.000Z" }This is the site’s price, not a specific customer’s price
Section titled “This is the site’s price, not a specific customer’s price”Collaterate applies two independent things when it prices a product: the site’s own pricing (a markup and, per product, an optional discount) and, separately, a specific customer’s own negotiated account discount. This endpoint has no logged-in customer to attach to a quote request, so it only ever reflects the first — it does not, and cannot, reflect what a specific already-discounted customer would actually pay. If you’re quoting on behalf of a customer who has their own negotiated pricing, this number will read higher than what they’d really be charged at checkout.
Errors
Section titled “Errors”| Status | Code | Meaning |
|---|---|---|
| 400 | invalid_product_id |
The productId path segment doesn’t match SLO_/SLS_ plus digits. |
| 400 | invalid_quantity |
quantity is missing or not a positive integer. |
| 404 | product_not_found |
No such product, or it exists outside your granted sites — these read identically on purpose, see Tenancy and access. |
| 404 | quote_product_not_found |
Rare: the product resolved in our catalog but Collaterate could not price it. |
| 422 | quote_invalid |
Collaterate rejected the quote on business-validation grounds (e.g. quantity over the product’s configured maximum). detail carries Collaterate’s own message. |