Vouchers

Update a Voucher

Updates the redemption rules attached to an imported Voucher. Currently three fields are mutable — valid_offerings, valid_weekdays, and invalid_date_set_ids. Other catalogue fields (name, price, currency, processor metadata) are sourced from the upstream processor and refresh on the next importVouchers run.

Requires the update ability on the Voucher — typically granted by holding SETTINGS_MANAGE on the voucher's site.

put/shop/vouchers/{voucherId}

Request body

valid_weekdaysstring[]

Lowercase weekday names the voucher may be redeemed on. Empty (or omitted) means "any weekday".

invalid_date_set_idsstring[]

IDs of date sets on which the voucher may not be redeemed. Each ID must reference a date set on the caller's organisation.

Example request

{
  "valid_offerings": [
    {
      "offering_id": "65f0a1b2c3d4e5f6a7b8c9d4",
      "offering_type": "appointment",
      "offering_details": {
        "membership_type_id": "9c8b7a6d-5e4f-3210-9876-543210fedcba",
        "membership_rate_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
        "duration": "P1Y"
      }
    }
  ],
  "valid_weekdays": [
    "monday",
    "tuesday",
    "wednesday",
    "thursday",
    "friday"
  ],
  "invalid_date_set_ids": [
    "65f0a1b2c3d4e5f6a7b8c9aa"
  ]
}

Response

A single Voucher.

Example response

{
  "data": {
    "id": "65f0a1b2c3d4e5f6a7b8c9d0",
    "name": "Twilight Spa Day Gift Voucher",
    "description": "A 90-minute treatment, lunch, and full access to the spa facilities.",
    "processor_voucher_id": "gp_8421",
    "price": 12500,
    "currency": "gbp",
    "processor": "giftpro",
    "processor_data": {},
    "valid_offerings": [
      {
        "offering_id": "65f0a1b2c3d4e5f6a7b8c9d1",
        "offering_type": "AppointmentType",
        "offering_name": "60-minute Aromatherapy Massage",
        "offering_details": {
          "membership_type_id": "9c8b7a6d-5e4f-3210-9876-543210fedcba",
          "membership_type_name": "Wellness Club Gold",
          "membership_rate_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
          "membership_rate_name": "Annual rolling",
          "duration": "P1Y",
          "duration_friendly": "1 year"
        }
      }
    ],
    "valid_weekdays": [
      "monday",
      "tuesday",
      "wednesday",
      "thursday",
      "friday"
    ],
    "invalid_date_set_ids": [
      "65f0a1b2c3d4e5f6a7b8c9aa"
    ],
    "site_id": "1f3c0e2a-9b8d-4c5e-a6f7-1234567890ab",
    "organisation_id": "0a1b2c3d-4e5f-6789-abcd-ef0123456789",
    "processor_created_at": "2025-12-15T09:30:00+00:00",
    "created_at": "2026-01-04T11:00:00+00:00",
    "updated_at": "2026-04-22T14:18:00+00:00"
  }
}

Changes

No recorded changes to this endpoint across all 1 revision of this API.