Cart
Visibility
POST /cart— PublicGET /cart/{cart_id}— PublicPOST /cart/{cart_id}/items— PublicPATCH /cart/{cart_id}/items/{item_id}— PublicDELETE /cart/{cart_id}/items/{item_id}— Public
Authentication
x-api-key: sk_eco_...POST /cart
Creates a new cart.
Response
CartResponse with id, site_id, items[], items_count, and subtotal.
GET /cart/{cart_id}
Retrieves the full cart snapshot.
POST /cart/{cart_id}/items
Adds an item to cart.
Request Body
| Field | Type | Required |
|---|---|---|
product_id | string | Yes |
variant_id | string? | No |
quantity | number | Yes |
PATCH /cart/{cart_id}/items/{item_id}
Updates item quantity.
Request Body
| Field | Type | Required |
|---|---|---|
quantity | number | Yes |
DELETE /cart/{cart_id}/items/{item_id}
Removes an item from the cart.
cURL
curl -X POST "https://api.ecommaps.com/api/v1/storefront/cart" \
-H "x-api-key: sk_eco_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{}'
curl -X POST "https://api.ecommaps.com/api/v1/storefront/cart/<cart_id>/items" \
-H "x-api-key: sk_eco_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"product_id":"<product_uuid>","variant_id":"<variant_uuid>","quantity":1}'SDK Example
const cart = await ecommapsClient.cart.create();
await ecommapsClient.cart.addItem(cart.id, {
product_id: "<product_uuid>",
variant_id: "<variant_uuid>",
quantity: 1,
});Error Matrix
| Status | Scenario |
|---|---|
400 | Invalid cart item payload |
401 | Missing/invalid API key |
404 | Cart or cart item not found |
422 | Quantity validation failure |
500 | Datastore/cart recomputation failure |