{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/coupon_Base",
"title": "coupon_Base",
"required": [
"amount",
"applies_to",
"code",
"name",
"type"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the coupon. The value must be unique.",
"example": "Australia Customers Discount",
"maxLength": 100
},
"type": {
"type": "string",
"enum": [
"per_item_discount",
"per_total_discount",
"shipping_discount",
"free_shipping",
"percentage_discount",
"promotion"
]
},
"amount": {
"type": "string",
"description": "The discount to apply to an order, as either an amount or a percentage. This field\u2019s usage is determined by the coupon `type`. For example, a `type` of + `percentage_discount` would determine a percentage here.",
"example": "5"
},
"min_purchase": {
"type": "string",
"description": "Specifies a minimum value that an order must have before the coupon can be applied to it.",
"example": "25"
},
"expires": {
"type": "string",
"description": "Specifies when a coupon expires. Coupons need not have an expiry date \u2013 you can also control expiry via + `max_uses` or `max_uses_per_customer`. If you do use this date field, the value must be in <a href=\"http://tools.ietf.org/html/rfc2822#section-3.3\" target=\"_blank\">RFC 2822</a> format."
},
"enabled": {
"type": "boolean",
"description": "If the coupon is enabled, this field\u2019s value is `true`; otherwise, `false`.",
"example": true
},
"code": {
"pattern": "[a-zA-Z0-9_\\ -]",
"type": "string",
"description": "The coupon code that customers will use to receive their discounts. Value must be unique. Only letters, numbers, white space, underscores, and hyphens are allowed.",
"example": "S2549JM0Y",
"maxLength": 50
},
"applies_to": {
"type": "object",
"properties": {
"ids": {
"type": "array",
"description": "ID of either the products or categories",
"items": {
"type": "integer"
}
},
"entity": {
"type": "string",
"description": "What the discount applies to. Can be products or categories."
}
},
"description": "If it is not included in the PUT request, its existing value on the coupon will be cleared. Also required to be set on the POST request"
},
"max_uses": {
"type": "integer",
"description": "Maximum number of times this coupon can be used.",
"example": 25
},
"max_uses_per_customer": {
"type": "integer",
"description": "Maximum number of times each customer can use this coupon.",
"example": 0
},
"restricted_to": {
"type": "object",
"properties": {
"countries": {
"type": "string"
}
}
},
"shipping_methods": {
"type": "array",
"description": "This is a list of shipping-method names. A shipping method must be enabled on the store to use it with a coupon. To check which shipping methods are enabled, please use the [List Shipping Methods](/archive/store-operations/v2-catalog-products/v2-products#list-shipping-methods) endpoint.",
"items": {
"type": "string"
}
}
},
"example": {
"id": 2,
"name": "Australia Customers Discount",
"type": "per_item_discount",
"amount": "5",
"min_purchase": "25",
"expires": "",
"enabled": true,
"code": "S2549JM0Y",
"applies_to": {
"entity": "categories",
"ids": [
0,
3
]
},
"num_uses": 0,
"max_uses": 25,
"max_uses_per_customer": 0,
"restricted_to": {
"countries": "AU"
},
"shipping_methods": [
"shipping_endicia"
],
"date_created": "Tue, 13 Mar 2018 16:18:59 +0000"
},
"x-internal": false
}