Beta

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

Developers
Cru World Wine
API v1 · REST & MCP
Your bids

Renew a bid

Put one of your bids back on the market for 90 days at the same price, quantity and currency: an expired or cancelled bid, or a live bid in its last 7 days.

POST/bids/{code}/renewLIVE
Required scopebids:writeAuthentication required
To change the price as well, change the bid

Renewing keeps the bid exactly as it was. To reprice a live bid, PATCH /bids/{code} instead: that also runs it for 90 days from the change.

How this write runs

bid.renew
Partner credentialCLIENT-KEY · CLIENT-SECRET Executes at once and answers 200. The body must carry a reference: send the identical request again after a timeout and Cru replays the first outcome instead of acting twice.
Connected appAuthorization: Bearer Answers 202 with a confirmation code and does nothing else. It runs only when the app calls POST /confirmations/{code} within 15 minutes, after the customer agrees.

Writes & confirmations, in full →

Path parameter

REQUIRED
codestringThe bid’s opaque code, from GET /bids. URL-encode it as a single path segment.

Request body

APPLICATION/JSON
FIELDDESCRIPTION
referencestring · 1–50 chars · partners: requiredYour idempotency key: letters and digits, then . _ : or - allowed. Required on a partner credential’s write and kept for good, so a retry with it can never act twice. Ignored for connected apps.

Any other field is refused with VALIDATION_UNKNOWN_PARAMETER / 400.

Which bids can be renewed

renewable on the bid says whether this endpoint takes it: an expired or cancelled bid, or a live one with 7 days or fewer left, with nothing matched. Others get TRADE_REFUSED — for a partly matched bid, place a new one for the rest. So, even if renewable, does a bid from another venue, an account that cannot bid, or a bid over your allowance on its site.

Response fields

200 OK · 202 Accepted

The bid, live again until 90 days from today, and re-mirrored to Liv-ex if it was before. A connected app gets 202 and a confirmation whose preview quotes the bid in your market’s currency.

Executed 200

actionstring

The action that ran, such as bid.place.

statusstring

completed.

bidobject

The bid, live again.

Staged 202

confirmation.codestring

cnf_ and 43 more characters. A secret: the only handle on the instruction, valid for 15 minutes, once.

confirmation.actionstring

The action staged, such as bid.place.

confirmation.statusstring

pending.

confirmation.expires_atdatetime

RFC 3339 UTC.

confirmation.previewobject

summary, code, lwin18, wine_name, price, quantity, currency and expires_on (90 days on).

Errors

A code that is not one of your bids returns BID_NOT_FOUND / 404, and a bid that changed between the preview and the confirmation PRICE_CHANGED / 409. Missing or invalid credentials return AUTH_INVALID_CREDENTIALS / 401. A credential without bids:write gets AUTH_INSUFFICIENT_SCOPE / 403. View all error codes →

UP NEXT List your offers

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).