---
title: "Create gift card"
method: POST
path: "/gift_cards"
tags: ["Gift Cards"]
---

# Create gift card

`POST /gift_cards`

Creates and activates a new gift card. The gift card will be created with one transaction with status "ACTIVATION" which contains the initial balance of the gift card.

🔒 Requires: `gift_cards:write:issue` scope

## Request body

- GiftCardActivationParams — The parameters for creating and activating a new gift card.
  - `amount` string, required — The initial balance to be loaded onto the gift card. Represented as a string for precision (e.g. "100.00").
  - `expires_at` string — The expiry date of the gift card in YYYY-MM-DD format. If omitted, the expiry will be calculated based on the validity period configured in the Lightspeed Retail UI, or will be null if expiry is not enabled.
  - `number` string, required — The unique number to assign to the gift card.
  - `time_zone` string — The timezone to use when interpreting the `expires_at` date (e.g. "Pacific/Auckland"). See the list of tz database time zones for valid values.
  - `user_id` string — The ID of the user creating the gift card. If omitted, the authenticated user will be used.

## Response `201`

Gift card successfully created.

- GiftCardSingleton — A single gift card response.
  - `data` GiftCard, required — A gift card with monetary values represented as strings for precision.
    - `balance` string — The balance of the gift card, represented as a string for precision.
    - `created_at` string — The creation timestamp in UTC.
    - `expires_at` string, nullable — The expiry timestamp in UTC.
    - `gift_card_transactions` GiftCardTransaction[] — An array of Gift Card Transactions.
      - `amount` string — The transaction amount, represented as a string for precision.
      - `client_id` string, nullable — The client id is a unique transaction identifier. The client must provide this and is normally the transaction id from the client system.
      - `created_at` string — The creation timestamp in UTC.
      - `id` string — Auto-generated object ID.
      - `source` string, nullable — The source of the transaction.
      - `source_id` string, nullable — The source id is a unique identifier for the transaction in the source system.
      - `type` 'ACTIVATION' | 'REDEEMING' | 'IMPORTING' | 'VOIDING' | 'EXPIRING' | 'REVERSING' | 'RELOADING' — The type of transaction.
      - `user_id` string — The user id associated with the transaction.
    - `id` string — Auto-generated object ID.
    - `number` string — The gift card number.
    - `sale_id` string, nullable — The ID of the sale associated with the gift card creation, if it was created through a register sale. Null if the gift card was created directly via the API.
    - `sale_source` string — The source system where the gift card was created (e.g. x-series, e-series).
    - `status` 'ACTIVE' | 'INACTIVE' | 'REDEEMED' | 'VOIDED' | 'EXPIRED' — The gift card status.
    - `total_redeemed` string — The amount redeemed with this gift card, represented as a string for precision.
    - `total_sold` string — The amount loaded onto this gift card during activation or reloading, represented as a string for precision.

## Other responses

- `422` — Gift card has already been created and activated.

---

[API](https://skmtc.net/lightspeedhq/apis/api-2026-07.md) · [All operations](https://skmtc.net/lightspeedhq/apis/api-2026-07/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lightspeedhq/api-2026-07/revisions/72d4ceb46dbb/schema)
