Anchor to discountCodeFreeShippingCreatediscount
discount Code Free Shipping Create
mutation
Requires Apps must have access scope.
Creates an free shipping discount that's applied on a cart and at checkout when a customer enters a code.
Anchor to Arguments
Arguments
- Anchor to freeShippingCodeDiscountfree•
Shipping Code Discount DiscountCode Free Shipping Input!required The input data used to create the discount code.
Was this section helpful?
Anchor to DiscountCodeFreeShippingCreatePayload returnsDiscount Code Free Shipping Create Payload returns
- Anchor to codeDiscountNodecode•
Discount Node The discount code that was created.
- Anchor to userErrorsuser•
Errors [DiscountUser Error!]!non-null The list of errors that occurred from executing the mutation.
Was this section helpful?
- Create a discount code for free shipping
- discountCodeFreeShippingCreate reference
Examples
const { admin } = await authenticate.admin(request);
const response = await admin.graphql(
`#graphql
mutation discountCodeFreeShippingCreate($freeShippingCodeDiscount: DiscountCodeFreeShippingInput!) {
discountCodeFreeShippingCreate(freeShippingCodeDiscount: $freeShippingCodeDiscount) {
codeDiscountNode {
id
codeDiscount {
... on DiscountCodeFreeShipping {
title
startsAt
endsAt
maximumShippingPrice {
amount
}
customerSelection {
... on DiscountCustomerAll {
allCustomers
}
}
destinationSelection {
... on DiscountCountryAll {
allCountries
}
}
minimumRequirement {
... on DiscountMinimumSubtotal {
greaterThanOrEqualToSubtotal {
amount
}
}
}
codes(first: 2) {
nodes {
code
}
}
}
}
}
userErrors {
field
code
message
}
}
}`,
{
variables: {
"freeShippingCodeDiscount": {
"startsAt": "2022-06-22T21:12:07.000Z",
"appliesOncePerCustomer": false,
"title": "FreeShipping",
"code": "FreeShipping",
"minimumRequirement": {
"subtotal": {
"greaterThanOrEqualToSubtotal": 20.0
}
},
"customerSelection": {
"all": true
},
"destination": {
"all": true
}
}
},
},
);
const data = await response.json();
mutation discountCodeFreeShippingCreate($freeShippingCodeDiscount: DiscountCodeFreeShippingInput!) {
discountCodeFreeShippingCreate(freeShippingCodeDiscount: $freeShippingCodeDiscount) {
codeDiscountNode {
id
codeDiscount {
... on DiscountCodeFreeShipping {
title
startsAt
endsAt
maximumShippingPrice {
amount
}
customerSelection {
... on DiscountCustomerAll {
allCustomers
}
}
destinationSelection {
... on DiscountCountryAll {
allCountries
}
}
minimumRequirement {
... on DiscountMinimumSubtotal {
greaterThanOrEqualToSubtotal {
amount
}
}
}
codes(first: 2) {
nodes {
code
}
}
}
}
}
userErrors {
field
code
message
}
}
}
curl -X POST \
https://your-development-store.myshopify.com/admin/api/2025-01/graphql.json \
-H 'Content-Type: application/json' \
-H 'X-Shopify-Access-Token: {access_token}' \
-d '{
"query": "mutation discountCodeFreeShippingCreate($freeShippingCodeDiscount: DiscountCodeFreeShippingInput!) { discountCodeFreeShippingCreate(freeShippingCodeDiscount: $freeShippingCodeDiscount) { codeDiscountNode { id codeDiscount { ... on DiscountCodeFreeShipping { title startsAt endsAt maximumShippingPrice { amount } customerSelection { ... on DiscountCustomerAll { allCustomers } } destinationSelection { ... on DiscountCountryAll { allCountries } } minimumRequirement { ... on DiscountMinimumSubtotal { greaterThanOrEqualToSubtotal { amount } } } codes(first: 2) { nodes { code } } } } } userErrors { field code message } } }",
"variables": {
"freeShippingCodeDiscount": {
"startsAt": "2022-06-22T21:12:07.000Z",
"appliesOncePerCustomer": false,
"title": "FreeShipping",
"code": "FreeShipping",
"minimumRequirement": {
"subtotal": {
"greaterThanOrEqualToSubtotal": 20.0
}
},
"customerSelection": {
"all": true
},
"destination": {
"all": true
}
}
}
}'
const { admin } = await authenticate.admin(request);
const response = await admin.graphql(
`#graphql
mutation discountCodeFreeShippingCreate($freeShippingCodeDiscount: DiscountCodeFreeShippingInput!) {
discountCodeFreeShippingCreate(freeShippingCodeDiscount: $freeShippingCodeDiscount) {
codeDiscountNode {
id
codeDiscount {
... on DiscountCodeFreeShipping {
title
startsAt
endsAt
maximumShippingPrice {
amount
}
customerSelection {
... on DiscountCustomerAll {
allCustomers
}
}
destinationSelection {
... on DiscountCountryAll {
allCountries
}
}
minimumRequirement {
... on DiscountMinimumSubtotal {
greaterThanOrEqualToSubtotal {
amount
}
}
}
codes(first: 2) {
nodes {
code
}
}
}
}
}
userErrors {
field
code
message
}
}
}`,
{
variables: {
"freeShippingCodeDiscount": {
"startsAt": "2022-06-22T21:12:07.000Z",
"appliesOncePerCustomer": false,
"title": "FreeShipping",
"code": "FreeShipping",
"minimumRequirement": {
"subtotal": {
"greaterThanOrEqualToSubtotal": 20.0
}
},
"customerSelection": {
"all": true
},
"destination": {
"all": true
}
}
},
},
);
const data = await response.json();
const client = new shopify.clients.Graphql({session});
const data = await client.query({
data: {
"query": `mutation discountCodeFreeShippingCreate($freeShippingCodeDiscount: DiscountCodeFreeShippingInput!) {
discountCodeFreeShippingCreate(freeShippingCodeDiscount: $freeShippingCodeDiscount) {
codeDiscountNode {
id
codeDiscount {
... on DiscountCodeFreeShipping {
title
startsAt
endsAt
maximumShippingPrice {
amount
}
customerSelection {
... on DiscountCustomerAll {
allCustomers
}
}
destinationSelection {
... on DiscountCountryAll {
allCountries
}
}
minimumRequirement {
... on DiscountMinimumSubtotal {
greaterThanOrEqualToSubtotal {
amount
}
}
}
codes(first: 2) {
nodes {
code
}
}
}
}
}
userErrors {
field
code
message
}
}
}`,
"variables": {
"freeShippingCodeDiscount": {
"startsAt": "2022-06-22T21:12:07.000Z",
"appliesOncePerCustomer": false,
"title": "FreeShipping",
"code": "FreeShipping",
"minimumRequirement": {
"subtotal": {
"greaterThanOrEqualToSubtotal": 20.0
}
},
"customerSelection": {
"all": true
},
"destination": {
"all": true
}
}
},
},
});
session = ShopifyAPI::Auth::Session.new(
shop: "your-development-store.myshopify.com",
access_token: access_token
)
client = ShopifyAPI::Clients::Graphql::Admin.new(
session: session
)
query = <<~QUERY
mutation discountCodeFreeShippingCreate($freeShippingCodeDiscount: DiscountCodeFreeShippingInput!) {
discountCodeFreeShippingCreate(freeShippingCodeDiscount: $freeShippingCodeDiscount) {
codeDiscountNode {
id
codeDiscount {
... on DiscountCodeFreeShipping {
title
startsAt
endsAt
maximumShippingPrice {
amount
}
customerSelection {
... on DiscountCustomerAll {
allCustomers
}
}
destinationSelection {
... on DiscountCountryAll {
allCountries
}
}
minimumRequirement {
... on DiscountMinimumSubtotal {
greaterThanOrEqualToSubtotal {
amount
}
}
}
codes(first: 2) {
nodes {
code
}
}
}
}
}
userErrors {
field
code
message
}
}
}
QUERY
variables = {
"freeShippingCodeDiscount": {
"startsAt": "2022-06-22T21:12:07.000Z",
"appliesOncePerCustomer": false,
"title": "FreeShipping",
"code": "FreeShipping",
"minimumRequirement": {
"subtotal": {
"greaterThanOrEqualToSubtotal": 20.0
}
},
"customerSelection": {
"all": true
},
"destination": {
"all": true
}
}
}
response = client.query(query: query, variables: variables)
Input variables
JSON{
"freeShippingCodeDiscount": {
"startsAt": "2022-06-22T21:12:07.000Z",
"appliesOncePerCustomer": false,
"title": "FreeShipping",
"code": "FreeShipping",
"minimumRequirement": {
"subtotal": {
"greaterThanOrEqualToSubtotal": 20
}
},
"customerSelection": {
"all": true
},
"destination": {
"all": true
}
}
}
Response
JSON{
"discountCodeFreeShippingCreate": {
"codeDiscountNode": {
"id": "gid://shopify/DiscountCodeNode/1057371199",
"codeDiscount": {
"title": "FreeShipping",
"startsAt": "2022-06-22T21:12:07Z",
"endsAt": null,
"maximumShippingPrice": null,
"customerSelection": {
"allCustomers": true
},
"destinationSelection": {
"allCountries": true
},
"minimumRequirement": {
"greaterThanOrEqualToSubtotal": {
"amount": "20.0"
}
},
"codes": {
"nodes": [
{
"code": "FreeShipping"
}
]
}
}
},
"userErrors": []
}
}