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
- codeDiscount (DiscountCode!)
- events (EventConnection!)
- id (ID!)
- metafield (Metafield)
- metafields (MetafieldConnection!)
- metafieldDefinitions (MetafieldDefinitionConnection!): deprecated
- 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 afterafter•String
The elements that come after the specified cursor.
- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to queryquery•String
A filter made up of terms, connectives, modifiers, and comparators. | comments | boolean | Whether or not to include comment-events in your search, passing
falsewill exclude comment-events, any other value will include comment-events. | | | -false
-true| | created_at | time | Filter by the date and time when the event occurred. Event data is retained for 1 year. | | | -
-| | id | id | Filter byidrange. | | | -id:1234
-id:>=1234
-id:<=1234| | subject_type | string | The resource type affected by this event. See EventSubjectType for possible values. | | | -
-
-| You can apply one or more filters to a query. Learn more about Shopify API search syntax.- 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.
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.- •String!required
The key for the metafield.
- Anchor to namespacenamespace•String
The container the metafield belongs to. If omitted, the app-reserved namespace will be used.
Arguments
- •String!
- Anchor to metafieldsmetafields•Metafield
Connection! non-null A list of custom fields that a merchant associates with a Shopify resource.
- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to keyskeys•[String!]
List of keys of metafields in the format
namespace.key, will be returned in the same format.- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to namespacenamespace•String
The metafield namespace to filter by. If omitted, all metafields are returned.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
Arguments
- Anchor to metafieldDefinitionsmetafield•Metafield
Definitions Definition Connection! non-nullDeprecated - Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to lastlast•Int
The last
nelements from the paginated list.- 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 queryquery•String
A filter made up of terms, connectives, modifiers, and comparators.
name type description acceptable_values default_value example_use default string Filter by a case-insensitive search of multiple fields in a document. - query=Bob Norman
-query=title:green hoodiecreated_at time Filter by the date and time when the metafield definition was created. -
-
-id id Filter by idrange.- id:1234
-id:>=1234
-id:<=1234key string Filter by the metafield definition keyfield. - key:some-keynamespace string Filter by the metafield definition namespacefield. - namespace:some-namespaceowner_type string Filter by the metafield definition field. - type string Filter by the metafield definition typefield. - updated_at time Filter by the date and time when the metafield definition was last updated. -
-| You can apply one or more filters to a query. Learn more about Shopify API search syntax.
- 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.
Arguments
Anchor to QueriesQueries
- codeDiscountNode (DiscountCodeNode)
- codeDiscountNodeByCode (DiscountCodeNode)
- codeDiscountNodes (DiscountCodeNodeConnection!): deprecated
- •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 afterafter•String
The elements that come after the specified cursor.
- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to queryquery•String
A filter made up of terms, connectives, modifiers, and comparators.
name type description acceptable_values default_value example_use default string Filter by a case-insensitive search of multiple fields in a document. - query=Bob Norman
-query=title:green hoodiecombines_with string Filter by the discount classes that you can use in combination with [Shopify discount types](https://help.shopify.com/manual/discounts/discount-types). -
-
-| | combines_with.product_discounts_with_tags_on_same_cart_line | string | Filter by a combines with tag applied to discounts on the same cart line. Supports multiple tags separated by commas (e.g., combines_with.product_discounts_with_tags_on_same_cart_line:priority,exclusive). | | | -
-| | created_at | time | Filter by the date and time when the discount was created. | | | -
-
-| | discount_type | string | Filter by the discount type. | -app
-bogo
-
-
-percentage| | -| | ends_at | time | Filter by the date and time when the discount expires and is no longer available for customer use. | | | -
-
-| | id | id | Filter byidrange. | | | -id:1234
-id:>=1234
-id:<=1234| | 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. | | | -
-
-| | status | string | Filter by the status of the discount. | -activeexpired
-scheduled| | -status:scheduled| | tag | string | Filter by a tag applied to the discount. | | | -tag:loyalty
-tag:clearance| | 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. | | | -
-| | title | string | Filter by the discount name that displays to customers. | | | -title:Black Friday Sale| | type | string | Filter by the discount type. | -all
-
-app
-bxgy
-
-
-percentage| | -type:percentage| | updated_at | time | Filter by the date and time when the discount was last updated. | | | -
-
-| You can apply one or more filters to a query. Learn more about Shopify API search syntax.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
- Anchor to savedSearchIdsaved•ID
Search Id The ID of a saved search. The search’s query string is used as the query argument.
- 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.
Arguments
Anchor to MutationsMutations
- discountCodeActivate (DiscountCodeActivatePayload)
- discountCodeBasicCreate (DiscountCodeBasicCreatePayload)
- discountCodeBasicUpdate (DiscountCodeBasicUpdatePayload)
- discountCodeBxgyCreate (DiscountCodeBxgyCreatePayload)
- discountCodeBxgyUpdate (DiscountCodeBxgyUpdatePayload)
- discountCodeDeactivate (DiscountCodeDeactivatePayload)
- discountCodeFreeShippingCreate (DiscountCodeFreeShippingCreatePayload)
- discountCodeFreeShippingUpdate (DiscountCodeFreeShippingUpdatePayload)
- •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.
Note: To create discounts that are automatically applied on a cart and at checkout, use the <a href="https://shopify.dev/docs/api/admin-graphql/latest/mutations/discountAutomaticBasicCreate"><code><span class="PreventFireFoxApplyingGapToWBR">discount<wbr/>Automatic<wbr/>Basic<wbr/>Create</span></code></a> mutation.
- 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.
Note: To update discounts that are automatically applied on a cart and at checkout, use the <a href="https://shopify.dev/docs/api/admin-graphql/latest/mutations/discountAutomaticBasicUpdate"><code><span class="PreventFireFoxApplyingGapToWBR">discount<wbr/>Automatic<wbr/>Basic<wbr/>Update</span></code></a> mutation.
- Anchor to basicCodeDiscountbasic•Discount
Code Discount Code Basic Input! required The input data used to update the discount code.
- •ID!required
The ID of the discount code to update.
Arguments
- •mutation
Creates a buy X get Y discount (BXGY) that's applied on a cart and at checkout when a customer enters a code.
Note: To create discounts that are automatically applied on a cart and at checkout, use the <a href="https://shopify.dev/docs/api/admin-graphql/latest/mutations/discountAutomaticBxgyCreate"><code><span class="PreventFireFoxApplyingGapToWBR">discount<wbr/>Automatic<wbr/>Bxgy<wbr/>Create</span></code></a> mutation.
- 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.
Note: To update discounts that are automatically applied on a cart and at checkout, use the <a href="https://shopify.dev/docs/api/admin-graphql/latest/mutations/discountAutomaticBxgyUpdate"><code><span class="PreventFireFoxApplyingGapToWBR">discount<wbr/>Automatic<wbr/>Bxgy<wbr/>Update</span></code></a> mutation.
- Anchor to bxgyCodeDiscountbxgy•Discount
Code Discount Code Bxgy Input! required The input data used to update the BXGY code discount.
- •ID!required
The ID of the BXGY code discount to update.
Arguments
- •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.
Note: To create discounts that are automatically applied on a cart and at checkout, use the <a href="https://shopify.dev/docs/api/admin-graphql/latest/mutations/discountAutomaticFreeShippingCreate"><code><span class="PreventFireFoxApplyingGapToWBR">discount<wbr/>Automatic<wbr/>Free<wbr/>Shipping<wbr/>Create</span></code></a> mutation.
- 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.
NoteNote: To update a free shipping discount that's automatically applied on a cart and at checkout, use the <a href="https://shopify.dev/docs/api/admin-graphql/latest/mutations/discountAutomaticFreeShippingUpdate"><code><span class="PreventFireFoxApplyingGapToWBR">discount<wbr/>Automatic<wbr/>Free<wbr/>Shipping<wbr/>Update</span></code></a> mutation.
- Anchor to freeShippingCodeDiscountfree•Discount
Shipping Code Discount Code Free Shipping Input! required The input data used to update the discount code.
- •ID!required
The ID of the discount code to update.
Arguments
Anchor to InterfacesInterfaces
- HasEvents
- HasMetafieldDefinitions
- HasMetafields
- Node
- •interface
- •interface
- •interface