API ReferenceEndpointsCheckout

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.

POST
/vc/{connectionId}/checkout
X-Sales-Channel-Origin<token>

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

connectionIdstring

Header Parameters

origin?string
authorization?string

Optional customer Bearer token; if valid, the checkout is linked to that customer.

cartIdstring

Cart to turn into a checkout.

selectedItemIds?array<string>

Subset of cart items to check out. Omit to check out the whole cart.

sessionToken?string

Guest session token, proving possession of the guest cart so it can be linked to the signed-in customer.

regionId?string

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

GET
/vc/{connectionId}/pickup-locations
X-Sales-Channel-Origin<token>

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

connectionIdstring

Header Parameters

originstring
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

GET
/vc/{connectionId}/checkout/address-suggestions
X-Sales-Channel-Origin<token>

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

connectionIdstring

Query Parameters

qstring
sessionTokenstring
latstring
lngstring

Header Parameters

originstring
accept-languagestring
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

GET
/vc/{connectionId}/checkout/address-details
X-Sales-Channel-Origin<token>

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

connectionIdstring

Query Parameters

placeIdstring
sessionTokenstring
regionIdstring

Header Parameters

originstring
curl -X GET "https://api.brainerce.com/api/vc/string/checkout/address-details?placeId=string&sessionToken=string&regionId=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

GET
/vc/{connectionId}/checkout/{checkoutId}
X-Sales-Channel-Origin<token>

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

connectionIdstring
checkoutIdstring

Header Parameters

originstring
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

DELETE
/vc/{connectionId}/checkout/{checkoutId}
X-Sales-Channel-Origin<token>

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

connectionIdstring
checkoutIdstring

Header Parameters

originstring
curl -X DELETE "https://api.brainerce.com/api/vc/string/checkout/string" \  -H "origin: string"
{
  "success": true
}

Set checkout customer

PATCH
/vc/{connectionId}/checkout/{checkoutId}/customer
X-Sales-Channel-Origin<token>

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

connectionIdstring
checkoutIdstring

Header Parameters

originstring
emailstring

Shopper email address. Used for order confirmation, abandoned-checkout recovery, and matching/creating the customer record.

firstName?string

Shopper first name. Optional at this step, but required later if no shipping address is set.

lastName?string

Shopper last name. Optional at this step, but required later if no shipping address is set.

phone?string

Shopper phone number in E.164 format.

acceptsMarketing?boolean

Whether the shopper opted in to marketing communications. When true, the customer record is flagged for marketing email/SMS lists.

notes?string

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.

Lengthlength <= 2000
analyticsClientId?string

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

Lengthlength <= 100
analyticsSessionId?string

GA4 gtag.js session_id (from gtag('get', measurementId, 'session_id', cb)), forwarded alongside analyticsClientId for the same stitch.

Lengthlength <= 100
trafficReferrerHost?string

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

Lengthlength <= 253
trafficUtmSource?string

utm_source of the last non-direct touch, auto-attached alongside trafficReferrerHost.

Lengthlength <= 150
trafficUtmMedium?string

utm_medium of the last non-direct touch.

Lengthlength <= 150
trafficUtmCampaign?string

utm_campaign of the last non-direct touch.

Lengthlength <= 150
curl -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

PATCH
/vc/{connectionId}/checkout/{checkoutId}/shipping-address
X-Sales-Channel-Origin<token>

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

connectionIdstring
checkoutIdstring

Header Parameters

originstring
firstNamestring

Recipient first name.

lastNamestring

Recipient last name.

company?string

Company / organization name for the address (used on invoices and customs forms).

line1string

Primary street address line (street number + street name).

line2?string

Secondary address line (apartment, suite, unit, building, floor, …).

citystring

City / locality.

region?string

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

postalCodestring

Postal / ZIP code.

countrystring

ISO-3166-1 alpha-2 country code (uppercase, 2 letters).

phone?string

