Features
- Multiple Discount Types: Percentage, fixed amount, free items, category discounts, buy X get Y
- Usage Limits: Control total uses and per-customer limits
- Validity Periods: Set start and expiration dates
- Customer Targeting: Assign coupons to specific customers
- Validation: Real-time coupon validation before applying to orders
Authentication
Requires authentication and permissions:loyalty:read- View and validate couponsloyalty:create- Create, update, delete, and assign coupons
Base URL
Coupon Types
Percentage Discount
Applies a percentage off the order total.- Type:
percentage - Fields:
discountValue(e.g., 15 for 15% off)
Fixed Amount Discount
Subtracts a fixed amount from the order.- Type:
fixed - Fields:
discountValue(amount in cents)
Free Item
Gives a menu item for free.- Type:
item_free - Fields:
menuItemId
Item Discount
Discounts a specific menu item.- Type:
item_discount - Fields:
menuItemId,discountValue
Category Discount
Discounts all items in a category.- Type:
category_discount - Fields:
categoryId,discountValue
Buy X Get Y
Buy a quantity, get additional quantity free.- Type:
buy_x_get_y - Fields:
buyQuantity,getQuantity,menuItemId
Coupon Status
active- Currently valid and usableinactive- Created but not yet activeexpired- Past expiration date or manually expired
Create Coupon
Create a new promotional coupon.Endpoint
Request Body
Unique coupon code (1-50 characters, converted to uppercase)
Display name (1-255 characters)
Description (max 500 characters)
Discount type:
percentage, fixed, item_free, item_discount, category_discount, buy_x_get_yDiscount amount in cents (for percentage, fixed, item_discount, category_discount types)
Menu item UUID (for item_free, item_discount, buy_x_get_y types)
Category UUID (for category_discount type)
Buy quantity (for buy_x_get_y type, minimum: 1)
Get quantity free (for buy_x_get_y type, minimum: 1)
Minimum order amount in cents to use coupon
Maximum discount cap in cents
Maximum total uses across all customers
Maximum uses per customer
Start date/time in ISO 8601 format
Expiration date/time in ISO 8601 format
Example Request
List Coupons
Retrieve all coupons with optional filtering.Endpoint
Query Parameters
Filter by status:
active, inactive, expiredFilter by type:
percentage, fixed, item_free, etc.Example Request
Get Coupon Details
Retrieve a specific coupon including redemption count.Endpoint
Path Parameters
Coupon UUID
Response
Includes coupon details plusredemption_count field.
Update Coupon
Update coupon details.Endpoint
Path Parameters
Coupon UUID
Request Body
All fields are optional - only provide fields to update.Delete Coupon
Permanently delete a coupon.Endpoint
Validate Coupon
Validate a coupon code before applying to an order.Endpoint
Request Body
Coupon code to validate
Response
Returns coupon details if valid, or error if:- Coupon not found
- Status is not active
- Start date is in the future
- Expiration date has passed
- Usage limit reached
Example Request
Assign Coupon to Customers
Assign a coupon to specific customers.Endpoint
Request Body
Coupon UUID
Array of customer UUIDs (1-100 items)
Example Request
Get Coupon Assignments
View which customers have been assigned a coupon.Endpoint
Path Parameters
Coupon UUID