Skip to main content

Events

The Events API allows you to create, retrieve, update, and delete events. Events are the main entity in the iEvents system and can include occurrences, categories, publishing channels, and notifications.

Authentication

All requests to the Events API must be authenticated using the ONLIVE.SITE authentication scheme. Please refer to the Authentication Guide for detailed instructions.

Base URL

https://openapi.onlive.site/api/v1/events

Endpoints


Create Event

Creates a new event with the provided information.

HTTP Request

POST /api/v1/events

Request Body

FieldTypeRequiredDescription
namestringYesThe name of the event (max 255 characters)
organizationIdstring (uuid)NoThe organization identifier
typestringNoThe type of the event: PHYSICAL or VIRTUAL
shortDescriptionstringNoThe short description of the event in plain text
descriptionstringNoThe description of the event
imagestringNoThe image URL for the event
imageBase64stringNoThe image as base64 encoded string. If provided, this will be uploaded and the URL will be used as the event image
imageExternalstringNoAn external image URL for the event. When provided, it is used as the event image instead of image
datelessEventbooleanNoWhether the event is dateless (has no specific start/end dates) (default: false)
userGroupIdstring (uuid)NoWhen provided, takes precedence over the authenticated user's user group ID
locationNamestringNoThe name of the location (max 255 characters)
locationAddressstringNoThe address of the location
locationLinkstringNoThe link to the location
externalLinkstringNoAn external link related to the event
groupOccurrencesbooleanNoWhether the event should display occurrences as grouped. When true, public event listings will show the event once with all date ranges (default: false)
templateIdstring (uuid)NoThe template identifier to use for this event
extraFieldsobjectNoAdditional fields for the event in JSON format
categoryIdsarray of strings (uuid)NoArray of category IDs to associate with this event
occurrencesobjectNoOccurrences to create with the event
recurrencesobjectNoRecurrences to create for the event. Recurrences define repeating patterns that generate occurrences automatically
publishingChannelsobjectNoPublishing channels to create for the event
notificationsobjectNoNotifications to create for the event

Occurrence Object (CreateEventOccurrenceDto)

FieldTypeRequiredDescription
startDatestring (date-time)NoThe start date and time of the event occurrence (nullable)
endDatestring (date-time)NoThe end date and time of the event occurrence (nullable)
capacitynumber (min: 0)YesThe capacity of the event occurrence
statusstringNoThe status to set for the occurrence: ACTIVE, INACTIVE, CANCELLED, FINALIZED
showingstringNoThe showing status of the event occurrence: AUTO, SHOW, HIDE

Recurrence Object (CreateEventRecurrenceDto)

FieldTypeRequiredDescription
rrulestringYesThe RRULE string defining the recurrence pattern (RFC 5545 format). Example: FREQ=WEEKLY;BYDAY=MO,WE,FR;UNTIL=20251231T235959Z
startDatestring (date-time)YesThe start date and time for the recurrence pattern
endDatestring (date-time)NoThe end date and time for each occurrence in the recurrence
capacitynumber (min: 0)YesThe capacity for each occurrence generated by this recurrence
excludedDatesarray of strings (date-time)NoArray of dates to exclude from the recurrence pattern
enabledbooleanNoWhether the recurrence is enabled (default: true)

Publishing Channel Object (CreateEventPublishingChannelDto)

FieldTypeRequiredDescription
namestringYesName of the publishing channel
channelTypestringYesType of channel: WIDGET, WEBSITE, or SOCIAL
externalIdstringNoExternal id provided by the channel
publishDatestring (date-time)NoPublish date for the channel
urlstringNoURL for the publishing channel

Notification Object (CreateEventNotificationDto)

FieldTypeRequiredDescription
timeValuenumberYesTime before/after occurrence to send notification (integer)
timeUnitstringYesTime unit: MINUTES, HOURS, or DAYS
channelstringYesNotification channel: EMAIL or SMS
notificationTypestringYesNotification type to use for notification (e.g., EVENT_REMINDER)
timingstringYesNotification timing: BEFORE, AFTER, or SPECIFIC_DATE (default: BEFORE)
specificDatestring (date-time)NoSpecific date for sending notification when timing is SPECIFIC_DATE (ISO 8601 format)
referenceDatestringNoReference date for the notification: EVENT_START or EVENT_END
emailFieldstringNoEmail field identifier for dynamic email targeting (max 255 characters)
metadataobjectNoAdditional metadata for the notification

Example Request Body

