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
DocsCommerceDiscounts — Validate

Discounts — Validate

Validate a discount code against cart context. Checks active status, date validity, usage limits, minimum order, and tier requirements.

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

Overview

Validate a discount code against cart context. Checks active status, date validity, usage limits, minimum order, and tier requirements.

Authentication

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

Authorization: Bearer <your_api_key>

Request

**POST** `/v1/discounts/validate`

Request Body

json
{
  "code": "SUMMER20",
  "cart_total": 59.98,
  "cart_quantity": 2,
  "customer_tier": "warm"
}

Response

json
{
  "valid": true,
  "discount": {
    "id": "discount_uuid",
    "code": "SUMMER20",
    "type": "percentage",
    "value": 20,
    "savings": 11.99,
    "discount_class": "order"
  }
}

Code Examples

cURL

bash
curl -X POST https://api.reponse.ai/v1/discounts/validate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "code": "SUMMER20",
  "cart_total": 59.98,
  "cart_quantity": 2,
  "customer_tier": "warm"
}'

TypeScript

typescript
const response = await fetch("https://api.reponse.ai/v1/discounts/validate", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "code": "SUMMER20",
  "cart_total": 59.98,
  "cart_quantity": 2,
  "customer_tier": "warm"
}),
});

const data = await response.json();
console.log(data);

Error Codes

StatusDescription
400Bad Request — Invalid parameters
401Unauthorized — Invalid or missing API key
404Not Found — Resource does not exist
500Internal Server Error

Notes

Tier hierarchy: cold → warm → hot → vip. A discount requiring 'warm' tier accepts warm, hot, and vip customers.
PreviousDiscounts — Create
NextSubscriptions — Manage