Skip to main content
POST
/
api
/
v3
/
store
/
carts
Spree SDK
import { createClient } from '@spree/sdk'

const client = createClient({
  baseUrl: 'https://your-store.com',
  publishableKey: '<api-key>',
})

// Create an empty cart
const cart = await client.carts.create()

// Create a cart with items
const cartWithItems = await client.carts.create({
  items: [
    { variant_id: 'variant_abc123', quantity: 2 },
  ],
})
{
  "id": "cart_UkLWZg9DAJ",
  "number": "R137499246",
  "token": "uM5hfB6Qg9aRjJPXWNiPvRx4wN3t2kV4SRi",
  "email": null,
  "customer_note": null,
  "currency": "USD",
  "locale": "en",
  "total_quantity": 0,
  "item_total": "0.0",
  "display_item_total": "$0.00",
  "adjustment_total": "0.0",
  "display_adjustment_total": "$0.00",
  "discount_total": "0.0",
  "display_discount_total": "$0.00",
  "tax_total": "0.0",
  "display_tax_total": "$0.00",
  "included_tax_total": "0.0",
  "display_included_tax_total": "$0.00",
  "additional_tax_total": "0.0",
  "display_additional_tax_total": "$0.00",
  "total": "0.0",
  "display_total": "$0.00",
  "gift_card_total": "0.0",
  "display_gift_card_total": "$0.00",
  "amount_due": "0.0",
  "display_amount_due": "$0.00",
  "delivery_total": "0.0",
  "display_delivery_total": "$0.00",
  "warnings": [],
  "created_at": "2026-03-28T11:44:12.580Z",
  "updated_at": "2026-03-28T11:44:12.580Z",
  "store_credit_total": "0.0",
  "display_store_credit_total": "$0.00",
  "covered_by_store_credit": false,
  "current_step": "address",
  "completed_steps": [],
  "requirements": [
    {
      "step": "cart",
      "field": "line_items",
      "message": "Add at least one item to your cart"
    },
    {
      "step": "address",
      "field": "email",
      "message": "Email address is required"
    },
    {
      "step": "address",
      "field": "ship_address",
      "message": "Shipping address is required"
    },
    {
      "step": "delivery",
      "field": "shipping_method",
      "message": "Select a shipping method for all shipments"
    }
  ],
  "shipping_eq_billing_address": true,
  "discounts": [],
  "items": [],
  "fulfillments": [],
  "payments": [],
  "billing_address": null,
  "shipping_address": null,
  "payment_methods": [],
  "gift_card": null
}

Authorizations

x-spree-api-key
string
header
required

Publishable API key for store access

Headers

x-spree-api-key
string
required
Authorization
string

Bearer JWT token (optional - for authenticated customers)

Idempotency-Key
string

Unique key for request idempotency.

Body

application/json
metadata
object

Write-only key-value metadata (Stripe-style).

items
object[]

Items to add to the cart on creation

Response

201 - application/json

cart created

id
string
required
number
string
required
token
string
required
email
string | null
required
customer_note
string | null
required
currency
string
required
locale
string | null
required
total_quantity
number
required
item_total
string
required
display_item_total
string
required
adjustment_total
string
required
display_adjustment_total
string
required
discount_total
string
required
display_discount_total
string
required
tax_total
string
required
display_tax_total
string
required
included_tax_total
string
required
display_included_tax_total
string
required
additional_tax_total
string
required
display_additional_tax_total
string
required
total
string
required
display_total
string
required
gift_card_total
string
required
display_gift_card_total
string
required
amount_due
string
required
display_amount_due
string
required
delivery_total
string
required
display_delivery_total
string
required
warnings
object[]
required
created_at
string
required
updated_at
string
required
store_credit_total
string
required
display_store_credit_total
string
required
covered_by_store_credit
boolean
required
current_step
string
required
completed_steps
string[]
required
requirements
object[]
required
shipping_eq_billing_address
boolean
required
discounts
object[]
required
items
object[]
required
fulfillments
object[]
required
payments
object[]
required
billing_address
object
required
shipping_address
object
required
payment_methods
object[]
required
gift_card
object
required