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

# Event Object

> An Event is something scheduled in the Riverside Planner — a studio session or a live webinar. Events sit alongside the media hierarchy rather than inside it: an event belongs to a studio, and once it has been recorded its media lands in a project inside that studio.

Events are listed by [Get Events](/endpoints-reference/v3/get-events). Webinar events are also the subject of the [registrant endpoints](/endpoints-reference/v3/get-registrants) and the [webinar webhooks](/webhooks/event-types).

## Sessions and webinars

Both are events and both are returned by Get Events. The difference is whether there is an audience to manage:

* A `session` is a scheduled studio session. No registration form, no public sign-up page, no audience list.
* A `webinar` has a registration form, a public sign-up page, and a list of registrants you can read and add to through the registrant endpoints.

The webinar-only fields — `registration_enabled`, `registrants_count` and `registration_url` — are `false` or `null` on a session. The shape of the object is the same either way, so one parser handles both.

## Occurrences

A recurring event is stored as one event per occurrence. Each occurrence has its own `id`, its own start and end, and — for webinars — its own registrant list. There is no series-level object in the API: to act on a whole series, list the events and iterate the occurrences.

## On-demand webinars are not events

An on-demand webinar has no schedule, no start or end, and no place in the Planner, so it is not an event and never appears in Get Events. Its ID still works with the registrant endpoints — copy it from the on-demand webinars list.

## Fields

`id` Unique identifier for the event. This is the ID behind “Copy event ID” in the Planner, and the ID the registrant endpoints accept.

`name` Title of the event as set in the Planner.

`event_type` Either `session` or `webinar`.

`status` Where the event is in its lifecycle. Derived at request time, not stored.

* `upcoming` the scheduled start is still ahead
* `live` between the scheduled start and the scheduled end
* `ended` the scheduled end has passed, or the session has been recorded

`start_time` Scheduled start of the event.

`end_time` Scheduled end of the event. An event that wrapped early can read `ended` while `end_time` is still in the future.

`studio_id` The studio hosting the event. Studio IDs come from [List Workspace](/endpoints-reference/v3/list-workspace).

`studio_name` Name of the hosting studio.

`registration_enabled` Whether the event has a registration form. Always `false` for sessions.

`registrants_count` Number of registrants on the event's audience list.

`registration_url` Public sign-up page for the webinar — the same link the `webinar.created` webhook delivers. Safe to publish; it is never a per-attendee join link.

`livestream_destinations` Social destinations scheduled for the event, populated before it goes live. Empty when none are configured. Custom RTMP destinations are not part of event scheduling and are not included.

* `platform` the destination platform, e.g. `youtube`, `linkedin`, `facebook`
* `url` public viewing URL of the scheduled broadcast, when the platform provides one

`created_date` Date when the event was created.

For the exact types, nullability and filtering behaviour of each field, see [Get Events](/endpoints-reference/v3/get-events).
