Skip to main content

Issue Gift Card

POST 

/api/gift-cards

Issue (create + fund) a new gift card. The initial amount is written as an activation ledger entry and becomes the card's opening balance.

Not yet available to API tokens

This endpoint currently requires session authentication; Personal Access Token scope support is in progress.

Authentication: Requires Bearer token. Permission: pos.manage.

Request body fields:

  • amount (numeric, required, > 0) — the amount to fund the card with. Error message when not > 0: "The gift card amount must be greater than zero."
  • code (string, nullable, max 255, unique in gift_cards.code) — explicit card code; auto-generated (unique) when omitted. Error message on collision: "That gift card code is already in use."
  • security_code (string, nullable, max 255) — optional PIN / security code.
  • is_digital (boolean, nullable) — whether the card is digital (emailed) vs a physical card. Defaults to false.
  • customer_id (integer, nullable, must exist in customers) — owning customer.
  • recipient_name (string, nullable, max 255) — gift recipient's name.
  • recipient_email (email, nullable, max 255) — gift recipient's email.
  • expires_at (date, nullable) — expiry date.
  • notes (string, nullable, max 2000) — internal note.

Returns 201 with { data: <gift card>, balance: <float>, message: "Gift card issued." }.

Request

Responses

Created

Response Headers
    Content-Type