{
"name": "Annual Tech Conference 2025",
"type": "PHYSICAL",
"shortDescription": "Annual tech conference featuring keynote speakers and workshops",
"description": "Join us for the biggest tech conference of the year featuring keynote speakers, workshops, and networking opportunities.",
"image": "https://example.com/images/conference-2025.jpg",
"locationName": "Convention Center",
"locationAddress": "123 Main St, City, State 12345",
"locationLink": "https://maps.google.com/?q=Convention+Center",
"externalLink": "https://external-website.com/event-details",
"groupOccurrences": false,
"templateId": "456e7890-e89b-12d3-a456-426614174001",
"extraFields": {
"title": "Conference 2025",
"description": "Annual tech conference"
},
"categoryIds": [
"123e4567-e89b-12d3-a456-426614174004",
"456e7890-e89b-12d3-a456-426614174005"
],
"occurrences": {
"create": [
{
"startDate": "2025-12-25T10:00:00.000Z",
"endDate": "2025-12-25T18:00:00.000Z",
"capacity": 100,
"status": "ACTIVE"
}
]
},
"recurrences": {
"create": [
{
"rrule": "FREQ=WEEKLY;BYDAY=MO,WE,FR;UNTIL=20251231T235959Z",
"startDate": "2025-12-25T10:00:00.000Z",
"endDate": "2025-12-25T18:00:00.000Z",
"capacity": 100,
"enabled": true
}
]
},
"publishingChannels": {
"create": [
{
"name": "Default Widget",
"channelType": "WIDGET",
"externalId": "ext-123",
"publishDate": "2025-12-25T10:00:00.000Z"
}
]
},
"notifications": {
"create": [
{
"timeValue": 30,
"timeUnit": "MINUTES",
"channel": "EMAIL",
"notificationType": "EVENT_REMINDER",
"timing": "BEFORE",
"referenceDate": "EVENT_START"
}
]
}
}

Response

201 Created

Returns the created Event object.

Example Response

{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Annual Tech Conference 2025",
"slug": "annual-tech-conference-2025",
"description": "Join us for the biggest tech conference of the year featuring keynote speakers, workshops, and networking opportunities.",
"image": "https://example.com/images/conference-2025.jpg",
"extraFields": {
"title": "Conference 2025",
"description": "Annual tech conference"
},
"occurrences": [
{
"id": "789e0123-e89b-12d3-a456-426614174006",
"startDate": "2025-12-25T10:00:00.000Z",
"endDate": "2025-12-25T18:00:00.000Z"
}
],
"categories": [
{
"id": "123e4567-e89b-12d3-a456-426614174004",
"name": "Technology"
}
],
"template": {
"id": "456e7890-e89b-12d3-a456-426614174001",
"name": "Conference Template"
},
"eventPublishingChannels": [
{
"id": "890e1234-e89b-12d3-a456-426614174007",
"name": "Widget",
"channelType": "WIDGET",
"externalId": "ext-123",
"publishDate": "2025-12-25T10:00:00.000Z"
}
],
"notifications": [
{
"id": "901e2345-e89b-12d3-a456-426614174008",
"timing": "BEFORE",
"timeUnit": "MINUTES",
"timeValue": 30,
"channel": "EMAIL",
"notificationType": "EVENT_REMINDER"
}
],
"createdAt": "2025-10-12T10:30:00.000Z",
"updatedAt": "2025-10-12T10:30:00.000Z"
}

Get Event

Retrieves a specific event by its ID.

HTTP Request

GET /api/v1/events/{id}

Path Parameters

ParameterTypeRequiredDescription
idstring (uuid)YesThe unique identifier of the event

Query Parameters

ParameterTypeRequiredDescription
withTrashedbooleanNoInclude trashed events

Response

200 OK

Returns the Event object.

Example Response

{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Annual Tech Conference 2025",
"slug": "annual-tech-conference-2025",
"description": "Join us for the biggest tech conference of the year featuring keynote speakers, workshops, and networking opportunities.",
"image": "https://example.com/images/conference-2025.jpg",
"extraFields": {
"title": "Conference 2025",
"description": "Annual tech conference"
},
"occurrences": [],
"categories": [],
"template": null,
"eventPublishingChannels": [],
"notifications": [],
"createdAt": "2025-10-12T10:30:00.000Z",
"updatedAt": "2025-10-12T10:30:00.000Z"
}

Update Event

Updates an existing event.

HTTP Request

PUT /api/v1/events/{id}

Path Parameters

ParameterTypeRequiredDescription
idstring (uuid)YesThe unique identifier of the event

Request Body

All fields are optional. Only the fields you want to update need to be included.

