/quotes returns the Quotes shown in Amber.
Each Quote has revisions, each revision has items, and each item can have
multiple price bands.
Before you start, set your API key and brand and save
amber-client.mjs. The example requires
Node.js 22 or later. Set PRODUCT_ID from a product lookup.
1
Choose a Quote
id, then read /quotes/{id} for the supplier, Parent
Product, and source header under details. Save the ID as QUOTE_ID.
quoteNumber is a display number, not the ID used in URLs.The header’s targetPrice and quantity summarize one revision and one
band. They are not the complete supplier price history.2
Follow the three levels
Each URL names its parent explicitly:
Use each returned record’s
id in the next URL. A visible parent with no
children returns an empty page. An unavailable parent returns 404.3
Export every visible revision and band
compare-quotes.mjs
totalItems when diagnosing an empty result.Compare like-for-like offers
KeepisBrandQuote, status, and submission time so you do not treat a brand
target as a submitted supplier offer. Supplier-private drafts and canceled
revisions are excluded from the public read surface; brand drafts can appear.
Compare matching SKU or product-version requirements at the same quantity and
currency, with compatible incoterms. unitPrice and targetUnitCost are decimal
strings or null; preserve precision and treat null as unknown, not zero.
The collection is not sorted newest-first. Use revision metadata to select a
round rather than taking the first row.
For supplier comparisons, filter /quotes?productId={productId} and optionally
add supplierId, status, or quoteNumber. Filters combine with AND. List rows
include supplierId, productId, and productVersionId, so you can group results
without an extra detail request per Quote. Keep different product versions and
sourcing groups separate when comparing offers.
For brand-wide analytics, page /quote-revisions, /quote-items, and
/quote-price-bands once each and join locally. This avoids one request per
parent in a large export. See Entity relationships
for discussions and attachments.