API Reference
Storefront API (Public)
Cart

Cart

Visibility

  • POST /cartPublic
  • GET /cart/{cart_id}Public
  • POST /cart/{cart_id}/itemsPublic
  • PATCH /cart/{cart_id}/items/{item_id}Public
  • DELETE /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

FieldTypeRequired
product_idstringYes
variant_idstring?No
quantitynumberYes

PATCH /cart/{cart_id}/items/{item_id}

Updates item quantity.

Request Body

FieldTypeRequired
quantitynumberYes

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

StatusScenario
400Invalid cart item payload
401Missing/invalid API key
404Cart or cart item not found
422Quantity validation failure
500Datastore/cart recomputation failure