Beta

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

Developers
Cru World Wine
API v1 · REST & MCP
Warehouses

Suggest an inbond warehouse

Suggest a warehouse outside Cru that GET /warehouses/inbond does not list. Until Cru approves it, only you see it and can use its inbond_address_id.

POST/warehouses/inbondLIVE
Required scopewarehouses:suggestPartner credentials only
Only with warehouses:suggest, which Cru grants

A suggestion adds to the list every customer picks from, so Cru grants warehouses:suggest itself, on a partner credential, and never to a connected app: ask Cru to enable it. Without it, the customer emails [email protected] and Cru adds the warehouse, as the Cru website says.

How this write runs

inbond_warehouse.suggest
Partner credentialCLIENT-KEY · CLIENT-SECRET Executes at once and answers 201. 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 Cannot make it: Cru never grants warehouses:suggest to an app, so the call is refused with AUTH_INSUFFICIENT_SCOPE / 403.

Writes & confirmations, in full →

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.
namestring · ≤ 100 chars · requiredThe warehouse’s name.
countrystring · 2 letters · requiredIts ISO country code, such as GB or FR.
citystring · ≤ 100 chars · optionalIts town or city.
streetstring · ≤ 150 chars · optionalIts street address.
regionstring · ≤ 100 chars · optionalIts county, state or region.
postcodestring · ≤ 20 chars · optionalIts postcode.
telephonestring · ≤ 30 chars · optionalIts phone number.
is_bondedboolean · optionalWhether it is a bonded warehouse: true unless you send false. Only a bonded one can be an inbond address.

Any other field is refused with VALIDATION_UNKNOWN_PARAMETER / 400.

Check the list first

A warehouse Cru already lists, or one you already suggested — the same name in the same country, comparing only its letters a to z and digits, in any case, so spaces, punctuation and accented letters do not count — is refused with its inbond_address_id. Five can wait for Cru at a time.

Yours alone until Cru approves it

It is saved hidden. Until Cru approves it, it is in your GET /warehouses/inbond with pending true, and its inbond_address_id works for you — for wine held outside Cru, or an inbond address — and nobody else. To save an inbond address there, give its street, city and postcode.

Response fields

201 Created

Fields returned in data: what was done, and the warehouse.

actionstring

The action that ran, such as bid.place.

statusstring

completed.

inbond_warehouseobject

The warehouse, as GET /warehouses/inbond/{id} returns it, with pending true.

Errors

A request without name, country or, from a partner credential, reference returns VALIDATION_REQUIRED_FIELD / 422. A warehouse Cru already lists or you already suggested, a country that is not a two-letter country code, an is_bonded other than true or false, or a field over its length returns VALIDATION_INVALID_VALUE / 422. Five suggestions already waiting for Cru is TRADE_REFUSED / 422. Missing or invalid credentials return AUTH_INVALID_CREDENTIALS / 401. A credential without warehouses:suggest gets AUTH_INSUFFICIENT_SCOPE / 403. View all error codes →

UP NEXT Search wines

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