Manage gift cards with the GraphQL Admin API

Gift cards are products that merchants can sell through their stores. Customers use gift cards as a payment method to make purchases. This tutorial shows you how to create, retrieve, update, and disable gift cards for a store using the GraphQL Admin API.

How gift cards work

A gift card is a special type of product and an alternative payment method. Its value can be used as payment toward future orders from an online store.

Each gift card has a unique code that is entered during checkout. Its balance can be redeemed over multiple checkouts. Optionally, a gift card code can be assigned to a specific customer.

After a gift card is created, the gift card code can't be updated. Only the customer, expiry date, note, and template suffix can be updated. The gift card code can't be retrieved after it's created — only the last four characters can be retrieved.

Requirements

Scopes

To use the GraphQL queries and mutations, your app needs to request the following access scopes for a Shopify store:

  • read_gift_cards: Allows an app to read gift cards.
  • write_gift_cards: Allows an app to write gift cards.

Create a gift card

To create a new gift card, run the giftCardCreate mutation. The returned fields include the ID of the gift card (id), the redacted gift card code (maskedCode), the timestamp of when the gift card was created (createdAt), and the full gift card code (giftCardCode). In the following example, the initial value of the gift card is supplied as an input variable.

Example request

POST /admin/api/2021-04/graphql.json

View response

Retrieve gift cards

To retrieve existing gift cards, you can query giftCards on the QueryRoot. In the following example, the response body returns the first five gift cards and their corresponding IDs.

Example request

POST /admin/api/2021-04/graphql.json

View response

Update a gift card

To update a gift card, you can run the giftCardUpdate mutation. For example, if you want to update a gift card's expiration date, you can supply the gift card ID (id) and new expiration date (expiresOn) as input variables in the mutation. In the following example, the gift card's expiration date is updated to December 26, 2025.

Example request

POST /admin/api/2021-04/graphql.json

View response

Disable a gift card

To disable a gift card, run the giftCardDisable mutation and supply the ID of the gift card that you want to disable. After you disable a gift card, the merchant can't sell the gift card in their store and customers can't use the gift card to make purchases.

Example request

POST /admin/api/2021-04/graphql.json