Skip to content
Reponse.ai LogoDocs
DocsAPISDKsGuides

Search Documentation

Search for an article...

Getting Started

  • Overview
  • Architecture
  • Installation
  • Authentication
  • First Request

Products & Collections

  • Products — List
  • Products — Get
  • Products — Metafields
  • Collections — List
  • Collections — Get
  • Collections — Products

Cart & Checkout

  • Cart — Create
  • Cart — Get
  • Cart — Add Item
  • Cart — Update Item
  • Cart — Remove Item
  • Cart — Apply Promotion
  • Checkout — Stripe
  • Checkout — Payment Intent
  • Checkout — ACP

Orders & Fulfillment

  • Orders — Create
  • Orders — Get
  • Orders — Confirm
  • Orders — Cancel
  • Orders — Fulfill
  • Orders — Refund

Commerce

  • Inventory — Get
  • Inventory — Update
  • Shipping — Rates
  • Discounts — List
  • Discounts — Create
  • Discounts — Validate
  • Subscriptions — Manage

Loyalty & Gift Cards

  • Loyalty — Balance
  • Loyalty — Redeem
  • Loyalty — Referral
  • Gift Cards — List
  • Gift Cards — Redeem

Tickets & Support

  • Tickets — List
  • Tickets — Create
  • Tickets — Reply

Platform

  • Product Feed — JSON
  • Product Feed — CSV
  • Theme — Get
  • Approvals — Execute
  • Approvals — Reject
  • Geocode

SDKs

  • SDK Overview
  • TypeScript SDK
  • React Hooks

Guides

  • Chat Widget
  • Shopify Sync
  • Storefront Starter
  • Loyalty Program
  • Discounts & Promotions
  • Subscriptions
  • Klaviyo Integration
  • Custom Domains
  • Agentic Commerce (ACP)
  • A2A Protocol
  • AI Engines
  • MCP Server

Webhooks

  • Webhooks Overview
  • Events Reference
  • Shopify Webhooks
  • Stripe Webhooks
  • Reviews (Stamped / Trustpilot)
  • Logistics
  • Email Inbound

Resources

  • Environment Variables
  • Rate Limits
  • Changelog
DocsCart & CheckoutCart — Apply Promotion

Cart — Apply Promotion

Apply a promotion or discount code to a cart.

1 min read/Last updated Aug 19, 2026
On this page

Overview

Validates a code and applies the matching adjustment to the cart. The endpoint reads the new `promotions` table first, then falls back to the legacy `discount_codes` table for Shopify-migrated codes. The cart must be `open`.

Authentication

This endpoint requires a Bearer token. Include your workspace API key in the `Authorization` header.

Authorization: Bearer <your_api_key>

Request

**POST** `/v1/carts/:id/promotions`

Path parameters

NameTypeRequiredDescription
idstring (uuid)✅The cart ID.

Body parameters

NameTypeRequiredDescription
codestring✅Promotion code (case-insensitive).

Response

json
{ "applied": true, "code": "SUMMER20", "savings": 12.00, "total": 47.98 }

SDK example

typescript
await reponse.cart.applyPromotion({ path: { id: cartId }, body: { code: "SUMMER20" } });

Errors

StatusMeaning
400code is required, cart not open, or promotion not active/expired.
404Cart not found.
PreviousCart — Remove Item
NextCheckout — Stripe