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")

Responses

200 Customer discount created successfully

Customer discount created successfully

status integer
discount Discount
400 Validation or business-logic error. Possible `error_code` values:
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 // ... request body
9 })
10});
11const data = await response.json();
Responses
{
  "status": 200,
  "discount": {
    "id": "string",
    "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": null,
    "order_condition": "order_subtotal",
    "block_affiliates": false,
    "destinations": [
      "worldwide"
    ],
    "payments": [
      "all"
    ],
    "expiry_date": 0,
    "subscription_discount_duration": "once",
    "number_of_months": 0,
    "domain": 0,
    "customer": "string",
    "products": [],
    "categories": {},
    "coupon": "SUMMER10",
    "coupon_max_redemptions": 100,
    "coupon_times_redeemed": 45,
    "vouchers": [],
    "voucher_method": "string",
    "voucher_prefix": "string",
    "number_of_vouchers": 0,
    "created_at": 1700000000
  }
}