Recipient phone number in E.164 format. Used by carriers for delivery notifications.

emailstring

Shopper email address. Used for order confirmation, abandoned-checkout recovery, and matching/creating the customer record.

acceptsMarketing?boolean

Whether the shopper opted in to marketing communications at checkout. When true, the customer record is flagged for marketing email/SMS lists.

notes?string

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.

Lengthlength <= 2000
analyticsClientId?string

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

Lengthlength <= 100
analyticsSessionId?string

GA4 gtag.js session_id (from gtag('get', measurementId, 'session_id', cb)), forwarded alongside analyticsClientId for the same stitch.

Lengthlength <= 100
trafficReferrerHost?string

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

Lengthlength <= 253
trafficUtmSource?string

utm_source of the last non-direct touch, auto-attached alongside trafficReferrerHost.

Lengthlength <= 150
trafficUtmMedium?string

utm_medium of the last non-direct touch.

Lengthlength <= 150
trafficUtmCampaign?string

utm_campaign of the last non-direct touch.

Lengthlength <= 150
placeId?string

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

Lengthlength <= 512
placeSessionToken?string

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

Lengthlength <= 200
curl -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

GET
/vc/{connectionId}/checkout/{checkoutId}/shipping-rates
X-Sales-Channel-Origin<token>

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

connectionIdstring
checkoutIdstring

Header Parameters

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

PATCH
/vc/{connectionId}/checkout/{checkoutId}/shipping-method
X-Sales-Channel-Origin<token>

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

connectionIdstring

Sales-channel connection ID (vc_*)

checkoutIdstring

Checkout ID

Header Parameters

origin?string
shippingRateId?string

Id of the quoted shipping rate to select.

shippingMethodId?string

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

PATCH
/vc/{connectionId}/checkout/{checkoutId}/delivery-type
X-Sales-Channel-Origin<token>

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

connectionIdstring
checkoutIdstring

Header Parameters

originstring
deliveryTypestring

Fulfilment mode for this checkout.

Value in"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

PATCH
/vc/{connectionId}/checkout/{checkoutId}/pickup-location
X-Sales-Channel-Origin<token>

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

connectionIdstring
checkoutIdstring

Header Parameters

originstring
pickupRateIdstring

Id of the quoted pickup rate to select.

emailstring

Contact email for the pickup. Reaches the order confirmation.

firstName?string

First name for the pickup contact.

lastName?string

Last name for the pickup contact.

phone?string

Phone for the pickup contact.

acceptsMarketing?boolean

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

PATCH
/vc/{connectionId}/checkout/{checkoutId}/billing-address
X-Sales-Channel-Origin<token>

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

connectionIdstring
checkoutIdstring

Header Parameters

originstring
firstNamestring

Recipient first name.

lastNamestring

Recipient last name.

company?string

Company / organization name for the address (used on invoices and customs forms).

line1string

Primary street address line (street number + street name).

line2?string

Secondary address line (apartment, suite, unit, building, floor, …).

citystring

City / locality.

region?string

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

postalCodestring

Postal / ZIP code.

countrystring

ISO-3166-1 alpha-2 country code (uppercase, 2 letters).

phone?string

Recipient phone number in E.164 format. Used by carriers for delivery notifications.

sameAsShipping?boolean

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

GET
/vc/{connectionId}/checkout/{checkoutId}/custom-fields
X-Sales-Channel-Origin<token>

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

connectionIdstring
checkoutIdstring

Header Parameters

originstring
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

PATCH
/vc/{connectionId}/checkout/{checkoutId}/custom-fields
X-Sales-Channel-Origin<token>

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

connectionIdstring
checkoutIdstring

Header Parameters

originstring
fieldsobject

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

POST
/vc/{connectionId}/checkout/{checkoutId}/coupon
X-Sales-Channel-Origin<token>

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

connectionIdstring
checkoutIdstring

Header Parameters

originstring
codestring

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

