# DiscountAutomaticApp - admin - OBJECT
Version: 2025-01

## Description
The `DiscountAutomaticApp` object stores information about automatic discounts
that are managed by an app using
[Shopify Functions](https://shopify.dev/docs/apps/build/functions).
Use `DiscountAutomaticApp`when you need advanced, custom, or
dynamic discount capabilities that aren't supported by
[Shopify's native discount types](https://help.shopify.com/manual/discounts/discount-types).

Learn more about creating
[custom discount functionality](https://shopify.dev/docs/apps/build/discounts/build-discount-function).

> Note:
> The [`DiscountCodeApp`](https://shopify.dev/docs/api/admin-graphql/latest/objects/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.

### Access Scopes
`read_discounts` access scope.


## Fields
* [appDiscountType](/docs/api/admin/2025-01/objects/AppDiscountType): AppDiscountType! - The details about the app extension that's providing the
[discount type](https://help.shopify.com/manual/discounts/discount-types).
This information includes the app extension's name and
[client ID](https://shopify.dev/docs/apps/build/authentication-authorization/client-secrets),
[App Bridge configuration](https://shopify.dev/docs/api/app-bridge),
[discount class](https://help.shopify.com/manual/discounts/combining-discounts/discount-combinations),
[function ID](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries),
and other metadata about the discount type, including the discount type's name and description.
* [appliesOnOneTimePurchase](/docs/api/admin/2025-01/scalars/Boolean): Boolean! - Whether the discount applies on one-time purchases.
* [appliesOnSubscription](/docs/api/admin/2025-01/scalars/Boolean): Boolean! - Whether the discount applies on subscription items.
[Subscriptions](https://shopify.dev/docs/apps/launch/billing/subscription-billing/offer-subscription-discounts)
enable customers to purchase products
on a recurring basis.
* [asyncUsageCount](/docs/api/admin/2025-01/scalars/Int): Int! - 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.
* [combinesWith](/docs/api/admin/2025-01/objects/DiscountCombinesWith): DiscountCombinesWith! - The
[discount classes](https://help.shopify.com/manual/discounts/combining-discounts/discount-combinations)
that you can use in combination with
[Shopify discount types](https://help.shopify.com/manual/discounts/discount-types).
* [createdAt](/docs/api/admin/2025-01/scalars/DateTime): DateTime! - The date and time when the discount was created.
* [discountClass](/docs/api/admin/2025-01/enums/DiscountClass): DiscountClass! - The
[discount class](https://help.shopify.com/manual/discounts/combining-discounts/discount-combinations)
that's used to control how discounts can be combined.
* [discountId](/docs/api/admin/2025-01/scalars/ID): ID! - The [globally-unique ID](https://shopify.dev/docs/api/usage/gids)
for the discount.
* [endsAt](/docs/api/admin/2025-01/scalars/DateTime): 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`.
* [errorHistory](/docs/api/admin/2025-01/objects/FunctionsErrorHistory): FunctionsErrorHistory - The [error history](https://shopify.dev/docs/apps/build/functions/monitoring-and-errors)
for the latest version of the discount type that the app provides.
* [recurringCycleLimit](/docs/api/admin/2025-01/scalars/Int): 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.
* [startsAt](/docs/api/admin/2025-01/scalars/DateTime): DateTime! - The date and time when the discount becomes active and is available to customers.
* [status](/docs/api/admin/2025-01/enums/DiscountStatus): DiscountStatus! - The status of the discount that describes its availability,
expiration, or pending activation.
* [title](/docs/api/admin/2025-01/scalars/String): String! - The discount's name that displays to merchants in the Shopify admin and to customers.
* [updatedAt](/docs/api/admin/2025-01/scalars/DateTime): DateTime! - The date and time when the discount was updated.

## Connections



## Related queries

## Related mutations
* [discountAutomaticAppCreate](/docs/api/admin/2025-01/mutations/discountAutomaticAppCreate) Creates an automatic discount that's managed by an app.
Use this mutation with [Shopify Functions](https://shopify.dev/docs/apps/build/functions)
when you need advanced, custom, or dynamic discount capabilities that aren't supported by
[Shopify's native discount types](https://help.shopify.com/manual/discounts/discount-types).

For example, use this mutation to create an automatic discount using an app's
"Volume" discount type that applies a percentage
off when customers purchase more than the minimum quantity of a product. For an example implementation,
refer to [our tutorial](https://shopify.dev/docs/apps/build/discounts/build-discount-function).

> Note:
> To create code discounts with custom logic, use the
[`discountCodeAppCreate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/discountCodeAppCreate)
mutation.
* [discountAutomaticAppUpdate](/docs/api/admin/2025-01/mutations/discountAutomaticAppUpdate) Updates an existing automatic discount that's managed by an app using
[Shopify Functions](https://shopify.dev/docs/apps/build/functions).
Use this mutation when you need advanced, custom, or
dynamic discount capabilities that aren't supported by
[Shopify's native discount types](https://help.shopify.com/manual/discounts/discount-types).

For example, use this mutation to update a new "Volume" discount type that applies a percentage
off when customers purchase more than the minimum quantity of a product. For an example implementation,
refer to [our tutorial](https://shopify.dev/docs/apps/build/discounts/build-discount-function).

> Note:
> To update code discounts with custom logic, use the
[`discountCodeAppUpdate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/discountCodeAppUpdate)
mutation instead.

## Related Unions
* [Discount](/docs/api/admin/2025-01/unions/Discount) A discount.
* [DiscountAutomatic](/docs/api/admin/2025-01/unions/DiscountAutomatic) The type of discount associated to the automatic discount. For example, the automatic discount might offer a basic discount using a fixed percentage, or a fixed amount, on specific products from the order. The automatic discount may also be a BXGY discount, which offers customer discounts on select products if they add a specific product to their order.

## Examples