Skip to main content
GET
/
api
/
public
/
events
/
my
{
  "Records[].Id": 123,
  "Records[].AttendeeCode": "<string>",
  "Records[].FullName": "<string>",
  "Records[].Email": "<string>",
  "Records[].CalendarEvent": {},
  "Records[].EventProduct": {},
  "Records[].EventProductName": "<string>",
  "Records[].EventProductPrice": 123,
  "Records[].Coworker": {},
  "Records[].Business": {},
  "Records[].CreatedOn": "<string>",
  "Records[].CreatedOnUtc": "<string>",
  "Records[].UpdatedOn": "<string>",
  "Records[].UpdatedOnUtc": "<string>",
  "401 Unauthorized": {}
}

List My Events

Returns a paginated list of event attendances (tickets) for the authenticated customer. Pass showUpcoming=true to restrict the list to events that have not yet started — used to power the “Upcoming Events” widget on the personal dashboard and the tickets counter.

Authentication

Requires a valid customer bearer token.

Query Parameters

showUpcoming
boolean
required
true — return only tickets for events whose end date is in the future. false — return all tickets regardless of event date.
_shape
string
Comma-separated dot-notated field paths to include in the response. When provided, only the specified fields are returned — useful for reducing payload size. Example: _shape=Records.Id,Records.CalendarEvent.Name
_page
number
1-based page number. Default: 1
_pageSize
number
Records per page. Default: 25 · Maximum: 100
_orderBy
string
Field to sort by. Default: CreatedOn
_sortDirection
string
asc or desc. Default: desc

Response

Returns a MyEvents object which extends ApiListResult<EventAttendee>. See API Overview for pagination fields. The Records array contains attendee (ticket) objects.

Core Fields

Records[].Id
number
required
Unique identifier for the ticket/attendance record. Use this as {id} in the sendTicket and cancelTicket endpoints.
Records[].AttendeeCode
string
Unique code printed on the ticket — used for check-in at the event.
Records[].FullName
string
Full name of the ticket holder.
Records[].Email
string
Email address of the ticket holder.

Event & Product

Records[].CalendarEvent
CalendarEvent
The event this ticket belongs to. See List Events for the full CalendarEvent schema.
Records[].EventProduct
EventProduct
The ticket product that was purchased. Contains price, name, and availability details.
Records[].EventProductName
string
Denormalised name of the ticket product — available without expanding EventProduct.
Records[].EventProductPrice
number
Denormalised price of the ticket product in the location’s currency.

Attendee

Records[].Coworker
Coworker
The Coworker object for the ticket holder, including profile and contact information.
Records[].Business
Business
The coworking location where the event takes place.

Timestamps

All datetime fields are ISO 8601 strings. *On fields are in the location’s local timezone; *OnUtc fields are UTC.
Records[].CreatedOn
string
Local datetime the ticket was issued.
Records[].CreatedOnUtc
string
UTC datetime the ticket was issued.
Records[].UpdatedOn
string
Local datetime of the last update.
Records[].UpdatedOnUtc
string
UTC datetime of the last update.

Examples

Fetch upcoming tickets (full payload)

GET /api/public/events/my?showUpcoming=true
Authorization: Bearer {token}
{
  "Records": [
    {
      "Id": 9021,
      "AttendeeCode": "EVT-9021-ABCD",
      "FullName": "Alex Johnson",
      "Email": "alex@example.com",
      "EventProductName": "General Admission",
      "EventProductPrice": 15.0,
      "CalendarEvent": {
        "Id": 412,
        "Name": "Morning Yoga & Mindfulness",
        "StartDateUtc": "2026-03-23T07:30:00Z",
        "EndDateUtc": "2026-03-23T08:15:00Z",
        "Location": "Studio Room B",
        "HasLargeImage": true,
        "Business": { "Id": 5, "Name": "Downtown Coworking Hub" }
      },
      "EventProduct": {
        "Id": 88,
        "Name": "General Admission",
        "Price": 15.0,
        "PriceCurrencyCode": "GBP",
        "SoldOut": false,
        "IsAvailableNow": true
      },
      "Business": { "Id": 5, "Name": "Downtown Coworking Hub" },
      "UniqueId": "c3d4e5f6-a7b8-9012-cdef-123456789012",
      "IdString": "9021",
      "CreatedOn": "2026-03-01T11:00:00",
      "UpdatedOn": "2026-03-01T11:00:00",
      "CreatedOnUtc": "2026-03-01T11:00:00Z",
      "UpdatedOnUtc": "2026-03-01T11:00:00Z",
      "IsNull": false
    }
  ],
  "CurrentPage": 1,
  "CurrentPageSize": 25,
  "TotalItems": 1,
  "TotalPages": 1,
  "HasNextPage": false,
  "HasPreviousPage": false
}

Fetch my events with a minimal field set

GET /api/public/events/my?showUpcoming=true&_shape=Records.Id,Records.EventProductName,Records.CalendarEvent.Name,Records.CalendarEvent.StartDateUtc
Authorization: Bearer {token}
{
  "Records": [
    {
      "Id": 9021,
      "EventProductName": "General Admission",
      "CalendarEvent": { "Name": "Morning Yoga & Mindfulness", "StartDateUtc": "2026-03-23T07:30:00Z" }
    }
  ],
  "CurrentPage": 1,
  "CurrentPageSize": 25,
  "TotalItems": 1,
  "TotalPages": 1,
  "HasNextPage": false,
  "HasPreviousPage": false
}

TypeScript Integration

import endpoints from '@/api/endpoints'
import { MyEvents } from '@/types/endpoints/MyEvents'
import { useData } from '@/api/fetchData'

const endpoint = endpoints.events.myEvents(true) // showUpcoming=true

const { resource: myEvents } = useData<MyEvents>(httpClient, endpoint.url)

Usage in Portal

ContextSource file
My Events page (/activity/events)src/views/user/activity/events/MyEventsSection.tsx
Weekly Agenda calendar widget (personal dashboard)src/views/user/dashboards/personal/components/WeeklyAgendaCalendar/WeeklyAgendaCalendar.tsx
Tickets statistic widget (personal dashboard)src/views/user/dashboards/personal/components/Statistics/widgets/TicketsStatisticWidget.tsx

Error Responses

401 Unauthorized
error
The customer is not authenticated or the session has expired.
MethodEndpointDescription
GET/api/public/eventsBrowse all published events
GET/api/public/events/{id}Full detail for a specific event
POST/api/public/events/my/{id}/sendTicketRe-send a ticket confirmation email
DELETE/api/public/events/my/{id}Cancel (delete) a ticket
POST/api/public/events/{id}/joinWaitingListJoin the waiting list for a sold-out event