# Pearl REST API create ad-hoc CMS events and manage login sessions

An ad-hoc event is created on demand rather than pulled from a CMS schedule. Ad-hoc event creation is supported for Kaltura CMS, Panopto CMS, and Opencast CMS, and, with firmware 4.24.6 or newer, for EchoVideo on Pearl-2, Pearl Mini, and Pearl Nexus.

*Applies to: Pearl-2, Pearl Mini, Pearl Nexus, Pearl Nano.*

```
POST /api/v2.0/schedule/events
```

**How creation behaves differs by CMS.**

- **Kaltura CMS** — the event is added to the local scheduling database and an internal event identifier is returned immediately. The event is not created on the Kaltura server side.
- **Panopto CMS and Opencast CMS** — the event is created on the CMS server, and a schedule synchronization (refresh) is required before the new ad-hoc event appears in the local scheduling database.

**Shared body fields** are `title`, `duration` (minimum 60 seconds), and `start`. The `start` value is relative or absolute: a value from 0 to 31536000 is a number of seconds relative to the current system time, and 31536001 or above is a Unix timestamp in seconds.

**Kaltura-specific fields** include `type` (`vod`, `live`, or `vod-live`), `organizer`, `description`, `tags`, `categories`, `recorders` (channel IDs for `vod` and `vod-live`), `live` (the channel used for `live` and `vod-live`), `live_backup`, `live_rtmps`, and `primaryStream`.

**Panopto-specific fields** are `type` (`vod` or `live`) and `folder`, a destination folder UUID. If `folder` is omitted, the default folder from the current ad-hoc session is used.

**Opencast-specific fields** are `subject` and `description`.

**EchoVideo** ad hoc events take only three parameters: title, duration, and event type. They use the Default profile set in EchoVideo for the device running the event. **Ad hoc webcasts started through the REST API are not supported by EchoVideo.** A live (webcast or streamed) ad hoc event created this way is forced to be a VOD event.

**YuJa does not support creating ad hoc events from a Pearl device, including through the REST API.**

**Ad-hoc login sessions.** A short-lived session, one hour, holds the credentials used to create ad-hoc events. Ad-hoc login sessions are supported only for Kaltura CMS and Panopto CMS. Opencast CMS and EchoVideo do not require authentication to create ad hoc events, so they do not use an ad-hoc login session.

| Method and path | What it does |
| --- | --- |
| `GET /schedule/events/adhoc/session` | Returns the current ad-hoc session |
| `POST /schedule/events/adhoc/session` | Starts a session (login) |
| `DELETE /schedule/events/adhoc/session` | Ends the session (logout) |

Kaltura login takes an `id` — a user ID or email address — and returns the resolved user ID and full name. Panopto login takes `id` and `password` and is used to obtain an OAuth2 access token on behalf of that user.

If the configuration option **Automatically logout** is on, an active ad-hoc login session is automatically deleted after an ad-hoc event is created successfully. For a Kaltura event created without an active session, `organizer` must be specified explicitly.

> product: pearl-family · topic: cms-integration · source: pearl-rest-api.md · updated: Oct 7, 2026
