Checkout
A checkout is the state machine that takes a cart through to a paid order. Endpoints here let you create a checkout from a cart, attach customer + shipping + billing info, apply coupons, choose shipping methods, and complete the purchase (which creates the order). Mutating endpoints honor Idempotency-Key — see /docs/api/idempotency.
Create checkout
Creates a checkout from a cart. Optionally links to the logged-in customer when a valid Bearer is supplied.
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
Optional customer Bearer token; if valid, the checkout is linked to that customer.
Cart to turn into a checkout.
Subset of cart items to check out. Omit to check out the whole cart.
Guest session token, proving possession of the guest cart so it can be linked to the signed-in customer.
Region to price and tax this checkout in.
curl -X POST "https://api.brainerce.com/api/vc/string/checkout" \ -H "origin: string" \ -H "authorization: string" \ -H "Content-Type: application/json" \ -d '{ "cartId": "string" }'{
"id": "clchk_abc123",
"status": "PENDING",
"email": "string",
"customerId": "string",
"deliveryType": "shipping",
"pickupLocation": {
"id": "string",
"name": "string",
"rateName": "string",
"address": {
"line1": "5 Rothschild",
"line2": "string",
"city": "Tel Aviv",
"region": "string",
"postalCode": "6688218",
"country": "IL"
},
"phone": "string",
"hours": "string",
"instructions": "string",
"price": "0",
"currency": "ILS"
},
"shippingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"billingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"shippingRateId": "string",
"shippingMethod": {
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
},
"currency": "ILS",
"subtotal": "39.80",
"discountAmount": "0.00",
"ruleDiscountAmount": "0.00",
"appliedRules": [
{
"id": "string",
"name": "string",
"type": "PERCENTAGE_OFF",
"discountAmount": "string"
}
],
"shippingAmount": "5.00",
"taxAmount": "0",
"taxBreakdown": {
"subtotal": 39.8,
"shippingNet": 5,
"totalTax": 7.16,
"total": 46.96,
"breakdown": [
{
"name": "VAT",
"rate": 18,
"amount": 7.16
}
],
"currency": "ILS"
},
"total": "46.96",
"surchargeAmount": "0.00",
"appliedSurcharges": [
{
"key": "giftWrap",
"name": "Gift wrapping",
"value": {},
"amount": "3.00"
}
],
"customFieldValues": {},
"couponCode": "string",
"tenders": [
{
"tenderId": "string",
"amountApplied": "25.00"
}
],
"providerAmountDue": "21.96",
"notes": "string",
"lineItems": [
{
"id": "string",
"productId": "clprd_abc123",
"variantId": "string",
"quantity": 2,
"unitPrice": "19.90",
"discountAmount": "0",
"product": {},
"variant": {},
"notes": "string",
"metadata": {},
"customizations": {}
}
],
"itemCount": 3,
"availableShippingRates": [
{
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
}
],
"expiresAt": "string",
"recoveryEmailSentAt": "string",
"createdAt": "string",
"updatedAt": "string",
"reservation": {
"hasReservation": true,
"expiresAt": "string",
"remainingSeconds": 0,
"strategy": "ON_PAYMENT",
"countdownMessage": "string"
},
"presentment": {
"currency": "EUR",
"subtotal": "36.10",
"discountAmount": "0.00",
"shippingAmount": "4.50",
"taxAmount": "7.30",
"surchargeAmount": "0.00",
"total": "47.90",
"fxChargingRate": "0.2612",
"fxBufferPercent": "string"
}
}List pickup locations
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
curl -X GET "https://api.brainerce.com/api/vc/string/pickup-locations" \ -H "origin: string"{
"pickupLocations": [
{
"id": "string",
"name": "string",
"rateName": "string",
"address": {
"line1": "5 Rothschild",
"line2": "string",
"city": "Tel Aviv",
"region": "string",
"postalCode": "6688218",
"country": "IL"
},
"phone": "string",
"hours": "string",
"instructions": "string",
"price": "0",
"currency": "ILS"
}
]
}Get address autocomplete suggestions
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Query Parameters
Header Parameters
curl -X GET "https://api.brainerce.com/api/vc/string/checkout/address-suggestions?q=string&sessionToken=string&lat=string&lng=string" \ -H "origin: string" \ -H "accept-language: string"{
"suggestions": [
{
"placeId": "ChIJN1t_tDeuEmsRUsoyG83frY4",
"description": "string"
}
]
}Resolve an address suggestion to a full address + zone coverage
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Query Parameters
Header Parameters
curl -X GET "https://api.brainerce.com/api/vc/string/checkout/address-details?placeId=string&sessionToken=string®ionId=string" \ -H "origin: string"{
"address": {
"line1": "string",
"city": "string",
"region": "string",
"postalCode": "string",
"country": "IL",
"lat": 32.0853,
"lng": 34.7818,
"formattedAddress": "string"
},
"inZone": true
}Get checkout
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
curl -X GET "https://api.brainerce.com/api/vc/string/checkout/string" \ -H "origin: string"{
"id": "clchk_abc123",
"status": "PENDING",
"email": "string",
"customerId": "string",
"deliveryType": "shipping",
"pickupLocation": {
"id": "string",
"name": "string",
"rateName": "string",
"address": {
"line1": "5 Rothschild",
"line2": "string",
"city": "Tel Aviv",
"region": "string",
"postalCode": "6688218",
"country": "IL"
},
"phone": "string",
"hours": "string",
"instructions": "string",
"price": "0",
"currency": "ILS"
},
"shippingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"billingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"shippingRateId": "string",
"shippingMethod": {
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
},
"currency": "ILS",
"subtotal": "39.80",
"discountAmount": "0.00",
"ruleDiscountAmount": "0.00",
"appliedRules": [
{
"id": "string",
"name": "string",
"type": "PERCENTAGE_OFF",
"discountAmount": "string"
}
],
"shippingAmount": "5.00",
"taxAmount": "0",
"taxBreakdown": {
"subtotal": 39.8,
"shippingNet": 5,
"totalTax": 7.16,
"total": 46.96,
"breakdown": [
{
"name": "VAT",
"rate": 18,
"amount": 7.16
}
],
"currency": "ILS"
},
"total": "46.96",
"surchargeAmount": "0.00",
"appliedSurcharges": [
{
"key": "giftWrap",
"name": "Gift wrapping",
"value": {},
"amount": "3.00"
}
],
"customFieldValues": {},
"couponCode": "string",
"tenders": [
{
"tenderId": "string",
"amountApplied": "25.00"
}
],
"providerAmountDue": "21.96",
"notes": "string",
"lineItems": [
{
"id": "string",
"productId": "clprd_abc123",
"variantId": "string",
"quantity": 2,
"unitPrice": "19.90",
"discountAmount": "0",
"product": {},
"variant": {},
"notes": "string",
"metadata": {},
"customizations": {}
}
],
"itemCount": 3,
"availableShippingRates": [
{
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
}
],
"expiresAt": "string",
"recoveryEmailSentAt": "string",
"createdAt": "string",
"updatedAt": "string",
"reservation": {
"hasReservation": true,
"expiresAt": "string",
"remainingSeconds": 0,
"strategy": "ON_PAYMENT",
"countdownMessage": "string"
},
"presentment": {
"currency": "EUR",
"subtotal": "36.10",
"discountAmount": "0.00",
"shippingAmount": "4.50",
"taxAmount": "7.30",
"surchargeAmount": "0.00",
"total": "47.90",
"fxChargingRate": "0.2612",
"fxBufferPercent": "string"
}
}Delete checkout
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
curl -X DELETE "https://api.brainerce.com/api/vc/string/checkout/string" \ -H "origin: string"{
"success": true
}Set checkout customer
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
Shopper email address. Used for order confirmation, abandoned-checkout recovery, and matching/creating the customer record.
Shopper first name. Optional at this step, but required later if no shipping address is set.
Shopper last name. Optional at this step, but required later if no shipping address is set.
Shopper phone number in E.164 format.
Whether the shopper opted in to marketing communications. When true, the customer record is flagged for marketing email/SMS lists.
Order-level note from the shopper ("Please leave at the door"). Stored on the cart and copied onto the order at completion, then shown to the merchant in the dashboard and included in the confirmation email. Max 2000 chars. Send an empty string to clear a previously-set note.
length <= 2000GA4 gtag.js client_id (from gtag('get', measurementId, 'client_id', cb)), forwarded so the server-side purchase event can stitch to this browser session. Written onto the cart if not already set. Omit if unavailable, and never send a synthesized id.
length <= 100GA4 gtag.js session_id (from gtag('get', measurementId, 'session_id', cb)), forwarded alongside analyticsClientId for the same stitch.
length <= 100Hostname of the external referrer that brought this shopper (last non-direct touch), auto-attached by the storefront SDK from its brainerce_attr capture. Raw host on purpose, because the platform classifies it (AI/organic/social) at read time. Omit if unknown.
length <= 253utm_source of the last non-direct touch, auto-attached alongside trafficReferrerHost.
length <= 150utm_medium of the last non-direct touch.
length <= 150utm_campaign of the last non-direct touch.
length <= 150curl -X PATCH "https://api.brainerce.com/api/vc/string/checkout/string/customer" \ -H "origin: string" \ -H "Content-Type: application/json" \ -d '{ "email": "[email protected]" }'{
"id": "clchk_abc123",
"status": "PENDING",
"email": "string",
"customerId": "string",
"deliveryType": "shipping",
"pickupLocation": {
"id": "string",
"name": "string",
"rateName": "string",
"address": {
"line1": "5 Rothschild",
"line2": "string",
"city": "Tel Aviv",
"region": "string",
"postalCode": "6688218",
"country": "IL"
},
"phone": "string",
"hours": "string",
"instructions": "string",
"price": "0",
"currency": "ILS"
},
"shippingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"billingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"shippingRateId": "string",
"shippingMethod": {
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
},
"currency": "ILS",
"subtotal": "39.80",
"discountAmount": "0.00",
"ruleDiscountAmount": "0.00",
"appliedRules": [
{
"id": "string",
"name": "string",
"type": "PERCENTAGE_OFF",
"discountAmount": "string"
}
],
"shippingAmount": "5.00",
"taxAmount": "0",
"taxBreakdown": {
"subtotal": 39.8,
"shippingNet": 5,
"totalTax": 7.16,
"total": 46.96,
"breakdown": [
{
"name": "VAT",
"rate": 18,
"amount": 7.16
}
],
"currency": "ILS"
},
"total": "46.96",
"surchargeAmount": "0.00",
"appliedSurcharges": [
{
"key": "giftWrap",
"name": "Gift wrapping",
"value": {},
"amount": "3.00"
}
],
"customFieldValues": {},
"couponCode": "string",
"tenders": [
{
"tenderId": "string",
"amountApplied": "25.00"
}
],
"providerAmountDue": "21.96",
"notes": "string",
"lineItems": [
{
"id": "string",
"productId": "clprd_abc123",
"variantId": "string",
"quantity": 2,
"unitPrice": "19.90",
"discountAmount": "0",
"product": {},
"variant": {},
"notes": "string",
"metadata": {},
"customizations": {}
}
],
"itemCount": 3,
"availableShippingRates": [
{
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
}
],
"expiresAt": "string",
"recoveryEmailSentAt": "string",
"createdAt": "string",
"updatedAt": "string",
"reservation": {
"hasReservation": true,
"expiresAt": "string",
"remainingSeconds": 0,
"strategy": "ON_PAYMENT",
"countdownMessage": "string"
},
"presentment": {
"currency": "EUR",
"subtotal": "36.10",
"discountAmount": "0.00",
"shippingAmount": "4.50",
"taxAmount": "7.30",
"surchargeAmount": "0.00",
"total": "47.90",
"fxChargingRate": "0.2612",
"fxBufferPercent": "string"
}
}Set shipping address
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
Recipient first name.
Recipient last name.
Company / organization name for the address (used on invoices and customs forms).
Primary street address line (street number + street name).
Secondary address line (apartment, suite, unit, building, floor, …).
City / locality.
State / province / region code or name. Required by some shipping carriers (e.g. USPS, UPS) for US/CA/AU addresses. Use the ISO-3166-2 subdivision code when possible (e.g. CA for California).
Postal / ZIP code.
ISO-3166-1 alpha-2 country code (uppercase, 2 letters).
Recipient phone number in E.164 format. Used by carriers for delivery notifications.
Shopper email address. Used for order confirmation, abandoned-checkout recovery, and matching/creating the customer record.
Whether the shopper opted in to marketing communications at checkout. When true, the customer record is flagged for marketing email/SMS lists.
Order-level note from the shopper ("Please leave at the door"). Rides along with the address step so single-page checkouts need no extra call. Copied onto the order at completion, then shown to the merchant in the dashboard and included in the confirmation email. Max 2000 chars. Send an empty string to clear a previously-set note.
length <= 2000GA4 gtag.js client_id (from gtag('get', measurementId, 'client_id', cb)), forwarded so the server-side purchase event can stitch to this browser session. Written onto the cart if not already set. Omit if unavailable, and never send a synthesized id.
length <= 100GA4 gtag.js session_id (from gtag('get', measurementId, 'session_id', cb)), forwarded alongside analyticsClientId for the same stitch.
length <= 100Hostname of the external referrer that brought this shopper (last non-direct touch), auto-attached by the storefront SDK from its brainerce_attr capture. Raw host on purpose, because the platform classifies it (AI/organic/social) at read time. Omit if unknown.
length <= 253utm_source of the last non-direct touch, auto-attached alongside trafficReferrerHost.
length <= 150utm_medium of the last non-direct touch.
length <= 150utm_campaign of the last non-direct touch.
length <= 150The placeId of the autocomplete suggestion the shopper picked (from checkout/address-autocomplete). Send it whenever the address came from the autocomplete: the server re-resolves it to exact rooftop coordinates and matches polygon ("draw on map") shipping zones against those, instead of re-geocoding the typed address lines. Without it, matching falls back to geocoding the text, which is materially less accurate (a same-named street in another city can outrank the right one). Note there is deliberately NO lat/lng field here: zone matching decides which shipping rate is offered and charged, so coordinates are never taken from the caller.
length <= 512The same sessionToken used for the checkout/address-autocomplete calls that produced placeId. Optional: the resolved place is cached server-side for 24h by placeId, so the normal flow (autocomplete → address-details → this call) hits that cache and needs no token. Pass it when you have it so that a cache miss still bills within the original autocomplete session instead of opening a new one.
length <= 200curl -X PATCH "https://api.brainerce.com/api/vc/string/checkout/string/shipping-address" \ -H "origin: string" \ -H "Content-Type: application/json" \ -d '{ "firstName": "Jane", "lastName": "Doe", "line1": "123 Main Street", "city": "San Francisco", "postalCode": "94105", "country": "US", "email": "[email protected]" }'{
"checkout": {
"id": "clchk_abc123",
"status": "PENDING",
"email": "string",
"customerId": "string",
"deliveryType": "shipping",
"pickupLocation": {
"id": "string",
"name": "string",
"rateName": "string",
"address": {
"line1": "5 Rothschild",
"line2": "string",
"city": "Tel Aviv",
"region": "string",
"postalCode": "6688218",
"country": "IL"
},
"phone": "string",
"hours": "string",
"instructions": "string",
"price": "0",
"currency": "ILS"
},
"shippingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"billingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"shippingRateId": "string",
"shippingMethod": {
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
},
"currency": "ILS",
"subtotal": "39.80",
"discountAmount": "0.00",
"ruleDiscountAmount": "0.00",
"appliedRules": [
{
"id": "string",
"name": "string",
"type": "PERCENTAGE_OFF",
"discountAmount": "string"
}
],
"shippingAmount": "5.00",
"taxAmount": "0",
"taxBreakdown": {
"subtotal": 39.8,
"shippingNet": 5,
"totalTax": 7.16,
"total": 46.96,
"breakdown": [
{
"name": "VAT",
"rate": 18,
"amount": 7.16
}
],
"currency": "ILS"
},
"total": "46.96",
"surchargeAmount": "0.00",
"appliedSurcharges": [
{
"key": "giftWrap",
"name": "Gift wrapping",
"value": {},
"amount": "3.00"
}
],
"customFieldValues": {},
"couponCode": "string",
"tenders": [
{
"tenderId": "string",
"amountApplied": "25.00"
}
],
"providerAmountDue": "21.96",
"notes": "string",
"lineItems": [
{
"id": "string",
"productId": "clprd_abc123",
"variantId": "string",
"quantity": 2,
"unitPrice": "19.90",
"discountAmount": "0",
"product": {},
"variant": {},
"notes": "string",
"metadata": {},
"customizations": {}
}
],
"itemCount": 3,
"availableShippingRates": [
{
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
}
],
"expiresAt": "string",
"recoveryEmailSentAt": "string",
"createdAt": "string",
"updatedAt": "string",
"reservation": {
"hasReservation": true,
"expiresAt": "string",
"remainingSeconds": 0,
"strategy": "ON_PAYMENT",
"countdownMessage": "string"
},
"presentment": {
"currency": "EUR",
"subtotal": "36.10",
"discountAmount": "0.00",
"shippingAmount": "4.50",
"taxAmount": "7.30",
"surchargeAmount": "0.00",
"total": "47.90",
"fxChargingRate": "0.2612",
"fxBufferPercent": "string"
}
},
"rates": [
{
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
}
]
}List shipping rates
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
curl -X GET "https://api.brainerce.com/api/vc/string/checkout/string/shipping-rates" \ -H "origin: string"{
"rates": [
{
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
}
]
}Select shipping method
Selects a shipping rate previously returned by GET /checkout/:checkoutId/shipping-rates. Use shippingRateId. The legacy shippingMethodId alias is accepted for backward compatibility and will be removed in a future release.
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Sales-channel connection ID (vc_*)
Checkout ID
Header Parameters
Id of the quoted shipping rate to select.
Legacy alias for shippingRateId.
curl -X PATCH "https://api.brainerce.com/api/vc/string/checkout/string/shipping-method" \ -H "origin: string" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "clchk_abc123",
"status": "PENDING",
"email": "string",
"customerId": "string",
"deliveryType": "shipping",
"pickupLocation": {
"id": "string",
"name": "string",
"rateName": "string",
"address": {
"line1": "5 Rothschild",
"line2": "string",
"city": "Tel Aviv",
"region": "string",
"postalCode": "6688218",
"country": "IL"
},
"phone": "string",
"hours": "string",
"instructions": "string",
"price": "0",
"currency": "ILS"
},
"shippingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"billingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"shippingRateId": "string",
"shippingMethod": {
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
},
"currency": "ILS",
"subtotal": "39.80",
"discountAmount": "0.00",
"ruleDiscountAmount": "0.00",
"appliedRules": [
{
"id": "string",
"name": "string",
"type": "PERCENTAGE_OFF",
"discountAmount": "string"
}
],
"shippingAmount": "5.00",
"taxAmount": "0",
"taxBreakdown": {
"subtotal": 39.8,
"shippingNet": 5,
"totalTax": 7.16,
"total": 46.96,
"breakdown": [
{
"name": "VAT",
"rate": 18,
"amount": 7.16
}
],
"currency": "ILS"
},
"total": "46.96",
"surchargeAmount": "0.00",
"appliedSurcharges": [
{
"key": "giftWrap",
"name": "Gift wrapping",
"value": {},
"amount": "3.00"
}
],
"customFieldValues": {},
"couponCode": "string",
"tenders": [
{
"tenderId": "string",
"amountApplied": "25.00"
}
],
"providerAmountDue": "21.96",
"notes": "string",
"lineItems": [
{
"id": "string",
"productId": "clprd_abc123",
"variantId": "string",
"quantity": 2,
"unitPrice": "19.90",
"discountAmount": "0",
"product": {},
"variant": {},
"notes": "string",
"metadata": {},
"customizations": {}
}
],
"itemCount": 3,
"availableShippingRates": [
{
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
}
],
"expiresAt": "string",
"recoveryEmailSentAt": "string",
"createdAt": "string",
"updatedAt": "string",
"reservation": {
"hasReservation": true,
"expiresAt": "string",
"remainingSeconds": 0,
"strategy": "ON_PAYMENT",
"countdownMessage": "string"
},
"presentment": {
"currency": "EUR",
"subtotal": "36.10",
"discountAmount": "0.00",
"shippingAmount": "4.50",
"taxAmount": "7.30",
"surchargeAmount": "0.00",
"total": "47.90",
"fxChargingRate": "0.2612",
"fxBufferPercent": "string"
}
}Set delivery type
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
Fulfilment mode for this checkout.
"shipping" | "pickup"curl -X PATCH "https://api.brainerce.com/api/vc/string/checkout/string/delivery-type" \ -H "origin: string" \ -H "Content-Type: application/json" \ -d '{ "deliveryType": "shipping" }'{
"id": "clchk_abc123",
"status": "PENDING",
"email": "string",
"customerId": "string",
"deliveryType": "shipping",
"pickupLocation": {
"id": "string",
"name": "string",
"rateName": "string",
"address": {
"line1": "5 Rothschild",
"line2": "string",
"city": "Tel Aviv",
"region": "string",
"postalCode": "6688218",
"country": "IL"
},
"phone": "string",
"hours": "string",
"instructions": "string",
"price": "0",
"currency": "ILS"
},
"shippingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"billingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"shippingRateId": "string",
"shippingMethod": {
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
},
"currency": "ILS",
"subtotal": "39.80",
"discountAmount": "0.00",
"ruleDiscountAmount": "0.00",
"appliedRules": [
{
"id": "string",
"name": "string",
"type": "PERCENTAGE_OFF",
"discountAmount": "string"
}
],
"shippingAmount": "5.00",
"taxAmount": "0",
"taxBreakdown": {
"subtotal": 39.8,
"shippingNet": 5,
"totalTax": 7.16,
"total": 46.96,
"breakdown": [
{
"name": "VAT",
"rate": 18,
"amount": 7.16
}
],
"currency": "ILS"
},
"total": "46.96",
"surchargeAmount": "0.00",
"appliedSurcharges": [
{
"key": "giftWrap",
"name": "Gift wrapping",
"value": {},
"amount": "3.00"
}
],
"customFieldValues": {},
"couponCode": "string",
"tenders": [
{
"tenderId": "string",
"amountApplied": "25.00"
}
],
"providerAmountDue": "21.96",
"notes": "string",
"lineItems": [
{
"id": "string",
"productId": "clprd_abc123",
"variantId": "string",
"quantity": 2,
"unitPrice": "19.90",
"discountAmount": "0",
"product": {},
"variant": {},
"notes": "string",
"metadata": {},
"customizations": {}
}
],
"itemCount": 3,
"availableShippingRates": [
{
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
}
],
"expiresAt": "string",
"recoveryEmailSentAt": "string",
"createdAt": "string",
"updatedAt": "string",
"reservation": {
"hasReservation": true,
"expiresAt": "string",
"remainingSeconds": 0,
"strategy": "ON_PAYMENT",
"countdownMessage": "string"
},
"presentment": {
"currency": "EUR",
"subtotal": "36.10",
"discountAmount": "0.00",
"shippingAmount": "4.50",
"taxAmount": "7.30",
"surchargeAmount": "0.00",
"total": "47.90",
"fxChargingRate": "0.2612",
"fxBufferPercent": "string"
}
}Select pickup location
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
Id of the quoted pickup rate to select.
Contact email for the pickup. Reaches the order confirmation.
First name for the pickup contact.
Last name for the pickup contact.
Phone for the pickup contact.
Whether the shopper opted into marketing.
curl -X PATCH "https://api.brainerce.com/api/vc/string/checkout/string/pickup-location" \ -H "origin: string" \ -H "Content-Type: application/json" \ -d '{ "pickupRateId": "string", "email": "[email protected]" }'{
"id": "clchk_abc123",
"status": "PENDING",
"email": "string",
"customerId": "string",
"deliveryType": "shipping",
"pickupLocation": {
"id": "string",
"name": "string",
"rateName": "string",
"address": {
"line1": "5 Rothschild",
"line2": "string",
"city": "Tel Aviv",
"region": "string",
"postalCode": "6688218",
"country": "IL"
},
"phone": "string",
"hours": "string",
"instructions": "string",
"price": "0",
"currency": "ILS"
},
"shippingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"billingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"shippingRateId": "string",
"shippingMethod": {
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
},
"currency": "ILS",
"subtotal": "39.80",
"discountAmount": "0.00",
"ruleDiscountAmount": "0.00",
"appliedRules": [
{
"id": "string",
"name": "string",
"type": "PERCENTAGE_OFF",
"discountAmount": "string"
}
],
"shippingAmount": "5.00",
"taxAmount": "0",
"taxBreakdown": {
"subtotal": 39.8,
"shippingNet": 5,
"totalTax": 7.16,
"total": 46.96,
"breakdown": [
{
"name": "VAT",
"rate": 18,
"amount": 7.16
}
],
"currency": "ILS"
},
"total": "46.96",
"surchargeAmount": "0.00",
"appliedSurcharges": [
{
"key": "giftWrap",
"name": "Gift wrapping",
"value": {},
"amount": "3.00"
}
],
"customFieldValues": {},
"couponCode": "string",
"tenders": [
{
"tenderId": "string",
"amountApplied": "25.00"
}
],
"providerAmountDue": "21.96",
"notes": "string",
"lineItems": [
{
"id": "string",
"productId": "clprd_abc123",
"variantId": "string",
"quantity": 2,
"unitPrice": "19.90",
"discountAmount": "0",
"product": {},
"variant": {},
"notes": "string",
"metadata": {},
"customizations": {}
}
],
"itemCount": 3,
"availableShippingRates": [
{
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
}
],
"expiresAt": "string",
"recoveryEmailSentAt": "string",
"createdAt": "string",
"updatedAt": "string",
"reservation": {
"hasReservation": true,
"expiresAt": "string",
"remainingSeconds": 0,
"strategy": "ON_PAYMENT",
"countdownMessage": "string"
},
"presentment": {
"currency": "EUR",
"subtotal": "36.10",
"discountAmount": "0.00",
"shippingAmount": "4.50",
"taxAmount": "7.30",
"surchargeAmount": "0.00",
"total": "47.90",
"fxChargingRate": "0.2612",
"fxBufferPercent": "string"
}
}Set billing address
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
Recipient first name.
Recipient last name.
Company / organization name for the address (used on invoices and customs forms).
Primary street address line (street number + street name).
Secondary address line (apartment, suite, unit, building, floor, …).
City / locality.
State / province / region code or name. Required by some shipping carriers (e.g. USPS, UPS) for US/CA/AU addresses. Use the ISO-3166-2 subdivision code when possible (e.g. CA for California).
Postal / ZIP code.
ISO-3166-1 alpha-2 country code (uppercase, 2 letters).
Recipient phone number in E.164 format. Used by carriers for delivery notifications.
When true, the billing address is set identically to the previously-saved shipping address and the address fields on this request are ignored.
curl -X PATCH "https://api.brainerce.com/api/vc/string/checkout/string/billing-address" \ -H "origin: string" \ -H "Content-Type: application/json" \ -d '{ "firstName": "Jane", "lastName": "Doe", "line1": "123 Main Street", "city": "San Francisco", "postalCode": "94105", "country": "US" }'{
"id": "clchk_abc123",
"status": "PENDING",
"email": "string",
"customerId": "string",
"deliveryType": "shipping",
"pickupLocation": {
"id": "string",
"name": "string",
"rateName": "string",
"address": {
"line1": "5 Rothschild",
"line2": "string",
"city": "Tel Aviv",
"region": "string",
"postalCode": "6688218",
"country": "IL"
},
"phone": "string",
"hours": "string",
"instructions": "string",
"price": "0",
"currency": "ILS"
},
"shippingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"billingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"shippingRateId": "string",
"shippingMethod": {
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
},
"currency": "ILS",
"subtotal": "39.80",
"discountAmount": "0.00",
"ruleDiscountAmount": "0.00",
"appliedRules": [
{
"id": "string",
"name": "string",
"type": "PERCENTAGE_OFF",
"discountAmount": "string"
}
],
"shippingAmount": "5.00",
"taxAmount": "0",
"taxBreakdown": {
"subtotal": 39.8,
"shippingNet": 5,
"totalTax": 7.16,
"total": 46.96,
"breakdown": [
{
"name": "VAT",
"rate": 18,
"amount": 7.16
}
],
"currency": "ILS"
},
"total": "46.96",
"surchargeAmount": "0.00",
"appliedSurcharges": [
{
"key": "giftWrap",
"name": "Gift wrapping",
"value": {},
"amount": "3.00"
}
],
"customFieldValues": {},
"couponCode": "string",
"tenders": [
{
"tenderId": "string",
"amountApplied": "25.00"
}
],
"providerAmountDue": "21.96",
"notes": "string",
"lineItems": [
{
"id": "string",
"productId": "clprd_abc123",
"variantId": "string",
"quantity": 2,
"unitPrice": "19.90",
"discountAmount": "0",
"product": {},
"variant": {},
"notes": "string",
"metadata": {},
"customizations": {}
}
],
"itemCount": 3,
"availableShippingRates": [
{
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
}
],
"expiresAt": "string",
"recoveryEmailSentAt": "string",
"createdAt": "string",
"updatedAt": "string",
"reservation": {
"hasReservation": true,
"expiresAt": "string",
"remainingSeconds": 0,
"strategy": "ON_PAYMENT",
"countdownMessage": "string"
},
"presentment": {
"currency": "EUR",
"subtotal": "36.10",
"discountAmount": "0.00",
"shippingAmount": "4.50",
"taxAmount": "7.30",
"surchargeAmount": "0.00",
"total": "47.90",
"fxChargingRate": "0.2612",
"fxBufferPercent": "string"
}
}List checkout custom fields
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
curl -X GET "https://api.brainerce.com/api/vc/string/checkout/string/custom-fields" \ -H "origin: string"[
{
"id": "string",
"storeId": "string",
"key": "giftMessage",
"name": "string",
"type": "TEXT",
"isRequired": false,
"isActive": true,
"position": 0
}
]Set checkout custom fields
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
Full map of field key → value. This REPLACES the stored map rather than merging into it, so a partial submission drops the fields it omits and can trip the required-field check. DATE values are "YYYY-MM-DD"; DATETIME values are one ISO-8601 date-time, an offset-less "2026-08-13T13:00" is resolved in the store's timezone. A slot label glued onto a date ("2026-08-13T13:00-14:00") is a 400. Every recognised value is stored in canonical form, not as submitted.
Empty Object
curl -X PATCH "https://api.brainerce.com/api/vc/string/checkout/string/custom-fields" \ -H "origin: string" \ -H "Content-Type: application/json" \ -d '{ "fields": { "gift_wrap": true, "delivery_slot": "2026-08-13T13:00" } }'{
"id": "clchk_abc123",
"status": "PENDING",
"email": "string",
"customerId": "string",
"deliveryType": "shipping",
"pickupLocation": {
"id": "string",
"name": "string",
"rateName": "string",
"address": {
"line1": "5 Rothschild",
"line2": "string",
"city": "Tel Aviv",
"region": "string",
"postalCode": "6688218",
"country": "IL"
},
"phone": "string",
"hours": "string",
"instructions": "string",
"price": "0",
"currency": "ILS"
},
"shippingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"billingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"shippingRateId": "string",
"shippingMethod": {
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
},
"currency": "ILS",
"subtotal": "39.80",
"discountAmount": "0.00",
"ruleDiscountAmount": "0.00",
"appliedRules": [
{
"id": "string",
"name": "string",
"type": "PERCENTAGE_OFF",
"discountAmount": "string"
}
],
"shippingAmount": "5.00",
"taxAmount": "0",
"taxBreakdown": {
"subtotal": 39.8,
"shippingNet": 5,
"totalTax": 7.16,
"total": 46.96,
"breakdown": [
{
"name": "VAT",
"rate": 18,
"amount": 7.16
}
],
"currency": "ILS"
},
"total": "46.96",
"surchargeAmount": "0.00",
"appliedSurcharges": [
{
"key": "giftWrap",
"name": "Gift wrapping",
"value": {},
"amount": "3.00"
}
],
"customFieldValues": {},
"couponCode": "string",
"tenders": [
{
"tenderId": "string",
"amountApplied": "25.00"
}
],
"providerAmountDue": "21.96",
"notes": "string",
"lineItems": [
{
"id": "string",
"productId": "clprd_abc123",
"variantId": "string",
"quantity": 2,
"unitPrice": "19.90",
"discountAmount": "0",
"product": {},
"variant": {},
"notes": "string",
"metadata": {},
"customizations": {}
}
],
"itemCount": 3,
"availableShippingRates": [
{
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
}
],
"expiresAt": "string",
"recoveryEmailSentAt": "string",
"createdAt": "string",
"updatedAt": "string",
"reservation": {
"hasReservation": true,
"expiresAt": "string",
"remainingSeconds": 0,
"strategy": "ON_PAYMENT",
"countdownMessage": "string"
},
"presentment": {
"currency": "EUR",
"subtotal": "36.10",
"discountAmount": "0.00",
"shippingAmount": "4.50",
"taxAmount": "7.30",
"surchargeAmount": "0.00",
"total": "47.90",
"fxChargingRate": "0.2612",
"fxBufferPercent": "string"
}
}Apply checkout coupon
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
Coupon code (case-insensitive). Validation runs server-side, and invalid codes return 400 with code: COUPON_INVALID or COUPON_USAGE_LIMIT_REACHED.
curl -X POST "https://api.brainerce.com/api/vc/string/checkout/string/coupon" \ -H "origin: string" \ -H "Content-Type: application/json" \ -d '{ "code": "SUMMER25" }'{
"id": "clchk_abc123",
"status": "PENDING",
"email": "string",
"customerId": "string",
"deliveryType": "shipping",
"pickupLocation": {
"id": "string",
"name": "string",
"rateName": "string",
"address": {
"line1": "5 Rothschild",
"line2": "string",
"city": "Tel Aviv",
"region": "string",
"postalCode": "6688218",
"country": "IL"
},
"phone": "string",
"hours": "string",
"instructions": "string",
"price": "0",
"currency": "ILS"
},
"shippingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"billingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"shippingRateId": "string",
"shippingMethod": {
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
},
"currency": "ILS",
"subtotal": "39.80",
"discountAmount": "0.00",
"ruleDiscountAmount": "0.00",
"appliedRules": [
{
"id": "string",
"name": "string",
"type": "PERCENTAGE_OFF",
"discountAmount": "string"
}
],
"shippingAmount": "5.00",
"taxAmount": "0",
"taxBreakdown": {
"subtotal": 39.8,
"shippingNet": 5,
"totalTax": 7.16,
"total": 46.96,
"breakdown": [
{
"name": "VAT",
"rate": 18,
"amount": 7.16
}
],
"currency": "ILS"
},
"total": "46.96",
"surchargeAmount": "0.00",
"appliedSurcharges": [
{
"key": "giftWrap",
"name": "Gift wrapping",
"value": {},
"amount": "3.00"
}
],
"customFieldValues": {},
"couponCode": "string",
"tenders": [
{
"tenderId": "string",
"amountApplied": "25.00"
}
],
"providerAmountDue": "21.96",
"notes": "string",
"lineItems": [
{
"id": "string",
"productId": "clprd_abc123",
"variantId": "string",
"quantity": 2,
"unitPrice": "19.90",
"discountAmount": "0",
"product": {},
"variant": {},
"notes": "string",
"metadata": {},
"customizations": {}
}
],
"itemCount": 3,
"availableShippingRates": [
{
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
}
],
"expiresAt": "string",
"recoveryEmailSentAt": "string",
"createdAt": "string",
"updatedAt": "string",
"reservation": {
"hasReservation": true,
"expiresAt": "string",
"remainingSeconds": 0,
"strategy": "ON_PAYMENT",
"countdownMessage": "string"
},
"presentment": {
"currency": "EUR",
"subtotal": "36.10",
"discountAmount": "0.00",
"shippingAmount": "4.50",
"taxAmount": "7.30",
"surchargeAmount": "0.00",
"total": "47.90",
"fxChargingRate": "0.2612",
"fxBufferPercent": "string"
}
}Remove checkout coupon
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
curl -X DELETE "https://api.brainerce.com/api/vc/string/checkout/string/coupon" \ -H "origin: string"{
"id": "clchk_abc123",
"status": "PENDING",
"email": "string",
"customerId": "string",
"deliveryType": "shipping",
"pickupLocation": {
"id": "string",
"name": "string",
"rateName": "string",
"address": {
"line1": "5 Rothschild",
"line2": "string",
"city": "Tel Aviv",
"region": "string",
"postalCode": "6688218",
"country": "IL"
},
"phone": "string",
"hours": "string",
"instructions": "string",
"price": "0",
"currency": "ILS"
},
"shippingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"billingAddress": {
"firstName": "Jane",
"lastName": "Doe",
"company": "string",
"line1": "123 Main St",
"line2": "string",
"city": "San Francisco",
"region": "CA",
"postalCode": "94103",
"country": "US",
"phone": "string"
},
"shippingRateId": "string",
"shippingMethod": {
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
},
"currency": "ILS",
"subtotal": "39.80",
"discountAmount": "0.00",
"ruleDiscountAmount": "0.00",
"appliedRules": [
{
"id": "string",
"name": "string",
"type": "PERCENTAGE_OFF",
"discountAmount": "string"
}
],
"shippingAmount": "5.00",
"taxAmount": "0",
"taxBreakdown": {
"subtotal": 39.8,
"shippingNet": 5,
"totalTax": 7.16,
"total": 46.96,
"breakdown": [
{
"name": "VAT",
"rate": 18,
"amount": 7.16
}
],
"currency": "ILS"
},
"total": "46.96",
"surchargeAmount": "0.00",
"appliedSurcharges": [
{
"key": "giftWrap",
"name": "Gift wrapping",
"value": {},
"amount": "3.00"
}
],
"customFieldValues": {},
"couponCode": "string",
"tenders": [
{
"tenderId": "string",
"amountApplied": "25.00"
}
],
"providerAmountDue": "21.96",
"notes": "string",
"lineItems": [
{
"id": "string",
"productId": "clprd_abc123",
"variantId": "string",
"quantity": 2,
"unitPrice": "19.90",
"discountAmount": "0",
"product": {},
"variant": {},
"notes": "string",
"metadata": {},
"customizations": {}
}
],
"itemCount": 3,
"availableShippingRates": [
{
"id": "clrate_abc123",
"name": "Standard shipping",
"description": "string",
"price": "5.00",
"currency": "USD",
"estimatedDays": 3,
"source": "manual",
"carrier": "ups",
"service": "ground",
"speedTier": "cheapest"
}
],
"expiresAt": "string",
"recoveryEmailSentAt": "string",
"createdAt": "string",
"updatedAt": "string",
"reservation": {
"hasReservation": true,
"expiresAt": "string",
"remainingSeconds": 0,
"strategy": "ON_PAYMENT",
"countdownMessage": "string"
},
"presentment": {
"currency": "EUR",
"subtotal": "36.10",
"discountAmount": "0.00",
"shippingAmount": "4.50",
"taxAmount": "7.30",
"surchargeAmount": "0.00",
"total": "47.90",
"fxChargingRate": "0.2612",
"fxBufferPercent": "string"
}
}Apply a gift card to a checkout
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
The gift card code as the shopper typed it. Case, spaces and dashes are all tolerated, and characters excluded from the code alphabet (I, L, O, U) are corrected to the ones they are mistaken for.
curl -X POST "https://api.brainerce.com/api/vc/string/checkout/string/gift-card" \ -H "origin: string" \ -H "Content-Type: application/json" \ -d '{ "code": "A1B2-C3D4-E5F6-G7H8-J9K0" }'{
"tenderId": "cltnd_abc123",
"amountApplied": "25.00",
"providerAmountDue": "21.96"
}Remove a gift card from a checkout
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
curl -X DELETE "https://api.brainerce.com/api/vc/string/checkout/string/gift-card/string" \ -H "origin: string"{
"removed": true,
"providerAmountDue": "46.96"
}Check a gift card balance
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
The gift card code as the shopper typed it. Case, spaces and dashes are all tolerated, and characters excluded from the code alphabet (I, L, O, U) are corrected to the ones they are mistaken for.
curl -X POST "https://api.brainerce.com/api/vc/string/gift-cards/balance" \ -H "origin: string" \ -H "Content-Type: application/json" \ -d '{ "code": "A1B2-C3D4-E5F6-G7H8-J9K0" }'{
"balance": "50.00",
"currency": "ILS",
"usable": true
}Complete checkout
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
curl -X POST "https://api.brainerce.com/api/vc/string/checkout/string/complete" \ -H "origin: string"{
"orderId": "clord_abc123",
"orderNumber": "ORD-20260907-0012",
"status": "pending",
"total": "46.96",
"message": "string"
}Create guest checkout
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
Line items. At most 50 per request.
items <= 50curl -X POST "https://api.brainerce.com/api/vc/string/guest-checkout" \ -H "origin: string" \ -H "authorization: string" \ -H "Content-Type: application/json" \ -d '{ "items": [ { "productId": "clx1234567890", "quantity": 2 } ] }'{
"tracked": true,
"checkoutId": "clchk_abc123",
"cartId": "clcrt_abc123",
"message": "string"
}{
"statusCode": 400,
"code": "VALIDATION_FAILED",
"message": "name should not be empty, price must be a positive number",
"timestamp": "2026-08-23T10:15:00.000Z",
"path": "/api/vc/{connectionId}/guest-checkout"
}Get payment config
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
curl -X GET "https://api.brainerce.com/api/vc/string/payment/config" \ -H "origin: string"{
"provider": "stripe",
"publicKey": "pk_live_...",
"stripeAccountId": "string",
"supportedMethods": [
"card"
],
"testMode": false
}List payment providers
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
curl -X GET "https://api.brainerce.com/api/vc/string/payment/providers" \ -H "origin: string"{
"hasPayments": true,
"providers": [
{
"id": "clinst_abc123",
"provider": "stripe",
"name": "Stripe",
"publicKey": "pk_live_...",
"stripeAccountId": "string",
"supportedMethods": [
"string"
],
"testMode": false,
"isDefault": true,
"methodType": "CREDIT_CARD",
"presentation": "card_form",
"isAdditive": false,
"clientSdk": {}
}
],
"defaultProvider": {
"id": "clinst_abc123",
"provider": "stripe",
"name": "Stripe",
"publicKey": "pk_live_...",
"stripeAccountId": "string",
"supportedMethods": [
"string"
],
"testMode": false,
"isDefault": true,
"methodType": "CREDIT_CARD",
"presentation": "card_form",
"isAdditive": false,
"clientSdk": {}
}
}Create payment intent
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
Checkout to collect payment for.
Route the charge to a specific installed provider — the id from a getPaymentProviders() entry. Omit to settle through the store’s primary card processor.
Where the provider returns the shopper on success.
Where the provider returns the shopper on cancel.
Whether to store the card for future purchases.
How the storefront would like the provider’s payment surface presented. Honoured when the provider lists that mode in its clientSdk.displayModes (see getPaymentProviders()); otherwise the provider’s default is returned and the response says renderModeResolution: "fallback". Never an error. Always branch on the clientSdk.renderType that comes BACK. Omit to take the provider default. Ignored on sandbox intents.
"redirect" | "iframe"curl -X POST "https://api.brainerce.com/api/vc/string/payment/intent" \ -H "origin: string" \ -H "Content-Type: application/json" \ -d '{ "checkoutId": "string" }'{
"id": "pi_3ABC...",
"clientSecret": "string",
"amount": "46.96",
"currency": "ILS",
"status": "requires_payment_method",
"provider": "stripe",
"clientSdk": {},
"renderModeResolution": "provider-default"
}Confirm SDK-based payment
Called by the storefront after a payment SDK (e.g. Grow) returns success client-side. Posts the provider response back to the backend so the order can be finalised. The legacy path /payment/grow-confirm is supported as an alias.
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Sales-channel connection ID (vc_*)
Header Parameters
Checkout to finalise.
Raw response payload from the payment SDK. Provider-specific shape.
Empty Object
Legacy field, for the old Grow SDK only. Prefer providerResponseData.
Legacy field, for the old Grow SDK only. Prefer providerResponseData.
Empty Object
curl -X POST "https://api.brainerce.com/api/vc/string/payment/sdk-confirm" \ -H "origin: string" \ -H "Content-Type: application/json" \ -d '{ "checkoutId": "chk_abc123" }'{
"confirmed": true
}Confirm SDK-based payment
Called by the storefront after a payment SDK (e.g. Grow) returns success client-side. Posts the provider response back to the backend so the order can be finalised. The legacy path /payment/grow-confirm is supported as an alias.
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Sales-channel connection ID (vc_*)
Header Parameters
Checkout to finalise.
Raw response payload from the payment SDK. Provider-specific shape.
Empty Object
Legacy field, for the old Grow SDK only. Prefer providerResponseData.
Legacy field, for the old Grow SDK only. Prefer providerResponseData.
Empty Object
curl -X POST "https://api.brainerce.com/api/vc/string/payment/grow-confirm" \ -H "origin: string" \ -H "Content-Type: application/json" \ -d '{ "checkoutId": "chk_abc123" }'{
"confirmed": true
}List payment status
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
curl -X GET "https://api.brainerce.com/api/vc/string/checkout/string/payment-status" \ -H "origin: string"{
"checkoutId": "clchk_abc123",
"status": "succeeded",
"orderId": "clord_abc123",
"orderNumber": "ORD-20260907-0012",
"paymentIntentId": "string"
}Get order details by checkout
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Sales-channel connection ID (vc_*)
Checkout ID
Header Parameters
curl -X GET "https://api.brainerce.com/api/vc/string/checkout/string/order" \ -H "origin: string"{
"id": "clord_abc123",
"orderNumber": "string",
"status": "processing",
"totalAmount": "46.96",
"currency": "ILS",
"subtotal": "string",
"discountAmount": "string",
"couponCode": "string",
"couponDiscount": "string",
"ruleDiscountAmount": "string",
"appliedDiscounts": [
{}
],
"shippingAmount": "string",
"taxAmount": "string",
"taxBreakdown": {},
"shippingAddress": {},
"billingAddress": {},
"items": [
{
"productId": "clprd_abc123",
"variantId": "string",
"sku": "string",
"name": "string",
"quantity": 2,
"price": "19.90",
"unitPrice": "19.90",
"totalPrice": "39.80",
"image": "string",
"customizations": {},
"modifiers": [
{}
]
}
],
"paymentMethod": "card",
"financialStatus": "paid",
"fulfillmentStatus": "unfulfilled",
"deliveryType": "shipping",
"createdAt": "string",
"notes": "string",
"tenders": [
{
"id": "cltnd_abc123",
"type": "GIFT_CARD",
"amountBase": "25.00",
"currencyBase": "ILS",
"giftCard": {}
}
],
"hasDownloads": false
}List checkout bumps
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Header Parameters
curl -X GET "https://api.brainerce.com/api/vc/string/checkout/string/bumps" \ -H "origin: string"{
"bumps": [
{
"id": "string",
"title": "string",
"description": "string",
"bumpProduct": {
"id": "clprd_abc123",
"name": "string",
"slug": "string",
"basePrice": "9.00",
"salePrice": "string",
"images": [
{
"url": "https://cdn.brainerce.com/products/abc123.jpg",
"alt": "Blue mug"
}
],
"type": "SIMPLE",
"variants": [
{}
]
},
"bumpVariantId": "string",
"requiresVariantSelection": false,
"lockedVariant": {
"id": "clvar_abc123",
"name": "string",
"attributes": {}
},
"originalPrice": "9.00",
"discountedPrice": "7.20",
"discountType": "PERCENTAGE",
"discountValue": "20"
}
]
}