Discount Code Node
Requires Apps must have access scope.
The object enables you to manage code discounts that are applied when customers enter a code at checkout. For example, you can offer discounts where customers have to enter a code to redeem an amount off discount on products, variants, or collections in a store. Or, you can offer discounts where customers have to enter a code to get free shipping. Merchants can create and share discount codes individually with customers.
Learn more about working with Shopify's discount model, including related queries, mutations, limitations, and considerations.
Anchor to FieldsFields
- Anchor to codeDiscountcode•Discount
Discount Code! non-null The underlying code discount object.
- Anchor to eventsevents•Event
Connection! non-null The paginated list of events associated with the host subject.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
- Anchor to sortKeysort•Event
Key Sort Keys Default:ID Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.
- Anchor to queryquery•String
A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.
- Anchor to comments•boolean
Whether or not to include comment-events in your search, passing
falsewill exclude comment-events, any other value will include comment-events.falsetrue- Anchor to created_at•time
Filter by the date and time when the event happened.
created_at:>2020-10-21created_at:<now- Anchor to subject_type•string
The resource type affected by this event. See EventSubjectType for possible values.
PRODUCT_VARIANTPRODUCTCOLLECTION
Example:
Example:
Example:
Arguments
- •ID!non-null
A globally-unique ID.
- Anchor to metafieldmetafield•Metafield
A custom field, including its
namespaceandkey, that's associated with a Shopify resource for the purposes of adding and storing additional information.- Anchor to namespacenamespace•String
The container the metafield belongs to. If omitted, the app-reserved namespace will be used.
- •String!required
The key for the metafield.
Arguments
- Anchor to metafieldsmetafields•Metafield
Connection! non-null A list of custom fields that a merchant associates with a Shopify resource.
- Anchor to namespacenamespace•String
The metafield namespace to filter by. If omitted, all metafields are returned.
- Anchor to keyskeys•[String!]
List of keys of metafields in the format
namespace.key, will be returned in the same format.- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
Arguments
- Anchor to metafieldDefinitionsmetafield•Metafield
Definitions Definition Connection! non-nullDeprecated - Anchor to namespacenamespace•String
Filter metafield definitions by namespace.
- Anchor to pinnedStatuspinned•Metafield
Status Definition Pinned Status Default:ANY Filter by the definition's pinned status.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
- Anchor to sortKeysort•Metafield
Key Definition Sort Keys Default:ID Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.
- Anchor to queryquery•String
A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.
- Anchor to default•string
Filter by a case-insensitive search of multiple fields in a document.
query=Bob Normanquery=title:green hoodie- Anchor to created_at•time
Filter by the date and time when the metafield definition was created.
created_at:>2020-10-21T23:39:20Zcreated_at:<nowcreated_at:<=2024- Anchor to namespace•string
Filter by the metafield definition
namespacefield.namespace:some-namespace- Anchor to type•string
Filter by the metafield definition
typefield.type:single_line_text_field- Anchor to updated_at•time
Filter by the date and time when the metafield definition was last updated.
updated_at:>2020-10-21T23:39:20Zupdated_at:<nowupdated_at:<=2024
Example:
Example:
Example:
Example:
Example:
Arguments
Anchor to QueriesQueries
- •query
Returns a code discount resource by ID.
- •ID!required
The ID of the
to return.
Arguments
- •ID!
- •query
Retrieves a code discount by its discount code. The search is case-insensitive, enabling you to find discounts regardless of how customers enter the code.
Returns a
that contains the underlying discount details, which could be a basic amount off discount, a "Buy X Get Y" (BXGY) discount, a free shipping discount, or an app-provided discount.Learn more about working with Shopify's discount model.
- Anchor to codecode•String!required
The case-insensitive code of the
to return.
Arguments
- •queryDeprecated
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
- Anchor to sortKeysort•Code
Key Discount Sort Keys Default:ID Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.
- Anchor to queryquery•String
A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.
- Anchor to default•string
Filter by a case-insensitive search of multiple fields in a document.
query=Bob Normanquery=title:green hoodie- Anchor to combines_with•string
Filter by the discount classes that you can use in combination with Shopify discount types.
order_discountsproduct_discountsshipping_discountscombines_with:product_discounts- Anchor to created_at•time
Filter by the date and time when the discount was created.
created_at:>'2020-10-21T23:39:20Z'created_at:<nowcreated_at:<='2024'- Anchor to discount_type•string
Filter by the discount type.
bogofixed_amountfree_shippingpercentagediscount_type:fixed_amount- Anchor to ends_at•time
Filter by the date and time when the discount expires and is no longer available for customer use.
ends_at:>'2020-10-21T23:39:20Z'ends_at:<nowends_at:<='2024'- Anchor to starts_at•time
Filter by the date and time, in the shop's timezone, when the discount becomes active and is available for customer use.
starts_at:>'2020-10-21T23:39:20Z'starts_at:<nowstarts_at:<='2024'- Anchor to status•string
Filter by the status of the discount.
activeexpiredscheduledstatus:scheduled- Anchor to times_used•integer
Filter by the number of times 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 different than the actual usage count.times_used:0times_used:>150times_used:>=200- Anchor to title•string
Filter by the discount name that displays to customers.
title:Black Friday Sale- Anchor to type•string
Filter by the discount type.
allall_with_appappbxgyfixed_amountfree_shippingpercentagetype:percentage- Anchor to updated_at•time
Filter by the date and time when the discount was last updated.
updated_at:>'2020-10-21T23:39:20Z'updated_at:<nowupdated_at:<='2024'
Example:
Valid values:
Example:
Example:
Valid values:
Example:
Example:
Example:
Valid values:
Example:
Example:
Example:
Valid values:
Example:
Example:
- Anchor to savedSearchIdsaved•ID
Search Id The ID of a saved search. The search’s query string is used as the query argument.
Arguments
Anchor to MutationsMutations
- •mutation
Activates a previously created code discount, making it available for customers to use during checkout. This mutation transitions inactive discount codes into an active state where they can be applied to orders.
For example, after creating a "SUMMER20" discount code but leaving it inactive during setup, merchants can activate it when ready to launch their summer promotion campaign.
Use
to:- Launch scheduled promotional campaigns
- Reactivate previously paused discount codes
- Enable discount codes after configuration changes
- Control the timing of discount availability
The mutation returns the updated discount code node with its new active status and handles any validation errors that might prevent activation, such as conflicting discount rules or invalid date ranges.
- •ID!required
The ID of the code discount to activate.
Arguments
- •mutation
Creates an amount off discount that's applied on a cart and at checkout when a customer enters a code. Amount off discounts can be a percentage off or a fixed amount off.
- Anchor to basicCodeDiscountbasic•Discount
Code Discount Code Basic Input! required The input data used to create the discount code.
Arguments
- •mutation
Updates an amount off discount that's applied on a cart and at checkout when a customer enters a code. Amount off discounts can be a percentage off or a fixed amount off.
- •ID!required
The ID of the discount code to update.
- Anchor to basicCodeDiscountbasic•Discount
Code Discount Code Basic Input! required The input data used to update the discount code.
Arguments
- •ID!
- •mutation
Creates a buy X get Y discount (BXGY) that's applied on a cart and at checkout when a customer enters a code.
- Anchor to bxgyCodeDiscountbxgy•Discount
Code Discount Code Bxgy Input! required The input data used to create the BXGY code discount.
Arguments
- •mutation
Updates a buy X get Y discount (BXGY) that's applied on a cart and at checkout when a customer enters a code.
- •ID!required
The ID of the BXGY code discount to update.
- Anchor to bxgyCodeDiscountbxgy•Discount
Code Discount Code Bxgy Input! required The input data used to update the BXGY code discount.
Arguments
- •ID!
- •mutation
Temporarily suspends a code discount without permanently removing it from the store. Deactivation allows merchants to pause promotional campaigns while preserving the discount configuration for potential future use.
For example, when a flash sale needs to end immediately or a discount code requires temporary suspension due to inventory issues, merchants can deactivate it to stop new redemptions while keeping the discount structure intact.
Use
to:- Pause active promotional campaigns timely
- Temporarily suspend problematic discount codes
- Control discount availability during inventory shortages
- Maintain discount history while stopping usage
Deactivated discounts remain in the system and can be reactivated later, unlike deletion which persistently removes the code. Customers attempting to use deactivated codes will receive appropriate error messages.
- •ID!required
The ID of the code discount to deactivate.
Arguments
- •mutation
Creates an free shipping discount that's applied on a cart and at checkout when a customer enters a code.
- Anchor to freeShippingCodeDiscountfree•Discount
Shipping Code Discount Code Free Shipping Input! required The input data used to create the discount code.
Arguments
- •mutation
Updates a free shipping discount that's applied on a cart and at checkout when a customer enters a code.
Note- •ID!required
The ID of the discount code to update.
- Anchor to freeShippingCodeDiscountfree•Discount
Shipping Code Discount Code Free Shipping Input! required The input data used to update the discount code.
Arguments
- •ID!