FieldTypeDescription
namestringThe name of the event (max 255 characters)
typestringThe type of the event: PHYSICAL or VIRTUAL
shortDescriptionstringThe short description of the event in plain text
descriptionstringThe description of the event
imagestringThe image URL for the event
imageBase64stringThe image as base64 encoded string. If provided, this will be uploaded and the URL will be used as the event image
imageExternalstringAn external image URL for the event. When provided, it is used as the event image instead of image
datelessEventbooleanWhether the event is dateless (has no specific start/end dates)
userGroupIdstring (uuid)When provided, takes precedence over the authenticated user's user group ID
locationNamestringThe name of the location (max 255 characters)
locationAddressstringThe address of the location
locationLinkstringThe link to the location
externalLinkstringAn external link related to the event
groupOccurrencesbooleanWhether the event should display occurrences as grouped
templateIdstring (uuid)The template identifier to use for this event
extraFieldsobjectAdditional fields for the event in JSON format
categoryIdsarray of strings (uuid)Array of category IDs to associate with this event
occurrencesobjectOccurrences to create, update, or delete (see ManageEventOccurrencesDto)
recurrencesobjectRecurrences to create, update, or delete (see ManageEventRecurrencesDto)
publishingChannelsobjectPublishing channels to create, update, or delete (see ManageEventPublishingChannelsDto)
notificationsobjectNotifications to create, update, or delete (see ManageEventNotificationsDto)

ManageEventOccurrencesDto

FieldTypeDescription
createarrayArray of new occurrences to create (CreateEventOccurrenceDto)
updatearrayArray of existing occurrences to update (UpdateEventOccurrenceDto - id is required)
deletearrayArray of occurrence ids to delete (DeleteEventRelationDto)

UpdateEventOccurrenceDto

FieldTypeRequiredDescription
idstring (uuid)YesThe unique identifier of the event occurrence to update
startDatestring (date-time)NoThe start date and time of the event occurrence (nullable)
endDatestring (date-time)NoThe end date and time of the event occurrence (nullable)
capacitynumber (min: 0)YesThe capacity of the event occurrence
statusstringNoThe status to set for the occurrence: ACTIVE, INACTIVE, CANCELLED, FINALIZED
showingstringNoThe showing status: AUTO, SHOW, HIDE
cancellationMessagestringNoOptional message explaining the reason for cancellation (max 1000 characters)

UpdateEventRecurrenceDto

FieldTypeRequiredDescription
idstring (uuid)YesThe unique identifier of the recurrence to update
rrulestringNoThe RRULE string defining the recurrence pattern (RFC 5545 format)
startDatestring (date-time)NoThe start date and time for the recurrence pattern
endDatestring (date-time)NoThe end date and time for each occurrence in the recurrence
capacitynumber (min: 0)NoThe capacity for each occurrence generated by this recurrence
excludedDatesarray of stringsNoArray of dates to exclude from the recurrence pattern
enabledbooleanNoWhether the recurrence is enabled

UpdateEventPublishingChannelDto

FieldTypeRequiredDescription
idstring (uuid)YesThe unique identifier of the publishing channel to update
namestringNoName of the publishing channel
channelTypestringNoType of channel: WIDGET, WEBSITE, or SOCIAL
externalIdstringNoExternal id provided by the channel
publishDatestring (date-time)NoPublish date for the channel
urlstringNoURL for the publishing channel

UpdateEventNotificationDto

FieldTypeRequiredDescription
idstring (uuid)YesThe unique identifier of the notification to update
timeValuenumberNoTime before/after occurrence to send notification (integer)
timeUnitstringNoTime unit: MINUTES, HOURS, or DAYS
channelstringNoNotification channel: EMAIL or SMS
notificationTypestringNoNotification type to use for notification
timingstringNoNotification timing: BEFORE, AFTER, or SPECIFIC_DATE
specificDatestring (date-time)NoSpecific date for sending notification when timing is SPECIFIC_DATE
referenceDatestringNoReference date for the notification: EVENT_START or EVENT_END
emailFieldstringNoEmail field identifier for dynamic email targeting (max 255 characters)
metadataobjectNoAdditional metadata for the notification

DeleteEventRelationDto

FieldTypeRequiredDescription
idstring (uuid)YesThe unique identifier of the entity to delete

Example Request Body

{
"name": "Updated Annual Tech Conference 2025",
"description": "Join us for the updated biggest tech conference of the year featuring keynote speakers, workshops, and networking opportunities.",
"occurrences": {
"create": [
{
"startDate": "2025-12-25T10:00:00.000Z",
"endDate": "2025-12-25T18:00:00.000Z",
"capacity": 150
}
],
"update": [
{
"id": "567e8901-e89b-12d3-a456-426614174004",
"startDate": "2025-12-26T10:00:00.000Z",
"endDate": "2025-12-26T18:00:00.000Z",
"capacity": 200,
"status": "ACTIVE"
}
],
"delete": [
{
"id": "789e0123-e89b-12d3-a456-426614174006"
}
]
},
"recurrences": {
"update": [
{
"id": "recurrence-id-123",
"enabled": false
}
]
}
}

