Panopto Agentic Access
Panopto exposes 89 API operations that an AI agent could call, of which 50 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.
By consequence: 39 read, 37 write, and 13 physical.
Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.
By consequence
Highest-consequence actions
The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.
| Method | Path | Consequence | Human-in-loop |
|---|---|---|---|
| PUT | /api/v1/remoteRecorderAPI/remoteRecorder | physical | conditional |
| POST | /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/connect | physical | conditional |
| POST | /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/disconnect | physical | conditional |
| POST | /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/error | physical | conditional |
| POST | /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/heartbeat | physical | conditional |
| POST | /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/liveMonitoring/webRtc/connect | physical | conditional |
| POST | /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/liveMonitoring/webRtc/disconnect | physical | conditional |
| POST | /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/liveMonitoring/webRtc/iceCandidates | physical | conditional |
| POST | /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/liveMonitoring/webRtc/sdpOffer | physical | conditional |
| POST | /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/schedule | physical | conditional |
| POST | /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/urls | physical | conditional |
| POST | /api/v1/remoteRecorderAPI/session/{sessionId}/pause | physical | conditional |
| POST | /api/v1/remoteRecorderAPI/session/{sessionId}/resume | physical | conditional |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/panopto-rest-api.json
description: Recommended x-agentic-access execution contracts, classified heuristically from
the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind
audience per deployment. See research/curity/agentic-governance/.
summary:
operations: 89
by_action_class:
connected: 39
acting: 50
by_consequence:
read: 39
physical: 13
write: 37
human_in_the_loop_required: 0
operations:
- path: /api/v1/auth/legacyLogin
method: get
operationId: Auth_LegacyLogin
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/remoteRecorderAPI/remoteRecorder
method: put
operationId: RemoteRecorderAPI_RegisterRemoteRecorder
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/connect
method: post
operationId: RemoteRecorderAPI_Connect
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/disconnect
method: post
operationId: RemoteRecorderAPI_Disconnect
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/heartbeat
method: post
operationId: RemoteRecorderAPI_Heartbeat
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/schedule
method: get
operationId: RemoteRecorderAPI_GetSchedule
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/schedule
method: post
operationId: RemoteRecorderAPI_UpdateSchedule
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/error
method: post
operationId: RemoteRecorderAPI_Error
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/legacyLogin
method: get
operationId: RemoteRecorderAPI_LegacyLogin
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/remoteRecorderAPI/session/{sessionId}/pause
method: post
operationId: RemoteRecorderAPI_PauseRecording
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/remoteRecorderAPI/session/{sessionId}/resume
method: post
operationId: RemoteRecorderAPI_ResumeRecording
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/urls
method: post
operationId: RemoteRecorderAPI_ReportRemoteRecorderURLs
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/liveMonitoring/webRtc/connect
method: post
operationId: RemoteRecorderAPI_WebRtcConnect
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/liveMonitoring/webRtc/disconnect
method: post
operationId: RemoteRecorderAPI_WebRtcDisconnect
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/liveMonitoring/webRtc/events
method: get
operationId: RemoteRecorderAPI_WebRtcGetEvents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/liveMonitoring/webRtc/iceCandidates
method: post
operationId: RemoteRecorderAPI_WebRtcIceCandidates
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/remoteRecorderAPI/remoteRecorder/{remoteRecorderPublicId}/liveMonitoring/webRtc/sdpOffer
method: post
operationId: RemoteRecorderAPI_WebRtcSdpOffer
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/accessibility/bulk/preview
method: post
operationId: Accessibility_PreviewBulkAccessibility
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/accessibility/bulk/schedule
method: post
operationId: Accessibility_ScheduleBulkAccessibility
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/captionproviders
method: get
operationId: CaptionProviders_GetCaptionProviders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/reports/{id}
method: get
operationId: Reports_GetReportFromId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/portal/{portalId}/user
method: post
operationId: XfpUserProfiles_Create
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/portal/{portalId}/user
method: get
operationId: XfpUserProfiles_List
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/portal/{portalId}/user/{userId}
method: delete
operationId: XfpUserProfiles_Delete
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/portal/{portalId}/user/{userId}
method: put
operationId: XfpUserProfiles_Update
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/portal/{portalId}/user/bulk-create
method: post
operationId: XfpUserProfiles_BulkCreate
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/portal/{portalId}/user/bulk-delete
method: post
operationId: XfpUserProfiles_BulkDelete
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/folders/{id}
method: get
operationId: Folders_GetFolderById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/folders/{id}
method: put
operationId: Folders_UpdateFolderMetadata
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/folders/{id}
method: delete
operationId: Folders_DeleteFolder
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/folders/{id}/children
method: get
operationId: Folders_GetChildFolders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/folders/{id}/sessions
method: get
operationId: Folders_GetSessions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/folders/{id}/sessions/search
method: get
operationId: Folders_SearchSessionsInFolder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/folders/{id}/playlists
method: get
operationId: Folders_GetPlaylists
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/folders/{id}/settings/access
method: get
operationId: Folders_GetAccessSettings
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/folders/{id}/settings/access
method: put
operationId: Folders_UpdateAccessSettings
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/folders/{id}/settings
method: get
operationId: Folders_GetSettings
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/folders/{id}/settings
method: put
operationId: Folders_UpdateSettings
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/folders/{id}/permissions
method: get
operationId: Folders_GetPermissions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/folders/{id}/permissions
method: post
operationId: Folders_CreatePermission
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/folders/{id}/permissions
method: delete
operationId: Folders_DeletePermission
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/folders
method: post
operationId: Folders_CreateFolder
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/folders/search
method: get
operationId: Folders_SearchForFolders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/folders/creator
method: get
operationId: Folders_GetCreatorFoldersList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/groups/search
method: get
operationId: Groups_Search
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/playlists/{id}
method: get
operationId: Playlists_GetPlaylistById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/playlists/{id}
method: put
operationId: Playlists_UpdatePlaylistMetadata
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/playlists/{id}
method: delete
operationId: Playlists_DeletePlaylist
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/playlists/{id}/sessions
method: get
operationId: Playlists_GetSessionsForPlaylist
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/playlists/{id}/sessions
method: put
operationId: Playlists_AddSessionToPlaylist
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/playlists
method: post
operationId: Playlists_CreatePlaylist
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/playlists/search
method: get
operationId: Playlists_SearchForPlaylists
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/playlists/{id}/sessions/{sessionId}
method: delete
operationId: Playlists_RemoveSessionFromPlaylist
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/remoteRecorders/search
method: get
operationId: RemoteRecorders_SearchForRemoteRecorders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/scheduledRecordings/{id}
method: get
operationId: ScheduledRecordings_GetScheduledRecordingById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/scheduledRecordings/{id}
method: put
operationId: ScheduledRecordings_UpdateScheduledRecording
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/scheduledRecordings/{id}
method: delete
operationId: ScheduledRecordings_CancelScheduledRecording
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/scheduledRecordings
method: post
operationId: ScheduledRecordings_CreateScheduledRecording
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/searchIndexSync/updates
method: get
operationId: SearchIndexSyncUpdates_GetUpdates
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/searchIndexSync/content
method: get
operationId: SearchIndexSyncUpdates_GetContent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/sessions/{id}
method: get
operationId: Sessions_GetSessionById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/sessions/{id}
method: put
operationId: Sessions_UpdateSessionMetadata
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/sessions/{id}
method: delete
operationId: Sessions_DeleteSession
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/sessions/search
method: get
operationId: Sessions_SearchForSessions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/sessions/inProgress/webcast
method: get
operationId: Sessions_GetInProgressWebcasts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/sessions/inProgress/recording
method: get
operationId: Sessions_GetInProgressRecordings
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/sessions/{id}/viewers
method: get
operationId: Sessions_GetSessionViewingStats
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/sessions/{id}/tags
method: get
operationId: Sessions_GetTagsForSession
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/sessions/{id}/tags
method: put
operationId: Sessions_UpdateTagsForSession
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/sessions/{id}/captions
method: post
operationId: Sessions_UploadCaptionsToSession
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/sessions/{id}/captions
method: delete
operationId: Sessions_DeleteSessionCaptions
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/sessions/{id}/captions/languages/{language}
method: delete
operationId: Sessions_DeleteSessionCaptionsForLanguage
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/sessions/{id}/settings/access
method: get
operationId: Sessions_GetAccessSettings
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/sessions/{id}/settings/access
method: put
operationId: Sessions_UpdateAccessSettings
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/sessions/{id}/permissions
method: get
operationId: Sessions_GetPermissions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/sessions/{id}/permissions
method: post
operationId: Sessions_CreatePermission
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/sessions/{id}/permissions
method: delete
operationId: Sessions_DeletePermission
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/sessions/{id}/manage/scorm
method: get
operationId: Sessions_GetScormManifestById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/sessions/{id}/sessioncopy
method: post
operationId: Sessions_Copy
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/streams/{id}/captions
method: post
operationId: Streams_UploadCaptionsToStream
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/tags
method: post
operationId: Tags_CreateTag
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/tags
method: get
operationId: Tags_GetTags
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/tags/{id}
method: get
operationId: Tags_GetTagById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/tags/{id}
method: put
operationId: Tags_UpdateTag
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/tags/{id}
method: delete
operationId: Tags_DeleteTag
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/tags/{id}/merge
method: post
operationId: Tags_MergeTags
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/users/me/sessions/viewed
method: get
operationId: Users_GetMyViewedSessions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/users/{id}/sessions/viewed
method: get
operationId: Users_GetUsersViewedSessions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/users/search
method: get
operationId: Users_Search
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none