Beta

The Partner Trading API v1 is in beta — endpoints and response shapes may still change.

Developers
Cru World Wine
API v1 · REST & MCP
Getting started

Partner Trading API

Connect your business to Cru’s fine wine market. Read both sides of the book, place and manage bids, list wine for sale, and follow your portfolio and trades — over one versioned REST API, or from an AI assistant through Cru’s MCP server.

Your first integration

Get your API credentials

Ask Cru for a client key and secret with the scopes you need — meta:read and market:read to read the market, bids:write to place bids. Confirm your environment and permitted markets.

Check your connection

Call GET /ping to verify your credentials, granted scopes, market and currency.

Read the market, then act on it

Page through GET /market/bids and GET /market/offers, then place a bid with POST /bids — with a reference, so a retry can never place it twice.

REST API · partner credentials. Your server calls Cru’s REST API with the client key and secret Cru issued. Reads come straight back; a write runs at once, and its reference makes it safe to send again.

1 / 4Every request carries CLIENT-KEY and CLIENT-SECRET. GET /ping answers with the account, market, currency and scopes they carry.

The request sequence, end to end

6 STEPS
  1. Your server

    Confirm what your credentials can do

    GET/ping

    One authenticated call that returns your account, market, currency, granted scopes and the credential’s expiry, and no trading data at all. Run it in your setup checks.

    KEEPclient.scopes, client.currency

  2. Your server

    Find the wine

    GET/wines

    Search by name to get its LWIN18 — wine, vintage and pack in one 18-digit code — which every other endpoint takes.

    KEEPlwin18

  3. Your server

    Read both sides of the market

    GET/market/offers

    /market/offers is what the wine costs to buy, gross; /market/bids is what it would sell for, net of commission. Prices are decimal amounts in the market’s currency.

    KEEPprice, code

  4. Your server

    Place a bid, with a reference you generated first

    POST/bids

    A partner credential’s write executes at once. Store the reference before sending: it is what makes the request safe to repeat.

    KEEPreference, data.bid.code

  5. Cru

    A repeat is replayed, never placed twice

    If the call times out, send it again unchanged. Cru answers with the first outcome and Idempotent-Replayed: true — or 409 REQUEST_IN_PROGRESS while the first is still running.

  6. Your server

    Follow it until it fills

    GET/bids

    Poll your bid by code or client_ref: quantity_matched rises as sellers fill it, and what you bought appears in /trades/purchases with its order number.

    KEEPstatus, quantity_matched

Partners and connected apps

The API serves two kinds of caller. A partner integrates server-to-server with a client key and secret Cru issues, and its writes execute at once. A connected app — an AI assistant, a portfolio tool — acts for one Cru customer with a token the customer approved, and every trade it prepares waits for the customer’s yes. Which are you? →

What is not here yet

Webhooks are reserved and not built, so changes are read by polling.

Cru World Wine Developers · Partner Trading API v1
Based on the API as built on 15 October 2026.

API credentials

Enter the client key and secret issued by Cru. They are kept for this browser tab’s session — a reload keeps them, closing the tab or clearing them ends them.

Credentials are never included in copied examples, and are redacted from anything the console prints back.

Request API access

Tell us who you are and what you want to build. Cru issues a client key and secret for your organisation, scoped to what you need.

Markets you trade in (choose one or more)

We use what you send here to reply about API access, and for nothing else. Cloudflare Turnstile checks the form for bots (privacy policy).