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

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

const cart = await client.carts.giftCards.apply('cart_abc123', 'GC-ABCD-1234', {
  bearerToken: '<token>',
})
{
  "id": "cart_UkLWZg9DAJ",
  "number": "R545542575",
  "token": "DW2dg4pAkWTJJcqTC2ud2swBBbTtYo7RRfU",
  "email": "arvilla_eichmann@brekke.biz",
  "customer_note": null,
  "currency": "USD",
  "locale": "en",
  "total_quantity": 1,
  "item_total": "10.0",
  "display_item_total": "$10.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": "110.0",
  "display_total": "$110.00",
  "gift_card_total": "50.0",
  "display_gift_card_total": "$50.00",
  "amount_due": "110.0",
  "display_amount_due": "$110.00",
  "delivery_total": "100.0",
  "display_delivery_total": "$100.00",
  "warnings": [],
  "created_at": "2026-03-28T11:44:33.720Z",
  "updated_at": "2026-03-28T11:44:33.850Z",
  "store_credit_total": "50.0",
  "display_store_credit_total": "-$50.00",
  "covered_by_store_credit": false,
  "current_step": "address",
  "completed_steps": [],
  "requirements": [],
  "shipping_eq_billing_address": false,
  "discounts": [],
  "items": [
    {
      "id": "li_UkLWZg9DAJ",
      "variant_id": "variant_UkLWZg9DAJ",
      "quantity": 1,
      "currency": "USD",
      "name": "Product 365753",
      "slug": "product-365753",
      "options_text": "",
      "price": "10.0",
      "display_price": "$10.00",
      "total": "10.0",
      "display_total": "$10.00",
      "adjustment_total": "0.0",
      "display_adjustment_total": "$0.00",
      "additional_tax_total": "0.0",
      "display_additional_tax_total": "$0.00",
      "included_tax_total": "0.0",
      "display_included_tax_total": "$0.00",
      "discount_total": "0.0",
      "display_discount_total": "$0.00",
      "pre_tax_amount": "10.0",
      "display_pre_tax_amount": "$10.00",
      "discounted_amount": "10.0",
      "display_discounted_amount": "$10.00",
      "display_compare_at_amount": "$0.00",
      "compare_at_amount": null,
      "thumbnail_url": null,
      "option_values": [],
      "digital_links": []
    }
  ],
  "fulfillments": [
    {
      "id": "ful_UkLWZg9DAJ",
      "number": "H60316070046",
      "tracking": "U10000",
      "tracking_url": null,
      "cost": "100.0",
      "display_cost": "$100.00",
      "status": "pending",
      "fulfillment_type": "shipping",
      "fulfilled_at": null,
      "items": [
        {
          "item_id": "li_UkLWZg9DAJ",
          "variant_id": "variant_UkLWZg9DAJ",
          "quantity": 1
        }
      ],
      "delivery_method": {
        "id": "dm_UkLWZg9DAJ",
        "name": "UPS Ground",
        "code": "UPS_GROUND"
      },
      "stock_location": {
        "id": "sloc_UkLWZg9DAJ",
        "state_abbr": "STATE_ABBR_143",
        "name": "Digna Turcotte",
        "address1": "1600 Pennsylvania Ave NW",
        "city": "Washington",
        "zipcode": "20500",
        "country_iso": "US",
        "country_name": "United States of America",
        "state_text": "STATE_ABBR_143"
      },
      "delivery_rates": [
        {
          "id": "dr_UkLWZg9DAJ",
          "delivery_method_id": "dm_UkLWZg9DAJ",
          "name": "UPS Ground",
          "selected": true,
          "cost": "100.0",
          "display_cost": "$100.00",
          "delivery_method": {
            "id": "dm_UkLWZg9DAJ",
            "name": "UPS Ground",
            "code": "UPS_GROUND"
          }
        }
      ]
    }
  ],
  "payments": [
    {
      "id": "py_UkLWZg9DAJ",
      "payment_method_id": "pm_UkLWZg9DAJ",
      "response_code": "1-SC-20260328114433841691",
      "number": "PGO2TT4V",
      "amount": "50.0",
      "display_amount": "$50.00",
      "status": "checkout",
      "source_type": "store_credit",
      "source_id": "credit_UkLWZg9DAJ",
      "source": {
        "id": "credit_UkLWZg9DAJ",
        "amount": "50.0",
        "amount_used": "0.0",
        "amount_remaining": "50.0",
        "display_amount": "$50.00",
        "display_amount_used": "$0.00",
        "display_amount_remaining": "$50.00",
        "currency": "USD"
      },
      "payment_method": {
        "id": "pm_UkLWZg9DAJ",
        "name": "Store Credit",
        "description": null,
        "type": "Spree::PaymentMethod::StoreCredit",
        "session_required": false
      }
    }
  ],
  "billing_address": {
    "id": "addr_EfhxLZ9ck8",
    "first_name": "John",
    "last_name": "Doe",
    "full_name": "John Doe",
    "address1": "138 Lovely Street",
    "address2": "Northwest",
    "postal_code": "35005",
    "city": "Herndon",
    "phone": "555-555-0199",
    "company": "Company",
    "country_name": "United States of America",
    "country_iso": "US",
    "state_text": "STATE_ABBR_145",
    "state_abbr": "STATE_ABBR_145",
    "quick_checkout": false,
    "is_default_billing": false,
    "is_default_shipping": false,
    "state_name": "STATE_NAME_145"
  },
  "shipping_address": {
    "id": "addr_VqXmZF31wY",
    "first_name": "John",
    "last_name": "Doe",
    "full_name": "John Doe",
    "address1": "139 Lovely Street",
    "address2": "Northwest",
    "postal_code": "35005",
    "city": "Herndon",
    "phone": "555-555-0199",
    "company": "Company",
    "country_name": "United States of America",
    "country_iso": "US",
    "state_text": "STATE_ABBR_146",
    "state_abbr": "STATE_ABBR_146",
    "quick_checkout": false,
    "is_default_billing": false,
    "is_default_shipping": false,
    "state_name": "STATE_NAME_146"
  },
  "payment_methods": [
    {
      "id": "pm_UkLWZg9DAJ",
      "name": "Store Credit",
      "description": null,
      "type": "Spree::PaymentMethod::StoreCredit",
      "session_required": false
    }
  ],
  "gift_card": {
    "id": "gc_UkLWZg9DAJ",
    "code": "GIFTCODE1",
    "status": "active",
    "currency": "USD",
    "amount": "50.0",
    "amount_used": "50.0",
    "amount_authorized": "0.0",
    "amount_remaining": "0.0",
    "display_amount": "$50.00",
    "display_amount_used": "$50.00",
    "display_amount_remaining": "$0.00",
    "expires_at": null,
    "redeemed_at": null,
    "expired": false,
    "active": true,
    "created_at": "2026-03-28T11:44:33.792Z",
    "updated_at": "2026-03-28T11:44:33.837Z"
  }
}

Authorizations

x-spree-api-key
string
header
required

Publishable API key for store access

Authorization
string
header
required

JWT token for authenticated customers

Headers

x-spree-api-key
string
required
Authorization
string

Bearer token for authenticated customers

x-spree-token
string

Order token for guest access

Idempotency-Key
string

Unique key for request idempotency.

Path Parameters

cart_id
string
required

Cart prefixed ID (e.g., cart_abc123)

Body

application/json
code
string
required

Gift card code to apply

Example:

"GC-ABCD-1234"

Response

gift card applied

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