Tamio

Create a customer discount

POST https://api.tamio.com/v2/discounts/customer-discount/create

Creates a new customer-specific discount. Customer discounts always use the "coupon" condition and require a customer UUID and coupon code.

Note: At least one of amount_off, percent_off, shipping_amount_off, or shipping_percent_off must be greater than zero.

Body Parameters

type string*
customer_discount
label string*

Display name for the discount

customer string*

UUID of the customer this discount is restricted to

coupon string*

Coupon code the customer must enter

applies_to string*

What products this discount applies to

selected_productsall_products
currency string*

Currency code for amount-based discounts

amount_off integer*

Fixed amount discount in smallest currency unit

percent_off number*

Percentage discount (0-100)

shipping_percent_off number*

Percentage discount on shipping (0-100)

shipping_amount_off integer*

Fixed amount discount on shipping in smallest currency unit

active boolean*

Whether the discount is currently active

coupon_max_redemptions integer

Maximum number of times this coupon can be redeemed

expiry_date string

Date when the discount expires (null for no expiry)

subscription_discount_duration string

How long the discount applies to subscriptions

once
duration integer

Duration in months for recurring discounts

order_condition string

Additional order-level condition

order_subtotalorder_shippingorder_quantity
rule_amount integer

Minimum amount for order conditions

products array of string

Product UUIDs (required when applies_to is "selected_products")

Example
{
  "type": "customer_discount",
  "label": "VIP Customer Discount",
  "customer": "550e8400-e29b-41d4-a716-446655440001",
  "coupon": "VIP20OFF",
  "coupon_max_redemptions": 5,
  "applies_to": "all_products",
  "currency": "EUR",
  "amount_off": 2000,
  "percent_off": 0,
  "shipping_percent_off": 0,
  "shipping_amount_off": 0,
  "active": true
}

Responses

200 Customer discount created successfully

Customer discount created successfully

status integer
discount Discount
400 Validation or business-logic error.
401 Unauthorized – invalid or missing Bearer token
/discounts/customer-discount/create
1const response = await fetch("https://api.tamio.com/v2/discounts/customer-discount/create", {
2 method: "POST",
3 headers: {
4 "Authorization": "Bearer YOUR_API_KEY",
5 "Content-Type": "application/json"
6 },
7 body: JSON.stringify({
8 "type": "customer_discount",
9 "label": "VIP Customer Discount",
10 "customer": "550e8400-e29b-41d4-a716-446655440001",
11 "coupon": "VIP20OFF",
12 "coupon_max_redemptions": 5,
13 "applies_to": "all_products",
14 "currency": "EUR",
15 "amount_off": 2000,
16 "percent_off": 0,
17 "shipping_percent_off": 0,
18 "shipping_amount_off": 0,
19 "active": true
20 })
21});
22const data = await response.json();
Responses
{
  "status": 200,
  "discount": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "object": "discount",
    "label": "Summer Sale 10% Off",
    "currency": "EUR",
    "percent_off": 10,
    "amount_off": 0,
    "shipping_percent_off": 0,
    "shipping_amount_off": 0,
    "active": true,
    "type": "product_discount",
    "condition": "coupon",
    "applies_to": "all_products",
    "rule_amount": 5000,
    "order_condition": "order_subtotal",
    "block_affiliates": false,
    "destinations": [
      "worldwide"
    ],
    "payments": [
      "all"
    ],
    "expiry_date": 1735689600,
    "subscription_discount_duration": "once",
    "number_of_months": 3,
    "domain": 12,
    "customer": "660e8400-e29b-41d4-a716-446655440001",
    "products": [
      "770e8400-e29b-41d4-a716-446655440002"
    ],
    "categories": {
      "physical": [
        "clothing",
        "accessories"
      ],
      "digital": [],
      "services": [],
      "billing_plans": []
    },
    "coupon": "SUMMER10",
    "coupon_max_redemptions": 100,
    "coupon_times_redeemed": 45,
    "vouchers": [],
    "voucher_method": "autogenerated",
    "voucher_prefix": "SALE_",
    "number_of_vouchers": 100,
    "created_at": 1700000000
  }
}