type: object required: - code - rule - regions properties: code: type: string description: A unique code that will be used to redeem the Discount is_dynamic: type: boolean description: >- Whether the Discount should have multiple instances of itself, each with a different code. This can be useful for automatically generated codes that all have to follow a common set of rules. default: false rule: description: The Discount Rule that defines how Discounts are calculated type: object required: - type - value - allocation properties: description: type: string description: A short description of the discount type: type: string description: >- The type of the Discount, can be `fixed` for discounts that reduce the price by a fixed amount, `percentage` for percentage reductions or `free_shipping` for shipping vouchers. enum: - fixed - percentage - free_shipping value: type: number description: >- The value that the discount represents; this will depend on the type of the discount allocation: type: string description: The scope that the discount should apply to. enum: - total - item conditions: type: array description: >- A set of conditions that can be used to limit when the discount can be used. Only one of `products`, `product_types`, `product_collections`, `product_tags`, and `customer_groups` should be provided. items: type: object required: - operator properties: operator: type: string description: Operator of the condition enum: - in - not_in products: type: array description: list of product IDs if the condition is applied on products. items: type: string product_types: type: array description: >- list of product type IDs if the condition is applied on product types. items: type: string product_collections: type: array description: >- list of product collection IDs if the condition is applied on product collections. items: type: string product_tags: type: array description: >- list of product tag IDs if the condition is applied on product tags. items: type: string customer_groups: type: array description: >- list of customer group IDs if the condition is applied on customer groups. items: type: string is_disabled: type: boolean description: >- Whether the Discount code is disabled on creation. You will have to enable it later to make it available to Customers. default: false starts_at: type: string format: date-time description: The time at which the Discount should be available. ends_at: type: string format: date-time description: The time at which the Discount should no longer be available. valid_duration: type: string description: Duration the discount runs between example: P3Y6M4DT12H30M5S regions: description: >- A list of Region ids representing the Regions in which the Discount can be used. type: array items: type: string usage_limit: type: number description: Maximum times the discount can be used metadata: description: An optional set of key-value pairs to hold additional information. type: object