MobiariDocs

Add to cart (theme form)

POST
/storefront-api/{store_slug}/cart/add

The endpoint behind Liquid themes' routes.cart_add_url: adds the quantity (default 1) to the variant's line, creating the cart and setting the cart_id cookie on the first add. Copies the visitor's first-touch attribution cookie onto a new cart.

Path Parameters

store_slug*string

Store slug

Header Parameters

x-cart-id?|

The shopper's cart; the cart_id cookie or body field works too

Formatuuid
Idempotency-Key?string

A unique value (e.g. a UUID) per logical request. Retrying with the same key within 24 hours replays the first response instead of repeating the side effect; the replay carries Idempotent-Replayed: true. Reusing a key for a different request is a 422 idempotency_key_reused; retrying while the first is still running is a 409 idempotency_request_in_progress. JSON bodies up to 1 MB.

Lengthlength <= 255

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/storefront-api/string/cart/add" \  -H "Content-Type: application/json" \  -d '{    "variant_id": "string"  }'
{
  "cart_id": "b5b98de2-0f5f-4a68-b8c7-2aa7bb7683bb",
  "ok": true
}
{
  "code": "not_found",
  "details": {},
  "error": "Order not found"
}
{
  "code": "not_found",
  "details": {},
  "error": "Order not found"
}
{
  "code": "not_found",
  "details": {},
  "error": "Order not found"
}
{
  "code": "not_found",
  "details": {},
  "error": "Order not found"
}
{
  "code": "not_found",
  "details": {},
  "error": "Order not found"
}