Panopto RemoteRecorderAPI API
Remote Recorder Device API. Warning: this endpoint is for Panopto's hardware partners only and cannot be used without a partner API key.
Remote Recorder Device API. Warning: this endpoint is for Panopto's hardware partners only and cannot be used without a partner API key.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/panopto-remoterecorderapi-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Panopto Public Accessibility Remote Recorder API
description: The public API for Panopto. OpenID & OAuth information can be found at Panopto/oauth2/.well-known/openid-configuration
version: '1'
servers:
- url: https://<PanoptoServerURL>(i.e. example.hosted.panopto.com)/Panopto
tags:
- name: RemoteRecorderAPI
description: 'Remote Recorder Device API. Warning: this endpoint is for Panopto''s hardware partners only and cannot be used without a partner API key.'
paths:
/api/v1/remoteRecorderAPI/remoteRecorder:
put:
tags:
- RemoteRecorderAPI
summary: Register a new remote recorder
description: "Retrieves the remote recorder public ID and credentials to access the RR API.\n Uses BasicAuth requiring a remote recorder registration key from an admin"
operationId: RemoteRecorderAPI_RegisterRemoteRecorder
responses:
'200':
description: The provided client credentials should be used with an oauth2 client flow for the rest of the API, using the 'api' and 'remoteRecorderApi' scopes
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteRecorderRegistrationResponse'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteRecorderRegistrationRequest'
/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/connect:
post:
tags:
- RemoteRecorderAPI
summary: Connect as the provided remote recorder
description: "Remote recorder is identified via the GUID public id\n recorderVersion is a version identifier in the form of \"<vendor>.<product>.<major>.<minor>.<servicing>\"\n buildVersion is the vendor specific build string"
operationId: RemoteRecorderAPI_Connect
parameters:
- name: remoteRecorderPublicId
in: path
required: true
schema:
type: string
format: guid
- name: recorderVersion
in: query
required: true
schema:
type: string
- name: recorderBuild
in: query
required: true
schema:
type: string
responses:
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/disconnect:
post:
tags:
- RemoteRecorderAPI
summary: Disconnect as the provided remote recorder, identified via the GUID public id
operationId: RemoteRecorderAPI_Disconnect
parameters:
- name: remoteRecorderPublicId
in: path
required: true
schema:
type: string
format: guid
responses:
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/heartbeat:
post:
tags:
- RemoteRecorderAPI
summary: Heartbeat and preview as the provided remote recorder
description: "Remote recorder is identified via the GUID public id\n Include options: defaults (provides default quality settings and folder), extendedConfigurations (provides extended configurations)"
operationId: RemoteRecorderAPI_Heartbeat
parameters:
- name: remoteRecorderPublicId
in: path
required: true
schema:
type: string
format: guid
- name: include
in: query
style: form
explode: true
schema:
type: array
items:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteRecorderHeartbeatResponse'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteRecorderHeartbeatData'
/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/schedule:
get:
tags:
- RemoteRecorderAPI
summary: Retrieve a schedule for the next 7 days for the provided remote recorder.As a best practice a new scheduled should be fetched every day even if the schedule version in the heartbeat hasn't changed
operationId: RemoteRecorderAPI_GetSchedule
parameters:
- name: remoteRecorderPublicId
in: path
required: true
schema:
type: string
format: guid
- name: include
in: query
style: form
explode: true
schema:
type: array
items:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteRecorderSchedule'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
post:
tags:
- RemoteRecorderAPI
summary: Update or add a set of scheduled recordings for the provided remote recorder. To add a scheduled recording, the recording should have all relevant fields filled in but an empty (all zeros) guid
operationId: RemoteRecorderAPI_UpdateSchedule
parameters:
- name: remoteRecorderPublicId
in: path
required: true
schema:
type: string
format: guid
responses:
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RemoteRecorderScheduledRecording'
/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/error:
post:
tags:
- RemoteRecorderAPI
summary: Register an error with the provided remote recorder on the server
operationId: RemoteRecorderAPI_Error
parameters:
- name: remoteRecorderPublicId
in: path
required: true
schema:
type: string
format: guid
responses:
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteRecorderError'
/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/legacyLogin:
get:
tags:
- RemoteRecorderAPI
summary: Retrieve a legacy ASPXAUTH cookie
operationId: RemoteRecorderAPI_LegacyLogin
parameters:
- name: remoteRecorderPublicId
in: path
required: true
schema:
type: string
format: guid
responses:
'401':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
/api/v1/remoteRecorderAPI/session/{sessionId}/pause:
post:
tags:
- RemoteRecorderAPI
summary: Pause the recording of the specified session on the server
operationId: RemoteRecorderAPI_PauseRecording
parameters:
- name: sessionId
in: path
required: true
schema:
type: string
format: guid
responses:
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteRecorderPauseRecordingRequest'
/api/v1/remoteRecorderAPI/session/{sessionId}/resume:
post:
tags:
- RemoteRecorderAPI
summary: Resume the recording of the specified session on the server
operationId: RemoteRecorderAPI_ResumeRecording
parameters:
- name: sessionId
in: path
required: true
schema:
type: string
format: guid
responses:
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteRecorderResumeRecordingRequest'
/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/urls:
post:
tags:
- RemoteRecorderAPI
summary: Provides a list of URLs and URL types to present to administrators to help them manage this remote recorder.Calling this replaces all previously reported URLs. URLs are preserved until replaced, so this only needs to be called when they have changed
operationId: RemoteRecorderAPI_ReportRemoteRecorderURLs
parameters:
- name: remoteRecorderPublicId
in: path
required: true
schema:
type: string
format: guid
responses:
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteRecorderURLsUpdateRequest'
/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/liveMonitoring/webRtc/connect:
post:
tags:
- RemoteRecorderAPI
summary: Establishes a new connection which enables the WebRTC-based media preview feature. After this, the client should commence WebRTC session negotiation by sending us an SDP offer.
operationId: RemoteRecorderAPI_WebRtcConnect
parameters:
- name: remoteRecorderPublicId
in: path
required: true
schema:
type: string
format: guid
responses:
'200':
description: ''
content:
application/json:
schema: {}
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'401':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'503':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebRtcConnectPostData'
/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/liveMonitoring/webRtc/disconnect:
post:
tags:
- RemoteRecorderAPI
summary: Destroys the connection which enables the WebRTC-based media preview feature.
operationId: RemoteRecorderAPI_WebRtcDisconnect
parameters:
- name: remoteRecorderPublicId
in: path
required: true
schema:
type: string
format: guid
responses:
'200':
description: ''
content:
application/json:
schema: {}
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'401':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebRtcDisconnectPostData'
/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/liveMonitoring/webRtc/events:
get:
tags:
- RemoteRecorderAPI
summary: After the client has sent us an SDP offer, they should poll this endpoint periodically to receive messages.
description: "After sending the SDP offer, the client should check here for events periodically. This is not a long-polling call,\nso it will return quickly.\n\nPrior to receiving the SDP answer, the client should wait `PingFastInterval` seconds between requests. Five seconds\nafter receiving the SDP answer, the client should wait `PingSlowInterval` seconds between requests.\n\n# Event Types\nThere are several types of events, each of which has a distinct payload.\n\n## IceCandidate\nThis event describes a single ICE candidate related to the SDP answer document. Each ICE candidate\ndescribes a possible endpoint where the client can send SRTP (and SRTCP) payloads.\n\n The payload is a **JSON serialized** object containing 2 fields.\n 1. `Index`: This is a non-negative integer. This is a zero-based index, corresponding to a specific\n section within an SDP answer, where each section begins with an 'm=' line.\n 2. `Candidate`: A single line of text representing the ICE candidate, the format of which is consistent\n with the standard definition for ICE Candidates as defined by SDP standard.\n\n## SdpAnswer\nThis event notifies of a the SDP answer. It is the final description of the session provided by the WebRTC\nsignaling service.\n\n The payload is a Session Description document, as defined by the SDP protocol.\n\n## TemporaryFailure\nThis event notifies of a warning or error, but recovery may still be possible. This is only\ninformational and the remote recorder is expected to take no action.\n\n The payload is human readable additional information about the situation.\n\n## PermanentFailure\nThis event notifies that the WebRTC session is in unrecoverable state. The remote recorder should\nrelease any resource associated with this WebRTC session. It does not need to call the REST endpoint to explicitly\ndisconnect because the server is already aware that WebRTC session is in a bad state, and the standard method for\ngraceful cleanup is no longer possible.\n\n The payload is human readable additional information about the situation."
operationId: RemoteRecorderAPI_WebRtcGetEvents
parameters:
- name: remoteRecorderPublicId
in: path
required: true
schema:
type: string
format: guid
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/WebRtcEventsResponse'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'401':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/liveMonitoring/webRtc/iceCandidates:
post:
tags:
- RemoteRecorderAPI
summary: Sends a batch of ICE candidates from client to signaling server.
description: "Sends a batch of ICE candidates from client (the RTP sender) to signaling server. ICE Candidates are used for the\ntransmission of RTP and RTCP payloads.\n\nThis is a JSON array of ICE candidates, where each ICE candidate is an object containing 2 fields.\n\n1. `Index`: This is a non-negative integer. This is a zero-based index, corresponding to a specific section within an\n SDP offer, where each section begins with an `m=` line.\n2. `Candidate`: A single line of text representing the ICE candidate, the format of which is consistent with the\n standard definition for ICE Candidates as defined by SDP standard. For example:\n `candidate:8 1 TCP 1015022335 fe80::52d3:1968:14ec:8246 9 typ host tcptype active`"
operationId: RemoteRecorderAPI_WebRtcIceCandidates
parameters:
- name: remoteRecorderPublicId
in: path
required: true
schema:
type: string
format: guid
responses:
'200':
description: ''
content:
application/json:
schema: {}
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'401':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebRtcIceCandidates'
/api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/liveMonitoring/webRtc/sdpOffer:
post:
tags:
- RemoteRecorderAPI
summary: The client begins WebRTC session negotiation by submitting an SDP offer.
description: 'This is the next step after starting a new WebRTC connection. The client submits an SDP offer to describe the session
it hopes to create. After this is sent, the client should begin 2 other activities:
1. The client should send ICE candidates as soon as they are known (using another REST endpoint).
2. The client should begin polling for events (using another REST endpoint).
## SessionDescription
The SDP offer is sent as the `SessionDescription` string which is a multi-line string, as defined
by the SDP standard. An example of a `SessionDescription` string is as follows:
```
v=0
o=- 2954795159668969744 0 IN IP4 0.0.0.0
s=-
t=0 0
a=ice-options:trickle
m=audio 9 UDP/TLS/RTP/SAVPF 97
c=IN IP4 0.0.0.0
a=setup:actpass
a=ice-ufrag:JAXcdSTGPa8I57dqpu8zggosj53FsI1P
a=ice-pwd:2bC1EVxNEIqNYm+Id1s7sw7RBmyAbNS2
a=rtcp-mux
a=rtcp-rsize
a=sendrecv
a=rtpmap:97 OPUS/48000/2
a=rtcp-fb:97 nack pli
a=fmtp:97 sprop-maxcapturerate=48000;sprop-stereo=0
a=ssrc:2876771208 msid:user3992408561@host-b8077b5 webrtctransceiver0
a=ssrc:2876771208 cname:user3992408561@host-b8077b5
a=mid:audio0
a=fingerprint:sha-256 66:CD:30:01:9B:76:7E:4D:CA:F2:EF:BC:7C:61:BA:AC:AF:01:E8:72:37:92:9B:28:15:04:D8:D6:6B:0C:78:8B
```'
operationId: RemoteRecorderAPI_WebRtcSdpOffer
parameters:
- name: remoteRecorderPublicId
in: path
required: true
schema:
type: string
format: guid
responses:
'200':
description: ''
content:
application/json:
schema: {}
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'401':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebRtcSdpOfferPostData'
components:
schemas:
RemoteRecorderScheduledRecording:
type: object
required:
- SessionId
- FolderId
- StartTime
- EndTime
- IsBroadcast
- SuppressPrimaryDevices
- SuppressSecondaryDevices
properties:
Id:
type: string
format: guid
SessionId:
type: string
format: guid
SessionName:
type: string
FolderId:
type: string
format: guid
FolderName:
type: string
UserId:
type: string
format: guid
StartTime:
type: number
format: double
EndTime:
type: number
format: double
IsBroadcast:
type: boolean
SuppressPrimaryDevices:
type: boolean
SuppressSecondaryDevices:
type: boolean
PrimaryQualitySettings:
$ref: '#/components/schemas/QualitySettings'
SecondaryQualitySettings:
$ref: '#/components/schemas/QualitySettings'
Configuration:
$ref: '#/components/schemas/RemoteRecorderConfiguration'
WebRtcConnectPostData:
type: object
required:
- OperationType
properties:
OperationType:
$ref: '#/components/schemas/WebRtcConnectOperationType'
RemoteRecorderRegistrationRequest:
type: object
properties:
MachineUniqueIdentifier:
type: string
description: Static, non-changing value uniquely identifing this remote recorder
RecorderVersion:
type: string
description: Must be in the format of "Vendor.Product.Major.Minor.Servicing"
RecorderBuild:
type: string
description: Vendor specfic build version. Format is up to the vendor but must be less than 255 characters
Capabilities:
type: array
description: 'Capabilities of this recorder. Options include: screencapture, slidecapture, highlightmousecursor, capturesystemaudio, 1080p, devicetemplates'
items:
type: string
Description:
type: string
description: Description of this remote recorder - the name presented to users
RemoteRecorderError:
type: object
required:
- Severity
- ErrorType
- ErrorCode
properties:
Severity:
description: Error severity, must be a value other than Invalid
$ref: '#/components/schemas/RemoteRecorderErrorSeverity'
ErrorType:
description: Error category, must be a value other than Invalid
$ref: '#/components/schemas/RemoteRecorderErrorType'
ErrorCode:
type: integer
description: Vendor-specific error code
format: int32
Message:
type: string
description: Error message with a maximum length of 250 characters
AssociatedSessionId:
type: string
description: If this error is associated with a session, which session
format: guid
RemoteRecorderURLType:
type: string
description: ''
x-enumNames:
- Management
- PrimaryPreview
- SecondaryPreview
- Support
- SecondaryPreview2
- SecondaryPreview3
- SecondaryPreview4
enum:
- Management
- PrimaryPreview
- SecondaryPreview
- Support
- SecondaryPreview2
- SecondaryPreview3
- SecondaryPreview4
WebRtcEventType:
type: string
description: ''
x-enumNames:
- Unknown
- IceCandidate
- SdpAnswer
- TemporaryFailure
- PermanentFailure
enum:
- Unknown
- IceCandidate
- SdpAnswer
- TemporaryFailure
- PermanentFailure
RemoteRecorderPauseRecordingRequest:
type: object
required:
- PauseRecordingTime
properties:
PauseRecordingTime:
type: number
description: Pause recording time in UTC file time seconds
format: double
RemoteRecorderConfiguration:
type: object
required:
- CaptureScreen
- CaptureSlides
- CaptureSystemAudio
- HighlightMouseCursor
properties:
PrimaryVideoDevice:
type: string
PrimaryAudioDevice:
type: string
DevicesToIgnore:
type: array
items:
type: string
DevicesToCapture:
type: array
items:
type: string
CaptureScreen:
type: boolean
CaptureSlides:
type: boolean
CaptureSystemAudio:
type: boolean
HighlightMouseCursor:
type: boolean
DeviceDescriptionWithPreview:
type: object
properties:
Device:
$ref: '#/components/schemas/Device'
Preview:
$ref: '#/components/schemas/RemoteRecorderDevicePreview'
DeviceType:
type: string
description: ''
x-enumNames:
- Unknown
- Audio
- Video
- AudioVideo
enum:
- Unknown
- Audio
- Video
- AudioVideo
RemoteRecorderState:
type: string
description: ''
x-enumNames:
- Stopped
- Previewing
- Recording
- Paused
- Faulted
- Disconnected
- RecorderRunning
enum:
- Stopped
- Previewing
- Recording
- Paused
- Faulted
- Disconnected
- RecorderRunning
WebRtcIceCandidate:
type: object
required:
- Index
properties:
Candidate:
type: string
Index:
type: integer
QualitySettings:
type: object
required:
- AudioBitrate
- Framerate
- MultipleBitrateCount
- PixelCount
- VideoBitrate
properties:
AudioBitrate:
type: integer
format: int32
Framerate:
type: integer
format: int32
MultipleBitrateCount:
type: integer
format: int32
PixelCount:
type: integer
format: int32
VideoBitrate:
type: integer
format: int32
WebRtcEvent:
type: object
required:
- EventType
properties:
EventType:
$ref: '#/components/schemas/WebRtcEventType'
Payload:
type: string
RemoteRecorderResumeRecordingRequest:
type: object
required:
- ResumeRecordingTime
properties:
ResumeRecordingTime:
type: number
description: Resume recording time in UTC file time seconds
format: double
APIError:
type: object
properties:
Error:
description: Error result returned if an error occurs in Panopto, otherwise null or missing
$ref: '#/components/schemas/APIErrorInternal'
RemoteRecorderSchedule:
allOf:
- $ref: '#/components/schemas/APIError'
- type: object
required:
- ScheduleId
- ServerTime
properties:
ScheduleId:
type: string
format: guid
ServerTime:
type: number
format: double
Recordings:
type: array
items:
$ref: '#/components/schemas/RemoteRecorderScheduledRecording'
RemoteRecorderHeartbeatData:
type: object
required:
- State
- DiskSpaceFreeMegabytes
- LiveMonitoringBlocked
properties:
State:
$ref: '#/components/schemas/RemoteRecorderState'
DiskSpaceFreeMegabytes:
type: integer
format: int32
CurrentRecordingSessionId:
type: string
format: guid
ConnectedDevicesWithPreviews:
type: array
description: List of connected devices and available previews. If excluded or null, the list of connected devices will not be updated.
items:
$ref: '#/components/schemas/DeviceDescriptionWithPreview'
LiveMonitoringBlocked:
type: boolean
description: If supported, whether or not live audio monitoring is currently blocked.
RemoteRecorderRegistrationResponse:
allOf:
- $ref: '#/components/schemas/APIError'
- type: object
required:
- RemoteRecorderPublicId
- ClientKey
properties:
RemoteRecorderPublicId:
type: string
format: guid
ClientKey:
type: string
format: guid
ClientSecret:
type: string
Device:
type: object
required:
- Type
properties:
DeviceId:
type: string
Name:
type: string
Type:
$ref: '#/components/schemas/DeviceType'
APIErrorInternal:
type: object
required:
- Success
properties:
ErrorCode:
type: string
description: Internal error code
Message:
type: string
Success:
type: boolean
description: If true the call succeed and this is a partial failure (or warning). If false the call failed overall
ErrorSource:
type: string
description: Unique identifier of what caused this error
RemoteRecorderExtendedConfiguration:
type: object
required:
- AudioHistogramModeType
properties:
SecondsToUseNextRecordingTemplate:
type: number
description: The number of seconds prior to the start of the next scheduled recording to apply the recording's template configurations.
format: double
SecondsToDeleteRecordingAfterUpload:
type: number
description: The number of seconds to retain the recording on the client after successful upload of the recording
format: double
ServerTime:
type: number
description: The server time in UTC file seconds
format: double
AudioHistogramModeType:
description: Preferred audio histogram type
$ref: '#/components/schemas/RemoteRecorderAudioHistogramType'
RemoteRecorderURLsUpdateRequest:
type: object
properties:
URLs:
type: array
items:
$ref: '#/components/schemas/RemoteRecorderURL'
RemoteRecorderErrorType:
type: string
description: ''
x-enumNames:
- Invalid
- General
- Device
- Network
- Storage
enum:
- Invalid
- General
- Device
- Network
- Storage
WebRtcSdpOfferPostData:
type: object
properties:
SessionDescription:
type: string
description: The session description document, as defined by the Session Description Protocol (SDP) standard.
RemoteRecorderErrorSeverity:
type: string
description: ''
x-enumNames:
- Invalid
- Critical
- Error
- Warning
enum:
- Invalid
- Critical
- Error
- Warning
RemoteRecorderHeartbeatResponse:
allOf:
- $ref: '#/components/schemas/APIError'
- type: object
required:
- ScheduleVersion
- SettingsVersion
- PingInterval
properties:
ScheduleVersion:
type: string
format: guid
SettingsVersion:
type: string
format: guid
PingInterval:
type: integer
format: int32
Configuration:
$ref: '#/components/schemas/RemoteRecorderConfiguration'
RecordingSessionIsPaused:
type: boolean
description: Indicates whether the current recording (as per CurrentRecordingSessionId) is in a paused state. This parameter will not be emitted if no CurrentRecordingSessionId is provided.
LiveMonitoring:
description: "This is an object that tells the Remote Recorder how to perform live monitoring. If null then the Remote Recorder\nshould NOT perform live monitoring. This object has 2 fields:\n \n'Mode': The type of live monitoring to perform.\n\n'Id': This is a string id. If this string changes, then the Remote Recorder needs to shut down\n its existing WebRTC session (if there is one) and negotiate a new one."
$ref: '#/components/schemas/LiveMonitoringHeartbeatResponseData'
DefaultFolder:
type: string
format: guid
DefaultPrimaryQualitySettings:
$ref: '#/components/schemas/QualitySettings'
DefaultSecondaryQualitySettings:
$ref: '#/compo
# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/panopto/refs/heads/main/openapi/panopto-remoterecorderapi-api-openapi.yml