Response

200 OK

Returns the updated Event object.


Search Events

Retrieves a paginated list of events based on query parameters.

HTTP Request

GET /api/v1/events

Query Parameters

ParameterTypeRequiredDescription
limitnumberNoMaximum number of items to return (default: 10, min: 1)
pagenumberNoPage number (starts at 1, default: 1, min: 1)
sortstringNoField name and direction to sort results by (default: "createdAt DESC", example: "createdAt DESC")
organizationIdstring (uuid)NoFilter events by organization ID
searchstringNoSearch term to filter events by name or ID
startDatestring (ISO 8601)NoStart date for filtering events (ISO 8601 format). Returns events with at least one occurrence on or after this date. Example: "2025-10-01T00:00:00.000Z"
endDatestring (ISO 8601)NoEnd date for filtering events (ISO 8601 format). Returns events with at least one occurrence on or before this date. Example: "2025-12-31T23:59:59.999Z"
categoriesarray of strings (uuid)NoArray of category UUIDs to filter events. Returns events that belong to at least one of these categories. Example: ["550e8400-e29b-41d4-a716-446655440000", "550e8400-e29b-41d4-a716-446655440001"]
rangestringNoRange filter for ordering events: all, upcoming, past, today, thisWeek, thisMonth, custom
withTrashedbooleanNoInclude soft-deleted events in the results
userGroupIdstring (uuid)NoFilter events by user group ID
templateIdstring (uuid)NoFilter events by template ID
templateSlugstringNoFilter events by template slug

Example Request

GET /api/v1/events?organizationId=987e6543-e21a-34b5-c678-426614174000&search=Conference&startDate=2025-10-01T00:00:00.000Z&endDate=2025-12-31T23:59:59.999Z&categories=550e8400-e29b-41d4-a716-446655440000&categories=550e8400-e29b-41d4-a716-446655440001&templateSlug=annual-conference&page=1&limit=20&sort=name ASC

Response

200 OK

Returns a paginated response with an array of Event objects.

Example Response

{
"count": 1,
"total": 1,
"currentPage": 1,
"totalPages": 1,
"items": [],
"data": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Annual Tech Conference 2025",
"slug": "annual-tech-conference-2025",
"description": "Join us for the biggest tech conference of the year.",
"image": "https://example.com/images/conference-2025.jpg",
"extraFields": {},
"occurrences": [],
"categories": [],
"template": null,
"eventPublishingChannels": [],
"notifications": [],
"createdAt": "2025-10-12T10:30:00.000Z",
"updatedAt": "2025-10-12T10:30:00.000Z"
}
]
}

Delete Event

Deletes an event by its ID.

HTTP Request

DELETE /api/v1/events/{id}

Path Parameters

ParameterTypeRequiredDescription
idstring (uuid)YesThe unique identifier of the event

Query Parameters

ParameterTypeRequiredDescription
withTrashedbooleanNoInclude trashed events

Response

200 OK

Returns the deleted Event object.


Event Object

The Event object represents an event with all its associated data.

Properties

PropertyTypeDescription
idstring (uuid)The unique identifier of the event
createdAtstring (ISO 8601)The date and time the event was created
updatedAtstring (ISO 8601)The date and time the event was last updated
namestringThe name of the event (max 255 characters)
slugstringThe slug for the event (URL-friendly identifier) (max 255 characters)
typestringThe type of the event: PHYSICAL or VIRTUAL
shortDescriptionstring | nullThe short description of the event in plain text
descriptionstring | nullThe description of the event
imagestring | nullThe image URL for the event
locationNamestring | nullThe name of the location (max 255 characters)
locationAddressstring | nullThe address of the location
locationLinkstring | nullThe link to the location (e.g., Google Maps URL)
externalLinkstring | nullAn external link related to the event
groupOccurrencesbooleanWhether the event should display occurrences as grouped. When true, public event listings will show the event once with all date ranges
extraFieldsobjectAdditional data for the event in JSON format
occurrencesarrayThe event occurrences associated with this event
categoriesarrayThe categories associated with this event
templateobject | nullThe event template associated with this event
eventPublishingChannelsarrayThe publishing channels associated with this event
notificationsarrayThe notifications associated with this event
organizationobjectThe organization associated with the event (contains id and name)
deletedAtstring (ISO 8601) | nullThe deletion date of the event (if deleted)