> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nexudus.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get one CalendarEvent

> Retrieve a single CalendarEvent record by its Id.

A **CalendarEvent** represents a physical, virtual, or hybrid event published on the Members Portal. Events can be free or monetised with ticket products.

Physical events can be linked to a space resource via `ResourceId`, which automatically blocks that resource from being booked for the event's duration. Virtual events require the Zoom integration and support both conference calls (`IncludeZoomInvite`) and webinars (`CreateZoomWebinarInvite`).

Events support recurring schedules: set `RepeatEvent = true` on creation and configure `Repeats`, `RepeatEvery`, `RepeatUntil`, and the day-of-week flags. `RepeatEvent` and all repeat-configuration fields (`Repeats`, `RepeatEvery`, `RepeatUntil`, `RepeatOn*`) are create-only. Once an event series is created, only `WhichEventsToUpdate` can be used to update or delete events in the series. New events cannot be added to an existing series.

Attendance can be restricted to all customers, contacts only (`OnlyForContacts`), or members only (`OnlyForMembers`). Set `Allocation` to cap total attendees and enable `EnableWaitList` to allow overflow sign-ups.

## Authentication

<Note>
  This endpoint requires OAuth2 authentication. Include a valid bearer token in the `Authorization` header.
  The authenticated user must be a full unrestricted administrator or have the **`CalendarEvent-Read`** role.
</Note>

## Path Parameters

<ParamField path="id" type="integer" required>
  The Id of the CalendarEvent record to retrieve.
