Requires Apps must have read_discounts access scope.
The type of discount associated with the discount code. For example, the discount code might offer a basic discount of a fixed percentage, or a fixed amount, on specific products or the order. Alternatively, the discount might offer the customer free shipping on their order. A third option is a Buy X, Get Y (BXGY) discount, which offers a customer discounts on select products if they add a specific product to their order.
The DiscountCodeApp object stores information about code discounts
that are managed by an app using
Shopify Functions.
Use DiscountCodeApp when you need advanced, custom, or
dynamic discount capabilities that aren't supported by
Shopify's native discount types.
The DiscountAutomaticApp
object has similar functionality to the DiscountCodeApp object, with the exception that DiscountAutomaticApp
stores information about automatic discounts that are managed by an app using Shopify Functions.
appDiscountType•
AppDiscountType!
non-null
The details about the app extension that's providing the
discount type.
This information includes the app extension's name and
client ID,
App Bridge configuration,
discount class,
function ID,
and other metadata about the discount type, including the discount type's name and description.
appliesOncePerCustomer•
Boolean!
non-null
Whether a customer can only use the discount once.
appliesOnOneTimePurchase•
Boolean!
non-null
Whether the discount applies on regular one-time-purchase items.
appliesOnSubscription•
Boolean!
non-null
Whether the discount applies to subscriptions items.
asyncUsageCount•
Int!
non-null
The number of times that the discount has been used.
For example, if a "Buy 3, Get 1 Free" t-shirt discount
is automatically applied in 200 transactions, then the
discount has been used 200 times.
This value is updated asynchronously. As a result,
it might be lower than the actual usage count until the
asynchronous process is completed.
codes•
DiscountRedeemCodeConnection!
non-null
A list codes that customers can use to redeem the discount.
codesCount•
Count
The number of codes that a customer can use to redeem the discount.
The number of billing cycles for which the discount can be applied,
which is useful for subscription-based discounts. For example, if you set this field
to 3, then the discount only applies to the first three billing cycles of a
subscription. If you specify 0, then the discount applies indefinitely.
shareableUrls•
[DiscountShareableUrl!]!
non-null
A list of URLs that the app can use to share the discount.
startsAt•
DateTime!
non-null
The date and time when the discount becomes active and is available to customers.
status•
DiscountStatus!
non-null
The status of the discount that describes its availability,
expiration, or pending activation.
title•
String!
non-null
The discount's name that displays to merchants in the Shopify admin and to customers.
totalSales•
MoneyV2
The total sales from orders where the discount was used.
updatedAt•
DateTime!
non-null
The date and time when the discount was updated.
usageLimit•
Int
The maximum number of times that a customer can use the discount.
For discounts with unlimited usage, specify null.
discountClass•
DiscountClass!
non-nullDeprecated
The
discount class
that's used to control how discounts can be combined. Use discountClasses instead.
The DiscountCodeBasic object lets you manage
amount off discounts
that are applied on a cart and at checkout when a customer enters a code. Amount off discounts give customers a
fixed value or a percentage off the products in an order, but don't apply to shipping costs.
Learn more about working with Shopify's discount model,
including limitations and considerations.
Note
The DiscountAutomaticBasic
object has similar functionality to the DiscountCodeBasic object, but discounts are automatically applied,
without the need for customers to enter a code.
appliesOncePerCustomer•
Boolean!
non-null
Whether a customer can only use the discount once.
asyncUsageCount•
Int!
non-null
The number of times that the discount has been used.
For example, if a "Buy 3, Get 1 Free" t-shirt discount
is automatically applied in 200 transactions, then the
discount has been used 200 times.
This value is updated asynchronously. As a result,
it might be lower than the actual usage count until the
asynchronous process is completed.
codes•
DiscountRedeemCodeConnection!
non-null
A list codes that customers can use to redeem the discount.
codesCount•
Count
The number of codes that a customer can use to redeem the discount.
The minimum subtotal or quantity of items that are required for the discount to be applied.
recurringCycleLimit•
Int
The number of billing cycles for which the discount can be applied,
which is useful for subscription-based discounts. For example, if you set this field
to 3, then the discount only applies to the first three billing cycles of a
subscription. If you specify 0, then the discount applies indefinitely.
shareableUrls•
[DiscountShareableUrl!]!
non-null
A list of URLs that the app can use to share the discount.
shortSummary•
String!
non-null
An abbreviated version of the discount
summary
field.
startsAt•
DateTime!
non-null
The date and time when the discount becomes active and is available to customers.
status•
DiscountStatus!
non-null
The status of the discount that describes its availability,
expiration, or pending activation.
summary•
String!
non-null
A detailed explanation of what the discount is,
who can use it, when and where it applies, and any associated
rules or limitations.
title•
String!
non-null
The discount's name that displays to merchants in the Shopify admin and to customers.
totalSales•
MoneyV2
The total sales from orders where the discount was used.
updatedAt•
DateTime!
non-null
The date and time when the discount was updated.
usageLimit•
Int
The maximum number of times that a customer can use the discount.
For discounts with unlimited usage, specify null.
discountClass•
MerchandiseDiscountClass!
non-nullDeprecated
The discount class
that's used to control how discounts can be combined. Use discountClasses instead.
The DiscountCodeBxgy object lets you manage
buy X get Y discounts (BXGY)
that are applied on a cart and at checkout when a customer enters a code. BXGY discounts incentivize customers
by offering them additional items at a discounted price or for free when they purchase a specified quantity
of items.
Learn more about working with Shopify's discount model,
including limitations and considerations.
Note
The DiscountAutomaticBxgy
object has similar functionality to the DiscountCodeBxgy object, but discounts are automatically applied,
without the need for customers to enter a code.
appliesOncePerCustomer•
Boolean!
non-null
Whether a customer can only use the discount once.
asyncUsageCount•
Int!
non-null
The number of times that the discount has been used.
For example, if a "Buy 3, Get 1 Free" t-shirt discount
is automatically applied in 200 transactions, then the
discount has been used 200 times.
This value is updated asynchronously. As a result,
it might be lower than the actual usage count until the
asynchronous process is completed.
codes•
DiscountRedeemCodeConnection!
non-null
A list codes that customers can use to redeem the discount.
codesCount•
Count
The number of codes that a customer can use to redeem the discount.
The DiscountCodeFreeShipping object lets you manage
free shipping discounts
that are applied on a cart and at checkout when a customer enters a code. Free shipping discounts are
promotional deals that merchants offer to customers to waive shipping costs and encourage online purchases.
Learn more about working with Shopify's discount model,
including limitations and considerations.
Note
The
DiscountAutomaticFreeShipping
object has similar functionality to the DiscountCodeFreeShipping object, but discounts are automatically applied,
without the need for customers to enter a code.
appliesOncePerCustomer•
Boolean!
non-null
Whether a customer can only use the discount once.
appliesOnOneTimePurchase•
Boolean!
non-null
Whether the discount applies on one-time purchases.
A one-time purchase is a transaction where you pay a
single time for a product, without any ongoing
commitments or recurring charges.
appliesOnSubscription•
Boolean!
non-null
Whether the discount applies on subscription items.
Subscriptions
enable customers to purchase products
on a recurring basis.
asyncUsageCount•
Int!
non-null
The number of times that the discount has been used.
For example, if a "Buy 3, Get 1 Free" t-shirt discount
is automatically applied in 200 transactions, then the
discount has been used 200 times.
This value is updated asynchronously. As a result,
it might be lower than the actual usage count until the
asynchronous process is completed.
codes•
DiscountRedeemCodeConnection!
non-null
A list codes that customers can use to redeem the discount.
codesCount•
Count
The number of codes that a customer can use to redeem the discount.
The maximum shipping price amount accepted to qualify for the discount.
minimumRequirement•
DiscountMinimumRequirement
The minimum subtotal or quantity of items that are required for the discount to be applied.
recurringCycleLimit•
Int
The number of billing cycles for which the discount can be applied,
which is useful for subscription-based discounts. For example, if you set this field
to 3, then the discount only applies to the first three billing cycles of a
subscription. If you specify 0, then the discount applies indefinitely.
shareableUrls•
[DiscountShareableUrl!]!
non-null
A list of URLs that the app can use to share the discount.
shortSummary•
String!
non-null
An abbreviated version of the discount
summary
field.
startsAt•
DateTime!
non-null
The date and time when the discount becomes active and is available to customers.
status•
DiscountStatus!
non-null
The status of the discount that describes its availability,
expiration, or pending activation.
summary•
String!
non-null
A detailed explanation of what the discount is,
who can use it, when and where it applies, and any associated
rules or limitations.
title•
String!
non-null
The discount's name that displays to merchants in the Shopify admin and to customers.
totalSales•
MoneyV2
The total sales from orders where the discount was used.
updatedAt•
DateTime!
non-null
The date and time when the discount was updated.
usageLimit•
Int
The maximum number of times that a customer can use the discount.
For discounts with unlimited usage, specify null.
discountClass•
ShippingDiscountClass!
non-nullDeprecated
The discount class
that's used to control how discounts can be combined. Use discountClasses instead.