canonical: https://jentic.com/apis/panopto.com/panopto-api

# Panopto Public API

Jentic publishes the only available OpenAPI specification for Panopto Public API, keeping it validated and agent-ready. The Panopto Public API enables management of remote recorders, recording sessions, live monitoring, and authentication for the Panopto video platform. It powers automated lecture capture, remote recording control, and session management for educational institutions and enterprises using Panopto's video platform.

## For AI agents

Manage remote recorders, control recording sessions, monitor live streams, and handle authentication across 8 endpoints.

## Scope

Does not handle video content management, transcoding, or player customization - use for remote recorder management and session control only.

## Capabilities

- Authenticate using legacy login method
- Register a new remote recorder with the system
- Connect and disconnect remote recorders
- Send heartbeat signals to maintain recorder connections
- Retrieve recording schedules for remote recorders
- Pause and resume active recording sessions

## Use cases

### Remote Recorder Management

Register and manage remote recording devices in the Panopto platform. POST `/api/v1/remoteRecorderAPI/remoteRecorder` registers a new recorder, followed by POST `/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/connect` to establish connection. Maintain connection with periodic POST heartbeat calls.

Example prompt: POST `/api/v1/remoteRecorderAPI/remoteRecorder` to register, then POST /connect to establish connection, followed by periodic heartbeat calls

### Recording Session Control

Control active recording sessions with pause and resume operations. POST `/api/v1/remoteRecorderAPI/session/{sessionId}/pause` pauses recording, and POST /resume restarts it. Essential for lecture capture workflows where instructors need session control without stopping the entire recording.

Example prompt: POST `/api/v1/remoteRecorderAPI/session/{sessionId}/pause` to pause, and POST /resume to continue recording

### Schedule-Driven Recording

Retrieve and manage recording schedules for remote recorders. GET `/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/schedule` returns scheduled recording times and configurations, enabling automated lecture capture based on class schedules.

Example prompt: GET `/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/schedule` to retrieve recording schedule

### Agent-Driven Video Platform Management via Jentic

An AI agent managing educational technology infrastructure can register recorders, control recording sessions, and monitor schedules through Jentic without exposing bearer authentication tokens in agent context. Jentic resolves intents like 'pause the recording' to the right Panopto endpoint.

Example prompt: Search Jentic for 'pause a recording session', load the POST `/session/{sessionId}/pause` schema, and execute

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/v1/auth/legacyLogin` | Legacy login authentication |
| POST | `/api/v1/remoteRecorderAPI/remoteRecorder` | Register remote recorder |
| POST | `/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/connect` | Connect remote recorder |
| POST | `/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/disconnect` | Disconnect remote recorder |
| POST | `/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/heartbeat` | Remote recorder heartbeat |
| GET | `/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/schedule` | Get recorder schedule |
| POST | `/api/v1/remoteRecorderAPI/session/{sessionId}/pause` | Pause recording session |
| POST | `/api/v1/remoteRecorderAPI/session/{sessionId}/resume` | Resume recording session |

## Key resources

- **Authentication** — Legacy login authentication for API access
- **RemoteRecorder** — Remote recorder registration, connection, and schedule management
- **Session** — Recording session control with pause and resume operations

## Why Jentic

- **Setup:** Wiring the Panopto API by hand means handling its bearer-token auth, pointing at your own Panopto server host, obtaining a token through legacy login, and building your own retry and error handling. Through Jentic you install once, import the Panopto Public API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Panopto puts the recorder and session ids in the URL path (`/remoteRecorder/{remoteRecorderPublicId}` and `/session/{sessionId}`), so a rule can pin your agent to one recorder or session and the operations you approve. You choose the operations it may call, so disconnecting a recorder is not included unless you add it.
- **Credential handling:** Your Panopto token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'pause a recording' or 'register a remote recorder', and Jentic returns the matching Panopto operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Zoom API** — Video conferencing platform with recording capabilities and meeting management
- **Vimeo API** — Vimeo's video hosting and processing platform, a polished alternative to Panopto for uploading, transcoding, and delivering media.

## FAQ

### Why is there no official OpenAPI spec for Panopto Public API?

Panopto does not publish a complete OpenAPI specification for their public API endpoints. Jentic generates and maintains this spec so that AI agents and developers can call Panopto Public API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Panopto Public API use?

The Panopto Public API uses bearer token authentication. Through Jentic, the token is stored in the encrypted vault and injected at execution time so it never enters the agent's prompt context.

### Can I control recording sessions with the Panopto Public API?

Yes. POST `/api/v1/remoteRecorderAPI/session/{sessionId}/pause` pauses an active recording, and POST /resume restarts it. These endpoints enable real-time control of lecture capture and video recording sessions.

### How do I register a remote recorder with Panopto?

POST `/api/v1/remoteRecorderAPI/remoteRecorder` registers a new remote recorder. After registration, use POST /connect with the remoteRecorderPublicId to establish connection, and maintain it with periodic heartbeat calls.

### What is the purpose of the heartbeat endpoint?

POST `/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/heartbeat` keeps the remote recorder connection active. Send periodic heartbeat requests to prevent connection timeout and ensure the recorder remains available for scheduled recordings.

### Can I retrieve recording schedules via the API?

Yes. GET `/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/schedule` returns the recording schedule for a specific remote recorder, including scheduled times and configurations for automated lecture capture.

### Can I limit what my agent is allowed to do with the Panopto API?

Yes. Because you run Jentic One yourself, your own rules decide which Panopto operations and credentials the agent may use. Panopto puts the recorder and session ids in the URL path, such as `/remoteRecorder/{remoteRecorderPublicId}` and `/session/{sessionId}`, so you can pin the agent to a single recorder or session and to only the operations you approve, like pausing and resuming a recording or reading a schedule. Operations you do not approve, such as disconnecting a recorder, stay off limits unless you explicitly add them.
