API conventions
Consistent conventions make your integration predictable across markets and endpoints.
Money uses integer minor units
Every amount accompanies an ISO 4217 currency. price: 60000 with currency: GBP means £600.00. Avoid floating-point values for prices.
Bid prices are net of commission
A bid’s price is the amount a seller receives for filling it. It is not the buyer’s gross bid. Every price inside a market uses that market’s currency.
Wine identity stays together
The bid book groups results by lwin18, which identifies the wine, vintage, and pack. wine_name, vintage, and pack_size sit directly on each market object. Price levels are nested under bids.
Pagination
limit defaults to 100 and cannot exceed 250. offset defaults to 0. Use has_more to continue reading. These values count wine markets, not bid levels.
Markets are ordered by the best bid using Cru’s internal GBP valuation, descending, then LWIN18 ascending. Bid levels are ordered by price descending with an internal tie-breaker. The active book can change between requests.
Unknown parameters return an error
A misspelled or unsupported parameter returns R002 / 400. An invalid parameter is not silently ignored.
Dates and timestamps
Timestamps use RFC 3339 UTC, for example 2026-09-14T09:14:22Z. Date-only values use YYYY-MM-DD. A null bid expiry means unknown.
Identifiers are opaque
Do not parse bid codes or assume their format. Store at least 128 characters. Codes remain stable for the life of a bid, but not across environments.
Resource ownership
/market contains Cru’s read-only book. The planned /bids and /offers resources contain the authenticated partner’s own orders.