Cart
Items and subtotal for the cart identified by X-Cart-Session (or the signed-in customer). No delivery or fees — those are computed at checkout. Includes checkout_url on your own key.
Authorization
http Use a Sanctum bearer token.
In: header
Header Parameters
Your store API key (Dashboard → Settings → API keys). pk_live_… public keys are for browser code and only work from an origin on the key's allowlist; sk_live_… private keys are for servers and native apps and need no Origin.
Response Body
application/json
curl -X GET "https://example.com/store/cart" \ -H "X-Client-Key: {{clientKey}}"{}Upserts the whole cart in one call (vendor_id is the store id from store/info; cart_items[] with item_id, quantity, optional variant_id). Prefer cart/items to add lines one at a time. Items the server rejects come back in rejected_items.
Authorization
http Use a Sanctum bearer token.
In: header
Header Parameters
Your store API key (Dashboard → Settings → API keys). pk_live_… public keys are for browser code and only work from an origin on the key's allowlist; sk_live_… private keys are for servers and native apps and need no Origin.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.com/store/cart" \ -H "X-Client-Key: {{clientKey}}" \ -H "Content-Type: application/json" \ -d '{ "vendor_id": "98232994-9d54-43ee-a280-d7c895362d0c", "cart_items": [ { "item_id": "4d8cd62e-a579-4dae-af8c-3172f96f8f7c", "title": "string", "price": 0, "quantity": 1 } ] }'{ "status": "success", "message": "Cart saved successfully", "data": [], "meta": { "rejected_items": "string" }}Adds one line (product_id, optional variant_id, quantity) without touching other lines. Replies result: "added" with the cart, or result: "customise" with the variant/addon options the product needs — show them and call again with the choice.
Authorization
http Use a Sanctum bearer token.
In: header
Header Parameters
Your store API key (Dashboard → Settings → API keys). pk_live_… public keys are for browser code and only work from an origin on the key's allowlist; sk_live_… private keys are for servers and native apps and need no Origin.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/store/cart/items" \ -H "X-Client-Key: {{clientKey}}" \ -H "Content-Type: application/json" \ -d '{ "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1" }'{ "status": "success", "message": "Item added to cart", "data": [], "meta": "string"}Re-checks every line against current stock and prices and returns is_valid with validation_errors. Call before sending the shopper to checkout_url.
Authorization
http Use a Sanctum bearer token.
In: header
Header Parameters
Your store API key (Dashboard → Settings → API keys). pk_live_… public keys are for browser code and only work from an origin on the key's allowlist; sk_live_… private keys are for servers and native apps and need no Origin.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/store/cart/validate" \ -H "X-Client-Key: {{clientKey}}" \ -H "Content-Type: application/json" \ -d '{ "cart_id": "b5b98de2-0f5f-4a68-b8c7-2aa7bb7683bb" }'{ "status": "success", "message": "Cart is valid", "data": [], "meta": "string"}Removes every line from the cart identified by X-Cart-Session (or the signed-in customer).
Authorization
http Use a Sanctum bearer token.
In: header
Query Parameters
uuidHeader Parameters
Your store API key (Dashboard → Settings → API keys). pk_live_… public keys are for browser code and only work from an origin on the key's allowlist; sk_live_… private keys are for servers and native apps and need no Origin.
Response Body
application/json
application/json
application/json
application/json
curl -X DELETE "https://example.com/store/cart/clear" \ -H "X-Client-Key: {{clientKey}}"{ "status": "success", "message": "All carts cleared successfully", "data": [], "meta": "string"}