Queek API docs
Endpoint reference

Cart

GET
/store/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.

AuthorizationBearer <token>

Use a Sanctum bearer token.

In: header

Header Parameters

X-Client-Key*string

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}}"
{}
POST
/store/cart

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.

AuthorizationBearer <token>

Use a Sanctum bearer token.

In: header

Header Parameters

X-Client-Key*string

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"  }}
POST
/store/cart/items

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.

AuthorizationBearer <token>

Use a Sanctum bearer token.

In: header

Header Parameters

X-Client-Key*string

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"}
POST
/store/cart/validate

Re-checks every line against current stock and prices and returns is_valid with validation_errors. Call before sending the shopper to checkout_url.

AuthorizationBearer <token>

Use a Sanctum bearer token.

In: header

Header Parameters

X-Client-Key*string

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"}
DELETE
/store/cart/clear

Removes every line from the cart identified by X-Cart-Session (or the signed-in customer).

AuthorizationBearer <token>

Use a Sanctum bearer token.

In: header

Query Parameters

cart_id?|
Formatuuid

Header Parameters

X-Client-Key*string

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