๐ŸŽ‰ New Welcome to reservie โ€” V2 is now live and available for use. Get started โ†’

Events

Updated Feb 24, 2026 4 min read

Retrieve your event catalogue โ€” listings, dates, booking configuration, and per-date attendance registers.

The Events API is read-only โ€” events cannot be created, updated, or deleted via the M2M API. For customer booking transactions, see Bookings.

List events

GET /events

Scope: events:read

Returns all active events (with dates) for your company. Only events with at least one active date are returned. Archived events are excluded.

Query parameters:

ParameterDefaultDescription
timeFilter(none)future or past. When omitted, returns all events regardless of date.
startDate(none)ISO 8601 datetime (UTC). Required when timeFilter is set.
endDate(none)ISO 8601 datetime (UTC). Required when timeFilter is past.

Examples:

GET /events
GET /events?timeFilter=future&startDate=2026-02-24T00:00:00.000Z
GET /events?timeFilter=past&startDate=2026-01-01T00:00:00.000Z&endDate=2026-02-24T00:00:00.000Z

Response:

{
  "data": [
    {
      "id": "evt_42",
      "type": "event",
      "name": "Monday Yoga",
      "format": "PHYSICAL",
      "booking_configuration": {
        "max_attendees": 20,
        "waiting_list_enabled": true,
        "booking_types": ["INDIVIDUAL"],
        "payment_methods": ["CARD", "PASS"]
      },
      "dates": [
        {
          "id": "date_501",
          "type": "event_date",
          "datetime": "2026-03-03T09:00:00",
          "tz": "Europe/London",
          "duration": 60
        },
        {
          "id": "date_502",
          "type": "event_date",
          "datetime": "2026-03-10T09:00:00",
          "tz": "Europe/London",
          "duration": 60
        }
      ],
      "facilitators": [
        { "id": "fac_10", "type": "facilitator", "name": "Sarah Jones" }
      ]
    }
  ]
}

Event fields

FieldTypeDescription
idstringEvent ID (prefixed with evt_)
typestringAlways "event"
namestringEvent name
formatstringPHYSICAL or VIRTUAL
booking_configurationobjectBooking and capacity settings (see below)
datesarrayEvent dates (see below)
facilitatorsarrayAssigned facilitators (see below)

Booking configuration fields

FieldTypeDescription
max_attendeesnumber or nullMaximum capacity (null if unlimited)
waiting_list_enabledbooleanWhether the waiting list is enabled
booking_typesstring[]["INDIVIDUAL"], ["BLOCK"], or ["INDIVIDUAL", "BLOCK"]
payment_methodsstring[]Accepted payment methods: CARD, PASS

Date fields

FieldTypeDescription
idstringDate ID (prefixed with date_)
typestringAlways "event_date"
datetimestringLocal ISO 8601 datetime without Z suffix (e.g. 2026-03-03T09:00:00). See tz for timezone.
tzstringIANA timezone (e.g. Europe/London)
durationnumberDuration in minutes

Facilitator fields

FieldTypeDescription
idstringFacilitator ID (prefixed with fac_)
typestringAlways "facilitator"
namestringFull name

Get event detail

GET /event/{id}

Scope: events:read

The {id} path parameter uses the prefixed event ID (e.g. evt_42).

Returns the full detail for a single event, including payment details (pricing options, allowed passes, vouchers) which are not included in the list response.

Response:

{
  "data": {
    "id": "evt_42",
    "type": "event",
    "name": "Monday Yoga",
    "format": "PHYSICAL",
    "booking_configuration": {
      "max_attendees": 20,
      "waiting_list_enabled": true,
      "booking_types": ["INDIVIDUAL"],
      "payment_methods": ["CARD", "PASS"],
      "allowed_passes": [
        {
          "id": "pass_5",
          "type": "pass_template",
          "name": "10-Class Pass",
          "credits": 10,
          "price": 5000,
          "currency": "GBP",
          "expiry_days": 180
        }
      ]
    },
    "dates": [
      {
        "id": "date_501",
        "type": "event_date",
        "datetime": "2026-03-03T09:00:00",
        "tz": "Europe/London",
        "duration": 60
      }
    ],
    "facilitators": [
      { "id": "fac_10", "type": "facilitator", "name": "Sarah Jones" }
    ],
    "payment_details": {
      "pricing_options": [
        {
          "id": "opt_1",
          "type": "pricing_option",
          "name": "Standard",
          "price": 1200,
          "stock": 0,
          "credits": 1
        }
      ],
      "vouchers": [
        {
          "id": "voucher_12",
          "type": "voucher",
          "name": "Early Bird",
          "code": "EARLY10",
          "discount_type": "PERCENTAGE",
          "discount_value": 10,
          "currency": "GBP"
        }
      ]
    }
  }
}

