The `DiscountCodeFreeShipping` object lets you manage
[free shipping discounts](https://help.shopify.com/manual/discounts/discount-types/free-shipping)
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.
The `DiscountCodeFreeShipping` object stores information about free shipping code discounts that apply to
specific [products and variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/DiscountProducts),
[collections](https://shopify.dev/docs/api/admin-graphql/latest/objects/DiscountCollections),
or [all items in a cart](https://shopify.dev/docs/api/admin-graphql/latest/objects/AllDiscountItems).
Learn more about working with [Shopify's discount model](https://shopify.dev/docs/apps/build/discounts),
including limitations and considerations.
> Note:
> The
[`DiscountAutomaticFreeShipping`](https://shopify.dev/docs/api/admin-graphql/latest/objects/DiscountAutomaticFreeShipping)
object has similar functionality to the `DiscountCodeFreeShipping` object, but discounts are automatically applied,
without the need for customers to enter a code.
Access Scopes
Apps must have `read_discounts` access scope.
Fields
appliesOnOneTimePurchase:
Boolean! -
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! -
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:
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.
codesCount:
Count -
The number of codes that a customer can use to redeem the discount.
combinesWith:
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:
DateTime! -
The date and time when the discount was created.
customerSelection:
DiscountCustomerSelection! -
The customers that can use the discount.
destinationSelection:
DiscountShippingDestinationSelection! -
The countries that qualify for the discount.
You can define
[a list of countries](https://shopify.dev/docs/api/admin-graphql/latest/objects/DiscountCountries)
or specify [all countries](https://shopify.dev/docs/api/admin-graphql/latest/objects/DiscountCountryAll)
to be eligible for the discount.
discountClass:
ShippingDiscountClass! -
The [discount class](https://help.shopify.com/manual/discounts/combining-discounts/discount-combinations)
that's used to control how discounts can be combined.
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`.
hasTimelineComment:
Boolean! -
Whether there are
[timeline comments](https://help.shopify.com/manual/discounts/managing-discount-codes#use-the-discount-timeline)
associated with the discount.
maximumShippingPrice:
MoneyV2 -
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! -
A list of URLs that the app can use to share the discount.
shortSummary:
String! -
An abbreviated version of the discount
[`summary`](https://shopify.dev/docs/api/admin-graphql/latest/objects/DiscountCodeFreeShipping#field-summary)
field.
startsAt:
DateTime! -
The date and time when the discount becomes active and is available to customers.
status:
DiscountStatus! -
The status of the discount that describes its availability,
expiration, or pending activation.
summary:
String! -
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! -
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! -
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`.
DiscountCode
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.