Skip to main content

Vouchers & Gift Cards

Access vouchers and gift cards.

List Vouchersโ€‹

GET /v1/vouchers

Authenticationโ€‹

Requires an API key with the promotions:read scope.

Query Parametersโ€‹

ParameterTypeDefaultDescription
pageinteger1Page number
per_pageinteger15Items per page (max 100)
statusstring-Filter by status: active, redeemed, expired
issued_fromstring-Only cards issued on or after this day, YYYY-MM-DD in the shop's time zone
issued_tostring-Only cards issued on or before this day, YYYY-MM-DD in the shop's time zone

Response (200 OK)โ€‹

{
"data": [
{
"id": 1,
"code": "GC-ABC123XYZ",
"original_value": 100.00,
"remaining_value": 75.00,
"currency": "USD",
"valid_from": "2025-12-25T00:00:00+00:00",
"valid_until": "2026-12-25T23:59:59+00:00",
"status": "active",
"source": "widget",
"purchaser": {
"name": "John Doe",
"email": "john@example.com"
},
"recipient": {
"name": "Jane Doe",
"email": "jane@example.com",
"personal_message": "Happy Birthday! Enjoy a day at the beach."
},
"is_expired": false,
"is_redeemable": true,
"payment_status": "paid",
"sold_through": "booking_page",
"amount_paid": 100.00,
"issued_on": "2025-12-19",
"created_at": "2025-12-20T00:00:00+00:00",
"updated_at": "2026-01-15T10:30:00+00:00"
},
{
"id": 2,
"code": "GC-DEF456ABC",
"original_value": 50.00,
"remaining_value": 0.00,
"currency": "USD",
"valid_from": "2025-06-01T00:00:00+00:00",
"valid_until": "2026-06-01T23:59:59+00:00",
"status": "redeemed",
"source": "admin",
"purchaser": {
"name": "Mike Smith",
"email": "mike@example.com"
},
"recipient": null,
"is_expired": false,
"is_redeemable": false,
"payment_status": "paid",
"sold_through": "counter",
"amount_paid": 50.00,
"issued_on": "2025-06-01",
"created_at": "2025-06-01T00:00:00+00:00",
"updated_at": "2025-08-15T14:00:00+00:00"
}
],
"meta": {
"current_page": 1,
"per_page": 15,
"total": 25,
"total_pages": 2,
"request_id": "req_abc123",
"timestamp": "2026-01-15T12:00:00+00:00"
}
}

Response Fieldsโ€‹

FieldTypeDescription
idintegerUnique identifier
codestringVoucher code
original_valuefloatOriginal voucher value
remaining_valuefloatRemaining balance
currencystringISO 4217 currency code
valid_fromstring|nullStart date (ISO 8601)
valid_untilstring|nullExpiry date (ISO 8601)
statusstringactive, redeemed, or expired
sourcestringadmin (made in the app), widget (bought online), api, refund (issued for a cancelled booking) or import (brought across from another system)
purchaserobjectPurchaser details
recipientobject|nullRecipient details (if gift)
is_expiredbooleanWhether voucher has expired
is_redeemablebooleanWhether voucher can be used
payment_statusstringpaid, partial, unpaid, or imported (paid in another system; can be redeemed)
sold_throughstringHow the card was issued: booking_page (bought online), counter (sold at the POS), api, staff (added on the Vouchers page), refund_credit (credit for a refunded booking) or imported
amount_paidfloatMoney taken for the card. 0 for a refund credit, an imported card, or a staff card with no payment recorded
issued_onstringThe day the card was issued, YYYY-MM-DD in the shop's time zone
created_atstringISO 8601 datetime
updated_atstringISO 8601 datetime

Status Valuesโ€‹

StatusDescription
activeVoucher has remaining balance and is valid
redeemedVoucher has been fully used
expiredVoucher validity period has ended

Errorsโ€‹

StatusCodeDescription
401authentication_requiredNo API key provided
401invalid_api_keyInvalid API key
403insufficient_scopeAPI key lacks promotions:read scope

Example Requestโ€‹

curl -X GET "https://app.equipdash.com/api/v1/vouchers?status=active" \
-H "Authorization: Bearer eqd_live_abc123xyz789..."