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.
Authorization
clientKey The store's 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.
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.
Identifies a signed-out shopper's cart. Required when no customer token is sent — without it the cart answers 422 validation_failed (Missing session token for anonymous cart.); ignored when an Authorization: Bearer customer token is present. Generate any opaque string (a UUID) when the shopper first adds to cart and send it on every cart call. The same value is also accepted as the session_token body field.
Your own correlation id (8–128 chars, ^[A-Za-z0-9_.:-]+$). Echoed back on the response and on every log line of the request; one is generated when you omit it.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/store/cart" \ -H "X-Client-Key: {{clientKey}}" \ -H "X-Cart-Session: a3f1b8e2-4c5d-4e6f-8a9b-0c1d2e3f4a5b"{ "data": [ { "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c41", "vendor_id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c01", "vendor": { "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c01", "name": "Zuri Atelier", "distance": null, "delivery_info": { "is_free_delivery": true, "delivery_fee": 0, "delivery_fee_value": 0, "min_order": 1000, "min_order_fee": 2000, "d_p_value": 1.5, "s_p_value": 1.5, "delivery_time": "45-180 min", "delivery_message": "Open until 21:00", "offers_free_delivery": false, "pickup_enabled": true, "offer_instant_delivery": true }, "notice": [], "slug": "zuri-atelier", "service": null, "currency": "NGN", "logo": "https://media.usequeek.com/uploads/stores/2207/logo.png", "disable_order": false, "is_closed": false, "temporary_unavailable": false, "preorder_enabled": null, "area": "Lekki Phase 1", "banner": "https://media.usequeek.com/uploads/stores/2207/banner.png", "support_phone": "+234 803 555 0147", "phone": "+234 803 555 0147", "country_code": "NG", "phone_code": "234", "support_email": "[email protected]", "slogan": null, "tags": null, "tag": "fashion", "is_new": false, "rating": 4.7, "rating_count": 486, "short_description": null, "address": "12B Admiralty Way, Lekki Phase 1, Lagos", "open_time": "09:00", "close_time": "21:00", "service_type": "fashion", "landmark": "Opposite NIIT", "region_id": null, "min_order_price": null }, "cart_items": [ { "item_id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c42", "title": "Ankara Midi Dress", "variant_id": "019b0c4d-5f10-7a02-8c61-0b2d4e6f8a02", "variant_title": "M", "variant_option_values": { "Size": "M" }, "price": 28500, "discount_price": 24225, "discount": { "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c31", "title": "Lagos Fashion Week 15% Off", "type": "percentage", "amount": 4275 }, "quantity": 1, "selectedAddons": [], "requires_slot": false, "properties": null } ], "total_price": 24225, "source": "storefront", "promo_codes": [], "is_valid": true, "validation_errors": [], "last_validated_at": "2026-09-25T15:40:00+01:00", "created_at": "2026-09-25T15:32:00+01:00", "updated_at": "2026-09-25T15:40:00+01:00" } ], "status": "success", "message": "Carts retrieved successfully", "meta": { "total_carts": 1 }}Upserts the whole cart in one call (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
clientKey The store's 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.
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.
Identifies a signed-out shopper's cart. Required when no customer token is sent — without it the cart answers 422 validation_failed (Missing session token for anonymous cart.); ignored when an Authorization: Bearer customer token is present. Generate any opaque string (a UUID) when the shopper first adds to cart and send it on every cart call. The same value is also accepted as the session_token body field.
Your own correlation id (8–128 chars, ^[A-Za-z0-9_.:-]+$). Echoed back on the response and on every log line of the request; one is generated when you omit it.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/store/cart" \ -H "X-Client-Key: {{clientKey}}" \ -H "X-Cart-Session: a3f1b8e2-4c5d-4e6f-8a9b-0c1d2e3f4a5b" \ -H "Content-Type: application/json" \ -d '{ "vendor_id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c01", "cart_items": [ { "item_id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c42", "title": "Ankara Midi Dress", "price": 28500, "quantity": 1, "variant_id": "019b0c4d-5f10-7a02-8c61-0b2d4e6f8a02" }, { "item_id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c43", "title": "Aso-Oke Head Wrap", "price": 8500, "quantity": 2 } ], "source": "storefront" }'{ "status": "success", "message": "Cart saved successfully", "data": { "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c41", "vendor_id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c01", "vendor": { "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c01", "name": "Zuri Atelier", "distance": null, "delivery_info": { "is_free_delivery": true, "delivery_fee": 0, "delivery_fee_value": 0, "min_order": 1000, "min_order_fee": 2000, "d_p_value": 1.5, "s_p_value": 1.5, "delivery_time": "45-180 min", "delivery_message": "Open until 21:00", "offers_free_delivery": false, "pickup_enabled": true, "offer_instant_delivery": true }, "notice": [], "slug": "zuri-atelier", "service": null, "currency": "NGN", "logo": "https://media.usequeek.com/uploads/stores/2207/logo.png", "disable_order": false, "is_closed": false, "temporary_unavailable": false, "preorder_enabled": null, "area": "Lekki Phase 1", "banner": "https://media.usequeek.com/uploads/stores/2207/banner.png", "support_phone": "+234 803 555 0147", "phone": "+234 803 555 0147", "country_code": "NG", "phone_code": "234", "support_email": "[email protected]", "slogan": null, "tags": null, "tag": "fashion", "is_new": false, "rating": 4.7, "rating_count": 486, "short_description": null, "address": "12B Admiralty Way, Lekki Phase 1, Lagos", "open_time": "09:00", "close_time": "21:00", "service_type": "fashion", "landmark": "Opposite NIIT", "region_id": null, "min_order_price": null }, "cart_items": [ { "item_id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c42", "title": "Ankara Midi Dress", "variant_id": "019b0c4d-5f10-7a02-8c61-0b2d4e6f8a02", "variant_title": "M", "variant_option_values": { "Size": "M" }, "price": 28500, "discount_price": 24225, "discount": { "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c31", "title": "Lagos Fashion Week 15% Off", "type": "percentage", "amount": 4275 }, "quantity": 1, "selectedAddons": [], "requires_slot": false, "properties": null } ], "total_price": 24225, "source": "storefront", "promo_codes": [], "is_valid": true, "validation_errors": [], "last_validated_at": "2026-09-25T15:40:00+01:00", "created_at": "2026-09-25T15:32:00+01:00", "updated_at": "2026-09-25T15:40:00+01:00" }}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
clientKey The store's 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.
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.
Identifies a signed-out shopper's cart. Required when no customer token is sent — without it the cart answers 422 validation_failed (Missing session token for anonymous cart.); ignored when an Authorization: Bearer customer token is present. Generate any opaque string (a UUID) when the shopper first adds to cart and send it on every cart call. The same value is also accepted as the session_token body field.
Your own correlation id (8–128 chars, ^[A-Za-z0-9_.:-]+$). Echoed back on the response and on every log line of the request; one is generated when you omit it.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/store/cart/items" \ -H "X-Client-Key: {{clientKey}}" \ -H "X-Cart-Session: a3f1b8e2-4c5d-4e6f-8a9b-0c1d2e3f4a5b" \ -H "Content-Type: application/json" \ -d '{ "product_id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c11", "variant_id": "019b0c4d-5f10-7a02-8c61-0b2d4e6f8a02", "quantity": 1 }'{ "status": "success", "message": "Item added to cart", "data": { "result": "added", "cart": { "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c41", "vendor_id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c01", "vendor": { "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c01", "name": "Zuri Atelier", "distance": null, "delivery_info": { "is_free_delivery": true, "delivery_fee": 0, "delivery_fee_value": 0, "min_order": 1000, "min_order_fee": 2000, "d_p_value": 1.5, "s_p_value": 1.5, "delivery_time": "45-180 min", "delivery_message": "Open until 21:00", "offers_free_delivery": false, "pickup_enabled": true, "offer_instant_delivery": true }, "notice": [], "slug": "zuri-atelier", "service": null, "currency": "NGN", "logo": "https://media.usequeek.com/uploads/stores/2207/logo.png", "disable_order": false, "is_closed": false, "temporary_unavailable": false, "preorder_enabled": null, "area": "Lekki Phase 1", "banner": "https://media.usequeek.com/uploads/stores/2207/banner.png", "support_phone": "+234 803 555 0147", "phone": "+234 803 555 0147", "country_code": "NG", "phone_code": "234", "support_email": "[email protected]", "slogan": null, "tags": null, "tag": "fashion", "is_new": false, "rating": 4.7, "rating_count": 486, "short_description": null, "address": "12B Admiralty Way, Lekki Phase 1, Lagos", "open_time": "09:00", "close_time": "21:00", "service_type": "fashion", "landmark": "Opposite NIIT", "region_id": null, "min_order_price": null }, "cart_items": [ { "item_id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c42", "title": "Ankara Midi Dress", "variant_id": "019b0c4d-5f10-7a02-8c61-0b2d4e6f8a02", "variant_title": "M", "variant_option_values": { "Size": "M" }, "price": 28500, "discount_price": 24225, "discount": { "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c31", "title": "Lagos Fashion Week 15% Off", "type": "percentage", "amount": 4275 }, "quantity": 1, "selectedAddons": [], "requires_slot": false, "properties": null } ], "total_price": 24225, "source": "storefront", "promo_codes": [], "is_valid": true, "validation_errors": [], "last_validated_at": "2026-09-25T15:40:00+01:00", "created_at": "2026-09-25T15:32:00+01:00", "updated_at": "2026-09-25T15:40:00+01:00" } }}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
clientKey The store's 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.
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.
Identifies a signed-out shopper's cart. Required when no customer token is sent — without it the cart answers 422 validation_failed (Missing session token for anonymous cart.); ignored when an Authorization: Bearer customer token is present. Generate any opaque string (a UUID) when the shopper first adds to cart and send it on every cart call. The same value is also accepted as the session_token body field.
Your own correlation id (8–128 chars, ^[A-Za-z0-9_.:-]+$). Echoed back on the response and on every log line of the request; one is generated when you omit it.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/store/cart/validate" \ -H "X-Client-Key: {{clientKey}}" \ -H "X-Cart-Session: a3f1b8e2-4c5d-4e6f-8a9b-0c1d2e3f4a5b" \ -H "Content-Type: application/json" \ -d '{ "cart_id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c41" }'{ "status": "success", "message": "Cart is valid", "data": { "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c41", "vendor_id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c01", "vendor": { "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c01", "name": "Zuri Atelier", "distance": null, "delivery_info": { "is_free_delivery": true, "delivery_fee": 0, "delivery_fee_value": 0, "min_order": 1000, "min_order_fee": 2000, "d_p_value": 1.5, "s_p_value": 1.5, "delivery_time": "45-180 min", "delivery_message": "Open until 21:00", "offers_free_delivery": false, "pickup_enabled": true, "offer_instant_delivery": true }, "notice": [], "slug": "zuri-atelier", "service": null, "currency": "NGN", "logo": "https://media.usequeek.com/uploads/stores/2207/logo.png", "disable_order": false, "is_closed": false, "temporary_unavailable": false, "preorder_enabled": null, "area": "Lekki Phase 1", "banner": "https://media.usequeek.com/uploads/stores/2207/banner.png", "support_phone": "+234 803 555 0147", "phone": "+234 803 555 0147", "country_code": "NG", "phone_code": "234", "support_email": "[email protected]", "slogan": null, "tags": null, "tag": "fashion", "is_new": false, "rating": 4.7, "rating_count": 486, "short_description": null, "address": "12B Admiralty Way, Lekki Phase 1, Lagos", "open_time": "09:00", "close_time": "21:00", "service_type": "fashion", "landmark": "Opposite NIIT", "region_id": null, "min_order_price": null }, "cart_items": [ { "item_id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c42", "title": "Ankara Midi Dress", "variant_id": "019b0c4d-5f10-7a02-8c61-0b2d4e6f8a02", "variant_title": "M", "variant_option_values": { "Size": "M" }, "price": 28500, "discount_price": 24225, "discount": { "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c31", "title": "Lagos Fashion Week 15% Off", "type": "percentage", "amount": 4275 }, "quantity": 1, "selectedAddons": [], "requires_slot": false, "properties": null } ], "total_price": 24225, "source": "storefront", "promo_codes": [], "is_valid": true, "validation_errors": [], "last_validated_at": "2026-09-25T15:40:00+01:00", "created_at": "2026-09-25T15:32:00+01:00", "updated_at": "2026-09-25T15:40:00+01:00" }, "meta": { "is_valid": true, "validation_errors": [] }}Removes every line from the cart identified by X-Cart-Session (or the signed-in customer).
Authorization
clientKey The store's 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.
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.
Identifies a signed-out shopper's cart. Required when no customer token is sent — without it the cart answers 422 validation_failed (Missing session token for anonymous cart.); ignored when an Authorization: Bearer customer token is present. Generate any opaque string (a UUID) when the shopper first adds to cart and send it on every cart call. The same value is also accepted as the session_token body field.
Your own correlation id (8–128 chars, ^[A-Za-z0-9_.:-]+$). Echoed back on the response and on every log line of the request; one is generated when you omit it.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X DELETE "https://example.com/store/cart/clear?cart_id=019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c41" \ -H "X-Client-Key: {{clientKey}}" \ -H "X-Cart-Session: a3f1b8e2-4c5d-4e6f-8a9b-0c1d2e3f4a5b"{ "status": "success", "message": "Cart cleared successfully", "data": { "cleared_cart_id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c41" }}