Additional fields (beyond the list response)

FieldTypeDescription
booking_configuration.allowed_passesarrayPass templates that can be used for this event
payment_detailsobjectPricing options and vouchers

Allowed pass fields

FieldTypeDescription
idstringPass template ID (prefixed with pass_)
typestringAlways "pass_template"
namestringPass name
creditsnumberTotal credits on the pass
pricenumberPrice in base-100 (pence/cents)
currencystringCurrency code (e.g. GBP)
expiry_daysnumberDays until expiry (0 = no expiry)

Pricing option fields

FieldTypeDescription
idstringOption ID (prefixed with opt_)
typestringAlways "pricing_option"
namestringDisplay name
pricenumberPrice in base-100 (pence/cents)
stocknumberStock limit (0 = unlimited)
creditsnumberPass credits consumed per booking

Voucher fields

FieldTypeDescription
idstringVoucher ID (prefixed with voucher_)
typestringAlways "voucher"
namestringVoucher name
codestringVoucher code customers enter at checkout
discount_typestringPERCENTAGE or FIXED
discount_valuenumberDiscount amount (percentage or base-100 fixed amount)
currencystringCurrency code

Get event date register

GET /event/{id}/dates/{dateId}/register

Scope: events-register:read

The {id} and {dateId} path parameters use prefixed IDs (e.g. evt_42, date_501).

Returns the attendance register for a specific event date, split into three lists: confirmed attendees, waiting list, and cancelled.

Response:

{
  "data": {
    "event_id": "evt_42",
    "date_id": "date_501",
    "attendees": [
      {
        "id": "cust_123",
        "type": "customer",
        "firstname": "Jane",
        "lastname": "Smith",
        "email": "jane@example.com",
        "status": "ACTIVE",
        "attended": true,
        "payment_method": "card",
        "base100_price_paid": 1200,
        "currency": "GBP",
        "pricing_option_id": "opt_1",
        "created_at": "2026-02-20T10:30:00"
      }
    ],
    "waiting_list": [
      {
        "id": "cust_456",
        "type": "customer",
        "firstname": "Bob",
        "lastname": "Lee",
        "email": "bob@example.com",
        "status": "WAITING",
        "attended": false,
        "payment_method": "pass",
        "base100_price_paid": 0,
        "currency": "CR",
        "pricing_option_id": "opt_1",
        "created_at": "2026-02-21T08:15:00"
      }
    ],
    "cancelled_list": [
      {
        "id": "cust_789",
        "type": "customer",
        "firstname": "Alice",
        "lastname": "Cooper",
        "email": "alice@example.com",
        "status": "VOID",
        "attended": false,
        "payment_method": "card",
        "base100_price_paid": 1200,
        "currency": "GBP",
        "pricing_option_id": "opt_1",
        "created_at": "2026-02-19T14:00:00"
      }
    ]
  }
}

Attendee fields

FieldTypeDescription
idstringCustomer ID (prefixed with cust_)
typestringAlways "customer"
firstnamestringFirst name
lastnamestringLast name
emailstringEmail address
statusstringACTIVE, WAITING, VOID, or VOID_REFUND
attendedbooleanWhether the customer was marked as attended
payment_methodstringcard, pass, or cash
base100_price_paidnumberAmount paid in base-100 (pence/cents). 0 for pass payments.
currencystringCurrency code (GBP, EUR, USD) or CR for credits
pricing_option_idstringWhich pricing option was selected
created_atstringBooking timestamp

A client can have events:read without events-register:read โ€” they can browse the event catalogue but not see whoโ€™s booked.