Skip to content

Coupon

A Coupon is a discount on Offers, by amount or percent, for one charge, several months or every charge, limited by date and redemptions.

Properties

PropertyTypeRequiredDescription
percentOffnumberThe percent taken off each charge it applies to; set this or amountOff. Never randomized.
amountOffmoneyThe fixed amount taken off each charge it applies to. Never randomized.
durationstringrequiredHow long it applies: once, repeating for months, or forever.
monthsintegerHow many months a repeating Coupon applies.
codestringThe promotion code a buyer types at checkout, when the Coupon has one.
redeemBydatetimeThe last moment it can be redeemed.
maxRedemptionsintegerHow many times it can be redeemed across all Customers.

Object

JSON
{
  "$id": "https://api.sb/tutorloop.com/coupons/coupon_1",
  "$type": "Coupon",
  "percentOff": 1,
  "amountOff": {
    "amount": 60,
    "currency": "USD"
  },
  "duration": "once",
  "months": 1,
  "code": "LAUNCH20",
  "redeemBy": "2026-10-22T12:00:00Z",
  "maxRedemptions": 1
}

Relationships

  • A Coupon discounts many Offers: a Coupon applies only to the Offers it names; an Offer may accept several Coupons. discounts, inverse coupons.

Verbs

  1. createCreates a Coupon.
    POST /{namespace}/couponsdoCoupon.created
  2. getReturns one Coupon by id.
    GET /{namespace}/coupons/{id}readNo Event
  3. listReturns Coupons, newest first, one page at a time.
    GET /{namespace}/couponsreadNo Event
  4. updateChanges the given properties of a Coupon.
    PATCH /{namespace}/coupons/{id}doCoupon.updated

Permissions

Which Access level may call each Verb. One-way Verbs wait their delay window.

Operationowneradminmemberviewer
Coupon.createYesYesYesNo
Coupon.getYesYesYesYes
Coupon.listYesYesYesYes
Coupon.updateYesYesYesNo

Call it

Text
Add a coupon to QuietCopy.

Example

A design tool offers the code LAUNCH30: 30% off for 3 months on its yearly and monthly Offers. It can be redeemed 500 times before the end of the month.