DELETE
/vc/{connectionId}/checkout/{checkoutId}/coupon
X-Sales-Channel-Origin<token>

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

connectionIdstring
checkoutIdstring

Header Parameters

originstring
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

POST
/vc/{connectionId}/checkout/{checkoutId}/gift-card
X-Sales-Channel-Origin<token>

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

connectionIdstring
checkoutIdstring

Header Parameters

originstring
codestring

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

DELETE
/vc/{connectionId}/checkout/{checkoutId}/gift-card/{tenderId}
X-Sales-Channel-Origin<token>

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

connectionIdstring
checkoutIdstring
tenderIdstring

Header Parameters

originstring
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

POST
/vc/{connectionId}/gift-cards/balance
X-Sales-Channel-Origin<token>

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

connectionIdstring

Header Parameters

originstring
codestring

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

POST
/vc/{connectionId}/checkout/{checkoutId}/complete
X-Sales-Channel-Origin<token>

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

connectionIdstring
checkoutIdstring

Header Parameters

originstring
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

POST
/vc/{connectionId}/guest-checkout
X-Sales-Channel-Origin<token>

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

connectionIdstring

Header Parameters

originstring
authorizationstring
itemsarray<VcCartItemDto>

Line items. At most 50 per request.

Itemsitems <= 50
customer?VcGuestCustomerDto
curl -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

GET
/vc/{connectionId}/payment/config
X-Sales-Channel-Origin<token>

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

connectionIdstring

Header Parameters

originstring
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

GET
/vc/{connectionId}/payment/providers
X-Sales-Channel-Origin<token>

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

connectionIdstring

Header Parameters

originstring
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

POST
/vc/{connectionId}/payment/intent
X-Sales-Channel-Origin<token>

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

connectionIdstring

Header Parameters

originstring
checkoutIdstring

Checkout to collect payment for.

providerId?string

Route the charge to a specific installed provider — the id from a getPaymentProviders() entry. Omit to settle through the store’s primary card processor.

successUrl?string

Where the provider returns the shopper on success.

cancelUrl?string

Where the provider returns the shopper on cancel.

saveCard?boolean

Whether to store the card for future purchases.

preferredRenderType?string

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.

Value in"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.

POST
/vc/{connectionId}/payment/sdk-confirm
X-Sales-Channel-Origin<token>

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

connectionIdstring

Sales-channel connection ID (vc_*)

Header Parameters

origin?string
checkoutIdstring

Checkout to finalise.

providerResponseData?object

Raw response payload from the payment SDK. Provider-specific shape.

Empty Object

confirmationNumber?stringDeprecated

Legacy field, for the old Grow SDK only. Prefer providerResponseData.

growResponseData?objectDeprecated

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.

POST
/vc/{connectionId}/payment/grow-confirm
X-Sales-Channel-Origin<token>

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

connectionIdstring

Sales-channel connection ID (vc_*)

Header Parameters

origin?string
checkoutIdstring

Checkout to finalise.

providerResponseData?object

Raw response payload from the payment SDK. Provider-specific shape.

Empty Object

confirmationNumber?stringDeprecated

Legacy field, for the old Grow SDK only. Prefer providerResponseData.

growResponseData?objectDeprecated

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

GET
/vc/{connectionId}/checkout/{checkoutId}/payment-status
X-Sales-Channel-Origin<token>

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

connectionIdstring
checkoutIdstring

Header Parameters

originstring
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

GET
/vc/{connectionId}/checkout/{checkoutId}/order
X-Sales-Channel-Origin<token>

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

connectionIdstring

Sales-channel connection ID (vc_*)

checkoutIdstring

Checkout ID

Header Parameters

originstring
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

GET
/vc/{connectionId}/checkout/{checkoutId}/bumps
X-Sales-Channel-Origin<token>

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

connectionIdstring
checkoutIdstring

Header Parameters

originstring
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"
    }
  ]
}

On this page

No Headings