Edit and reprice a proposed order without creating it
const url = 'https://example.com/entry-drafts/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/order';const options = { method: 'PATCH', headers: { cookie: '__Host-bottle.session_token=<__Host-bottle.session_token>', 'Content-Type': 'application/json' }, body: '{"version":1,"order":{"customerId":"019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f","deliveryAddressId":"019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f","deliverToName":"example","deliverToAddress":"example","deliveryOptionId":"019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f","paymentMethod":"on_account","billingOwner":"bottle","fulfilment":"delivery","pricesIncludeVat":true,"pricingAudience":"consumer","includeSurcharge":true,"surchargeChoice":"usual","wantedOn":"2026-04-15","notes":"example","customerReference":"example","lines":[{"productId":"019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f","quantity":1,"unitPrice":1,"priceIncludesVat":true,"faultySwap":true}],"cylinderChargesReviewed":true,"collect":[{"productId":"019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f","quantity":1}]},"returnsConfirmed":true,"totalOverridePence":1}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url https://example.com/entry-drafts/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/order \ --header 'Content-Type: application/json' \ --cookie __Host-bottle.session_token=<__Host-bottle.session_token> \ --data '{ "version": 1, "order": { "customerId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "deliveryAddressId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "deliverToName": "example", "deliverToAddress": "example", "deliveryOptionId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "paymentMethod": "on_account", "billingOwner": "bottle", "fulfilment": "delivery", "pricesIncludeVat": true, "pricingAudience": "consumer", "includeSurcharge": true, "surchargeChoice": "usual", "wantedOn": "2026-04-15", "notes": "example", "customerReference": "example", "lines": [ { "productId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "quantity": 1, "unitPrice": 1, "priceIncludesVat": true, "faultySwap": true } ], "cylinderChargesReviewed": true, "collect": [ { "productId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "quantity": 1 } ] }, "returnsConfirmed": true, "totalOverridePence": 1 }'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”object
object
UUID v7
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8fUUID v7
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8fUUID v7
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8fOn_account: billed later, nothing to collect. link: a payment link raised in the accounting system. cash: the driver takes it at the door.
Bottle: Bottle invoices and takes payment as usual. elsewhere: already invoiced or paid outside Bottle. Bottle sends no invoice or payment link, drivers collect nothing, and the payment method is kept as on_account.
Delivery: goes on a round. collection: the customer picks it up from the yard; never planned onto a van, and comes off stock when marked collected.
Consumer: use consumer list prices. trade: use trade prices where set. Agreed rates, customer price lists and price rules still take priority.
object
UUID v7
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8fobject
UUID v7
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8fResponses
Section titled “Responses”Shared draft
object
object
object
A language: en-GB English, ar Arabic, ur Urdu, pa Punjabi (Gurmukhi), hi Hindi, bn Bengali, gu Gujarati, zh-Hans Chinese (Simplified), pl Polish, ro Romanian, es Spanish, fr French, de German.
Deposit: paid once with the cylinder and refunded on return. rent: charged while they keep it, no deposit.
UUID v7
object
object
UUID v7
UUID v7
UUID v7
On_account: billed later, nothing to collect. link: a payment link raised in the accounting system. cash: the driver takes it at the door.
Bottle: Bottle invoices and takes payment as usual. elsewhere: already invoiced or paid outside Bottle. Bottle sends no invoice or payment link, drivers collect nothing, and the payment method is kept as on_account.
Delivery: goes on a round. collection: the customer picks it up from the yard; never planned onto a van, and comes off stock when marked collected.
Consumer: use consumer list prices. trade: use trade prices where set. Agreed rates, customer price lists and price rules still take priority.
object
UUID v7
object
UUID v7
object
object
object
object
Example
{ "status": "draft", "proposal": { "customer": { "tradingName": "Camden Lock Grill", "paymentTerms": "prepaid", "preferredLocale": "en-GB", "kind": "commercial", "hireBillingPeriod": "weekly", "cylinderCharge": "deposit", "rateSetId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "invoiceSchedule": { "mode": "business" }, "legalName": "Camden Lock Grill Ltd", "contactName": "Priya Shah", "email": "orders@camdenlockgrill.co.uk", "phone": "07700 900123", "accountNumber": "BTL00313", "address": { "leaveInstruction": "none" } }, "order": { "customerId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "deliveryAddressId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "deliveryOptionId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "paymentMethod": "on_account", "billingOwner": "bottle", "fulfilment": "delivery", "pricingAudience": "consumer", "surchargeChoice": "usual", "lines": [ { "productId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f" } ], "collect": [ { "productId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f" } ] } }, "messages": [ { "role": "user" } ]}Draft request refused
object
Example
{ "error": "not_found", "message": "Customer not found"}Draft request refused
object
Example
{ "error": "not_found", "message": "Customer not found"}Draft request refused
object
Example
{ "error": "not_found", "message": "Customer not found"}Draft request refused
object
Example
{ "error": "not_found", "message": "Customer not found"}Draft request refused
object
Example
{ "error": "not_found", "message": "Customer not found"}Draft request refused
object
Example
{ "error": "not_found", "message": "Customer not found"}Draft request refused
object
Example
{ "error": "not_found", "message": "Customer not found"}