Gift a Digital Gift Card

Gifts a digital gift card to a recipient.

Headers
  • x-applicationSource
    Type: string
    required

    A custom HTTP header that accepts a free-form string value. It is used to identify the application making the API request. For example, if Punchh invokes the API, the value could be "punchh".

  • X-LocationId
    Type: string
    required

    The unique location identifier for the store or business location processing the transaction.

  • Content-Type
    Type: string
    required

    The media type of the request body. Must be set to application/json.

  • Authorization
    Type: string
    required

    Bearer token for API authorization. Send in the format: Bearer ACCESS_TOKEN_GOES_HERE.

Body·
application/json

Request details to gift the card.

  • recipientUserId
    Type: string
    min length:  
    1
    required

    The unique identifier of the recipient user (provided by Punchh after onboarding).

  • referenceNumber
    Type: string
    min length:  
    1
    max length:  
    40
    Pattern: ^[0-9]+$
    required

    A unique reference number for the transaction.

  • senderUserId
    Type: string
    min length:  
    1
    required

    The unique identifier of the user gifting the card.

  • transactionDateTimeUTC
    Type: string Format: date-time
    required

    The transaction date and time in UTC format.

  • amount
    Type: number | null Format: double

    The amount for the new gift card. Required when GiftCardId is not provided.

  • channel
    Type: string · enum
    values
    • None
    • POS
    • Kiosk
  • giftCardId
    Type: string | null

    The gift card ID to transfer. When provided, an existing saved card is transferred to the recipient. When absent, a new virtual gift card is issued and gifted.

  • invoiceNumber
    Type: string | null
    max length:  
    14

    A unique invoice number for the transaction.

  • paymentSource
    Type: string · enum
    values
    • ScanToPay
    • Online
    • None
  • sourceTransactionId
    Type: string | null

    The credit card purchase transaction ID. Required when GiftCardId is not provided.

  • transactionDateTimeLocal
    Type: string | null Format: date-time

    The transaction date and time in local format.

Responses
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for post/giftcard/v1/gift
curl https://SERVER_NAME_GOES_HERE.partech.com/giftcard/v1/gift \
  --request POST \
  --header 'x-applicationSource: ' \
  --header 'X-LocationId: ' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer ACCESS_TOKEN_GOES_HERE' \
  --data '{
  "senderUserId": "user-abc123",
  "recipientUserId": "user-xyz789",
  "giftCardId": null,
  "amount": 50,
  "sourceTransactionId": "01JNXXXXXXXXXXXXXXXXXXXXXX",
  "referenceNumber": "123456789",
  "transactionDateTimeUTC": "2026-05-08T11:35:08.981Z",
  "transactionDateTimeLocal": "2026-05-08T11:35:08.981+00:00",
  "invoiceNumber": "INV001",
  "paymentSource": "Online",
  "channel": "None"
}'
{
  "parPayTransactionId": "01JNXXXXXXXXXXXXXXXXXXXXXX",
  "giftCardId": "01JNXXXXXXXXXXXXXXXXXXXXXX",
  "status": "Success",
  "statusMessage": "APPROVAL",
  "transactionDateTimeUTC": "2026-05-08T11:35:08.981Z"
}