</ParamField>

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET \
    "https://spaces.nexudus.com/api/content/calendarevents/87654321" \
    -H "Authorization: Bearer YOUR_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://spaces.nexudus.com/api/content/calendarevents/87654321',
    {
      headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
      }
    }
  );

  const record = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://spaces.nexudus.com/api/content/calendarevents/87654321',
      headers={
          'Authorization': 'Bearer YOUR_TOKEN'
      }
  )

  record = response.json()
  ```
</CodeGroup>

## Response

### 200

<ResponseField name="BusinessId" type="integer">
  The location this event belongs to.
</ResponseField>

<ResponseField name="Name" type="string">
  Event name.
</ResponseField>

<ResponseField name="HostFullName" type="string">
  Full name of the event host or presenter.
</ResponseField>

<ResponseField name="ShortDescription" type="string">
  Brief summary shown under the event name on the Members Portal.
</ResponseField>

<ResponseField name="LongDescription" type="string">
  Full event description visible when a customer opens the event on the Members Portal.
</ResponseField>

<ResponseField name="TicketNotes" type="string">
  Additional notes included in ticket confirmation emails.
</ResponseField>

<ResponseField name="EnableWaitList" type="boolean">
  Allow customers to join a waiting list when the event is at full capacity.
</ResponseField>

<ResponseField name="AskBuyerAddress" type="boolean">
  Request the buyer's postal address during ticket checkout.
</ResponseField>

<ResponseField name="ShowEventAttendees" type="boolean">
  Display the attendee list on the Members Portal event page.
</ResponseField>

<ResponseField name="Location" type="string">
  Venue or room name displayed on the event page.
</ResponseField>

<ResponseField name="VenueAddress" type="string">
  Street address of the event venue.
</ResponseField>

<ResponseField name="ResourceId" type="integer">
  Resource linked to this event; automatically blocked from bookings for the event's duration.
</ResponseField>

<ResponseField name="StartDate" type="string">
  Event start date and time (UTC).
</ResponseField>

<ResponseField name="EndDate" type="string">
  Event end date and time (UTC).
</ResponseField>

<ResponseField name="Allocation" type="integer">
  Maximum number of attendees; leave empty for unlimited.
</ResponseField>

<ResponseField name="EventCategories" type="integer[]">
  Categories assigned to this event.
</ResponseField>

<ResponseField name="PublishDate" type="string">
  Date and time the event becomes visible on the Members Portal (UTC).
</ResponseField>

<ResponseField name="ShowInHomeBanner" type="boolean">
  Display this event in the home page banner on the Members Portal.
</ResponseField>

<ResponseField name="ShowInHomePage" type="boolean">
  Display this event on the Members Portal home page.
</ResponseField>

<ResponseField name="AllowComments" type="boolean">
  Allow customers to post comments on the event.
</ResponseField>

<ResponseField name="IncludeZoomInvite" type="boolean">
  Attach a Zoom conference call link to this event.
</ResponseField>

<ResponseField name="CreateZoomWebinarInvite" type="boolean">
  Create a Zoom webinar instead of a regular conference call.
</ResponseField>

<ResponseField name="ZoomWebinarAlternativeHosts" type="string">
  Comma-separated email addresses of alternative Zoom hosts who can start the meeting.
</ResponseField>

<ResponseField name="ZoomEventData" type="string">
  Raw Zoom meeting data returned after the Zoom event is created.
</ResponseField>

<ResponseField name="ZoomMeetingId" type="string">
  Zoom meeting or webinar ID.
</ResponseField>

<ResponseField name="OnlyForContacts" type="boolean">
  Restrict event attendance to contacts only.
</ResponseField>

<ResponseField name="OnlyForMembers" type="boolean">
  Restrict event attendance to members only.
</ResponseField>

<ResponseField name="SmallLogoFileName" type="string">
  Filename of the small event image shown in related-events sections (read-only; set via `NewSmallLogoUrl`).
</ResponseField>

<ResponseField name="NewSmallLogoUrl" type="string">
  URL of an image to upload as the small event image.
</ResponseField>

<ResponseField name="ClearSmallLogoFile" type="boolean">
  Remove the current small event image.
</ResponseField>

<ResponseField name="LargeLogoFileName" type="string">
  Filename of the large event image shown on the event list and detail page (read-only; set via `NewLargeLogoUrl`).
</ResponseField>

<ResponseField name="NewLargeLogoUrl" type="string">
  URL of an image to upload as the large event image.
</ResponseField>

<ResponseField name="ClearLargeLogoFile" type="boolean">
  Remove the current large event image.
</ResponseField>

<ResponseField name="WebAddress" type="string">
  URL of an external website related to this event.
</ResponseField>

<ResponseField name="FacebookPage" type="string">
  URL of a Facebook event or page for this event.
</ResponseField>

<ResponseField name="TicketsPage" type="string">
  URL of an external ticketing page for this event.
</ResponseField>

<ResponseField name="RepeatSeriesUniqueId" type="string">
  Unique identifier shared by all occurrences in a repeat series.
</ResponseField>

<ResponseField name="RepeatEvent" type="boolean">
  Create this event as a recurring series (create only).
</ResponseField>

<ResponseField name="Repeats" type="integer">
  Recurrence pattern for the event series. See `eCalendarEventRepeatCycle` enum values: `1` = Daily, `2` = Weekly, `3` = Monthly, `4` = Yearly, `5` = FirstOfMonth, `6` = SecondOfMonth, `7` = ThirdOfMonth, `8` = LastOfMonth, `9` = FourthOfMonth.
</ResponseField>

<ResponseField name="WhichEventsToUpdate" type="integer">
  Which events in the recurring series to update (update only). See `eRepeatedCalendarEventUpdateAction` enum values: `1` = UpdateThisEventOnly, `2` = UpdateFutureEventsOnly, `3` = UpdateAllEvents, `4` = DeleteAllEvents, `5` = DeleteEventsAfterThis, `6` = UpdateEventProducts.
</ResponseField>

<ResponseField name="RepeatEvery" type="integer">
  Number of cycles between occurrences (e.g. 2 with Weekly means every two weeks).
</ResponseField>

<ResponseField name="RepeatUntil" type="string">
  Date the recurring series ends (create only).
</ResponseField>

<ResponseField name="RepeatOnMondays" type="boolean">
  Include Mondays in the recurring schedule.
</ResponseField>

<ResponseField name="RepeatOnTuesdays" type="boolean">
  Include Tuesdays in the recurring schedule.
</ResponseField>

<ResponseField name="RepeatOnWednesdays" type="boolean">
  Include Wednesdays in the recurring schedule.
</ResponseField>

<ResponseField name="RepeatOnThursdays" type="boolean">
  Include Thursdays in the recurring schedule.
</ResponseField>

<ResponseField name="RepeatOnFridays" type="boolean">
  Include Fridays in the recurring schedule.
</ResponseField>

<ResponseField name="RepeatOnSaturdays" type="boolean">
  Include Saturdays in the recurring schedule.
</ResponseField>

<ResponseField name="RepeatOnSundays" type="boolean">
  Include Sundays in the recurring schedule.
</ResponseField>

<ResponseField name="StartDateLocal" type="string">
  Event start date and time in the location's local timezone.
</ResponseField>

<ResponseField name="EndDateLocal" type="string">
  Event end date and time in the location's local timezone.
</ResponseField>

<ResponseField name="PublishDateLocal" type="string">
  Publish date and time in the location's local timezone.
</ResponseField>

<ResponseField name="AfterEventNotificationJobId" type="string">
  Background job ID for the scheduled post-event notification email.
</ResponseField>

<ResponseField name="SendAfterEventNotification" type="boolean">
  Send a follow-up notification email to attendees after the event ends.
</ResponseField>

<ResponseField name="AfterEventNotificationText" type="string">
  Custom message body for the post-event notification email.
</ResponseField>

<ResponseField name="SendBeforeEventNotification" type="boolean">
  Send a reminder notification email to attendees before the event starts.
</ResponseField>

<ResponseField name="HasEventForm" type="boolean">
  A form is linked to this event that attendees are asked to complete.
</ResponseField>

<ResponseField name="SendEventFormByEmail" type="boolean">
  Send the linked event form to attendees by email.
</ResponseField>

<ResponseField name="FormPageId" type="integer">
  ID of the form page linked to this event.
</ResponseField>

<ResponseField name="FormPageName" type="string">
  Name of the linked form page.
</ResponseField>

<ResponseField name="Id" type="integer">
  Unique record identifier.
</ResponseField>

<ResponseField name="UniqueId" type="string">
  UUID of the record.
</ResponseField>

<ResponseField name="CreatedOn" type="string">
  Date and time the record was created (ISO 8601).
</ResponseField>

<ResponseField name="UpdatedOn" type="string">
  Date and time the record was last updated (ISO 8601).
</ResponseField>

<ResponseField name="UpdatedBy" type="string">
  Email of the user who last updated this record.
</ResponseField>

<ResponseField name="IsNew" type="boolean">
  Whether the record was recently created.
</ResponseField>

<ResponseField name="SystemId" type="string">
  External system identifier.
</ResponseField>

```json Example Response theme={null}
{
  "BusinessId": 0,
  "Name": "",
  "HostFullName": null,
  "ShortDescription": null,
  "LongDescription": null,
  "TicketNotes": null,
  "EnableWaitList": false,
  "AskBuyerAddress": false,
  "ShowEventAttendees": false,
  "Location": null,
  "VenueAddress": null,
  "ResourceId": null,
  "StartDate": "2025-01-15T10:30:00Z",
  "EndDate": "2025-01-15T10:30:00Z",
  "Allocation": null,
  "EventCategories": [],
  "PublishDate": null,
  "ShowInHomeBanner": false,
  "ShowInHomePage": false,
  "AllowComments": false,
  "IncludeZoomInvite": false,
  "CreateZoomWebinarInvite": false,
  "ZoomWebinarAlternativeHosts": null,
  "ZoomEventData": null,
  "ZoomMeetingId": null,
  "OnlyForContacts": false,
  "OnlyForMembers": false,
  "SmallLogoFileName": null,
  "NewSmallLogoUrl": null,
  "ClearSmallLogoFile": null,
  "LargeLogoFileName": null,
  "NewLargeLogoUrl": null,
  "ClearLargeLogoFile": null,
  "WebAddress": null,
  "FacebookPage": null,
  "TicketsPage": null,
  "RepeatSeriesUniqueId": null,
  "RepeatEvent": false,
  "Repeats": 0,
  "WhichEventsToUpdate": 0,
  "RepeatEvery": null,
  "RepeatUntil": null,
  "RepeatOnMondays": false,
  "RepeatOnTuesdays": false,
  "RepeatOnWednesdays": false,
  "RepeatOnThursdays": false,
  "RepeatOnFridays": false,
  "RepeatOnSaturdays": false,
  "RepeatOnSundays": false,
  "StartDateLocal": null,
  "EndDateLocal": null,
  "PublishDateLocal": null,
  "AfterEventNotificationJobId": null,
  "SendAfterEventNotification": false,
  "AfterEventNotificationText": null,
  "SendBeforeEventNotification": false,
  "HasEventForm": false,
  "SendEventFormByEmail": false,
  "FormPageId": null,
  "FormPageName": null,
  "Id": 87654321,
  "UpdatedOn": "2025-01-15T10:30:00Z",
  "CreatedOn": "2025-01-10T08:00:00Z",
  "UniqueId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "UpdatedBy": "admin@example.com",
  "IsNew": false,
  "SystemId": null,
  "ToStringText": "CalendarEvent Example",
  "LocalizationDetails": null,
  "CustomFields": null
}
```
