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
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The name of the event (max 255 characters) |
type | string | No | The type of the event: PHYSICAL or VIRTUAL |
shortDescription | string | No | The short description of the event in plain text |
description | string | No | The description of the event |
image | string | No | The image URL for the event |
locationName | string | No | The name of the location (max 255 characters) |
locationAddress | string | No | The address of the location |
locationLink | string | No | The link to the location |
externalLink | string | No | An external link related to the event |
templateId | string (uuid) | No | The template identifier to use for this event |
extraFields | object | No | Additional fields for the event in JSON format |
categoryIds | array of strings (uuid) | No | Array of category IDs to associate with this event |
occurrences | array of objects | No | Array of event occurrences to create with the event |
publishingChannels | array of objects | No | Array of publishing channels where the event will be published |
notifications | array of objects | No | Array of notifications to create for the event |
Occurrence Object (CreateEventOccurrenceDto)
| Field | Type | Required | Description |
|---|---|---|---|
startDate | string (date-time) | Yes | The start date and time of the event occurrence |
endDate | string (date-time) | No | The end date and time of the event occurrence |
capacity | number (min: 0) | Yes | The capacity of the event occurrence |
Publishing Channel Object
| Field | Type | Required | Description |
|---|---|---|---|
name | string | No | Name of the publishing channel |
channelType | string | No | Type of channel: WIDGET, WEBSITE, or SOCIAL |
externalId | string | No | External id provided by the channel |
publishDate | string (date-time) | No | Publish date for the channel |
Notification Object
| Field | Type | Required | Description |
|---|---|---|---|
timing | string | No | Notification timing: BEFORE or AFTER (default: BEFORE) |
timeUnit | string | No | Time unit: MINUTES, HOURS, or DAYS |
timeValue | number | No | Time value for notification timing (integer) |
channel | string | No | Notification channel: EMAIL or SMS |
notificationType | string | No | Notification type to use for notification |
Example Request Body
{
"name": "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",
"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": [
{
"startDate": "2025-12-25T10:00:00.000Z",
"endDate": "2025-12-25T18:00:00.000Z",
"capacity": 100
}
],
"publishingChannels": [
{
"name": "Widget",
"channelType": "WIDGET",
"externalId": "ext-123",
"publishDate": "2025-12-25T10:00:00.000Z"
}
],
"notifications": [
{
"timing": "BEFORE",
"timeUnit": "MINUTES",
"timeValue": 30,
"channel": "EMAIL",
"notificationType": "EVENT_REMINDER"
}
]
}
Response
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": "SLACK",
"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
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | Yes | The unique identifier of the event |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
withTrashed | boolean | No | Include trashed events |
Response
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
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | Yes | The unique identifier of the event |
Request Body
All fields are optional. Only the fields you want to update need to be included.
| Field | Type | Description |
|---|---|---|
name | string | The name of the event (max 255 characters) |
type | string | The type of the event: PHYSICAL or VIRTUAL |
shortDescription | string | The short description of the event in plain text |
description | string | The description of the event |
image | string | The image URL for the event |
locationName | string | The name of the location (max 255 characters) |
locationAddress | string | The address of the location |
locationLink | string | The link to the location |
externalLink | string | An external link related to the event |
templateId | string (uuid) | The template identifier to use for this event |
extraFields | object | Additional fields for the event in JSON format |
categoryIds | array of strings (uuid) | Array of category IDs to associate with this event |
occurrences | array of UpdateEventOccurrenceDto | Array of event occurrences to manage (create, update, or delete) |
publishingChannels | array of UpdateEventPublishingChannelDto | Array of publishing channels to manage (create, update, or delete) |
notifications | array of UpdateEventNotificationDto | Array of notifications to manage (create, update, or delete) |
UpdateEventOccurrenceDto
| Field | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | No | The unique identifier of the event occurrence to update (optional for new occurrences) |
startDate | string (date-time) | Yes | The start date and time of the event occurrence |
endDate | string (date-time) | No | The end date and time of the event occurrence |
capacity | number (min: 0) | Yes | The capacity of the event occurrence |
UpdateEventPublishingChannelDto
| Field | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | No | The unique identifier of the publishing channel to update (optional for new channels) |
name | string | No | Name of the publishing channel |
channelType | string | No | Type of channel: WIDGET, WEBSITE, or SOCIAL |
externalId | string | No | External id provided by the channel |
publishDate | string (date-time) | No | Publish date for the channel |
UpdateEventNotificationDto
| Field | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | No | The unique identifier of the notification to update (optional for new notifications) |
timing | string | No | Notification timing: BEFORE or AFTER (default: BEFORE) |
timeUnit | string | No | Time unit: MINUTES, HOURS, or DAYS |
timeValue | number | No | Time value for notification timing (integer) |
channel | string | No | Notification channel: EMAIL or SMS |
notificationType | string | No | Notification type to use for notification |
Note on nested arrays:
- Without id: Creates a new item
- With id: Updates existing item
- Existing items not included: Will be deleted
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": [
{
"startDate": "2025-12-25T10:00:00.000Z",
"endDate": "2025-12-25T18:00:00.000Z",
"capacity": 150
},
{
"id": "567e8901-e89b-12d3-a456-426614174004",
"startDate": "2025-12-26T10:00:00.000Z",
"endDate": "2025-12-26T18:00:00.000Z",
"capacity": 200
}
]
}
Response
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
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | number | No | Maximum number of items to return (default: 10, min: 1) |
page | number | No | Page number (starts at 1, default: 1, min: 1) |
sort | string | No | Field name and direction to sort results by (default: "createdAt DESC", example: "createdAt DESC") |
search | string | No | Search term to filter events by name or ID |
startDate | string (ISO 8601) | No | Start 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" |
endDate | string (ISO 8601) | No | End 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" |
categories | array of strings (uuid) | No | Array 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"] |
range | string | No | Range filter for ordering events: all, upcoming, past, today, thisWeek, thisMonth, custom |
withTrashed | boolean | No | Include soft-deleted events in the results |
Example Request
GET /api/v1/events?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&page=1&limit=20&sort=name ASC
Response
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
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | Yes | The unique identifier of the event |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
withTrashed | boolean | No | Include trashed events |
Response
Returns the deleted Event object.
Event Object
The Event object represents an event with all its associated data.
Properties
| Property | Type | Description |
|---|---|---|
id | string (uuid) | The unique identifier of the event |
name | string | The name of the event |
slug | string | The slug for the event (URL-friendly identifier) |
type | string | The type of the event: PHYSICAL or VIRTUAL |
shortDescription | string | null | The short description of the event in plain text |
description | string | null | The description of the event |
image | string | null | The image URL for the event |
locationName | string | null | The name of the location |
locationAddress | string | null | The address of the location |
locationLink | string | null | The link to the location |
externalLink | string | null | An external link related to the event |
extraFields | object | Additional data for the event in JSON format |
occurrences | array | The event occurrences associated with this event |
categories | array | The categories associated with this event |
template | object | null | The event template associated with this event |
eventPublishingChannels | array | The publishing channels associated with this event |
notifications | array | The notifications associated with this event |
organization | object | The organization associated with the event |
createdAt | string (ISO 8601) | The date and time the event was created |
updatedAt | string (ISO 8601) | The date and time the event was last updated |
deletedAt | string (ISO 8601) | The deletion date of the event (if deleted) |