Shopify uses cookies to provide necessary site functionality and improve your experience. By using our website, you agree to our privacy policy and our cookie policy.
The DiscountAutomaticApp object stores information about automatic discounts
that are managed by an app using
Shopify Functions.
Use DiscountAutomaticAppwhen you need advanced, custom, or
dynamic discount capabilities that aren't supported by
Shopify's native discount types.
The DiscountCodeApp
object has similar functionality to the DiscountAutomaticApp object, with the exception that DiscountCodeApp
stores information about discount codes 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.
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.
The date and time when the discount expires and is no longer available to customers.
For discounts without a fixed expiration date, specify null.
errorHistory•
FunctionsErrorHistory
The error history
for the latest version of the discount type that the app provides.
recurringCycleLimit•
Int!
non-null
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.
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.
The DiscountAutomaticBasic object lets you manage
amount off discounts
that are automatically applied on a cart and at checkout. 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 DiscountCodeBasic
object has similar functionality to the DiscountAutomaticBasic object, but customers need to enter a code to
receive a discount.
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.
The items in the order that qualify for the discount, their quantities, and the total value of the discount.
endsAt•
DateTime
The date and time when the discount expires and is no longer available to customers.
For discounts without a fixed expiration date, specify null.
minimumRequirement•
DiscountMinimumRequirement!
non-null
The minimum subtotal or quantity of items that are required for the discount to be applied.
recurringCycleLimit•
Int!
non-null
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.
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.
updatedAt•
DateTime!
non-null
The date and time when the discount was updated.
discountClass•
MerchandiseDiscountClass!
non-nullDeprecated
The discount class
that's used to control how discounts can be combined. Use discountClasses instead.
usageCount•
Int!
non-nullDeprecated
The number of times that the discount has been used. Use asyncUsageCount instead.
The DiscountAutomaticBxgy object lets you manage
buy X get Y discounts (BXGY)
that are automatically applied on a cart and at checkout. 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 DiscountCodeBxgy
object has similar functionality to the DiscountAutomaticBxgy object, but customers need to enter a code to
receive a discount.
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.
The DiscountAutomaticFreeShipping object lets you manage
free shipping discounts
that are automatically applied on a cart and at checkout. 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 DiscountCodeFreeShipping
object has similar functionality to the DiscountAutomaticFreeShipping object, but customers need to enter a code to
receive a discount.
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.
The maximum shipping price amount accepted to qualify for the discount.
minimumRequirement•
DiscountMinimumRequirement!
non-null
The minimum subtotal or quantity of items that are required for the discount to be applied.
recurringCycleLimit•
Int!
non-null
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.
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.
discountClass•
ShippingDiscountClass!
non-nullDeprecated
The discount class
that's used to control how discounts can be combined. Use discountClasses instead.
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.
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.
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.